GitXplorerGitXplorer
n

node-addon-examples

public
2482 stars
602 forks
59 issues

Commits

List of commits on branch main.
Verified
8c1e1984fd5934a6c629b21cba9f9094d7f5c511

Bump the all group with 7 updates (#535)

ddependabot[bot] committed 13 days ago
Verified
07ca2afdba70f3eee3a61ae0a9c84eac70126471

Bump the all group across 31 directories with 4 updates (#536)

ddependabot[bot] committed 13 days ago
Verified
cd1ef24648b15479830c9d434df28831ded7b301

chore: group dependabot updates (#534)

llegendecas committed 13 days ago
Verified
eb481cb34a6815d9547e7c27992f317c62e4964c

Bump @types/node from 12.20.55 to 20.12.13 in /website (#473)

ddependabot[bot] committed 3 months ago
Verified
011bc350311498c8bcadce961bf60aca00b41143

Bump bindings from 1.2.1 to 1.5.0 in /src/1-getting-started/4_object_factory/node-addon-api (#392)

ddependabot[bot] committed 4 months ago
Verified
fac9000b47c0088911b94a9d8a6c5b60dd20959f

Bump node-addon-api from 1.7.2 to 8.0.0 in /src/1-getting-started/4_object_factory/node-addon-api (#385)

ddependabot[bot] committed 4 months ago

README

The README file for this repository.

Node.js Addon Examples

A repository of Node.js Addons examples.

Implementations of examples are named either after Node.js versions (node_0.10, node_0.12, etc), or Node.js addon implementation APIs:

  • nan: C++-based abstraction between Node and direct V8 APIs.
  • Node-API: C-based API guaranteeing ABI stability across different node versions as well as JavaScript engines. (Node-API was previously known as N-API.)
  • node-addon-api: header-only C++ wrapper classes which simplify the use of the C-based Node-API.
  • node-addon-api-addon-class: Similar to node-addon-api, but deriving from the Napi::Addon class. 1_hello_world provides an example.

Implementations against unsupported versions of Node.js are provided for completeness and historical context. They are not maintained.

The examples are primarily maintained for Node-API and node-addon-api and as outlined in the Node.js documentation, unless there is a need for direct access to functionality which is not exposed by Node-API, use Node-API.

The Node-API Resource offers an excellent orientation and tips for developers just getting started with Node-API and node-addon-api.

Usage

The directory structure is as follows:

REPO_ROOT
├── test_all.js
├── package.json
├── README.md
└── src
    ├── 1-getting-started
    │   ├── example1
    │   │   ├── nan
    │   │   ├── node-addon-api
    │   │   └── napi
    │   ├── example2
    │   └── example3
    ├── 2-js-to-native-conversion
    ├── 3-context-awareness
    ├── 4-references-and-handle-scope
    ├── 5-async-work
    ├── 6-threadsafe-function
    ├── 7-events
    └── 8-tooling

In each example's implementation subdirectory, run

npm install
node ./

to see the example in action.