node-version
v4.3.0
Published
Get Node current version
Maintainers
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
