Skip to content

AdrieanKhisbe/normalize-node-version

 
 

Codecov Build Node Gitter Twitter Medium

Normalize and validate Node.js versions.

Can load the current project's version using its .nvmrc.

Example

const normalizeNodeVersion = require('normalize-node-version')

await normalizeNodeVersion('8') // '8.16.0'
await normalizeNodeVersion('8.5.0') // '8.5.0'
await normalizeNodeVersion('v8.5.0') // '8.5.0'
await normalizeNodeVersion('8.5.2') // Error: Invalid Node version
await normalizeNodeVersion('<7') // '6.17.1'
await normalizeNodeVersion('*') // Latest Node version, e.g. '12.8.0'
await normalizeNodeVersion('_') // Node version used by current process
await normalizeNodeVersion('.') // Node version from a '.nvmrc', '.node-version' or '.naverc' file in the current directory or any parent directory
await normalizeNodeVersion('not_a_version') // Error: Invalid Node version

// All available options
await normalizeNodeVersion('8', {
  cache: false,
  mirror: 'https://npm.taobao.org/mirrors/node',
})

Install

npm install normalize-node-version

Usage

normalizeNodeVersion(versionRange, options?)

versionRange: string
options: object
Returns: Promise<string>

Supported aliases

versionRange can be one of the following aliases:

  • _ : Current process's Node.js version
  • . : Node version from a .nvmrc, .node-version or .naverc file in the current directory or any parent directory. Defaults to the current process's Node.js version

options

cache

Type: boolean
Default: true

Cache the HTTP request to retrieve the list of available Node.js versions. The cache is invalidated after one hour.

mirror

Type: string
Default: https://nodejs.org/dist

Base URL. Can be customized (for example https://npm.taobao.org/mirrors/node).

The following environment variables can also be used: NODE_MIRROR, NVM_NODEJS_ORG_MIRROR, N_NODE_MIRROR or NODIST_NODE_MIRROR.

cwd

Type: string
Default: process.cwd()

When using the . alias, start looking for a Node.js version file from this directory.

See also

Support

If you found a bug or would like a new feature, don't hesitate to submit an issue on GitHub.

For other questions, feel free to chat with us on Gitter.

Everyone is welcome regardless of personal background. We enforce a Code of conduct in order to promote a positive and inclusive environment.

Contributing

This project was made with ❤️. The simplest way to give back is by starring and sharing it online.

If the documentation is unclear or has a typo, please click on the page's Edit button (pencil icon) and suggest a correction.

If you would like to help us fix a bug or add a new feature, please check our guidelines. Pull requests are welcome!

Thanks go to our wonderful contributors:


ehmicky

💻 🎨 🤔 📖

Adrien Becchis

💻 ⚠️ 🤔

About

Normalize and validate Node.js versions

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%