jointly
v0.0.2
Published
Run multiple processes in parallel.
Downloads
30
Readme
Run multiple processes from a single terminal.
npm install jointly --save-dev
Create a configuration jointly.config.json
(or jointly.config.js
) with tasks that should be executed:
[
{
"command": "ping",
"args": ["google.com"]
},
{
"command": "ping",
"args": ["amazon.com"]
}
]
To start tasks run:
jointly
You can explicitly pass a configuration file path:
jointly another.config.json
Configuration
Each task supports following options:
Determines when the task is considered fulfilled and allows its dependants to start:
'start'
then dependants start immediately after this command is started.'exit'
then dependents start only after the command exits.- The callback that receives a line that command printed to the stdout and returns
true
if dependent tasks should be started, orfalse
otherwise.
Determines when the task is considered failed:
'auto'
then the task is failed if the command exit code isn't 0.'never'
then the task is never failed.- The callback that returns
true
is the task must be considered failed for a particular exit code.
The object with environment key-value pairs. By default, process.env
is passed to a spawned task process.
Explicitly set the value of argv[0]
sent to the child process. This will be set to command
if not specified.
If false
, then no shell is available. If true
, runs command inside of a shell. Uses '/bin/sh'
on Unix, and
process.env.ComSpec
on Windows. A different shell can be specified as a string.
See Shell requirements
and Default Windows shell.
No quoting or escaping of arguments is done on Windows. Ignored on Unix. This is set to true
automatically when shell
is specified and is CMD.