Exploring the New Features & Updates in Node.js 22
Node.js 22 has arrived, bringing a wave of excitement and anticipation among developers. Officially released on April 24, 2024, this latest version is set to transition to long-term support (LTS) in October 2024. Until then, Node.js 22 features will serve as the “Current” release, promising substantial enhancements and new features to boost your development projects.
Let’s dive into the significant updates and features introduced in Node.js 22.
V8 JavaScript Engine Update to 12.4
The V8 engine has been updated to version 12.4, introducing features like WebAssembly, Garbage Collection, Array.fromAsync, Set methods, and iterator helpers. This update ensures smoother performance and new capabilities for developers.
Maglev Compiler
Node.js 22 enables the V8 Maglev compiler by default on supported architectures. This new JIT compiler improves the performance of short-lived CLI programs, sitting between the existing Sparkplug and Turbofan compilers.
Support for require() ESM Graphs
One of the most notable updates in Node.js 22 is the support for require() with ECMAScript Modules (ESM). When using the –experimental-require-module flag, synchronous ESM imports can be executed with require(), enhancing module management.
Running package.json Scripts
A new experimental feature allows the execution of scripts from package.json using the CLI flag node –run <script-in-package-json>
. This feature streamlines script execution and supports commands like node-run test
.
Stream Default High Water Mark
The default High Water Mark for streams has been increased from 16KiB to 64KiB. This enhancement aims to boost performance, though it may slightly increase memory usage.
Stable Watch Mode Command Line
The Watch Mode Command Line option is now stable, offering options such as –watch
, –watch-path
, and –watch-preserve-output
. This feature saves time by automatically restarting the application when files change.
glob and globSync Functions
New functionalities in the nodemodule include glob and globSync functions for pattern matching, simplifying file path management.
WebSocket Client
Under the experimental-websocket flag, WebSocket is now used by default for browser compatibility, allowing WebSocket clients to connect to Node.js without external dependencies.
Improved AbortSignal Creation
Node.js 22 optimizes the creation of AbortSignal instances, significantly boosting the performance of fetch and test runner functionalities.
Node.js 22 is a significant step forward, offering numerous features and improvements that enhance development efficiency and performance. As this version moves towards long-term support, developers can look forward to a robust and versatile framework to build their next projects.