node-version-resolver
Give me a semver range and I'll tell you the latest node version that satisfies it.
node-version-resolver is a node module that can be use programatically or from the command line. It downloads a list of all Node.js versions from nodejs.org/dist and exposes a simple API for selecting the latest stable (and unstable) versions, as well as matching the version list against a semver range.
node-version-resolver's functionality is also available as an HTTP webservice at semver.io.
Note: 0.8.6
is the oldest available version of node returned by this library.
This choice was made because nodejs.org does not provide builds of older
versions.
Installation
npm install node-version-resolver --save
Command-Line Usage
Pass a semver range argument to find what version of Node.js currently satisfies it:
node-version-resolver 0.10.x# 0.10.22
Or omit the argument to get the latest stable version:
node-version-resolver# 0.10.22
Programmatic Usage
See test/indexText.coffee
Caching
node-version-resolver is designed to work even if nodejs.org is down or slow
to respond. If the GET request to nodejs.org/dist/
takes too long to resolve, a local copy of cache/node.html
file will be
loaded instead. To update the cached file, run:
npm run updateCache
Tests
npm test
initialization
✓ has an array of all versions
✓ has an array of stable versions
✓ has a latest_stable version
✓ has a latest_unstable version
✓ defaults to latest stable version when given crazy input
satisfy()
✓ honors explicit version strings
✓ matches common patterns to stable version
✓ uses latest unstable version when request version is beyond stable version
override
✓ becomes latest_stable
✓ satisfies stable-seeking ranges
✓ still resolves unstable ranges
✓ still resolves versions at a higher patchlevel than the override