Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.

Awesome npm Scripts Awesome

Everything awesome for using npm as a build tool.

You might also like awesome-npm.

Notice: I'm currently too busy to actively expand this list; therefore, I've decided to make this an OPEN Open Source Project. Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit.




Task Runners

Tools for running multiple commands or npm scripts in parallel or sequentially.

  • script-runner - Simple task runner with a terse syntax.
  • npm-run-all - Fully featured task runner.
  • redrun - Expand scripts from package.json to improve execution speed.

File Watchers

Tools to watch your source files and run a build command whenever any of the files change.

  • onchange - onchange <glob> -- <command>.
  • watch - watch <command> <directory>.

Dev Servers

  • http-server - Simple zero-configuration command-line http server.
  • live-server - Simple development http server with live reload capability.

Cross-platform Utilities

Utilities to perform common command-line tasks without worrying about cross-platform compatibility.

  • rimraf - Delete files or directories; like rm -rf.
  • del-cli - Safer file and folder deletion.
  • mkdirp - Create a directory, creating parent directories if needed; like mkdir -p.
  • cpr - cp -r for Node.js.
  • cpy-cli - File/directory copying/renaming.
  • copyfiles - Copy a list of files into a directory.
  • sync-files - rsync-like directory syncing with watch mode.
  • echo-cli - Cross-platform echo with JS escape sequence support.
  • clear-cli - Clear the terminal.
  • cross-env - Set environment variables for scripts, unix-style.
  • cross-os - Run platform-specific npm scripts.
  • ntee - Utility that reads from standard input and writes to standard output and files; like Unix tee.
  • catw - Print a file to stdout, with optional watch mode; sorta like Unix cat.

Utility Packs

  • shx - Collection of common Unix utilities implemented in Node.js; example usage: shx rm somefile.

Other Utilities

  • hashmark - Take contents of a file and output as new file with a hash in the name.
  • gzip-size-cli - Get the gzipped size of a file or stdin.
  • opn-cli - Open websites, files, executables, etc. with the user's preferred application.
  • headr - Add header / banner info to a file.
  • Bower files CLI - Get main bower files on the command line.
  • cli-error-notifier - Send native desktop notifications when npm scripts fail.


  • screwy - The npm scripts GUI.
  • Forrest - npm scripts desktop client.
  • run-npm - Run locally-installed node module executables. Useful for debugging npm scripts.
  • npm-quick-run - Quickly run npm scripts by prefix without typing the full name.
  • edit-script - Edit npm scripts from the command line without worrying about JSON escaping.
  • ntl - Interactive cli menu to list and run npm scripts.

Cross-platform Shell Reference

A quick reference of the shell operators & commands that work the same on Unix and Windows.

  • Use && to run commands in sequence. If a command fails, the script exits.
  • Use | to pipe the stdout of one command into the stdin of the next. (do-something | something else)
  • Use > to write the stdout of a command to a file. (do-something > file)
  • Use < to send the contents of a file to a command's stdin. (command < file)
  • Use cd <dir> to change the current working directory to <dir>. Note that cd alone prints the current working directory on windows, but changes the working directory to ~ on *nix.

npm run Reference

You can use npm run-script or npm run; they both do the same thing, but npm run is shorter.

  • Run just npm run to print a list of scripts.
  • Running npm run script (where script is the name of your script) will run prescript, script, and postscript; in that order.
    • You can't nest pre and post hooks (i.e. preprescript won't work).
  • You can pass arguments to your scripts by passing -- to npm run, followed by the arguments. Example: Given the script "mocha": "mocha", you can run npm run mocha -- --reporter xunit. This effectively runs mocha --reporter xunit.
  • Running npm test is the same as running npm run test. The same applies to npm start and npm stop.
  • You can run npm run <script> -s to silence the default npm output (useful for calling a script within another script).




Everything awesome related to npm scripts and using npm as a build tool.








No releases published


No packages published