---
title: "Should Node make ES modules easier to use?"
publication: "Node Weekly"
issue: 537
published_at: "2024-06-25"
canonical_url: "https://nodeweekly.com/issues/537"
---

Plus a look at JavaScript (and Node 22's) newest Set methods. |        

#​537 — June 25, 2024 

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

✈️ I've produced this issue a day early due to being en-route to the [AI Engineer World's Fair](https://www.ai.engineer/worldsfair), so any last minute news may be missed. If you're there, do come and say hi, but you can also watch from afar through [the livestreams](https://www.youtube.com/@aiDotEngineer/streams) that will be on YouTube this Wednesday and Thursday. See you again next week!
__
_Peter Cooper, your editor_ 

Together with [![Frontend Masters logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_300,h_70/e_make_transparent/co_white,e_outline:5/nk0tfdvalivacz8rw7rt.png)](https://frontendmasters.com/courses/tensorflow-js/?utm_source=email&utm_medium=nodeweekly&utm_content=tfjs)  

![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/qoqr5gkugutaovlkdyr8.jpg)](https://blog.platformatic.dev/nodejs-is-here-to-stay)  

[Node.js is Here to Stay](https://blog.platformatic.dev/nodejs-is-here-to-stay) — Deno.. Bun.. has Node’s popularity started to wane? No, says Matteo Collina, who shows us the receipts confirming Node’s continued dominance of the server-side JavaScript space, including how Node continues to be downloaded some _130 million times_ per month. He also touches on some of the recent additions to the runtime. 

Matteo Collina   

[Node-RED 4.0 Released](https://nodered.org/blog/2024/06/20/version-4-0-released) — [Node-RED](https://nodered.org/) is a popular ‘low code’ event-driven app development environment that uses Node.js behind the scenes. v4.0 requires Node 18 or up, improves its ‘multiplayer’ support (when multiple users are working on the same system), faster deploys, and other all-round improvements. 

OpenJS Foundation   [![\](https://copm.s3.amazonaws.com/07c0b070.png)](https://frontendmasters.com/courses/tensorflow-js/?utm_source=email&utm_medium=nodeweekly&utm_content=tfjs) 

[Get to Grips With Machine Learning in JavaScript](https://frontendmasters.com/courses/tensorflow-js/?utm_source=email&utm_medium=nodeweekly&utm_content=tfjs) — Charlie Gerard shares how to use TensorFlow.js to train and run ML models in JavaScript. This practical video course explores model training, optimization, testing, and more. 

Frontend Masters sponsor   

[Node v20.15.0 (LTS) Released](https://nodejs.org/en/blog/release/v20.15.0) — It’s time for the active LTS release of Node to gain a few backported features, including support for test plans in the test runner, `--inspect-wait`, and `zlib.crc32()`. 

Marco Ippolito   

['NPM and Node Should Do More to Make ES Modules Easy to Use'](https://borischerny.com/javascript,/typescript/2024/06/19/ES-Modules-Are-A-Mess.html) — As a developer who’s spent some time away from JavaScript, Boris has run into some teething issues with ESM, but has some ideas as to how things could be better. Unsurprisingly, this led to [extensive discussion](https://news.ycombinator.com/item?id=40737508) on Hacker News, too. 

Boris Cherny   

**IN BRIEF:** 

- [The results of the State of JS Survey 2023](https://2023.stateofjs.com/en-US) are now out. The most popular [backend frameworks](https://2023.stateofjs.com/en-US/other-tools/#backend_frameworks) are Express, Nest, and Fastify. Node continues to [lead the way in terms of runtimes.](https://2023.stateofjs.com/en-US/other-tools/#runtimes)
- Over on Twitter/X, [Daniel Lemire showed off a situation](https://x.com/lemire/status/1803598132334436415) where Bun is much faster than Node, even when both are using the same underlying library, due to the complexities the V8 engine introduces.   

[A Look at JavaScript's New `Set` Methods](https://developer.mozilla.org/en-US/blog/javascript-set-methods/) — Available in Node 22+, Chrome/Edge 122+, Firefox 127+ and Safari 17+, finding the intersection, union, and difference between sets, amongst other set-related things, is a piece of cake. 

Brian Smith (MDN)      

📰 Classifieds   

Your fastest path to production. [With Render, you can build, deploy, and scale your apps with unparalleled ease](https://render.com?utm_source=cooperpress&utm_medium=cooperpress) – from your first user to your billionth. 

--- 

🗣️"Compared to our previous experiences in the security/auth space, [Userfront is an order of magnitude simpler to use](https://userfront.com/?&utm_source=nodeweekly-com&utm_medium=newsletter_classified_listing&utm_campaign=magnitude&utm_content=transformational)."     

[Use Node Version Manager (NVM) with Oh My Zsh](https://catalins.tech/node-version-manager-oh-my-zsh/) — [NVM](https://github.com/nvm-sh/nvm) is a popular tool for switching between Node.js versions on your machine, but it’s possible to use it directly from a [Oh my Zsh](https://ohmyz.sh/) setup, too. 

Catalin Pit   

[How to Setup _Serverless Framework_ with AWS and Node.js](https://implementing.substack.com/p/how-to-setup-serverless-framework) — [Serverless Framework](https://www.serverless.com/framework) is a long standing toolkit for deploying apps in a serverless/functions-as-a-service fashion to AWS Lambda. This is a basic look at a few stages in the setup process. 

Marco Moauro   

📄 [Promises from the Ground Up](https://www.joshwcomeau.com/javascript/promises/) – Aimed at beginner-to-intermediate JS developers. Josh W Comeau 

📄 [Securing Express APIs with a Rate Limit and 'Slow Down'](https://developer.mozilla.org/en-US/blog/securing-apis-express-rate-limit-and-slow-down/) Vultr / MDN 

📄 [Catching Compromised Cookies at Slack's Scale](https://slack.engineering/catching-compromised-cookies/) Slama, Grubin and Li (Slack)    

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/n3tkpsrifhzjdlqct4kc.jpg)](https://github.com/ekzhang/rushlight)  

[Rushlight: A Real-Time Self Hosted Collaborative Editor](https://github.com/ekzhang/rushlight) — Pitched as a way to make collaborative CodeMirror-based code editors that run on your own infrastructure, using just Redis and Postgres. 

Eric Zhang   

[NodeSwift: A Bridge Between Node and Swift Code](https://github.com/kabiroberai/node-swift) — Bridges Node.js and Swift (as commonly used on macOS/iOS) so you can write Swift code that talks to Node and vice versa. 

Kabir Oberai   

[Temporal for Startups](https://t.mp/3RntIiY) — Startups: Ship fast with Temporal. Guaranteed reliability. Code in your language. Get $2,400 free credits & expert advice to accelerate success. 

Temporal Technologies sponsor   

[custom-cache-decorator: Customizable Cache Decorator for Methods](https://github.com/alexcambose/custom-cache-decorator) — A TypeScript library providing a customizable cache decorator for methods with configurable caching mechanisms. 

Alexandru Cambose   

[Phoenix: A JavaScriptable macOS Window and App Manager](https://github.com/kasper/phoenix) — If you want full control over your window management and you know JavaScript, this is for you. Here’s [an example script](https://github.com/azamuddin/phoenix/blob/master/.phoenix.js) to give you a taster. 

Kasper Hirvikoski    

“Node.js was criticized for long to have very little support for Web API. We fixed that, and we implemented WHATWG fetch and WHATWG Streams according to the spec.” 

___
[Matteo Collina](https://x.com/matteocollina/status/1804183498627973569) on Twitter/X. It's easy to forget how much Node continues to progress, but support for various Web APIs has come along leaps and bounds in the past few years.    

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