With a week away for the launch of Node.js 10, here’s post looking at the slew of new features that’s expected to be included in this launch. This includes updates to errors and the formal addition of N-API. We can expect a continued adoption and development of features for Node.js.
Codes for Errors in Node.js 10
There’a huge change coming to errors in Node.js 10: the errors will follow a repeatable and consistent scheme. Before, we had to wait for the next release of Node for changes to errors, including something as trivial as typos. With this update, errors would be normalized across platforms resulting in a more consistent devlopment experience across platforms.
N-API: No Longer Experimental
Last month, the status of N-API changed from Experimental to Stable on the official repository. N-API removes barriers caused by native modules while upgrading Node.js. Native modules have been a source of trouble and aren’t easy to fix. N-API solves this problem, by providing an ABI-stable abstraction layer for native APIs in JavaScript VMs. This will allow native module authors to compile their module once per platform and architecture and make it available for any version of Node.js that implements N-API.
HTTP/2 in Node.js 10
The first implementation of HTTP/2 in Node.js was in Node.js 8 LTS. However we haven’t seen much progress in this until now. With the implementation we can be assured of Node.js evolution. It includes
- Push Stream Support
- HTTP/2 Prioritization and Flow Control
- Support for HTTP/2 trailers
- HPACK header compression support
- A compatibility API layer that operates as close as possible to the existing HTTP/1 API
ESM and Node.js
The new native implementation of Node.js is contradicting the ECMAScript modules. This has led to heated debates among Node.js and the larger JavaScript community. While a full implementation of ESM shouldn’t be expected this release, we are likely to see more development in this area. The Modules Team was spun up a few months ago, and has been actively working on discussing the needs and implementation details around Node.js and ESM. This team is one of the largest active teams in Node.js, with over 30 active contributors.
Node.js 10 “Dubnium” LTS: Coming Soon
As per the release schedule, Node.js 10 will become Node.js 10 “Dubnium” LTS in October.
This means that both the features shipping with Node.js 10 on release and any features that are developed and included prior to the LTS release date will be supported until April 2021.