What’s New in Node.js 22: Exciting Features and Updates
Node.js has recently released its latest version, Node.js 22. This powerful and popular JavaScript runtime comes with several major updates that are worth noting. The first one is an enhanced capability to use ECMAScript modules (ESM) within CommonJS modules. Node.js 22 also introduces a built-in WebSocket client and includes the latest updates to the V8 JavaScript engine. In this article, we will explore these updates and more.
Main Updates for Node.js 22
Enhanced require() for ECMAScript Modules
Node.js 22 bridges the gap between CommonJS and ECMAScript modules by enabling the require() function to import ESM modules directly. The new version allows for synchronous ECMAScript modules to be require()d under the –experimental-require-module flag, which facilitates easier integration and usage of different module systems.
Native WebSocket Client
Node.js 22 has introduced a native WebSocket client that simplifies the implementation of real-time web functionalities. With this built-in functionality, developers can now eliminate the need for third-party libraries in WebSocket communication. This makes it easier to create applications that require live data updates, such as chat apps or live notifications.
Updates to the V8 JavaScript Engine
The latest version of Node.js 22 comes with an updated V8 JavaScript engine that offers better performance and introduces new ECMAScript features. This update helps Node.js stay ahead of the game in terms of JavaScript execution efficiency. The updated V8 engine supports new features like WebAssembly Garbage Collection and Array.fromAsync, Set methods, and iterator helpers, which significantly improve performance and capabilities.
Other Updates
- Enabled Maglev Compiler: Automatically enabled on compatible architectures, the Maglev Compiler enhances the execution efficiency of brief CLI programs, optimizing operations for faster, more responsive performance.
- Direct Execution of package.json Scripts: An innovative experimental feature in Node.js 22 is the ability to execute scripts directly by
package.json
using the CLI flagnode --run <script-in-package-json>
. This feature offers developers a streamlined way to manage and execute scripts, improving workflow efficiency. - Official Stable Watch Mode: The
node --watch
feature, which reloads Node.js processes automatically upon file modifications, has reached full stability. This functionality is crucial for developers seeking efficient iterative testing and development. - Stream Performance Enhancement: The adjustment of the default High Water Mark from 16KiB to 64KiB improves overall performance for streaming operations, albeit at the expense of a modest increase in memory usage.
- Introduction of Globbing Capabilities: The
glob
andglobSync
functions have been added to thenode:fs
module, enabling developers to match file paths based on specific patterns easily. - Enhanced Creation of AbortSignal Instances: Improvements in the creation process for
AbortSignal
instances result in significant performance boosts for APIs likefetch
and various testing tools.
To download Node.js 22.0.0 and explore these new capabilities, visit Node.js Downloads. For more details on the features and the complete list of commits, check out the Official GitHub.
As Node.js 22 progresses from its “Current” release status to long-term support (LTS) in October. You have the opportunity to start integrating these innovations into their projects.
Node.js Release Schedule
Release | Status | Initial Release | Active LTS Start | Maintenance Start | End-of-life |
---|---|---|---|---|---|
18.x | Maintenance | April 19, 2022 | October 25, 2022 | October 18, 2023 | April 30, 2025 |
20.x | LTS | April 18, 2023 | October 24, 2023 | October 22, 2024 | April 30, 2026 |
21.x | Maintenance | October 17, 2023 | – | April 1, 2024 | June 1, 2024 |
22.x | Current | April 23, 2024 | October 29, 2024 | October 21, 2024 | April 30, 2027 |
23.x | Pending | October 15, 2024 | – | April 1, 2025 | June 1, 2025 |
24.x | Pending | April 22, 2025 | October 28, 2025 | October 20, 2026 | April 30, 2028 |
Leave a Reply