Node Weekly
Plus a new encryption-in-use library, Node 23.10, and using Deno to trace Node apps. |

#​570 — March 18, 2025

Read on the Web

Together with  Stytch logo
Node.js Weekly

Node.js Gets an Official Community Space on Discord — While there have been numerous IRC channels and Discord and Slack servers where Node developers can congregate, the Nodeiflux Discord server has been promoted to being an official one – here’s the invite link if you’re a Discord user. There are already 15k members, so it’s hopping.

Vitullo and Wunder

Node v23.10.0 (Current) Released — Node gains a new --experimental-config-file option for writing a JSON-based config file that contains options that would otherwise litter your command line flags – ideal for configuring the test runner, say.

Antoine du Hamel

Prepare Your App for AI Agents — Stytch extends auth to handle permissions for AI agents—so your app can securely delegate access to agents or protect against agent-powered threats. See our Node quickstart guide.

Stytch sponsor

Node v20.19.0 (LTS) Released with require(esm) — Node v20 is in maintenance mode, which usually means no new features, but it lands a significant one here: support for require(esm) enabled by default. This means all Node v20+ releases now support loading native ES modules with require out of the box. Ideal if you have dependencies to update and you’re still on v20.

Marco Ippolito

💡 A year ago, Node contributor Joyee Cheung wrote about the technical aspects of how require(esm) support came together.

IN BRIEF:

How to Get Deep Traces in Your Node Backend with OTel and Deno — The Deno project turns up the heat by demonstrating how to add OpenTelemetry to a Node app before showing how much easier it is with Deno (as long as your Node app runs well under it).

Andy Jiang

🔒 Protect Against AI Bots, Fraud, and Abuse in Real Time — WorkOS Radar protects your app with advanced device fingerprinting — stop fake signups, free tier abuse, bot attacks and brute force attempts today.

WorkOS sponsor

📄 Web Scraping with Cheerio in 2025 – Cheerio is a long-standing library for working with HTML and XML in Node. Usama Jamil (Apify)

📄 Retrieval-Augmented Generation (RAG) with Node, Podman AI Lab & React Michael Dawson (Red Hat)

📄 Learn Zod So You Can Trust Your Data and Your Types Diana MacDonald

📄 Building Robust Data Synchronization Code in Node.js Ashley Davis

📄 How GitHub Engineers Learn New Codebases Brittany Ellich (GitHub)

🛠 Code & Tools

🔐 Protect.js: 'Encryption in Use' for Data in Node Apps — Designed to work with any Node framework or ORM, Protect.js provides AES-256 based ‘encryption in use’ functionality. GitHub repo.

CipherStash

Piscina 4.9: A Fast Worker Thread Pool Implementation — Node’s worker threads bring true multithreading to Node apps and Piscina is a pool for tracking and controlling the number of such threads.

Piscina

Refractor 5.0: Virtual Syntax Highlighting using Prism — Wraps the powerful Prism syntax highlighter to output objects instead of an HTML string so you can manipulate and render it as you wish (e.g. in a VDOM or at the terminal). Lowlight, by the same author, offers the same functionality but backed by highlight.js.

Titus Wormer

OTPAuth: One Time Password (HOTP/TOTP) Library — When you log in to a site with 2FA and you’re asked for six digits from your authentication app, that’s a Time-based One-Time Password (or TOTP). This library for Node, Deno, Bun and the browser lets you work with both TOTPs and HOTPs (HMAC-based OTPs) from JavaScript.

Héctor Molinero Fernández

📰 Classifieds

🇫🇷 The Node & Conquer Conference. In person, in Paris. 4 April 2025. Come learn how to best run Node.js at scale. Sign up here.


👀 Give your eyes a break! MonoLisa is a font optimized for developers. Try now.

📢  Elsewhere in JavaScript

A quick roundup of some other interesting stories in the broader JavaScript landscape, in case you've missed them:

Issue 569 #570 Issue 571