Better Debugging Highlights Microsoft's Node-ChakraCore Branch of Node.js

Microsoft continues to update its Node-ChakraCore project, which started out to expand the reach of Node.js with an open source branch and then changed direction to improve Node.js functionality such as debugging, its No. 1 pain point.

The company last week announced a preview update to Node-ChakraCore, which debuted in May 2015.

Based on Node.js 8, the new v8.21 release includes some new features along with stable platform builds (Windows, Linux and macOS) incorporating Time-Travel Debugging, a new approach that addresses the No. 1 pain point of Node.js developers as identified in a RisingStack survey.

Node.js Debugging Is Major Pain
[Click on image for larger view.] Node.js Debugging Is Major Pain (source: RisingStack).

But the Node-ChakraCore project didn't start out to improve the functionality of Node.js. The original goal was simply to broaden its reach by offering Microsoft's open source ChakraCore (based on the company's Chakra JavaScript engine) as an option to the runtime's default Chrome V8 engine. That lets Node.js developers work with Microsoft's new Windows 10 IoT Core platform for Internet of Things devices.

"From the beginning, it's been clear that in addition to growing the reach of Node.js ecosystem, there's a need to address real problems facing developers and the Node.js ecosystem through innovation, openness and community collaboration," said Arunesh Chandra, senior program manager for Chakra, in last week's post.

In addition to Time-Travel Debugging, which is supported in the Visual Studio Code editor, that collaboration and the Microsoft branch of Node.js resulted in the "next-generation Node.js API" called N-API and an experimental port of Node.js to run on iOS via Node-ChakraCore.

Now that Node-ChakraCore has full cross-platform support, Chandra said the dev team is turning to new priorities, such as improving performance and module compatibility. Chandra invited community developers to pitch in on the effort, and suggested ways to do so that don't involve writing code for people in different roles:

  • Node.js developer -- Try testing Node-ChakraCore in your project, and use Time-Travel debugging with VSCode and let us know how it goes.
  • Node.js module maintainer -- Try testing your module with Node-ChakraCore. Use these instructions to add Node-ChakraCore in your own CI to ensure ongoing compatibility. If you run into issues, please let us know at our repo or our gitter channel.
  • Native module maintainer -- Consider porting your module to N-API. This will help insulate your module from breakage due to new Node releases and will also work with Node-ChakraCore.

"We are always delighted to see the community build and extend Node-ChakraCore in novel and interesting ways," Chandra said.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus


  • Black White Wave IMage

    Neural Regression Using PyTorch: Training

    The goal of a regression problem is to predict a single numeric value, for example, predicting the annual revenue of a new restaurant based on variables such as menu prices, number of tables, location and so on.

  • Microsoft Ships Visual Studio 2019 v16.9 Servicing Baseline Release

    Microsoft is urging enterprises and professional coders to standardize on the new Visual Studio 2019 v16.9, a servicing baseline release that's guaranteed to receive official support for an extended period.

  • Microsoft Extends Low-Code Push with Power Fx Programming Language

    "Using formulas that are already familiar to hundreds of millions of users, Power Fx allows a broad range of people to bring skills they already know to low code solutions."

  • Microsoft's Tools to Fight Solorigate Attack Are Now Open Source

    Microsoft open sourced homegrown tools it used to check its systems for code related to the recent massive breach of supply chains that the company has named Solorigate.

Upcoming Events