https://github.com/electron/node-abi
:turtle: :rocket: Get the Node.js and Electron ABI for a given target and runtime
https://github.com/electron/node-abi
Last synced: about 2 months ago
JSON representation
:turtle: :rocket: Get the Node.js and Electron ABI for a given target and runtime
- Host: GitHub
- URL: https://github.com/electron/node-abi
- Owner: electron
- License: mit
- Created: 2016-12-02T23:51:20.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2026-05-01T16:23:00.000Z (about 2 months ago)
- Last Synced: 2026-05-01T18:05:25.320Z (about 2 months ago)
- Language: JavaScript
- Homepage: https://www.npmjs.com/node-abi
- Size: 1.59 MB
- Stars: 182
- Watchers: 7
- Forks: 64
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Node.js ABI
[](https://github.com/electron/node-abi/actions/workflows/test.yml)
[](https://github.com/electron/node-abi/actions/workflows/update-abi.yml)
[](https://snyk.io/test/github/electron/node-abi)
[](https://npmjs.org/package/node-abi)
Get the Node ABI (application binary interface) for a given target and runtime, and vice versa.
## Installation
```shell
npm install node-abi
```
## Usage
```javascript
const nodeAbi = require('node-abi')
nodeAbi.getAbi('7.2.0', 'node')
// '51'
nodeAbi.getAbi('1.4.10', 'electron')
// '50'
nodeAbi.getTarget('51', 'node')
// '7.2.0'
nodeAbi.getTarget('50', 'electron')
// '1.4.15'
nodeAbi.allTargets
// [
// { runtime: 'node', target: '0.10.48', abi: '11', lts: false },
// { runtime: 'node', target: '0.12.17', abi: '14', lts: false },
// { runtime: 'node', target: '4.6.1', abi: '46', lts: true },
// { runtime: 'node', target: '5.12.0', abi: '47', lts: false },
// { runtime: 'node', target: '6.9.4', abi: '48', lts: true },
// { runtime: 'node', target: '7.4.0', abi: '51', lts: false },
// { runtime: 'electron', target: '1.0.2', abi: '47', lts: false },
// { runtime: 'electron', target: '1.2.8', abi: '48', lts: false },
// { runtime: 'electron', target: '1.3.13', abi: '49', lts: false },
// { runtime: 'electron', target: '1.4.15', abi: '50', lts: false }
// ]
nodeAbi.deprecatedTargets
nodeAbi.supportedTargets
nodeAbi.additionalTargets
nodeAbi.futureTargets
// ...
```
## References
- https://github.com/lgeiger/electron-abi
- https://nodejs.org/en/download/releases/
- https://github.com/nodejs/Release