
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-version
Quick Start
import { version } from 'node-version';
console.log(version);
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
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@3
Development
Scripts
bun run build: Build the project using tsdown.
bun run test: Run tests using vitest.
bun run lint: Run linting checks using biome.
bun run format: Format the code using biome.
bun run check-exports: Verify package exports are correct.
Publishing
This project uses Changesets for versioning and publishing.
bun run changeset:version
bun run changeset:release
License
MIT