Node.js upgrades module safety and ECMAscript support

The forthcoming version 7 beta release moves toward VM agnosticism and adds Canary in the Gold Mine technology to ensure modules don't break

Node.js upgrades module safety and ECMAscript support

An ambitious road map for Node.js was laid out Friday, highlighted by performance boosts, virtual machine agnosticism, and module safety.

Node.js 7, which moves to a beta release next week, will feature the V8 5.4 JavaScript engine, which is focused on performance improvements linked to memory, said Mikeal Rogers, community manager of the Node.js Foundation, on Friday.

"It will also support 98 percent of ECMAScript 6 language features  --  up from 56 percent in Node.js v5," Rogers said. ECMAScript is the standard underlying JavaScript. The Node.js core team also plans more improvements for ES6 and ES7, with future releases to include Promises, async await, and additional ES6 modules.

The first beta of version 7 is focused on stability, particularly with the module system that surrounds Node.js NPM, Rogers said. "In Node.js v6, which will become the active Long Term Support release in October 2016, there were a number of regressions caused by a file system API that were intended to benefit performance, but hurt modules. Node.js v7 is working to fix these issues while remaining performant."

The Node core technical steering committee has identified 68 of the most dependent Node modules in the ecosystem. Canary in the Gold Mine technology will be used to ensure that when updates happen with Node versioning, modules will not break.

Earlier this year, the removal of a module containing only 17 lines of code on the NPM registry wreaked havoc when programs dependent on it, including the Babel compiler, would no longer work. But a Node representative said the Canary in the Gold Mine effort was not related to that situation; rather it's a technical check to ensure Node.js Core updates and modules will not break.

In the VM vein, Node.js will accommodate Microsoft's Chakra JavaScript engine. "The default VM for Node.js will continue to be V8, however a big goal of Node.js is to become fully VM-agnostic in the next year," Rogers said. "Toward this end, the [Node technical steering committee] is putting Node.js Core on Chakra."

Node version 8 is slated to gain WHATWG URL parsing to ensure that parsing is the same in Node as it is in the browser. Improved HTTP 1.1 specification compliance is planned for better input validation and enhanced security; HTTP 2 support will eventually be added as well.

Copyright © 2016 IDG Communications, Inc.

How to choose a low-code development platform