Package Exports
- node-version
Readme
node-version
A lightweight utility to get the current Node.js version parsed into a structured object.
Features
- 🚀 Fast and Lightweight: Barely any overhead.
- 📦 ESM Only: Built for modern environments.
- 🛠️ TypeScript Ready: Full type definitions included.
- 📅 LTS & EOL Checks: Identify LTS releases and End-of-Life versions.
- 🚦 Comparison Helpers:
is(),isAtLeast(),isAbove(),isBelow(),isAtMost()checks.
Installation
# Using npm
npm install node-version
# Using Yarn
yarn add node-version
# Using pnpm
pnpm add node-version
# Using Bun
bun add node-versionQuick Start
import { version } from 'node-version';
console.log(version);
/*
{
original: 'v20.10.0', // same as process.version
short: '20.10',
long: '20.10.0',
major: '20',
minor: '10',
build: '0',
isAtLeast: [Function],
isAbove: [Function],
isBelow: [Function],
isAtMost: [Function],
is: [Function],
isLTS: true, // or false
ltsName: 'Iron', // or undefined
isEOL: false // or true
}
*/API Reference
version
The pre-instantiated version object for the current process.
getVersion()
Returns a new NodeVersion object representing the current process version.
import { getVersion } from 'node-version';
const v = getVersion();NodeVersion Object
| Property | Type | Description |
|---|---|---|
original |
string |
The version string prefixed with 'v' (e.g., 'v20.10.0'). |
short |
string |
The major and minor version (e.g., '20.10'). |
long |
string |
The full version string (e.g., '20.10.0'). |
major |
string |
The major version number. |
minor |
string |
The minor version number. |
build |
string |
The build/patch version number. |
isAtLeast(version) |
(v: string) => boolean |
Checks if the current version is ≥ the specified version. |
isAbove(version) |
(v: string) => boolean |
Checks if the current version is > the specified version. |
isBelow(version) |
(v: string) => boolean |
Checks if the current version is < the specified version. |
isAtMost(version) |
(v: string) => boolean |
Checks if the current version is ≤ the specified version. |
is(version) |
(v: string) => boolean |
Checks if the current version is exactly the specified version. |
isLTS |
boolean |
true if the current version is an LTS release. |
ltsName |
string |
The LTS codename (e.g., 'Iron') or undefined. |
isEOL |
boolean |
true if the current version is past its End-of-Life date. |
Compare Versions
import { version } from 'node-version';
if (version.isAtLeast('20.0.0')) {
console.log('Running on Node.js 20 or newer');
}
if (version.is('22.0.0')) {
console.log('Running on exactly Node.js 22.0.0');
}
if (version.isAbove('20.0.0')) {
console.log('Running on Node.js strictly above 20.0.0');
}
if (version.isBelow('22.0.0')) {
console.log('Running on Node.js strictly below 22.0.0');
}ESM Requirements
This package is ESM-only and requires Node.js 20+.
If you need CommonJS support, use node-version@3:
npm install node-version@3Development
Scripts
bun run build: Build the project usingtsdown.bun run test: Run tests usingvitest.bun run lint: Run linting checks usingbiome.bun run format: Format the code usingbiome.bun run check-exports: Verify package exports are correct.
Publishing
This project uses Changesets for versioning and publishing.
# Prepare a new version (updates changelog and package.json)
bun run changeset:version
# Publish to NPM
bun run changeset:releaseLicense
MIT