{"id":13511879,"url":"https://github.com/nodejs/abi-stable-node","last_synced_at":"2025-04-06T13:12:07.918Z","repository":{"id":39612093,"uuid":"67543822","full_name":"nodejs/abi-stable-node","owner":"nodejs","description":"Repository used by the Node-API team to manage work related to Node-API and node-addon-api","archived":false,"fork":false,"pushed_at":"2024-06-20T19:25:39.000Z","size":239537,"stargazers_count":241,"open_issues_count":17,"forks_count":34,"subscribers_count":31,"default_branch":"doc","last_synced_at":"2024-10-29T17:32:42.647Z","etag":null,"topics":["node","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nodejs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-06T20:23:47.000Z","updated_at":"2024-10-11T10:09:28.000Z","dependencies_parsed_at":"2024-01-13T22:22:45.704Z","dependency_job_id":"133d0896-75b2-4bb3-9f13-cb9cf24226ae","html_url":"https://github.com/nodejs/abi-stable-node","commit_stats":{"total_commits":67,"total_committers":19,"mean_commits":3.526315789473684,"dds":0.791044776119403,"last_synced_commit":"c076733d2f24f91c51d599480c032ab58d32c378"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodejs%2Fabi-stable-node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodejs%2Fabi-stable-node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodejs%2Fabi-stable-node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodejs%2Fabi-stable-node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nodejs","download_url":"https://codeload.github.com/nodejs/abi-stable-node/tar.gz/refs/heads/doc","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247485290,"owners_count":20946398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["node","nodejs"],"created_at":"2024-08-01T03:01:15.524Z","updated_at":"2025-04-06T13:12:07.898Z","avatar_url":"https://github.com/nodejs.png","language":"JavaScript","readme":"# Node.js API (Node-API)\nThis repository is the home for ABI Stable Node API project Node-API which was previously known as N-API.\n\nThe goal of this project is to provide a stable Node API for native\nmodule developers. Node-API aims to provide ABI compatibility guarantees\nacross different Node versions and also across different Node\nVMs - allowing Node-API enabled native modules to just work\nacross different versions and flavors of Node.js without recompilations.\n\nIt is introduced by this Node enhancement proposal:\n[005-ABI-Stable-Module-API.md](https://github.com/nodejs/node-eps/blob/master/005-ABI-Stable-Module-API.md).\n\nNode-API is part of [Node.js core](http://github.com/nodejs/node). Documentation is available here:\n[https://nodejs.org/docs/latest/api/n-api.html](https://nodejs.org/docs/latest/api/n-api.html).\n\nNode.js versions 8.12.0 and above provide Node-API as a stable feature.\n\n## Branches\n\nCurrently this repo is being used only for meta issue management and\nfuture planning by the [Node-API team](https://github.com/orgs/nodejs/teams/node-api). \n\n## API Design \u0026 Shape\n\nThe current shape of the API can be found in header file\n[node_api.h](https://github.com/nodejs/node/blob/master/src/node_api.h).\nFull documentation is available as part of the standard Node.js API docs here:\n[https://nodejs.org/docs/latest/api/n-api.html](https://nodejs.org/docs/latest/api/n-api.html).\n\nThere is also a header-only [C++ API](https://github.com/nodejs/node-addon-api), which\nsimplifies development while still using the same ABI-stable Node API underneath.\nIt is distributed as a separate npm package: [https://www.npmjs.com/package/node-addon-api](https://www.npmjs.com/package/node-addon-api).\n\n## Node-API enabled modules\n\n|Module|Converted By|Location|Conversion Status|Performance Assessment|\n|------|------------|--------|---|-----------|\n|leveldown| n-api team | https://github.com/sampsongao/leveldown/tree/napi | Completed | [#55](https://github.com/nodejs/abi-stable-node/issues/55) |\n|nanomsg| n-api team | https://github.com/sampsongao/node-nanomsg/tree/napi| Completed | [#57](https://github.com/nodejs/abi-stable-node/issues/57)|\n|canvas| n-api team | https://github.com/jasongin/node-canvas/tree/napi | Completed | [#77](https://github.com/nodejs/abi-stable-node/issues/77)|\n|node-sass| n-api team | https://github.com/boingoing/node-sass/tree/napi | Completed | [#82](https://github.com/nodejs/abi-stable-node/issues/82)|\n|iotivity|[gabrielschulhof](https://github.com/gabrielschulhof) | https://github.com/gabrielschulhof/iotivity-node/tree/abi-stable | Completed |N/A|\n|node-sqlite3 |n-api team | https://github.com/mhdawson/node-sqlite3/tree/node-addon-api | Completed | |\n\n## Testing\n\nIn addition to running the tests in the converted modules we also have a converted version of the NAN examples\n  [node-addon-examples](https://github.com/nodejs/node-addon-examples)\n\n## How to get involved\n* Convert a native module to use [Node-API](https://github.com/nodejs/abi-stable-node/blob/api-prototype-8.x/src/node_api.h) and report issues on conversion and performance;\n* Port ABI stable APIs to your fork of Node and let us know if there are gaps;\n* Review the [roadmap](https://github.com/nodejs/abi-stable-node/milestones) and see how you\ncan help accelerate this project.\n\n## Badges\n\nThe use of badges is recommended to indicate the minimum version of Node-API\nrequired for the module. This helps to determine which Node.js major versions\nare supported. Addon maintainers can consult the [Node-API support matrix][] to\ndetermine which Node.js versions provide a given Node-API version. The following\nbadges are available:\n\n![Node-API v1 Badge](assets/Node-API%20v1%20Badge.svg)\n![Node-API v2 Badge](assets/Node-API%20v2%20Badge.svg)\n![Node-API v3 Badge](assets/Node-API%20v3%20Badge.svg)\n![Node-API v4 Badge](assets/Node-API%20v4%20Badge.svg)\n![Node-API v5 Badge](assets/Node-API%20v5%20Badge.svg)\n![Node-API v6 Badge](assets/Node-API%20v6%20Badge.svg)\n![Node-API v7 Badge](assets/Node-API%20v7%20Badge.svg)\n![Node-API v8 Badge](assets/Node-API%20v8%20Badge.svg)\n![Node-API v9 Badge](assets/Node-API%20v9%20Badge.svg)\n![Node-API Experimental Version Badge](assets/Node-API%20Experimental%20Version%20Badge.svg)\n\n## Meeting\n\nThe team meets once a week on zoom. See the **[Node.js Calendar](https://calendar.google.com/calendar/embed?src=nodejs.org_nr77ama8p7d7f9ajrpnu506c98%40group.calendar.google.com)** for the current time/day of the week.\nThe link to participate to the meeting is:  https://zoom.us/j/363665824 .\n\n## Project Participants\n\n### Active\n\n| Name                | GitHub Link                                           |\n| ----                | -----------                                           |\n| Chengzhong Wu       | [legendecas](https://github.com/legendecas)           |\n| Gabriel Schulhof    | [gabrielschulhof](https://github.com/gabrielschulhof) |\n| Jack Xia            | [JckXia](https://github.com/JckXia)                   |\n| Kevin Eady          | [KevinEady](https://github.com/KevinEady)             |\n| Michael Dawson      | [mhdawson](https://github.com/mhdawson)               |\n| Nicola Del Gobbo    | [NickNaso](https://github.com/NickNaso)               |\n| Vladimir Morozov    | [vmoroz](https://github.com/vmoroz)                   |\n\n\n### Emeritus\n| Name                | GitHub Link                                           |\n| ----                | -----------                                           |\n| Anisha Rohra        | [anisha-rohra](https://github.com/anisha-rohra)       |\n| Arunesh Chandra     | [aruneshchandra](https://github.com/aruneshchandra)   |\n| Cory Mickelson      | [corymickelson](https://github.com/corymickelson)     |\n| Hitesh Kanwathirtha | [digitalinfinity](https://github.com/digitalinfinity) |\n| Ian Halliday        | [ianwjhalliday](https://github.com/ianwjhalliday)     |\n| Jason Ginchereau    | [jasongin](https://github.com/jasongin)               |\n| Jim Schlight        | [jschlight](https://github.com/jschlight)             |\n| Kyle Farnung        | [kfarnung](https://github.com/kfarnung)               |\n| Sampson Gao         | [sampsongao](https://github.com/sampsongao)           |\n| Taylor Woll         | [boingoing](https://github.com/boingoing)             |\n\n[Node-API support matrix]: https://nodejs.org/dist/latest/docs/api/n-api.html#n_api_node_api_version_matrix\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodejs%2Fabi-stable-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnodejs%2Fabi-stable-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodejs%2Fabi-stable-node/lists"}