Node 23.8 introduces the URL Pattern API
#567 — February 25, 2025
👋 Just in case you missed the message, we took last week off but we’re back now until Easter, so you didn’t miss anything. 🙂
__
Peter Cooper, your editor.
Subverting Control with Weak References — Node supports WeakMap and WeakRef for working with weak references and James is a big fan of the extra abstractions they unlock. A weak reference differs from a normal reference in that it doesn’t prevent a referenced object from being garbage collected – this might sound like it has limited value, but is quite useful in certain scenarios.
James Long
Node v23.8.0 (Current) Released — You can now tell Node to use the system’s trusted CA certificate store with –use-system-ca and there’s an implementation of the URL Pattern API (URLPattern will become a global in Node 24). Other minor enhancements include an update to Node’s timezone data and initial support for the zstd compression algorithm (via node:zlib).
Michaël Zasso
Functional JavaScript First Steps, v2 — A friendly, practical introduction to functional programming fundamentals in JavaScript. Learn the power of the pure function while exploring functional programming paradigms.
Frontend Masters sponsor
Migrating 160K Lines of Production JS to TypeScript Without Downtime — A quick look at the motivation, strategy developed, and a few of the tools that made it a less painful process. But was it worth it? “Absolutely,” Ben says.
Ben Howdle
IN BRIEF:
Cloud platforms like Cloudflare Workers, Vercel Edge and Deno Deploy boast some partial level of Node.js compatibility, but how much? Pooya Parsa has created a test suite to find out which results in reports like this.
Deno 2.2 has arrived, boasting yet more Node.js ecosystem compatibility.
Node v18.20.7 (LTS) was released. Note that v18’s maintenance phase ends in just a couple of months.
A Demo of Running TypeScript Directly in Node.js — “I have published the repository nodejs-type-stripping which demonstrates how to implement a package with a bin script that is written directly in TypeScript (no transpilation).”
Dr. Axel Rauschmayer
Why TypeScript 5.8’s –erasableSyntaxOnly Matters — “It disables a bunch of features that I don’t think should ever have been part of TypeScript.”
Matt Pocock
Optimize Your BullMQ Workers — Queues backed up? Workers over-provisioned? Automatic scaling based on queues is the answer!
Judoscale sponsor
📄 Building a Simple Interactive CLI App with Node.js – And TypeScript.. Robin Wieruch
📄 Cloudflare, Unikernels and Bare Metal: The Life of a Prisma Postgres Query Nikolas Burk (Prisma)
📄 Node.js Tracing for Better Visibility and Performance with N|Solid Lizz Parody (NodeSource)
📄 How to Refactor Code with GitHub Copilot Anthony Grutta (GitHub)
🛠 Code & Tools
upfetch: An Advanced fetch Client Builder — A TypeScript library to enhance fetch with schema validation, automatic response parsing, and type-safety, while maintaining the familiar fetch API.
Laurent Blondy
Mastra: A TypeScript AI Framework from the Gatsby Team — From some of the folks behind the Gatsby React framework comes a new way to build LLM-powered agents that perform various tasks, use knowledge bases, and hold memory. Think a meta-framework like Next.js but for AI agents. GitHub repo.
Mastra
Opus 0.10: Native Opus Bindings for Node — Bindings for libopus, a library for working with the Opus lossy audio codec.
Discord.js Team
♟️ Chess.js 1.1: A Library to Manage a Chess Game — Move generation/validation, piece placement, check/checkmate/stalemate detection – “basically everything but the AI”!
Jeff Hlywa
📰 Classifieds
🔒 Protect your SaaS app with advanced device fingerprinting from WorkOS Radar. Stop fake signups, free tier abuse, bot attacks and brute force attempts today.
Telling the Bit story: Celebrating 10 Years of Composability. Ran Mizrahi reveals how Bit shifted from development stagnation to exponential progress using Composability.
☁️ Questions about serverless & its hidden costs & complexities? Is it an illusion? Join Matteo Collina for a webinar exploring this & more.
node-cron 4.1 – Run functions/commands on cron-defined schedules.
Mercurius 16.1 – Implement GraphQL servers on top of Fastify.
DOCX 9.2 – Generate .docx / Word files from JavaScript.
Middy 6.1 – Node.js AWS Lambda middleware engine.
Faker 9.5 – Generate fabricated data to your heart’s content.
Bunchee 6.4 – Zero config bundler for npm packages.
Secretlint 9.2 – Tool to prevent committing credentials/secrets.
Colyseus 0.16 – WebSocket-based multiplayer framework.
file-type 20.2 – Detect the file type of a file, stream, or data.
Light My Request 6.6 – Fake HTTP injection library
🎹 JZZ 1.9 – MIDI library for Node and browsers.
📢 Elsewhere in JavaScript
A quick roundup of some of other interesting stories in the broader JavaScript landscape, in case you’ve missed them:
Last week, TC39 (the committee responsible for progressing JavaScript’s underlying spec) advanced several proposals bringing new features to JavaScript, including Float16Array, import defer, Math.clamp and Error.captureStackTrace.
ESLint now officially supports CSS linting (in addition to JSON and Markdown, as added last year).
The React team has now officially deprecated Create React App.