# node-abi

> Get the Node ABI for a given target and runtime, and vice versa.

Latest version **4.35.0** (published 2026-08-28) · MIT license · 0 weekly downloads

## Install

```sh
npm install node-abi
pnpm add node-abi
yarn add node-abi
bun add node-abi
```

## Health

**Score 73/100 (B)** — status: active.

Positive: has types package; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 4.35.0 |
| Published | 2026-08-28 |
| First published | 2016-12-03 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | separate (@types/node-abi) |
| Module format | ESM |
| Node | >=22.12.0 |
| Dependencies | 1 |
| Unpacked size | 18.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 182 |
| Author | Lukas Geiger |
| Maintainers | electron-cfa |
| Keywords | abi, electron, node, node_module_version, v8 |

## Links

- npm: https://www.npmjs.com/package/node-abi
- Repository: https://github.com/electron/node-abi
- Homepage: https://github.com/electron/node-abi#readme
- Issues: https://github.com/electron/node-abi/issues
- npm.io page: https://npm.io/package/node-abi

## Dependencies (1)

- [semver](https://npm.io/package/semver.md) ^7.6.3

## Alternatives

- [@expo/fingerprint](https://npm.io/package/@expo/fingerprint.md) — 6.2M weekly downloads
- [@azure/monitor-opentelemetry-exporter](https://npm.io/package/@azure/monitor-opentelemetry-exporter.md) — 850.0K weekly downloads
- [@azure/monitor-opentelemetry](https://npm.io/package/@azure/monitor-opentelemetry.md) — 624.0K weekly downloads
- [@posthog/ai](https://npm.io/package/@posthog/ai.md) — 423.3K weekly downloads
- [fakefilter](https://npm.io/package/fakefilter.md) — 63.9K weekly downloads

## Recent versions

- 4.35.0 (latest) — 2026-08-28
- 3.96.0 (release-3.x) — 2026-08-28
- 3.95.0 — 2026-08-25
- 4.34.0 — 2026-08-25
- 3.94.0 — 2026-07-02
- 4.33.0 — 2026-07-02
- 3.93.0 — 2026-06-30
- 4.32.0 — 2026-06-30
- 4.31.0 — 2026-05-06
- 3.92.0 — 2026-05-06
- 3.91.0 — 2026-05-06
- 4.30.0 — 2026-05-06
- 3.90.0 — 2026-05-01
- 4.29.0 — 2026-05-01
- 3.89.0 — 2026-03-16
- … 160 more at https://npm.io/package/node-abi/versions

## README

# Node.js ABI

[![Build Status](https://github.com/electron/node-abi/actions/workflows/test.yml/badge.svg)](https://github.com/electron/node-abi/actions/workflows/test.yml)
[![Auto-update ABI JSON file](https://github.com/electron/node-abi/actions/workflows/update-abi.yml/badge.svg)](https://github.com/electron/node-abi/actions/workflows/update-abi.yml)
[![Snyk badge](https://snyk.io/test/github/electron/node-abi/badge.svg)](https://snyk.io/test/github/electron/node-abi)
[![npm version](http://img.shields.io/npm/v/node-abi.svg)](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

---
_Source: https://npm.io/package/node-abi · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
