Skip to content

mhdawson/node-addon-api

 
 

Repository files navigation

Node.js API (N-API) Package

This package contains header-only C++ wrapper classes for the ABI-stable Node.js API also known as N-API, providing C++ object model and exception handling semantics with low overhead. It guarantees backward compatibility when used with older versions of Node.js that do not have N-API built-in.

N-API is an API for building native addons. It is independent from the underlying JavaScript runtime (e.g. V8 or ChakraCore) and is maintained as part of Node.js itself. This API will be Application Binary Interface (ABI) stable across versions and flavors of Node.js. It is intended to insulate native addons from changes in the underlying JavaScript engine and allow modules compiled for one version to run on later versions of Node.js without recompilation. N-API guarantees the API and ABI compatibility across different versions of Node.js. So if you switched to a different version of Node.js, you would not need to reinstall or recompile the native addon.

APIs exposed by N-API are generally used to create and manipulate JavaScript values. Concepts and operations generally map to ideas specified in the ECMA262 Language Specification.

Current version: 1.3

(See CHANGELOG.md for complete Changelog)

NPM NPM

Setup

API Documentation

Examples

Are you new to N-API? Take a look at our examples

Tests

To run the N-API tests do:

npm install
npm test

Take a look and get inspired by our test suite

More resource and info about native Addons

WG Members / Collaborators

Name GitHub link
Anna Henningsen addaleax
Arunesh Chandra aruneshchandra
Benjamin Byholm kkoopa
Gabriel Schulhof gabrielschulhof
Hitesh Kanwathirtha digitalinfinity
Jason Ginchereau jasongin
Michael Dawson mhdawson
Nicola Del Gobbo NickNaso
Sampson Gao sampsongao
Taylor Woll boingoing

Licensed under MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 92.4%
  • JavaScript 6.2%
  • Other 1.4%