"This pull request enables Node.js to optionally use the ChakraCore JavaScript engine," Guarev Seth, Microsoft principal product manager for Chakra, said in a blog post. "Chakra Shim, which is a layer on top of the ChakraCore JS Engine, enables building and running Node.js with ChakraCore. This shim implements the most essential V8 APIs so that the underlying JavaScript engine change is transparent to Node.js and other native add-on modules written for V8," Seth said. Node.js has been centered on Google's V8 JavaScript engine.
At the Node.js Foundation, a representative endorsed the move. "The pull request is positive news for the Node.js community as it puts Node.js in more places and shows continued investment in the technology," Node.js Foundation Community Representative Mikeal Rogers said in a statement. "Getting Node.js as a first-class citizen in Xbox, desktop, and IoT platforms based on Windows will make it much easier for developers to build." In the long run, Rogers said, this will also create more competition in VM performance and eventually lead to a faster Node.js runtime for users of all VMs.
Microsoft detailed plans to open-source Chakra late last year, and Seth cited the expansion of the Node.js landscape. "Node.js continues to be a very successful and powerful cross-platform technology for building apps that can run on anything from small IoT devices to large-scale services that run in the cloud," he said. "We believe allowing more Node.js developers to target more platforms is key to its future growth." Most Node.js modules should work with ChakraCore, although a small set are natively bound to V8 APIs, Seth said.
Microsoft last year introduced support for Node.js with Chakra to allow developers to target the Windows IoT Core platform. "So far, Node.js with Chakra has been actively updated and iterated upon at our own repository, with the intention to merge it with the mainline after stabilizing the code," Seth said.