Should Node make ES modules easier to use?
#537 — June 25, 2024
✈️ I’ve produced this issue a day early due to being en-route to the AI Engineer World’s Fair, 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 that will be on YouTube this Wednesday and Thursday. See you again next week!
__
Peter Cooper, your editor
Node.js 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 — Node-RED 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
Get to Grips With Machine Learning in JavaScript — 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 — 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’ — 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 on Hacker News, too.
Boris Cherny
IN BRIEF:
The results of the State of JS Survey 2023 are now out. The most popular backend frameworks are Express, Nest, and Fastify. Node continues to lead the way in terms of runtimes.
Over on Twitter/X, Daniel Lemire showed off a situation 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 — 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 – 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.”
Use Node Version Manager (NVM) with Oh My Zsh — 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 setup, too.
Catalin Pit
How to Setup Serverless Framework with AWS and Node.js — Serverless 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 – Aimed at beginner-to-intermediate JS developers. Josh W Comeau
📄 Securing Express APIs with a Rate Limit and ‘Slow Down’ Vultr / MDN
📄 Catching Compromised Cookies at Slack’s Scale Slama, Grubin and Li (Slack)
🛠 Code & Tools
Rushlight: A Real-Time Self Hosted Collaborative Editor — 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 — 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 — 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 — A TypeScript library providing a customizable cache decorator for methods with configurable caching mechanisms.
Alexandru Cambose
Phoenix: A JavaScriptable macOS Window and App Manager — If you want full control over your window management and you know JavaScript, this is for you. Here’s an example script 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 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.