Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🏎 CLI tool to run multiple npm-scripts in a madly comfortable way

License

NotificationsYou must be signed in to change notification settings

coderaiser/madrun

image

CLI tool to run multiple npm-scripts in a madly comfortable way. Can be used together withredrun.

Install

npm i madrun -g

Usage

First thing you should do is:

  • ✅ create.madrun.js file with all scripts written inJavaScript;
  • ✅ updatepackage.json scripts to usemadrun;

This can be done using:

madrun --init

When you create new script, you can run it with:madrun lint test.Runmadrun --init again, to updatepackage.json, so you can use:

npm run lintnpmtest

Then you can runmadrun 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 tonpm's completion using:

madrun-completion>>~/.bashrcmadrun-completion>>~/.zshrc

You 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 usingenv variables.

MADRUN_PWD

MADRUN_PWD will output current directory path:

MADRUN_PWD=1 madrun lint> putout libtest .madrun.js (/home/coderaiser/cloudcmd)

MADRUN_NAME

MADRUN_NAME will output name of current directory:

MADRUN_NAME=1 madrun lint> putout libtest .madrun.js (cloudcmd)

API

madrun supports nextAPI set:

run(name, [opt, env])

Run script by a name or regexp.

  • name - name of a script
  • opt - options to run with
  • env - object withenv variables
  • scripts - 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 scrips
  • opt - options to run with
  • env - object withenv variables
  • scripts - 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 scrips
  • opt - options to run with
  • env - object withenv variables
  • scripts - all scripts set (need for embedding only)

cutEnv(name, [opt, env])

Same asrun, but returns result withoutenv.

  • name - name of a script
  • opt - options to run with
  • env - object withenv variables
  • scripts - all scripts set (need for embedding only)

Example

Let's installmadrun and save it asdevDependency with:

npm i madrun -D

Let's create file.madrun.js:

import{run,cutEnv}from'madrun';constenv={CI:1,};exportdefault{'lint':()=>'putout .','fix:lint':async()=>awaitrun('lint','--fix',{NODE_ENV:'development',}),'lint:env':()=>['putout .',{CI:1,}],'env:lint':()=>[env,'putout .'],'lint:no-env':async()=>awaitcutEnv('lint:env'),};

Now you can call any of listed scripts with help of 🏎Madrun:

madrun lint> putout.

Forseries run you can use:

madrun lint:*> CI=1 putout.&& putout.

Related

  • redrun - CLI tool to run multiple npm-scripts fast.

License

MIT

About

🏎 CLI tool to run multiple npm-scripts in a madly comfortable way

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors2

  •  
  •  

[8]ページ先頭

©2009-2026 Movatter.jp