too
v3.3.0
Published
Combine multiple processes' Stdout/Stderr/SIGINT to keep them all foreground
Readme
too
The opposite of tee command, combining stdout/stderr from multiple commands and kill them with one signal (Ctrl+C).
-> command 1 stream ─┐
-> command 2 stream ─┤
└─ stdout/stderr/SIGINT to kill bothIt means, you can write 2 parallel jobs in 1 npm script!!
// package.json
{
"scripts": {
"start": "too --cmd 'rails s' --cmd 'webpack'"
// Start server and client HMR in parallel,
// and you can kill both by one Ctrl+C!!
},
}Why?
Sometimes we do that,
% nohup rails server &
% nohup npm start-webpack &
# after you did some work
% pkill rails
% pkill webpackI don't wanna do this any more, just wanna run multiple processes and kill them with one Ctrl+C!
Usage
% too --cmd 'rails server' --cmd 'npm start-webpack'Then you will get
[0] rails # Rails log here
[1] npm # NPM log here
# And you can kill both by one `Ctrl+C` (SIGINT)Too files
Or you can define your tasks on a yaml file
# too.local.yaml
main:
jobs:
- run: rails server
- run: npm start-webpackthen
% too ./too.local.yamlIncluding env files
You can merge KEY=value env files into the environment with include.env_files.
Paths are resolved from the current working directory.
# too.local.yaml
include:
env_files:
- ./example/secrets.env # KEY=value lines, merged into the environment
main:
jobs:
- run: echo $API_TOKENenv_files is the only supported include form; the listed files are read as
KEY=value pairs (not as nested too-files). See example/too.local.yaml.
Install
% npm install tooIssues
- https://github.com/otiai10/too.js/issues
