MCPcopy Index your code
hub / github.com/nodejs/node-addon-api

github.com/nodejs/node-addon-api @v8.9.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v8.9.0 ↗ · + Follow
1,399 symbols 3,543 edges 204 files 41 documented · 3%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

node-addon-api module

codecov

NPM NPM

This module contains header-only C++ wrapper classes which simplify the use of the C based Node-API provided by Node.js when using C++. It provides a C++ object model and exception handling semantics with low overhead.

API References

API references are available in the doc directory.

Current version: 8.9.0

(See CHANGELOG.md for complete Changelog)

node-addon-api is based on Node-API and supports using different Node-API versions. This allows addons built with it to run with Node.js versions which support the targeted Node-API version. However the node-addon-api support model is to support only the active LTS Node.js versions. This means that every year there will be a new major which drops support for the Node.js LTS version which has gone out of service.

The oldest Node.js version supported by the current version of node-addon-api is Node.js 18.x.

Badges

The use of badges is recommended to indicate the minimum version of Node-API required for the module. This helps to determine which Node.js major versions are supported. Addon maintainers can consult the Node-API support matrix to determine which Node.js versions provide a given Node-API version. The following badges are available:

Node-API v1 Badge Node-API v2 Badge Node-API v3 Badge Node-API v4 Badge Node-API v5 Badge Node-API v6 Badge Node-API v7 Badge Node-API v8 Badge Node-API v9 Badge Node-API Experimental Version Badge

Contributing

We love contributions from the community to node-addon-api! See CONTRIBUTING.md for more details on our philosophy around extending this module.

Team members

Active

Name GitHub Link
Anna Henningsen addaleax
Chengzhong Wu legendecas
Jack Xia JckXia
Kevin Eady KevinEady
Michael Dawson mhdawson
Nicola Del Gobbo NickNaso
Vladimir Morozov vmoroz

Emeritus

Emeritus

Name GitHub Link
Arunesh Chandra aruneshchandra
Benjamin Byholm kkoopa
Gabriel Schulhof gabrielschulhof
Hitesh Kanwathirtha digitalinfinity
Jason Ginchereau jasongin
Jim Schlight jschlight
Sampson Gao sampsongao
Taylor Woll boingoing

License

Licensed under MIT

Core symbols most depended-on inside this repo

Env
called by 644
napi-inl.h
Set
called by 139
napi-inl.h
ThrowAsJavaScriptException
called by 82
napi-inl.h
Value
called by 75
napi-inl.h
Call
called by 62
napi-inl.h
Get
called by 57
napi-inl.h
Data
called by 50
napi-inl.h
Escape
called by 47
napi-inl.h

Shape

Function 839
Method 415
Class 140
Enum 5

Languages

C++81%
TypeScript19%

Modules by API surface

napi-inl.h282 symbols
napi.h78 symbols
test/async_worker.cc48 symbols
test/async_progress_worker.cc32 symbols
test/basic_types/value.cc29 symbols
test/error.cc28 symbols
test/function.cc25 symbols
test/async_progress_queue_worker.cc23 symbols
test/objectwrap.cc22 symbols
test/typed_threadsafe_function/typed_threadsafe_function_sum.cc19 symbols
test/object/object.cc19 symbols
test/threadsafe_function/threadsafe_function_sum.cc18 symbols

For agents

$ claude mcp add node-addon-api \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact