Skip to content

Commit 8a8eeb0

Browse files
committed
Add REAMDE.md to doc branch
0 parents  commit 8a8eeb0

1 file changed

Lines changed: 65 additions & 0 deletions

File tree

README.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Node.js API (NAPI)
2+
This repository is the home for ABI Stable Node API project (NAPI). The goal of this
3+
project is to provide a stable Node API for native module developers. NAPI aims
4+
to provide ABI compatibility guarantees across different Node versions and also
5+
across different Node VMs – allowing NAPI enabled native modules to just work
6+
across different versions and flavors of Node.js without recompilations.
7+
8+
This project is in an early proof of concept stage. Check out our [roadmap](https://github.com/nodejs/abi-stable-node/issues/18)
9+
for details on the remaining work.
10+
11+
Copies of the Node.js source with the changes for the ABI Stable Node API are
12+
in branches in this repo. Currently we have the following version:
13+
14+
* api-prototype-0.10.40
15+
* api-prototype-0.12.7
16+
* api-prototype-6.2.0
17+
* api-prototype-chakracore-7.x
18+
19+
**API Design & Shape**
20+
21+
For more details on design of the API, please check out the
22+
[node-eps](https://github.com/nodejs/node-eps/pull/20) covering this effort.
23+
24+
The current shape of the API can be found in header file
25+
[node_jsvmapi.h](https://github.com/nodejs/abi-stable-node/blob/api-prototype-6.2.0/src/node_jsvmapi.h)
26+
27+
**Branches**
28+
29+
This repository contains node sources from Node versions 0.10, 0.12, 6.2 and
30+
Node-ChakraCore version 7.0, with addition of ABI stable Node APIs. The branches
31+
are named according to the node versions that have been enabled with NAPI support.
32+
33+
**NAPI enabled modules**
34+
* [leveldown](https://github.com/boingoing/leveldown/)
35+
* [nanomsg](https://github.com/sampsongao/node-nanomsg)
36+
* [sqllite3](https://github.com/mhdawson/node-sqlite3) - in progress
37+
* [iotivity](https://github.com/gabrielschulhof/iotivity-node/tree/abi-stable) - in progress
38+
39+
**Testing**
40+
41+
In addition to running the tests in the converted modules. We have also
42+
43+
* Converted version of the NAN examples that we always keep working
44+
[abi-stable-node-addon-examples](https://github.com/nodejs/abi-stable-node-addon-examples)
45+
46+
* Converted version of the [core addons tests](https://github.com/nodejs/abi-stable-node/tree/api-prototype-6.2.0/test/addons-abi) which can be run with ```make test addons-abi```
47+
48+
**How to get involved**
49+
* Convert a native module to use [NAPI](https://github.com/nodejs/abi-stable-node/blob/api-prototype-6.2.0/src/node_jsvmapi.h) and report issues on conversion and performance;
50+
* Port ABI stable APIs to your fork of Node and let us know if there are gaps;
51+
* Review the [roadmap](https://github.com/nodejs/abi-stable-node/issues/18) and see how can you
52+
can help accelerate this project.
53+
54+
Hangout link for weekly standup
55+
https://plus.google.com/u/0/events/c0eevtrlajniu7h8cjrdk0f56c8?authkey=COH04YCalJS8Ug
56+
57+
# Project Participants
58+
* [aruneshchandra](https://github.com/aruneshchandra) - Arunesh Chandra
59+
* [boingoing](https://github.com/boingoing) - Taylor Woll
60+
* [digitalinfinity](https://github.com/digitalinfinity) - Hitesh Kanwathirtha
61+
* [gabrielschulhof](https://github.com/gabrielschulhof) - Gabriel Schulhof
62+
* [ianwjhalliday](https://github.com/ianwjhalliday) - Ian Halliday
63+
* [mhdawson](https://github.com/mhdawson) - Michael Dawson
64+
* [mykmelez](https://github.com/mykmelez) - Myk Melez
65+
* [sampsongao](https://github.com/sampsongao) - Sampson Gao

0 commit comments

Comments
 (0)