npm-run-all-next
A modern, drop-in task runner for npm, pnpm, and yarn.
It lets you run multiple npm scripts in series or in parallel, with smart features for real-world CI/CD and monorepos:
- robust retries for flaky tasks
- intelligent parallelization / load balancing
- human-friendly summary tables
- cross-platform behavior (Windows / macOS / Linux)
- usable both as CLI (run-s, run-p, npm-run-all-next) and as a Node API
Why NEXT? 🚀
npm-run-all-next is a modern evolution of npm-run-all, built for today’s workflows:
- 🔁 --retries
Automatically retry flaky tasks without rewriting scripts.
N.B. Retry semantics are intentionally different by execution mode: - In parallel mode, --retries retries only the failed children, because parallel tasks are managed as isolated executions. - In sequential mode, --retries retries the whole sequential block from the beginning.
- ⚖️ --balancer
Parallel tasks are scheduled using historical runtime data, so long-running tasks are started earlier and total build time goes down.
- 📊 --print-summary-table
Get a final report with exit code, retries, and duration for each task.
- 📂 --tasks-file
Load task lists from an external file (JSON/JS), so your package.json doesn’t become unreadable.
- 🧵 Familiar commands
npm-run-all-next is the primary command, while npm-run-all remains available as a compatibility alias alongside run-s and run-p.
- 🧪 First-class Node API