OS Specific npm scripts! Ideal for tasks that differs across Operating System Platforms
$ npm install cross-os --save-dev
Add scripts to your package.json like so:
- it supports
darwin
,freebsd
,linux
,sunos
orwin32
"scripts": {
"foo": "cross-os bar",
"bar": {
"darwin": "echo 'i will only run on Mac'",
"win32": "echo 'i will only run on Windows'",
"linux": "echo 'i will only run on Linux'"
}
}
And call it like:
npm run foo
Alternatively you can also specify scripts on its own section in your package.json
"scripts": {
"foo": "cross-os bar"
}
"cross-os": {
"bar": {
"darwin": "echo 'i will only run on Mac'",
"win32": "echo 'i will only run on Windows'",
"linux": "echo 'i will only run on Linux'"
}
}
You also can pass args to the underlying script like this:
"scripts": {
"foo": "cross-os bar -- arg1 arg2"
}
"cross-os": {
"bar": {
"darwin": "echo received arg: ",
"win32": "echo received arg: ",
"linux": "echo received arg: "
}
}
or directly from the npm run script like this:
npm run foo -- arg1 arg2