The ABI stable module API for Node.js (NAPI) is an effort to provide a stable API for native add-on modules across releases.  This should result in less ongoing work for module maintainers.

Don’t want to have to update or recompile your native modules for every new Node.js release ? In that case¬† you should be watching (or even better participating) in this Node.js community effort.¬† You can follow the ongoing work here: https://github.com/nodejs/abi-stable-node.

Whats new ?

The NAPI team is currently working on milestone 5, as the lead up  to an in person VM summit as outlined here: https://github.com/nodejs/vm/issues/4.

At that summit we’ll checkpoint the progress to date and hopefully confirm the agreement to add the API to node.js core in time for it to be part of Node version 8 as an experimental feature.

The NAPI team is currently working on porting additional modules to validate the API coverage as well as doing performance measurements.  While we are still tweaking the APIs, we hope that having integrated error handling, any major changes are behind us.  This makes it a good time to take a look if you have not been watching it already.

While NAPI is a C based API, we have discussed from the start having C++ in-line wrappers to simplify its use and to make porting from nan (https://github.com/nodejs/nan) easier.  An initial cut at this has just landed in https://github.com/nodejs/abi-stable-node-wrapper.

If you maintain a native module your feedback would be invaluable both on the core C API as well as the C++ in-line wrappers.¬† We’d look forward to hearing from you.

Join The Discussion

Your email address will not be published. Required fields are marked *