Installations
npm install node-addon-api
Developer
nodejs
Developer Guide
Module System
CommonJS
Min. Node Version
^18 || ^20 || >= 21
Typescript Support
No
Node Version
22.10.0
NPM Version
10.9.0
Statistics
2,184 Stars
806 Commits
462 Forks
58 Watching
8 Branches
121 Contributors
Updated on 25 Nov 2024
Languages
C++ (71.94%)
JavaScript (26.22%)
Python (1.65%)
C (0.2%)
Total Downloads
Cumulative downloads
Total Downloads
2,225,983,110
Last day
2.5%
4,730,711
Compared to previous day
Last week
6.7%
25,230,900
Compared to previous week
Last month
22.8%
101,216,643
Compared to previous month
Last year
38.4%
901,603,946
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
node-addon-api module
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.2.2
(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:
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
No vulnerabilities found.
Reason
no binaries found in the repo
Reason
all changesets reviewed
Reason
project has 44 contributing companies or organizations
Details
- Info: lunchclass contributor org/company found, sclorg contributor org/company found, redhat-developer contributor org/company found, openjs-foundation contributor org/company found, paketo-community contributor org/company found, w3c contributor org/company found, pagerduty contributor org/company found, microsoft contributor org/company found, fossasia contributor org/company found, web-platform-tests contributor org/company found, wasm-signatures contributor org/company found, inspiredware contributor org/company found, ssm23-2elite2 contributor org/company found, nodejs contributor org/company found, open-telemetry contributor org/company found, pkgjs contributor org/company found, paketo-buildpacks contributor org/company found, VppLang contributor org/company found, voormedia contributor org/company found, CampobassoJS contributor org/company found, X-Profiler contributor org/company found, istanbuljs contributor org/company found, WebAssembly contributor org/company found, naciostechnologies contributor org/company found, tc39 contributor org/company found, postman-eng contributor org/company found, developer contributor org/company found, minibuf contributor org/company found, tu wien contributor org/company found, firstcontributions contributor org/company found, rust-lang-nursery contributor org/company found, napi-bindings contributor org/company found, wintercg contributor org/company found, bloomberg contributor org/company found, mongodb contributor org/company found, microsoft (@microsoft ) contributor org/company found, libvips contributor org/company found, sagemath contributor org/company found, postmanlabs contributor org/company found, EddieHubCommunity contributor org/company found, zeromq contributor org/company found, kosslab-kr contributor org/company found, crossnx contributor org/company found, prebuild contributor org/company found,
Reason
no dangerous workflow patterns detected
Reason
update tool detected
Details
- Info: detected update tool: Dependabot: .github/dependabot.yml:1
Reason
license file detected
Details
- Info: project has a license file: LICENSE.md:0
- Info: FSF or OSI recognized license: MIT License: LICENSE.md:0
Reason
30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10
Reason
packaging workflow detected
Details
- Info: Project packages its releases by way of GitHub Actions.: .github/workflows/release-please.yml:29
Reason
security policy file detected
Details
- Info: security policy file detected: github.com/nodejs/.github/SECURITY.md:1
- Info: Found linked content: github.com/nodejs/.github/SECURITY.md:1
- Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/nodejs/.github/SECURITY.md:1
- Info: Found text in security policy: github.com/nodejs/.github/SECURITY.md:1
Reason
0 existing vulnerabilities detected
Reason
27 out of 30 merged PRs checked by a CI test -- score normalized to 9
Reason
SAST tool detected but not run on all commits
Details
- Info: SAST configuration detected: CodeQL
- Warn: 27 commits out of 30 are checked with a SAST tool
Reason
detected GitHub workflow tokens with excessive permissions
Details
- Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:31
- Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:32
- Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release-please.yml:15
- Info: jobLevel 'contents' permission set to 'read': .github/workflows/release-please.yml:34
- Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecards.yml:29
- Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecards.yml:30
- Info: topLevel 'contents' permission set to 'read': .github/workflows/ci-win.yml:9
- Info: topLevel 'contents' permission set to 'read': .github/workflows/ci.yml:9
- Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:24
- Info: topLevel 'contents' permission set to 'read': .github/workflows/coverage-linux.yml:31
- Info: topLevel 'contents' permission set to 'read': .github/workflows/dependency-review.yml:13
- Info: topLevel 'contents' permission set to 'read': .github/workflows/linter.yml:6
- Info: topLevel 'contents' permission set to 'read': .github/workflows/node-api-headers.yml:9
- Warn: no topLevel permission defined: .github/workflows/release-please.yml:1
- Info: topLevel permissions set to 'read-all': .github/workflows/scorecards.yml:18
- Info: topLevel 'contents' permission set to 'read': .github/workflows/stale.yml:7
Reason
dependency not pinned by hash detected -- score normalized to 7
Details
- Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:55
- Warn: pipCommand not pinned by hash: .github/workflows/coverage-linux.yml:57
- Warn: npmCommand not pinned by hash: .github/workflows/coverage-linux.yml:59
- Warn: npmCommand not pinned by hash: .github/workflows/linter.yml:32
- Warn: npmCommand not pinned by hash: .github/workflows/node-api-headers.yml:52
- Warn: npmCommand not pinned by hash: .github/workflows/node-api-headers.yml:53
- Info: 26 out of 26 GitHub-owned GitHubAction dependencies pinned
- Info: 14 out of 14 third-party GitHubAction dependencies pinned
- Info: 0 out of 5 npmCommand dependencies pinned
- Info: 0 out of 1 pipCommand dependencies pinned
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Score
8.8
/10
Last Scanned on 2024-11-26T07:27:38Z
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn MoreOther packages similar to node-addon-api
@brick-a-brack/napi-canon-cameras
Node AddOn Api module for Canon cameras. Wrapper for the Canon EDSDK.
@jimp-native/plugin-invert-napi
C++ implementation of plugin-invert using the Node Addon API
@jimp-native/plugin-color-napi
C++ implementation of plugin-color using the Node Addon API
@jimp-native/plugin-blit-napi
C++ implementation of plugin-blit using the Node Addon API