---
title: "Benchmarking Node's recent performance enhancements"
publication: "JavaScript Weekly"
issue: 716
published_at: "2024-12-12"
canonical_url: "https://javascriptweekly.com/issues/716"
---

Plus React 19, Safari 18.2, and a nifty terminal experience for your Web site. |        

#​716 — December 12, 2024 

[Read on the Web](https://javascriptweekly.com/issues/716)  

Together with [![Google\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_800,h_271/e_make_transparent/co_white,e_outline:20/u7hgy97824jj4gjk5gok.png)](https://shortclick.link/n2aeb0)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/pwf3ggjktro0rsmoorh7.jpg)](https://boajs.dev/blog/2024/12/05/boa-release-020)  

[Boa v0.20: An Alternative JavaScript Compiler](https://boajs.dev/blog/2024/12/05/boa-release-020) — 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](https://test262.fyi/#), improves Temporal support, adds `Atomics.pause`, and more. This is no toy engine. 

Boa Developers   

[React v19 Now Stable](https://react.dev/blog/2024/12/05/react-19) — First teased in [a February 2024 update](https://react.dev/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024), 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](https://react.dev/blog/2024/04/25/react-19-upgrade-guide) or an [explanation of its compiler](https://react.dev/learn/react-compiler) to [cheat sheets](https://www.epicreact.dev/react-19-cheatsheet) and Vercel’s roundup of [what’s new in React 19.](https://vercel.com/blog/whats-new-in-react-19) 

The React Team   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/44873aa8.png)](https://shortclick.link/n2aeb0) 

[Build with Gemini at Lightning Speeds](https://shortclick.link/n2aeb0) — 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.](https://gamedevjs.com/survey/2024/) If you _don't_, you can head to [JS13KGames](https://js13kgames.com/) and enjoy other people's creative efforts instead :-)
- Apple has released [Safari 18.2](https://webkit.org/blog/16301/webkit-features-in-safari-18-2/) which [introduces a few enhancements to JavaScript support](https://webkit.org/blog/16301/webkit-features-in-safari-18-2/#javascript) including `Float16Array`, more methods for `Uint8Array`, `Promise.try`, `RegExp.escape`, and more.
- Did you know [Douglas Crockford is Not Your Dad?](https://douglascrockfordisnotyourdad.technomancy.us/) Well, at least when it comes to putting comments in JSON..   

**RELEASES:** 

- [VS Code November Release](https://code.visualstudio.com/updates/v1_96) – Now when you copy and paste JS/TS code, VS Code can add imports for the pasted code.
- [Next.js 15.1](https://nextjs.org/blog/next-15-1) – The popular React framework gets full React 19 support.
- [Node v23.4.0 (Current)](https://nodejs.org/en/blog/release/v23.4.0) – Say hello to `assert.partialDeepStrictEqual` and `--trace-env` for tracing environment variable usage.
- [Sheriff v25](https://www.eslint-config-sheriff.dev/blog/sheriff-v-25) - Opinionated TypeScript-first ESLint configuration. Now supporting ESLint v9.
- [Undici 7.1](https://github.com/nodejs/undici/releases/tag/v7.1.0) – HTTP/2 support now marked as stable in the Node.js HTTP library.
- [pnpm 9.15](https://github.com/pnpm/pnpm/releases/tag/v9.15.0), [Dependency Cruiser 16.8](https://github.com/sverweij/dependency-cruiser), [Redux Toolkit 2.5](https://github.com/reduxjs/redux-toolkit/releases/tag/v2.5.0), [YouTube.js 12.2](https://github.com/LuanRT/YouTube.js/releases/tag/v12.2.0)  

📒 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/r6dljfg4exf3gotybkgc.jpg)](https://nodesource.com/blog/State-of-Nodejs-Performance-2024)  

[The State of Node.js Performance in 2024](https://nodesource.com/blog/State-of-Nodejs-Performance-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?](https://blog.sentry.io/how-to-reduce-ttfb/?utm_medium=paid-community&utm_source=javascriptweekly&utm_campaign=fy25q4-blogttfb&utm_content=newsletter-fy25q4-blogttfb-read) — 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](https://til.simonwillison.net/npm/npm-publish-github-actions) — As part of the process of building [Prompts.js](https://simonwillison.net/2024/Dec/7/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](https://deno.com/blog/build-solidjs-with-deno) — [SolidJS](https://www.solidjs.com/) 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](https://shortclick.link/piyxq0) — 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](https://www.alexchantastic.com/building-an-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](https://neon.tech/blog/from-webpack-to-vite) Roman Zaynetdinov 

📄 [Understanding the Browser's _Main Thread_](https://calendar.perfplanet.com/2024/understanding-the-main-thread-in-the-browser/) Amrik Malhans 

📺 [An Honest Review of TanStack Start vs Next.js](https://www.youtube.com/watch?v=D27AfH0pSp8) Ankita Kulkarni 

📄 [How React Compiler Performs on Real Code](https://www.developerway.com/posts/how-react-compiler-performs-on-real-code) Nadia Makarevich  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/lm4btn6txidtflwyoixl.jpg)](https://termo.rajnandan.com/)  

[Termo: An Easy to Use Terminal Control for Websites](https://termo.rajnandan.com/) — 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](https://xtermjs.org/) and presents a slick experience. 

Raj Nandan Sharma   

🖼️ [wasm-vips: `libvips` Image Processing via WebAssembly](https://github.com/kleisauke/wasm-vips) — [libvips](https://www.libvips.org/) 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.](https://wasm-vips.kleisauke.nl/playground/)) 

Kleis Auke Wolthuizen   

[Looking for a DIY Survey Solution? SurveyJS Has You Covered](https://surveyjs.io/?utm_source=jsweekly&utm_medium=email) — 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](https://civet.dev/) — 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](https://civet.dev/#pattern-matching) shows off the potential for tighter, easier-to-write code. 

Daniel X Moore and Contributors   

[Rockpack 5.0: An Alternative React App Starter](https://alexsergey.github.io/rockpack/) — 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.](https://github.com/AlexSergey/rockpack) 

Alex Sergey   

[jsesc: Get a Stringified, ASCII-Safe Representation of Any Data](https://github.com/mathiasbynens/jsesc) — Think `JSON.stringify()` but instead it returns JavaScript meaning it can support things like maps, sets, and `BigInt`s. 

Mathias Bynens   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/kbn4jwuyqy5fipqtmegf.jpg)](https://perspective.finos.org/)  

- 📊 [Perspective 3.2](https://perspective.finos.org/) _(above)_ – Data visualization and analytics component. The core is written in C++ and compiled to WebAssembly where it can [be used from JavaScript](https://docs.rs/perspective-viewer/latest/perspective_viewer/). Their [homepage](https://perspective.finos.org/) shows it off well with a live example. Now supports newline delimited JSON (ndjson).
- ☎︎ [International Telephone Input 25.2](https://intl-tel-input.com/) – Component for entering and validating international phone numbers. Vue, React, and vanilla.
- [debug 4.4](https://github.com/debug-js/debug) – Tiny debugging utility modelled after Node.js core's debugging approach (but for the browser too).
- [ExpressoTS 3.0](https://expresso-ts.com/) – TypeScript framework for server-side Node.js apps.
- [InversifyJS 6.2](https://github.com/inversify/InversifyJS) – Inversion of control container for JavaScript.
- 📊 [ApexCharts 4.2](https://github.com/apexcharts/apexcharts.js/releases/tag/v4.2.0) – Popular JS charting library. ([Demos.](https://apexcharts.com/javascript-chart-demos/))
- [Vue3-Carousel 0.9](https://vue3-carousel.ismail9k.com/) – Customizable, lightweight Vue 3 carousel component.
- [html-react-parser 5.2](https://github.com/remarkablemark/html-react-parser) – Isomorphic HTML to React parser.
- [AlaSQL.js 4.6](https://github.com/AlaSQL/alasql) – Isomorphic JavaScript SQL database.      

📰 Classifieds   

[Meticulous automatically creates & maintains E2E UI tests](https://www.meticulous.ai?utm_source=javascript_weekly&utm_campaign=december12th). 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_](https://frontendfoc.us/issues/672), our sister newsletter focused on all things browser-side.            

Published by [Cooperpress](https://cooperpress.com/) and edited by [Peter Cooper](https://twitter.com/cooperx86) 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or [stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*). 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
