• Home
  • Raw
  • Download

Lines Matching +full:js +full:- +full:native +full:- +full:api

1 # Contributing a new API to N-API
3 N-API is the next-generation ABI-stable API for native modules.
4 While improving the API surface is encouraged and welcomed, the following are
6 N-API API.
8 * A new API **must** adhere to N-API API shape and spirit.
9 * **Must** be a C API.
15 * **Must** be a necessary API and not a nice to have. Convenience APIs
16 belong in node-addon-api.
17 * **Must** not change the signature of an existing N-API API or break
18 ABI compatibility with other versions of Node.js.
19 * New API **should** be agnostic towards the underlying JavaScript VM.
20 * New API PRs **must** have a corresponding documentation update.
21 * New API PRs **must** be tagged as **n-api**.
22 * There **must** be at least one test case showing how to use the API.
23 * There **should** be at least one test case per interesting use of the API.
26 * A new API **should** be discussed at the N-API team meeting.
27 * A new API addition **must** be signed off by at least two members of
28 the N-API team.
29 * A new API addition **should** be simultaneously implemented in at least
30 one other VM implementation of Node.js.
31 * A new API **must** be considered experimental for at least one minor
32 version release of Node.js before it can be considered for promotion out
35 * Experimental APIs **must** require an explicit compile-time flag
36 (`#define`) to be set to opt-in.
41 status. This PR **must** be tagged as **n-api** and **semver-minor**.
42 * Exiting an API from experimental **must** be signed off by the team.
43 * If a backport is merited, an API **must** have a down-level
45 * The API **should** be used by a published real-world module. Use of
46 the API by a real-world published module will contribute favorably
47 to the decision to take an API out of experimental status.
48 * The API **must** be implemented in a Node.js implementation with an