Run a shell command if it's on the node of specified versions.
$ if-node-version ">=4" eslint lib test
$ if-node-version "<6" node ./scripts/fallback.js
Maybe this helps you together with npm-scripts.
if-node-version
can be installed with npm.
$ npm install --save-dev if-node-version
if-node-version
requires Node.js>=0.10.0
Usage:
$ if-node-version <VersionRange> <Command> [...args]
Run a shell command if it's on the node of specified versions.
Otherwise, do nothing.
Exit code is the exit code of the <Command>.
$ if-node-version <VersionRange>
Check if it's on the node of specified versions.
Exit code is 0 if it's on the node of specified versions.
Otherwise, exit code is 1.
$ if-node-version --help
Show this help text.
$ if-node-version --version
Show the version number of `if-node-version` command.
Parameters:
<VersionRange> .... A text which specifies the version range of Node.js
This text format is defined by node-semver module:
https://www.npmjs.com/package/semver#ranges
<Command> ......... The shell command to execute.
[...args] ......... Parameters of the shell command.
Examples:
$ if-node-version ">=4" eslint lib test
$ if-node-version "<6" node ./scripts/fallback.js
var spawnIfNodeVersion = require("if-node-version")
Spawn a child process with specified parameters if the node version satisfies a given version range.
This function returns child_process.ChildProcess object.
versionRange
{string}
- A text which specifies the version range of Node.js. This text format is defined by node-semver module: https://www.npmjs.com/package/semver#rangescommand
{string}
- The command to run.args
{Array.<string>}
- List of string arguments.options
{object}
- An option object. See the document ofchild_process.spawn
This is synchronous version of spawnIfNodeVersion(versionRange, command, args, options)
.
This function returns the object as same as child_process.spawnSync.
Note: If you use this function on node 0.10
, you will also need to install spawn-sync.
Welcome your contributions!
Please use GitHub's issues/PRs.
npm install
installs dependencies.npm test
runs tests and measures coverage.npm run coverage
opens the coverage result ofnpm test
.npm run clean
removes the coverage result ofnpm test
.npm run lint
analyzes codes by ESLint.npm run watch
runs tests (without coverage measurement) when source code is modified.