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
package.json
Usage on 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);