madrun v10.2.5
🏎 Madrun


CLI tool to run multiple npm-scripts in a madly comfortable way. Can be used together with redrun.
Install
npm i madrun -gUsage
First thing you should do is:
- ✅ create
.madrun.jsfile with all scripts written in JavaScript; - ✅ update
package.jsonscripts to use madrun;
This can be done using:
madrun --initWhen you create new script, you can run it with: madrun lint test.
Run madrun --init again, to update package.json, so you can use:
npm run lint
npm testThen you can run madrun without args to see list of a scripts. Or run:
madrun <script>To run specified script.
Completion
You can enable tab-completion of npm scripts similar to npm's completion using:
madrun-completion >> ~/.bashrc
madrun-completion >> ~/.zshrcYou may also pipe the output of madrun-completion to a file such as /usr/local/etc/bash_completion.d/madrun if you have a system that will read that file for you.
Options
Madrun can be configured using env variables.
MADRUN_PWD
MADRUN_PWD will output current directory path:
MADRUN_PWD=1 madrun lint
> putout lib test .madrun.js (/home/coderaiser/cloudcmd)MADRUN_NAME
MADRUN_NAME will output name of current directory:
MADRUN_NAME=1 madrun lint
> putout lib test .madrun.js (cloudcmd)API
madrun supports next API set:
run(name, opt, env)
Run script by a name or regexp.
name- name of a scriptopt- options to run withenv- object withenvvariablesscripts- all scripts set (need for embedding only)
series(names, opt, env, scripts)
Run scripts by a name or regexp one-by-one.
name- array of names of scripsopt- options to run withenv- object withenvvariablesscripts- all scripts set (need for embedding only)
parallel (names, opt, env, scripts)
Run scripts by a name or regexp parallel.
name- array of names of scripsopt- options to run withenv- object withenvvariablesscripts- all scripts set (need for embedding only)
cutEnv(name, opt, env)
Same as run, but returns result without env.
name- name of a scriptopt- options to run withenv- object withenvvariablesscripts- all scripts set (need for embedding only)
Example
Let's install madrun and save it as devDependency with:
npm i madrun -DLet's create file .madrun.js:
import {run, cutEnv} from 'madrun';
const env = {
CI: 1,
};
export default {
'lint': () => 'putout .',
'fix:lint': async () => await run('lint', '--fix', {
NODE_ENV: 'development',
}),
'lint:env': () => ['putout .', {
CI: 1,
}],
'env:lint': () => [env, 'putout .'],
'lint:no-env': async () => await cutEnv('lint:env'),
};Now you can call any of listed scripts with help of 🏎 Madrun:
madrun lint
> putout .For series run you can use:
madrun lint:*
> CI=1 putout . && putout .Related
- redrun - CLI tool to run multiple npm-scripts fast.
License
MIT
10 months ago
9 months ago
9 months ago
11 months ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago