Resolve Node.js version aliases like latest, lts or erbium.
Those aliases are used by Node.js version managers like nvm, nvs, n, nave, nodeenv or nodist.
This resolves them to a "major.minor.patch" version string. The following aliases are supported:
- latest,
stable, node, current: latest version
- lts or
lts/: latest LTS version
- lts/-1,
lts/-2, etc.: first/second/etc. latest LTS version
- lts/erbium,
erbium, etc.: specific LTS, using its name (case-insensitive)
- nvm custom aliases (including default)
- system: Node.js
version when nvm is deactivated
- iojs: always 4.0.0
- unstable: always 0.11.6
Normal version ranges (like 12.1.0, 12 or =10) are valid inputs too.
Examples
import nodeVersionAlias from 'node-version-alias'
// Note: the following examples might be out-of-sync with the actual versions
console.log(await nodeVersionAlias('latest')) // 19.3.0
console.log(await nodeVersionAlias('lts')) // 18.12.1
console.log(await nodeVersionAlias('lts/erbium')) // 12.22.12
console.log(await nodeVersionAlias('erbium')) // 12.22.12
console.log(await nodeVersionAlias('lts/-2')) // 14.21.2
// Normal version ranges
console.log(await nodeVersionAlias('10.0.0')) // 10.0.0
console.log(await nodeVersionAlias('10')) // 10.24.1console.log(await nodeVersionAlias('=10')) // 19.3.0