# npm/node-semver

The semver parser for node (the one npm uses)

Repository: https://github.com/npm/node-semver
Canonical: https://ross.abutalabs.com/products/node-semver
Homepage: https://semver.npmjs.com/
Language: JavaScript
License: ISC
License Family: permissive
Topics: npm-cli
Last push: 2026-07-02T06:23:10+00:00

## Health v2 (maintenance only)
Score: 92/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 90, release rhythm 89, longevity 100
- inputs: {"age_days": 5682, "days_push": 62, "days_rel": 75, "gap_med": 12.5, "n_releases_24m": 11}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 5459, forks 597 (observed 2026-08-28T04:09:19.461364+00:00)

## What it is
The semantic versioning (semver) parser and comparison library used by npm itself, implemented in JavaScript for Node.js. It parses, validates, compares, and evaluates version strings and version ranges (caret, tilde, hyphen, and comparator syntax).

## Use cases
- parse and validate semantic version strings in node
- check if a version satisfies a semver range like ^1.2.0
- compare and sort package versions
- increment major/minor/patch versions programmatically
- coerce messy version strings like 'v2' into valid semver
- find max or min version matching a range

## When to choose
- you are building npm-related tooling or dependency management in Node.js
- you need battle-tested, spec-compliant semver parsing and range matching
- you want to compare, sort, or increment versions in a JavaScript project

## When to avoid
- you need semver handling outside the JavaScript/Node ecosystem
- you need a CLI-only tool rather than a library (though a small semver(1) CLI is included)
- you need parsing of non-semver version schemes like calendar versioning

## Facets
- artifact type: library
- maturity: stable
- function: parser, developer-tools, package-manager
- domain: developer-tools, version-control, programming-languages
- platform: -
- tags: semver, semantic-versioning, npm, version-comparison, version-ranges, nodejs, javascript

## Member repositories
- npm/node-semver (main) score 92

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:19.461364+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:56:47.419619+00:00, confidence not recorded.
  - readme: https://github.com/npm/node-semver (fetched 2026-08-28T04:09:19.461364+00:00, sha 55aa80309e8d)
  - homepage: https://semver.npmjs.com/ (fetched 2026-08-29T08:52:03.574577+00:00, sha 4685bfa5a7f5)
- Data as of 2026-08-30T08:39:29.467469+00:00.
