What is npm-run-all?
The npm-run-all package is a CLI tool to run multiple npm-scripts in parallel or sequential order. It is useful for orchestrating complex build processes and can be used to simplify scripts in the 'package.json' file of a Node.js project.
What are npm-run-all's main functionalities?
Run tasks sequentially
This command will run the 'clean' task first, then 'build:css', and finally 'build:js' in sequential order.
npm-run-all clean build:css build:js
Run tasks in parallel
This command will run all tasks that match the pattern 'watch:*' simultaneously.
npm-run-all --parallel watch:*
Run a mix of sequential and parallel tasks
This command will run the 'clean' task first, then all 'build:*' tasks in parallel, and finally all 'test:*' tasks in sequential order.
npm-run-all clean --parallel build:* --sequential test:*
Use with npm lifecycle events
This example shows how to use npm-run-all within the 'scripts' section of 'package.json' to run the 'serve' and 'watch' tasks in parallel when the 'start' script is invoked.
"scripts": { "start": "npm-run-all --parallel serve watch" }
Other packages similar to npm-run-all
concurrently
Concurrently is similar to npm-run-all in that it can run multiple commands concurrently. It's a more general-purpose tool that can run arbitrary commands, not just npm scripts, and provides more options for output formatting.
parallelshell
Parallelshell is another alternative that can run multiple npm scripts in parallel. It is less feature-rich compared to npm-run-all and has been deprecated in favor of npm-run-all due to various issues.
run-p
run-p is a part of the npm-run-all package and can be used independently. It specifically focuses on running multiple npm scripts in parallel, similar to the '--parallel' option in npm-run-all.
run-s
run-s is also a part of the npm-run-all package and can be used on its own. It is designed to run multiple npm scripts sequentially, similar to the default behavior of npm-run-all without the '--parallel' flag.
npm-run-all
A CLI tool to run multiple npm-scripts in parallel or sequential.
$ npm-run-all clean lint build:*
$ npm-run-all --parallel watch:*
Installation
$ npm install npm-run-all --save-dev
$ yarn add npm-run-all --dev
- It requires
Node@>=4
. - The
npm-run-all
package introduces 3 CLI commands: npm-run-all
, run-s
, and run-p
.
CLI Commands
This npm-run-all
package provides 3 CLI commands.
The main command is npm-run-all.
We can make complex plans with npm-run-all command.
Both run-s and run-p are shorthand commands.
run-s is for sequential, run-p is for parallel.
We can make simple plans with those commands.
Node API
This npm-run-all
package provides Node API.
Changelog
Contributing
Thank you for contributing!
Bug Reports or Feature Requests
Please use GitHub Issues.
Correct Documents
Please use GitHub Pull Requests.
I'm not familiar with English, so I especially thank you for documents' corrections.
Feature Implementing
Please use GitHub Pull Requests.
There are some npm-scripts to help developments.
Those work on Windows, Mac, or Linux (by the way, I'm developping npm-run-all
on Windows).
- npm test - Run tests and collect coverage.
- npm run build - Make
lib
directory from src
directory. - npm run clean - Delete directories (folders) which are created by other commands.
- npm run lint - Run ESLint.
- npm run watch - Run tests (not collect coverage) when each file was modified.