Module for using Node-API from C++
2.4k
Stars
500
Forks
14
Open issues
30
Contributors
AI Analysis
node-addon-api is a header-only C++ wrapper library that simplifies using Node-API (Node.js's C API) from C++, providing object models and exception handling with low overhead. It serves C++ developers building native Node.js extensions and addons, not general application developers or those using only JavaScript. This is a specialized tool for a narrow technical niche: native module authors who need stable ABI compatibility across Node.js versions.
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
Official Node-API C++ wrapper maintained by Node.js foundation; header-only, low-overhead bindings for native addon development
node-addon-api is an official Node.js project providing C++ wrapper classes around the C-based Node-API. It simplifies native addon development by offering object-oriented semantics and exception handling over raw C bindings. Used by developers building performance-critical Node.js addons that require native code. Adoption appears concentrated in the native addon ecosystem rather than mainstream JavaScript development; real-world adoption metrics are not publicly transparent.
Created February 2017 as a modern alternative to nan (native abstractions for Node.js), node-addon-api was built to wrap the then-new Node-API standard. It evolved as Node-API matured and became the recommended approach for addon development, with the project tracking active LTS Node.js versions.
Star growth is modest (3 stars in 7 days as of June 2026) and stable rather than accelerating. Project has maintained consistent maintenance cadence over 9 years with regular releases (current version 8.9.0). Growth appears driven by Node.js LTS adoption cycles and native addon ecosystem maturity rather than viral adoption. Relative stability of similar projects (nan at 3355 stars, node-addon-examples at 2589 stars) suggests this is a mature, settled category rather than emerging.
Adoption not verified through public metrics in README or repository metadata. No download statistics, production user list, or case studies provided. The existence of 500 forks and stable maintenance suggests real usage, but concrete production adoption evidence is absent from available signals. npm download data would be necessary to establish real-world usage scale.
Header-only C++ wrapper library based on README. Appears to provide object-oriented classes wrapping Node-API's C functions, likely reducing boilerplate and enabling exception handling semantics. No access to actual source code structure beyond what README states.
README mentions codecov badge but does not document coverage percentage or testing strategy. Coverage infrastructure exists but extent is not transparent from README alone.
Last push 2026-06-26 (9 days before analysis date), indicating active maintenance. Project lists 7 active maintainers with documented governance. Release cycle appears regular. No signals of abandonment; however, low weekly star gain (3 in 7 days) and modest fork count (500) relative to Node.js core projects suggest this is a stable, focused tool rather than a growth-phase project.
ADOPT IF: you are building Node.js native addons in C++ and want modern, low-overhead bindings to Node-API with official backing and stable maintenance. AVOID IF: you lack deep C++ expertise or prefer not to manage native compilation; consider pure-JS alternatives or napi-rs (Rust) if safety is priority. MONITOR IF: you maintain legacy nan-based addons; migration to node-addon-api appears well-supported but remains optional.
Independent dimensions
Mainstream potential
3/10
Technical importance
7/10
Adoption evidence
3/10
- Real-world adoption scale is not documented; may be smaller than star count suggests or concentrated in undisclosed enterprise usage.
- Native addon development remains a niche skill; broader Node.js ecosystem may shift toward WebAssembly or other alternatives, reducing demand.
- Tight coupling to Node.js LTS release schedule means major version bumps yearly; requires ongoing maintenance burden for addon authors.
- Header-only C++ libraries can face compilation issues across diverse toolchains and platforms; not documented in README.
- Limited cross-language appeal compared to alternatives; C++ remains barrier vs. pure-JS or Rust solutions.
Project will continue stable, incremental maintenance aligned with Node.js LTS cycles. Unlikely to see explosive growth; instead, consolidation as the default C++ addon layer for Node.js. Potential decline if WebAssembly adoption accelerates and reduces native addon necessity.
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Language
- C++
- License
- MIT
- Last updated
- 2w ago
- Created
- 115mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open issues
Breaking change: std::string_view usage in 8.8.0 breaks C++14 compatibility
`napi_adjust_external_memory` crashes when `NAPI_EXPERIMENTAL` is defined
Porting create_object_with_properties
Supporting circular references that can be garbage collected.
Wrapping Event in a C++ class so that every where you pass an event it works.
Open pull requests
Top contributors
Recent releases
Similar repos
nodejs/node-addon-examples
A curated collection of Node.js C++ addon examples demonstrating best practices...
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
2.4k | +1 | C++ | 8/10 | 2w ago |
|
|
2.6k | — | C++ | 7/10 | 2w ago |
|
|
3.4k | — | C++ | 8/10 | 2w ago |
|
|
7.8k | — | Rust | 8/10 | 12h ago |
|
|
10.7k | — | Python | 8/10 | 4d ago |
|
|
1.2k | — | JavaScript | 7/10 | 4d ago |
Predecessor technology for addon abstraction. node-addon-api is the newer, officially recommended path forward. nan is higher stars (3355) but represents older approach; both serve similar niche.
Significantly higher stars (7815) and represents competing language ecosystem for native addons. Appeals to developers preferring Rust safety guarantees over C++; different language choice rather than feature competition.
Build system for native addons (10656 stars). Orthogonal rather than competitive — node-addon-api is often used *with* node-gyp for compilation and linking.
Example implementations and reference documentation (2589 stars). Complementary resource; used alongside node-addon-api, not instead of it.

