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.
npm install --save-dev @sounisi5011/run-if-supported
yarn add @sounisi5011/run-if-supported --dev
pnpm add --save-dev @sounisi5011/run-if-supported
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.
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.
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.