@sounisi5011/run-if-supported

Execute the command only if you are running on a supported version of Node and platform

Usage no npm install needed!

<script type="module">
  import sounisi5011RunIfSupported from 'https://cdn.skypack.dev/@sounisi5011/run-if-supported';
</script>

README

@sounisi5011/run-if-supported

Go to the latest release page on npm Supported Node.js version: ^12.17.x || 14.x || 15.x || 16.x || 17.x Tested with Jest Commitizen friendly Minified Bundle Size Details Install Size Details Dependencies Status Build Status Maintainability Status

Execute the command only if you are running on a supported version of Node and platform. By using this CLI, you can run tests only on the supported node versions and platforms, for example, when testing in multiple environments with CI.

Installation

npm install --save-dev @sounisi5011/run-if-supported
yarn add @sounisi5011/run-if-supported --dev
pnpm add --save-dev @sounisi5011/run-if-supported

Usage

For example, if you want to run the command jest:

$ run-if-supported jest
# ...
# jest's result
# ...

Add the --verbose option if you want to display the executed command and the reason why it was skipped.

$ run-if-supported --verbose jest
> $ jest
# ...
# jest's result
# ...
$ run-if-supported --verbose jest
Skipped command execution. ...

If you want to show only the reason for skipping, add the --print-skip-message option.

$ run-if-supported --print-skip-message jest
# ...
# jest's result
# ...
$ run-if-supported --print-skip-message jest
Skipped command execution. ...

For more information, use the --help option to see how to use it, or refer to the tests/cli.ts file.

Define supported versions

To define the supported Node.js versions, use the engines.node field of package.json.

{
  "engines": {
    "node": "12.x || 14.x || 16.x"
  }
}

This CLI uses the same logic as the npm CLI to check the supported versions.

Define supported platforms

To define the supported platforms, use the os field and cpu field of package.json.

{
  "os": [
    "win32",
    "darwin",
    "linux"
  ],
  "cpu": [
    "any"
  ]
}

This CLI uses the same logic as the npm CLI to check the supported platforms.