JSPM

  • Created
  • Published
  • Downloads 32891146
  • Score
    100M100P100Q238124F
  • License MIT

Node.js API (N-API)

Package Exports

  • node-addon-api

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (node-addon-api) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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