/if-node-version

Run a shell command if it's on the node of specified versions.

Primary LanguageJavaScriptMIT LicenseMIT

if-node-version

npm version Downloads/month Build Status Coverage Status Dependency Status

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.

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 of npm test.
  • npm run clean removes the coverage result of npm test.
  • npm run lint analyzes codes by ESLint.
  • npm run watch runs tests (without coverage measurement) when source code is modified.