---
title: "ES module autodetection coming to Node"
publication: "Node Weekly"
issue: 508
published_at: "2023-10-31"
canonical_url: "https://nodeweekly.com/issues/508"
---

Plus Node v20 becomes the Active LTS release, at last. |        

#​508 — October 31, 2023 

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

Together with [![Postman logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_330,h_100/e_make_transparent/co_white,e_outline:7/ym5p9yhtqry2ntuhfxk4.png)](https://www.postman.com/product/workspaces/?utm_source=node-weekly&utm_medium=email&utm_campaign=q3-newsletters-sponsorships&utm_term=45230&utm_content=workspaces-primary)  

![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/fty4aznfbog6u7ci4bwf.jpg)](https://nodejs.org/en/blog/release/v21.1.0)  

[Node v21.1 (Current) Released with ESM Detection Feature](https://nodejs.org/en/blog/release/v21.1.0) — _“The new flag `--experimental-detect-module` can be used to automatically run ES modules when their syntax can be detected. … We hope to make detection enabled by default in a future version.”_ There's [lots more detail on the feature here.](https://github.com/nodejs/node/pull/50096) 

Michaël Zasso   

[Node v20 Becomes Active LTS Version with v20.9.0](https://nodejs.org/en/blog/release/v20.9.0) — Codenamed _‘Iron’_, v20.9.0 is the first v20 release in its new role as the active LTS release line – a role it will keep till October 2024. Time to start thinking about those Node 18 → 20 migrations in production.. 

Richard Lau   [![\](https://copm.s3.amazonaws.com/4a271e17.jpeg)](https://www.postman.com/product/workspaces/?utm_source=node-weekly&utm_medium=email&utm_campaign=q3-newsletters-sponsorships&utm_term=45230&utm_content=workspaces-primary) 

[Streamline API Development with Postman Workspaces](https://www.postman.com/product/workspaces/?utm_source=node-weekly&utm_medium=email&utm_campaign=q3-newsletters-sponsorships&utm_term=45230&utm_content=workspaces-primary) — Postman workspaces give teams shared access to the API tools they need to solve problems together. They are the go-to place for development teams to collaborate and move quickly while staying on the same page. 

Postman sponsor   

[Saying Goodbye to Node's `Buffer`](https://sindresorhus.com/blog/goodbye-nodejs-buffer) — It’s time to shift from `Buffer` to `Uint8Array`, says Sindre. Given his epic number of maintained libraries, he could probably migrate half of the ecosystem solo, but he sets out his case for other library maintainers to avoid the use of `Buffer` in favor of the more cross-runtime alternative of `Uint8Array` and explains how to make the move, including [a package to help](https://github.com/sindresorhus/uint8array-extras). 

Sindre Sorhus   

_IN BRIEF:_ 

- 🔐 GitHub is now [scanning all public npm packages](https://github.blog/changelog/2023-10-26-secret-scanning-scans-public-npm-packages/) for leaked secrets. Note that if secrets are found, the _provider_ associated with those secrets is notified, not the package maintainer.
- 🎨 [There's one week left to go](https://twitter.com/nodejs/status/1718961444597948552) in the Node.js mascot contest.
- 🥳 Node-powered static site generator [Eleventy / 11ty](https://www.11ty.dev/) is celebrating [passing seven million lifetime downloads](https://www.11ty.dev/blog/seven-million/).
- Daniel Ehrenberg of Bloomberg wrote about [how Bloomberg invests in the Node.js ecosystem](https://www.nearform.com/blog/bloomberg-invests-in-node-js-shouldnt-you/) and encourages your companies to get involved, too.
- You can now [use npm modules in Netlify Functions](https://www.netlify.com/blog/support-for-npm-modules-in-edge-functions/).
- If you missed all the Node.js v21 release excitement recently, AppSignal has [a handy recap of what's new in Node 21](https://blog.appsignal.com/2023/10/25/whats-new-in-nodejs-21.html).   

🗣 [Is Express Still the 'De-Facto' Choice?](https://news.ycombinator.com/item?id=38059004) — A Hacker News discussion about whether Express is still the ‘go-to’ choice for building Node-powered webapps. The statistics from every recent survey I’ve seen indicate _yes_, but there are plenty of viable alternatives to choose from. 

Hacker News   

[The Basics of Using SQL Server from Node](https://www.sitepoint.com/mssql-with-node-js/) 
Dianne Pena   

[An Introduction to Testing and Code Quality in Node](https://www.honeybadger.io/blog/node-testing/) 
Samson Omojola   

🛠 Code & Tools  

[resvg-js 2.6: A High-Performance SVG Renderer and Toolkit](https://github.com/yisibl/resvg-js) — Powered by Rust’s [resvg](https://github.com/RazrFalcon/resvg/) on the backend, this works in both Node _and_ the browser for converting SVG to PNG with a high level of SVG spec support. [v2.6](https://github.com/yisibl/resvg-js/releases/tag/v2.6.0) claims to be ‘up to 115x faster’ for large SVG files, thanks to a new rendering algorithm. 

Miscellaneous   

[Express Slow Down 2.0: Slow Down Repeated Requests](https://github.com/express-rate-limit/express-slow-down) — For when you don’t want Express to be quite _so_ ‘express’. Use to slow repeated requests to public APIs and/or endpoints such as password resets. 

Express Rate Limit   

[Accelerate Your API Development with Postman Collection](https://www.postman.com/templates/?utm_source=node-weekly&utm_medium=email&utm_campaign=q3-newsletters-sponsorships&utm_term=45230&utm_content=templates-secondary) — Browse 70+ free and customizable templates to jump-start your API design, documentation, development and testing workflows. 

Postman sponsor   

[ImapFlow: Modern and Easy-to-Use IMAP Client Library](https://imapflow.com/) — IMAP (Internet Message Access Protocol) is a popular protocol used by email clients to work with messages hosted on a remote mail server. 

Postal Systems OÜ   

[Express TypeScript Skeleton: An Express.js App Template](https://github.com/borjapazr/express-typescript-skeleton) — It may be Halloween, but it’s not _that_ type of skeleton. Instead it’s a template for creating a REST API on top of Express, TypeScript, ESLint, Prettier, and some other tools. 

Borja Paz Rodríguez   

[crypto-hash 3.0: A Hashing Module Using the Native Crypto API in Node and Browser](https://github.com/sindresorhus/crypto-hash) — Get the same hashing API in both environments. Uses the `crypto` module on Node and `window.crypto` in the browser. 

Sindre Sorhus      

📰 Classifieds   

🚀 [Open-Source Data Observability](https://streamdal.com/): Streamdal is a `tail -f` for your data with a UI and support for Node with our SDK. 

--- 

📞 Calling all devs! Sentry [Launch Week](https://sentry.io/events/launch-week/?utm_source=nodeweekly&utm_medium=paid-community&utm_campaign=general-fy24q3-launchweek&utm_content=newsletter-launchweek-register) is coming. Tune in for new products, demos, and discussions with experts from the community.[RSVP](https://sentry.io/events/launch-week/?utm_source=nodeweekly&utm_medium=paid-community&utm_campaign=general-fy24q3-launchweek&utm_content=newsletter-launchweek-register).      

- [Mongoose 8.0](https://github.com/Automattic/mongoose) – Popular MongoDB object modeling library. There's a [7.x to 8.0 migration guide](https://mongoosejs.com/docs/migrating_to_8.html) to help you upgrade.
- [pnpm 8.10](https://github.com/pnpm/pnpm/releases/tag/v8.10.0) – Now supports multiple architectures when installing dependencies.
- [node-gyp 10.0](https://github.com/nodejs/node-gyp/releases/tag/v10.0.0) – Node.js native addon build tool.
- [Axios 1.6](https://github.com/axios/axios) – Long-standing, promise-based isomorphic HTTP client.
- [NodeBB 3.5](https://github.com/NodeBB/NodeBB) – Node.js based forum system.
- [Mikro ORM 5.9](https://github.com/mikro-orm/mikro-orm) – TypeScript ORM for Node.js.
- [eslint-formatter-pretty 6.0](https://github.com/sindresorhus/eslint-formatter-pretty) – Pretty formatter for ESLint.
- [Opal 1.8](https://github.com/opal/opal/releases/tag/v1.8.0) – Ruby to JavaScript transpiler.    

**_NOTABLE QUOTABLE_**  

“The art of debugging is figuring out what you really told your program to do rather than what you thought you told it to do.” 

___
Andrew Singer     

**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|*).
