if-node-version

Run commands if on specified node version.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
if-node-version
1.1.17 years ago8 years agoMinified + gzip package size for if-node-version in KB

Readme

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 childprocess.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 of child_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 childprocess.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.