latest
milewski/cross-osAllow to add OS-specific scripts in your package.json!
This package works with Node.js, Deno, BunIt is unknown whether this package works with Cloudflare Workers, Browsers




JSR Score
100%
Published
a year ago (1.5.0)
cross-os
OS Specific npm scripts! Ideal for tasks that differs across Operating System Platforms
Install
$ npm install cross-os --save-dev
Usage
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
License
Add Package
deno add jsr:@milewski/cross-os
Import symbol
import * as cross_os from "@milewski/cross-os";
Import directly with a jsr specifier
import * as cross_os from "jsr:@milewski/cross-os";
Add Package
pnpm i jsr:@milewski/cross-os
pnpm dlx jsr add @milewski/cross-os
Import symbol
import * as cross_os from "@milewski/cross-os";
Add Package
yarn add jsr:@milewski/cross-os
yarn dlx jsr add @milewski/cross-os
Import symbol
import * as cross_os from "@milewski/cross-os";
Add Package
vlt install jsr:@milewski/cross-os
Import symbol
import * as cross_os from "@milewski/cross-os";
Add Package
npx jsr add @milewski/cross-os
Import symbol
import * as cross_os from "@milewski/cross-os";
Add Package
bunx jsr add @milewski/cross-os
Import symbol
import * as cross_os from "@milewski/cross-os";