# node-semvers

> Utilities for managing versions of node including looking up codenames

Latest version **1.8.1** (published 2026-09-13) · MIT license · 0 weekly downloads

## Install

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

Provides the command `nsv`.

## Health

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

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

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 1.8.1 |
| Published | 2026-09-13 |
| First published | 2020-05-10 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=0.8 |
| Dependencies | 4 |
| Unpacked size | 171.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Kevin Malakoff |
| Maintainers | kmalakoff |
| Keywords | node, version, versions, semver, range, engine |

## Links

- npm: https://www.npmjs.com/package/node-semvers
- Repository: https://github.com/kmalakoff/node-semvers
- Issues: https://github.com/kmalakoff/node-semvers/issues
- npm.io page: https://npm.io/package/node-semvers

## Dependencies (4)

- [semver](https://npm.io/package/semver.md) 5.7.2
- [exit-compat](https://npm.io/package/exit-compat.md) ^1.0.0
- [getopts-compat](https://npm.io/package/getopts-compat.md) ^2.2.5
- [fetch-json-cache](https://npm.io/package/fetch-json-cache.md) ^1.4.0

## 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

- 1.8.1 (latest) — 2026-09-13
- 1.8.0 — 2026-09-03
- 1.7.4 — 2026-08-29
- 1.7.3 — 2026-08-24
- 1.7.2 — 2026-05-26
- 1.7.1 — 2026-05-22
- 1.7.0 — 2025-12-20
- 1.6.0 — 2025-12-18
- 1.5.17 — 2025-12-12
- 1.5.16 — 2025-12-12
- 1.5.15 — 2025-12-12
- 1.5.14 — 2025-12-12
- 1.5.13 — 2025-12-11
- 1.5.12 — 2025-12-09
- 1.5.11 — 2025-12-04
- … 132 more at https://npm.io/package/node-semvers/versions

## README

# node-semvers

Resolves individual and ranges for versions of Node.js by version numbers, version names, codenames, and expressions.

```bash
npm install node-semvers
```

Follows a similar convention to [nave](https://github.com/isaacs/nave) with the addition of semver expressions:

```
- x.y.z         A specific SemVer tuple
- x.y           Major and minor version number
- x             Just a major version number
- lts           The most recent LTS (long-term support) node version
- lts/<name>    The latest in a named LTS set. (argon, boron, etc.)
- lts/*         Same as just "lts"
- latest        The most recent (non-LTS) version
- stable        Backwards-compatible alias for "lts".
- [expression]  Engine and semver module expression like "10.1.x || >=12.0.0"
```

## Usage

```js
var NodeVersions = require('node-semvers')

NodeVersions.load(function (err, semvers) {
  if (err) throw err;
  var version = semvers.resolve('lts');
  console.log(version);
});

NodeVersions.load().then(function (semvers) {
  console.log(semvers.resolve('10.0.0 || ~12.0.0'));
});

```

The resolved version names and LTS schedule change as Node.js publishes releases. The `nsv` executable accepts the same expressions, for example `nsv 'lts/*'` or `nsv '>=18'`.

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