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.jsMaybe this helps you together with npm-scripts.
if-node-version can be installed with npm.
$ npm install --save-dev if-node-versionif-node-versionrequires 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 installinstalls dependencies.npm testruns tests and measures coverage.npm run coverageopens the coverage result ofnpm test.npm run cleanremoves the coverage result ofnpm test.npm run lintanalyzes codes by ESLint.npm run watchruns tests (without coverage measurement) when source code is modified.