Skip to main content
Home

Allow 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
It is unknown whether this package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
This package works with Bun
It is unknown whether this package works with Browsers
JSR Score
100%
Published
a year ago (1.5.0)

cross-os

npm version npm downloads

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 or win32
{
    "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

MIT © Rafael Milewski

New Ticket: Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@milewski/cross-os

Import symbol

import * as cross_os from "@milewski/cross-os";
or

Import directly with a jsr specifier

import * as cross_os from "jsr:@milewski/cross-os";

Add Package

pnpm i jsr:@milewski/cross-os
or (using pnpm 10.8 or older)
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
or (using Yarn 4.8 or older)
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";