#​568 — March 4, 2025

Read on the Web

Together with  Sentry logo
Node.js Weekly

Announcing TypeScript 5.8 — Four months in the making, TypeScript 5.8 lands with a strong Node focus. You can now use require() for ES modules in the nodenext module, there’s a new node18 module for developers who want to keep targeting Node 18, and most notably there’s now an --erasableSyntaxOnly option to ensure no TypeScript-only runtime semantics can be used (ideal if you’re using Node’s type stripping features to run TypeScript code directly).

Microsoft

Instrument, Monitor, Fix: A Hands-On Debugging Class — Join us live for a hands-on session where you’ll build it, watch it break, debug it, and go from “no idea what’s wrong” to fixing issues—all in one go. Save your spot here ».

Sentry sponsor

Turbocharging V8 with Mutable Heap Numbers — The V8 team uses the JetStream2 benchmark suite to investigate performance issues and has implemented a new optimization yielding not just a 2.5x improvement in the async-fs benchmark but in other areas too. A demonstration that not only does the Node team make Node faster, the V8 team does too.

Victor Gomes (V8)

IN BRIEF:

Web Scraping with Playwright — I’d be surprised if you got away with scraping YouTube like this for long (let’s say Google aren’t big fans of the approach) but the techniques demonstrated are useful more generally too.

Marcin Wanago

Harnessing Data at Scale: Character.AI's Transition to WarpStream — Character.AI used WarpStream to make a 3 GiB/s Apache Kafka-compatible data pipeline and reduced their analytics costs.

WarpStream sponsor

📄 Creating a CLI Chatbot with LangChain and OpenAI Robin Wieruch

📄 Node.js Writable Streams: A Practical Guide Pavel Romanov

📄 Simple TypeScript Playgrounds with node --watch Dr. Axel Rauschmayer

🛠 Code & Tools

Electron App Boilerplate with Modern Dependencies — A basic template app that uses React 19, Tailwind CSS 4, shadcn/ui, Electron Vite, Biome, and includes a GitHub Actions release workflow.

Dalton Menezes

fast-png 6.3: Pure JS PNG Image Decoder and Encoder — Pass it a PNG to decode via a TypedArray or Buffer, or a Canvas ImageData (or compatible object) to encode into PNG.

Michaël Zasso

Jira.js 4.1: A Wrapper for Atlassian Jira's Cloud APIs — Are you lucky enough to use Jira? Increase your joy even more by interacting with it from code. Further docs and examples.

Vladislav Tupikin

InversifyJS 7.0: Inversion of Control Container — A lightweight inversion of control (IoC) container to help you adhere to OO best practices.

Remo H. Jansen

Malibu: Framework-Agnostic CSRF Middleware — ESM only, zero-dependency, and TypeScript types are included. It’s compatible with Express, Tinyhttp, and most modern frameworks based around the core HTTP package.

Reinaldy Rafli

wacat 1.4: Tests Your Webapp Against 'Cat Chaos' — Uses a virtual ‘cat walking across your keyboard’ approach to tormenting apps with random clicks and form submissions, now with a stronger focus on using AI to generate both valid and invalid inputs.

Mika Tapanainen

  • LogTape 0.9.0 – Logging library for JavaScript and TypeScript with zero dependencies and support for multiple environments.

  • node-oracledb 6.8Oracle Database driver for Node. Now with interval data type and sparse vector support.

  • sqs-consumer 11.6 – Build Amazon SQS-based applications without boilerplate by defining an async message processing function.

  • Typegoose 12.13 – Define Mongoose models with TypeScript classes.

  • Mongoose 8.12.0 – MongoDB object modeling approach.

  • NodeBB 4.1 – Node.js-powered forum software.

  • Nano ID 5.1 – Unique string ID generator.

  • pnpm v10.5.2

📰 Classifieds

I'm not saying CarsXE’s VIN decoder is perfect, but it's sure better than asking your mechanic's cousin Vinny (Vinny's a great guy, though). Try CarsXE!


🎤 Over 15 speakers revealed for Node Congress! Learn Fullstack, JS backends, DevOps & more on April 17-18. Get 10% off with code NODEWEEKLY.


Bit - A build system framework for development of composable software. Natively to Harmony, and support Node.js, React apps (with Vite), NextJS, Angular, Vue and more.

📢  Elsewhere in JavaScript

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

  • The term 'Ajax' was coined twenty years ago in this article.

  • Windows 95 in Electron is, unsurprisingly, Windows 95 running in an Electron app! v4.0 adds Office 95 and IE 5.5 for some (limited) browsing of the Web.

  • 📊 BenchJS is an online JavaScript benchmarking sandbox worth playing with.

  • free-for.dev is a handy and huge (over 1000 items) list of hosted tools and online services with free developer tiers.