JSPM

napi-build-utils

1.0.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9493176
  • Score
    100M100P100Q216857F
  • License MIT

A set of utilities to assist developers of tools that build N-API native add-ons

Package Exports

  • napi-build-utils

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 (napi-build-utils) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

napi-build-utils

npm Node version Build Status js-standard-style License: MIT

A set of utilities to assist developers of tools that build N-API native add-ons.

Background

This module is targeted to developers creating tools that build N-API native add-ons.

It implements a set of functions that aid in determining the N-API version supported by the currently running Node instance and the set of N-API versions against which the N-API native add-on is designed to be built. Other functions determine whether a particular N-API version can be built and can issue console warnings for unsupported N-API versions.

Unlike the modules this code is designed to facilitate building, this module is written entirely in JavaScript.

Quick start

$ npm install napi-build-utils

The module exports a set of functions documented here. For example:

var napiBuildUtils = require('napi-build-utils');
var napiVersion = napiBuildUtils.getNapiVersion(); // N-API version supported by Node, or undefined.

Declaring supported N-API versions

Native modules that are designed to work with N-API must explicitly declare the N-API version(s) against which they are coded to build. This is accomplished by including a binary.napi_versions property in the module's package.json file. For example:

"binary": {
  "napi_versions": [2,3]
}

In the absence of a need to compile against a specific N-API version, the value 3 is a good choice as this is the N-API version that was supported when N-API left experimental status.

Modules that are built against a specific N-API version will continue to operate indefinitely, even as later versions of N-API are introduced.

Support

If you run into problems or limitations, please file an issue and we'll take a look. Pull requests are also welcome.