#​512 — November 28, 2023

Read on the Web

Node.js Download Statistics — Node.js TSC member Matteo has put together a handy site that visualizes the publicly available Node.js download statistics, partly as a way to help guide you as to which versions and which architectures need the most support. Notably, Node 18 has only just begun to pass Node 16 in popularity..

Matteo Collina

💡 Matteo goes into more depth in his Adventures in Nodeland newsletter.

Need to Upgrade Next.js on a Tight Budget? Let Us Help 🚀 — Bonsai by UpgradeJS.com offers fixed-cost, monthly maintenance services starting at $2k/month. Take the slow & steady approach remediating your tech debt. Upgrade at your own pace, one small pull request at a time.

Major Upgrades on Autopilot sponsor

Node v20.10.0 (LTS) Released — Node 20 only recently became an LTS release (codenamed ‘Iron’) but has already landed a significant update that backports a variety of useful features, including a


option to flip the default module system,


for automatically running ES modules (when detected), an experimental WebSocket client, and a


option for certain file system functions. This is pretty neat as you get to use several new features but without going all in with the less stable Node 21 release line.

Michaël Zasso

A Simple WebSocket Benchmark: Node vs Bun — Using as ‘textbook’ an example of WebSocket communication as possible, the author pits Node and Bun against each other.

Daniel Lemire

Passport 0.7: Simple, Unobtrusive Authentication for Node — A long standing project in the Node ecosystem acting as authentication middleware for any Express-based app. There are over 500 packages offering extra strategies and support too. GitHub repo.

Jared Hanson


📰 Classifieds

🕐 NEW! Learn how Temporal Schedules are reliable, scalable, and more flexible than Cron jobs in our upcoming webinar on Nov. 30th.

Want a broader view? 💛 JavaScript Weekly covers the entire JS ecosystem, sharing must-see articles, news and cool projects.

🛠 Code & Tools

aws-lite: A New Node-Powered AWS Client — Amazon Web Services does a pretty good job with its APIs and associated tooling, but sometimes they can be a little bit heavyweight.


provides a simpler and faster option. “You can think of it as a community-driven alternative to AWS’s JavaScript SDK.”


Boosting Query Performance with Incremental Materialized Views! — Plug Epsio into your database and boost performance of your most complex queries. It constantly updates query results whenever the underlying data changes, without recalculating.

Epsio sponsor

Knip 3.2: Find Unused Files, Dependencies and Exports in TypeScript Projects — Finds unused files, dependencies and exports in your projects and lets you cut/knip them away.

Lars Kappert

😍 Knip has continued to evolve a lot this year, and now also has a snazzy new homepage. You can also learn more about what’s new in 3.x.

Neutralinojs 4.15.0: Alternative Cross-Platform Desktop App ApproachNeutralinojs offers an interesting lightweight alternative to something like Electron, as it still lets you build apps that run on Linux, Windows and macOS, but Chromium isn’t bundled – instead the existing installed browser engine is used.


SQL Template Tag: Tagged Template Strings for Preparing SQL Statements — A (very) long standing library – Oracle support has just been added.

Blake Embrey

  • sqs-consumer 8.0 – The BBC’s solution to building AWS Simple Queue Service (SQS) apps sans boilerplate – instead, you define an async function that handles the message processing.

  • jsdom 23.0 – JS implementation of various web standards for use with Node.

  • Is Text or Binary? 9.2 – Determine if a filename and/or buffer is text or binary.

  • Typegoose 12.0 – Define Mongoose 8 models using TypeScript classes.

  • Secretlint 7.2 – Linting tool to prevent committing credentials.

  • node-hid 2.2 – Access USB & Bluetooth HID devices from Node.

  • pnpm 8.11 – Fast, disk space efficient package manager.

  • np 9.0 – A better

    npm publish



Leave a Reply

Your email address will not be published. Required fields are marked *