(See CHANGELOG.md for complete Changelog)
node-api-headers contains the header files for the C-based Node-API provided by Node.js. Node-API is an API for building native addons that guarantees the ABI (Application Binary Interface) stability across versions of Node.js (see: Node-API).
Node-API headers are in the include
folder. The Node-APIs that provide ECMAScript features from native code can be found in js_native_api_types.h
and js_native_api.h
. The APIs defined in these headers are included in node_api_types.h
and node_api.h
. The headers are structured in this way in order to allow implementations of Node-API outside of Node.js considering that for those implementations the Node.js specific APIs may not be applicable.
node-api-headers is also a package published on npm that could be used in a process to compile and build native addons for Node.js.
npm i node-api-headers
Node-API C headers are backward-compatible. Its version (e.g. 8
) is released separately from the Node.js version stream (e.g. 19.8.1
) and changes are backported to active Node.js LTS lines (e.g. 16.x
and 18.x
).
This package publishes semver-minor versions with new Node-API C headers changes. JS API breaking changes are published with new semver-major versions.
The module exports two properties include_dir
and symbols
.
include_dir
This property is a string that represents the include path for the Node-API headers.
def_paths
This property is an object that has two keys js_native_api_def
and node_api_def
which represents the path of the module definition file for the js_native_api
and node_api
respectively.
symbols
This property is an object that represents the symbols exported by Node-API grouped by version and api types.
V1: { js_native_api_symbols: [ // List of symbols in js_native_api.h for the version 1. ], node_api_symbols: [ // List of symbols in node_api.h for the version 1 ] }, // ...
Name | GitHub Link |
---|---|
Anna Henningsen | addaleax |
Chengzhong Wu | legendecas |
Gabriel Schulhof | gabrielschulhof |
Hitesh Kanwathirtha | digitalinfinity |
Jim Schlight | jschlight |
Michael Dawson | mhdawson |
Kevin Eady | KevinEady |
Nicola Del Gobbo | NickNaso |
Licensed under MIT