if-node-version
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.
Installation
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
CLI
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
Node API
var spawnIfNodeVersion = require("if-node-version")
spawnIfNodeVersion(versionRange, command, args, options)
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#ranges -
command
{string}
- The command to run. -
args
{Array.<string>}
- List of string arguments. -
options
{object}
- An option object. See the document ofchild_process.spawn
spawnIfNodeVersion.sync(versionRange, command, args, options)
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.
Changelogs
Contributing
Welcome your contributions!
Please use GitHub's issues/PRs.
Tools to develop
-
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.