Benchmarking Node’s recent performance enhancements
#716 — December 12, 2024
JavaScript Weekly
Boa v0.20: An Alternative JavaScript Compiler — Under development for several years, Boa has a few missions: be a Rust ECMAScript implementation, be easy to embed in Rust projects, and be a fast, safe JS engine overall. v0.20 sees a bump up to 89.92% compliance in the Test262 suite, improves Temporal support, adds Atomics.pause, and more. This is no toy engine.
Boa Developers
React v19 Now Stable — First teased in a February 2024 update, React 19 has been in beta for 8 months, so there’s already a wealth of content about it, from the React 19 upgrade guide or an explanation of its compiler to cheat sheets and Vercel’s roundup of what’s new in React 19.
The React Team
Build with Gemini at Lightning Speeds — With the largest context window available, Google Gemini provides JavaScript developers multimodal processing of images, videos and text. Start using Google Gemini in minutes using AI Studio.
Google Gemini sponsor
IN BRIEF:
🎮 If you ever do any game development with JavaScript, it’s time to take the Gamedev.JS Survey 2024. If you don’t, you can head to JS13KGames and enjoy other people’s creative efforts instead 🙂
Apple has released Safari 18.2 which introduces a few enhancements to JavaScript support including Float16Array, more methods for Uint8Array, Promise.try, RegExp.escape, and more.
Did you know Douglas Crockford is Not Your Dad? Well, at least when it comes to putting comments in JSON..
RELEASES:
VS Code November Release – Now when you copy and paste JS/TS code, VS Code can add imports for the pasted code.
Next.js 15.1 – The popular React framework gets full React 19 support.
Node v23.4.0 (Current) – Say hello to assert.partialDeepStrictEqual and –trace-env for tracing environment variable usage.
Sheriff v25 – Opinionated TypeScript-first ESLint configuration. Now supporting ESLint v9.
Undici 7.1 – HTTP/2 support now marked as stable in the Node.js HTTP library.
pnpm 9.15, Dependency Cruiser 16.8, Redux Toolkit 2.5, YouTube.js 12.2
📒 Articles & Tutorials
The State of Node.js Performance in 2024 — A thorough set of benchmarks covering recent performance advancements made in Node.js. The improvements between Node 18 and 20 up to version 22 might surprise you – it’s clear the team has put a lot of work into this area.
Gonzaga and Parody (NodeSource)
How to Reduce TTFB? — High “time to first byte” affects web vitals. Learn to identify and fix issues slowing your TTFB.
Sentry sponsor
Publishing a Simple Client-Side JS Package to npm with GitHub Actions — As part of the process of building Prompts.js, a new library for creating simple await-able alternatives to alert(), confirm() and prompt(), Simon wanted to make it easy to publish as an npm package too.
Simon Willison
How to Build a SolidJS App with Deno — SolidJS is a declarative library for creating user interfaces that emphasizes fine-grained reactivity and minimal overhead and it plays well with Deno.
Andy Jiang
Get Cooking! Generative AI with MongoDB — See how MongoDB, the world’s most popular document database, integrates with RAG pipelines and cutting-edge AI agents.
MongoDB sponsor
📄 Building Your Own npm create Package – You’ll have seen (or used) various scaffolding tools using this technique. (A Different) Alex Chan
📄 What We Learned Migrating From Webpack to Vite Roman Zaynetdinov
📄 Understanding the Browser’s Main Thread Amrik Malhans
📺 An Honest Review of TanStack Start vs Next.js Ankita Kulkarni
📄 How React Compiler Performs on Real Code Nadia Makarevich
🛠 Code & Tools
Termo: An Easy to Use Terminal Control for Websites — If you want to offer a terminal emulator style feature on your site (maybe for advanced users, to enhance your docs, or even just as an easter egg), Termo enhances Xterm.js and presents a slick experience.
Raj Nandan Sharma
🖼️ wasm-vips: libvips Image Processing via WebAssembly — libvips is an efficient image processing library written in C. This build offers an isomorphic route to using it in the browser, as well as Node and Deno, all thanks to WebAssembly. (There’s an interactive demo here.)
Kleis Auke Wolthuizen
Looking for a DIY Survey Solution? SurveyJS Has You Covered — Build, customize, and store surveys with ease. Total data control, JSON-driven, no backend restrictions—integrates into any JavaScript app.
SurveyJS sponsor
Civet 0.9: Code More with Less Using a TypeScript Superset — Two years old and well maintained, Civet offers an interesting approach. Think JavaScript but with Python style indentation, chained comparisons, built-in JSX, & more. This example alone shows off the potential for tighter, easier-to-write code.
Daniel X Moore and Contributors
Rockpack 5.0: An Alternative React App Starter — A Create React App-style tool aiming to get React project setup time as low as possible, complete with server side rendering support, bundling, linting and testing. GitHub repo.
Alex Sergey
jsesc: Get a Stringified, ASCII-Safe Representation of Any Data — Think JSON.stringify() but instead it returns JavaScript meaning it can support things like maps, sets, and BigInts.
Mathias Bynens
📊 Perspective 3.2 (above) – Data visualization and analytics component. The core is written in C++ and compiled to WebAssembly where it can be used from JavaScript. Their homepage shows it off well with a live example. Now supports newline delimited JSON (ndjson).
☎︎ International Telephone Input 25.2 – Component for entering and validating international phone numbers. Vue, React, and vanilla.
debug 4.4 – Tiny debugging utility modelled after Node.js core’s debugging approach (but for the browser too).
ExpressoTS 3.0 – TypeScript framework for server-side Node.js apps.
InversifyJS 6.2 – Inversion of control container for JavaScript.
📊 ApexCharts 4.2 – Popular JS charting library. (Demos.)
Vue3-Carousel 0.9 – Customizable, lightweight Vue 3 carousel component.
html-react-parser 5.2 – Isomorphic HTML to React parser.
AlaSQL.js 4.6 – Isomorphic JavaScript SQL database.
📰 Classifieds
Meticulous automatically creates & maintains E2E UI tests. Zero flakes. Used by Lattice, Bilt Rewards and others.
If your work leans more towards the frontend, be sure to check out the latest issue of Frontend Focus, our sister newsletter focused on all things browser-side.