---
title: "Issue 2 to the power of 9"
publication: "Node Weekly"
issue: 512
published_at: "2023-11-28"
canonical_url: "https://nodeweekly.com/issues/512"
---

Plus Node 20 LTS gets a few experimental features, and Node and Bun square off with WebSockets. |        

#​512 — November 28, 2023 

[Read on the Web](https://nodeweekly.com/issues/512)  

Together with [![UpgradeJS\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_287,h_68/e_outline:3/eulrralqfeleeyrp4efy.png)](https://www.upgradejs.com/javascript-maintenance-services?utm_source=cooperpress&utm_medium=node-weekly&utm_campaign=primary-sponsor-nov-23&utm_term=next-js&utm_content=upgrade-autopilot)  

![Node.js Weekly](https://res.cloudinary.com/cpress/image/upload/v1653576619/lgfqinzbdqttwmhvljxb.png) 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/koipaomrh6k7ttwpipkw.jpg)](https://nodedownloads.nodeland.dev/)  

[Node.js Download Statistics](https://nodedownloads.nodeland.dev/) — 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.](https://adventures.nodeland.dev/archive/you-are-not-updating-nodejs/)  [![\](https://copm.s3.amazonaws.com/7f793a3f.png)](https://www.upgradejs.com/javascript-maintenance-services?utm_source=cooperpress&utm_medium=node-weekly&utm_campaign=primary-sponsor-nov-23&utm_term=next-js&utm_content=upgrade-autopilot) 

[Need to Upgrade Next.js on a Tight Budget? Let Us Help 🚀](https://www.upgradejs.com/javascript-maintenance-services?utm_source=cooperpress&utm_medium=node-weekly&utm_campaign=primary-sponsor-nov-23&utm_term=next-js&utm_content=upgrade-autopilot) — Bonsai by [UpgradeJS.com](https://www.upgradejs.com/?utm_source=cooperpress&utm_medium=node-weekly&utm_campaign=primary-sponsor-nov-23&utm_term=next-js&utm_content=upgrade-autopilot) 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](https://nodejs.org/en/blog/release/v20.10.0) — 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 `--experimental-default-type` option to flip the default module system, `--experimental-detect-module` for automatically running ES modules (when detected), an experimental WebSocket client, and a `flush` 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](https://lemire.me/blog/2023/11/25/a-simple-websocket-benchmark-in-javascript-node-js-versus-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](http://www.passportjs.org/) — 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.](https://github.com/jaredhanson/passport) 

Jared Hanson   

_IN BRIEF:_ 

- The Linux Foundation is offering a 'Cyber Monday' discount on [its Node.js training and certification offerings.](https://training.linuxfoundation.org/cyber-monday-js-2023/) We have no affiliation with this, but it's directly associated with the official Node.js project.
- [Hono](https://hono.dev/) is a fast, lightweight web framework that wasn't originally aimed at Node.js, but with [the latest Node.js adapter](https://github.com/honojs/node-server) it is now significantly faster and [_"makes it one of the first choices for creating web apps on Node.js."_](https://twitter.com/honojs/status/1729074591577104739)
- ƛ Good news if you're running functions on _AWS Lambda_ – [functions now scale 12 times faster](https://aws.amazon.com/blogs/aws/aws-lambda-functions-now-scale-12-times-faster-when-handling-high-volume-requests/) in the face of a high volume of requests.      

📰 Classifieds   

🕐 NEW! Learn how [Temporal Schedules](https://t.mp/47CrMsI) are reliable, scalable, and more flexible than Cron jobs in our upcoming [webinar on Nov. 30th](https://t.mp/3G4doh5). 

--- 

Want a broader view? 💛 [JavaScript Weekly](https://javascriptweekly.com) covers the entire JS ecosystem, sharing must-see articles, news and cool projects.      

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/quax9pduv7tc6v8tedwn.jpg)](https://aws-lite.org/)  

[aws-lite: A New Node-Powered AWS Client](https://aws-lite.org/) — Amazon Web Services does a pretty good job with its APIs and associated tooling, but sometimes they can be a little bit heavyweight. `aws-lite` provides a simpler and faster option. _“You can think of it as a community-driven alternative to AWS’s JavaScript SDK.”_ 

Begin   

[Boosting Query Performance with Incremental Materialized Views!](https://docs.epsio.io/?utm_source=nodeweekly22) — 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](https://github.com/webpro/knip) — 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.](https://knip.dev/) You can also learn more about [what's new in 3.x.](https://knip.dev/blog/knip-v3/)  

[Neutralinojs 4.15.0: Alternative Cross-Platform Desktop App Approach](https://neutralino.js.org/docs/release-notes/framework/#v4150) — [Neutralinojs](https://neutralino.js.org/) 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. 

CodeZri   

[SQL Template Tag: Tagged Template Strings for Preparing SQL Statements](https://github.com/blakeembrey/sql-template-tag) — A (very) long standing library – Oracle support has just been added. 

Blake Embrey   

- [sqs-consumer 8.0](https://github.com/bbc/sqs-consumer) – 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](https://github.com/jsdom/jsdom) – JS implementation of various web standards for use with Node.
- [Is Text or Binary? 9.2](https://github.com/bevry/istextorbinary) – Determine if a filename and/or buffer is text or binary.
- [Typegoose 12.0](https://github.com/typegoose/typegoose/releases/tag/v12.0.0) – Define Mongoose 8 models using TypeScript classes.
- [Secretlint 7.2](https://github.com/secretlint/secretlint) – Linting tool to prevent committing credentials.
- [node-hid 2.2](https://github.com/node-hid/node-hid) – Access USB & Bluetooth HID devices from Node.
- [pnpm 8.11](https://github.com/pnpm/pnpm) – Fast, disk space efficient package manager.
- [np 9.0](https://github.com/sindresorhus/np) – A better `npm publish`.    

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. _Thanks!_ 

--- 

**Sponsorship:** Email `[kristina@cooperpress.com](mailto:kristina@cooperpress.com)` for details. 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

[Cancel your subscription](https://nodeweekly.com/leave/*|UID|*) or [change your address](https://nodeweekly.com/edit_subscription/*|UID|*).
