JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 66
  • Score
    100M100P100Q75196F
  • License MIT

Run multiple commands on multiple terminals (or iTerm split panes)

Package Exports

  • multiplerun

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (multiplerun) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Run multiple terminals (or iTerm split panes) at once

If you have installed iTerm.app on your Mac. Your iTerm will opened like this.

If you don't have iTerm, those commands will be executed via default terminal app (cmd.exe or Terminal.app)

Usage

And add config

test:
  - echo multiplerun!
  - - echo hello
    - echo world
npx multiplerun test

Usage on package.json

npm install multiplerun --save-dev
# yarn add multiplerun --dev

And add config to your package.json

{
  "name": "some-package",
  "scripts": {
    "multiplerun-test": "multiplerun test"
  },
  "multiplerun": {
    "test": ["echo multiplerun!", ["echo hello", "echo world"]]
  }
}
npm run multiplerun-test

Run in script

import multiplerun from 'multiplerun';

multiplerun(['echo multiplerun!', ['echo hello', 'echo world']]);

API

packages/src/multiplerun/types.ts

export type Command = { command: string; wait: number; cwd: string };

export type Commands = (Command | Command[])[];

export type ConfigCommand =
  | string
  | { command: string; wait?: number; cwd?: string };

export type ConfigCommands = (ConfigCommand | ConfigCommand[])[];

export type Options = {
  cwd?: string;
};
function multiplerun(commands: ConfigCommands, options?: Options);