#​565 — February 4, 2025

Read on the Web

Together with  Memetria
Node.js Weekly

Announcing TypeScript 5.8 Beta: A Big One for Node Developers — It's unusual for a TypeScript beta to be exciting for Node developers in particular, but while TypeScript 5.8 is low on features generally, it's really Node focused with support for require() of ES modules in the nodenext mode, a stable --module node18, and most notably a --erasableSyntaxOnly option for ensuring the use of TypeScript that Node 22.6+'s type-stripping features can deal with.

Daniel Rosenwasser

Introducing Mentoss: The fetch Mocker — A new approach to mocking global fetch() calls (in both browsers and server-side runtimes) inspired by previous attempts like Nock and MSW.

Nicholas C. Zakas

Memetria K/V: Efficient Redis & Valkey Hosting — Memetria K/V hosts Redis OSS and Valkey for Node.js apps, featuring large key tracking and detailed analytics to manage and optimize application data effectively.

Memetria sponsor

Standard Schema: A Common Interface to Schema / Validation Libraries — From the creators of Zod, Valibot and ArkType comes a fantastic bit of collaboration to define a common interface to use JavaScript and TypeScript schema libraries.

McDonnell, Hiller, and Blass

IN BRIEF:

The Modern Way to Write JavaScript Servers? — The irony is that while Node popularized JavaScript on the server (if we ignore Netscape's attempts in the 90s) this modern, standardized cross-runtime approach doesn’t quite work on bare Node (yet – though you can polyfill it.)

Marvin Hagemeister

Start Selling to Enterprise Faster with WorkOS — Add SSO, SCIM, and RBAC to your B2B SaaS app in minutes—not months.

WorkOS sponsor

📄 How We Share Secrets at a Fully-Remote Startup – And, curiously, it involves using Node. Dmitry Sagalovskiy

📄 Keep Your Node Apps Secure with npx is-my-node-vulnerable Trevor I. Lasn

📄 How to Use Node's fs in the Browser for Custom Playgrounds Ivan Chebykin

📄 Distributed Tracing in Node.js with OpenTelemetry Ayooluwa Isaiah

🛠 Code & Tools

parse-duration 2.0: Convert a Human Readable Duration to Milliseconds — You might wonder why a library that converts 1hr 20mins into 4800000 needs a version 2. Well, it now supports more units (mo, mth, microsec, and nanosec), has moved to ESM, and supports locales.

Jake Rosoman

Node File Trace (NFT): Node Dependency Tracing Utility — A tool to determine exactly which files are necessary for an app to run. Finally, a type of NFT I can actually comprehend!

Vercel

Feluda: A Tool to Analyze the Licences of Dependencies — It’s a Rust-powered project but one which can be used to process the dependencies of Node, Go, or Rust projects and return a report (or show a TUI interface) on potentially restrictive licenses that apply.

Kumar Anirudha

📄 docxtemplater: Generate docx and pptx Documents from Templates — Generate Word and PowerPoint files dynamically by merging against template documents (e.g. invoices, contracts, certificates) It’s open source (MIT/GPLv3) but the creator offers commercial extensions (such as for supporting Excel). GitHub repo and feature demos.

Edgar Hipp

http-status: Another Way to Work with HTTP Status Codes — For example: status[418] returns "I'm a teapot" and status.IM_A_TEAPOT returns 418.

Adaltas

📰 Classifieds

Learn about Node.js environment variables, how they are used, and the many ways to set them.


Ship faster, fix quicker! 🛠️ Our workshop shows you how code-level visibility helps you squash bugs & slowdowns before release. Register >>

📢  Elsewhere in JavaScript

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