Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/RyanZim/awesome-npm-scripts
Everything awesome related to npm scripts and using npm as a build tool.
https://github.com/RyanZim/awesome-npm-scripts
List: awesome-npm-scripts
awesome awesome-list list npm task-runner
Last synced: 4 months ago
JSON representation
Everything awesome related to npm scripts and using npm as a build tool.
- Host: GitHub
- URL: https://github.com/RyanZim/awesome-npm-scripts
- Owner: RyanZim
- License: cc0-1.0
- Created: 2016-09-07T20:01:12.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-10-08T22:31:37.000Z (about 2 years ago)
- Last Synced: 2024-05-20T03:45:52.975Z (7 months ago)
- Topics: awesome, awesome-list, list, npm, task-runner
- Size: 145 KB
- Stars: 721
- Watchers: 31
- Forks: 43
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome - npm scripts - Task runner. (Programming Languages)
- awesome-projects - npm scripts - Task runner. (Programming Languages)
- more-awesome - npm scripts - Task runner. (Programming Languages)
- lists - awesome-npm-scripts
- collection - awesome-npm-scripts
- collection - awesome-npm-scripts
- awesome-possum - npm scripts - Task runner. (Programming Languages)
- Awesome-Web3 - npm scripts - Task runner. (Programming Languages)
- fucking-awesome - npm scripts - Task runner. (Programming Languages)
- awesome - npm scripts - Task runner. (Programming Languages)
- awesome-starred-test - RyanZim/awesome-npm-scripts - Everything awesome related to npm scripts and using npm as a build tool. (Others)
- awesomelist - awesome-npm-scripts
- awesome - npm scripts - Task runner. (Programming Languages)
- awesome-lists - `awesome-npm-scripts`
- awesome - npm scripts - Task runner. (Programming Languages)
- awesome - npm scripts - Task runner. (Programming Languages)
- awesomesource - npm scripts by RyanZim
- fucking-lists - awesome-npm-scripts
- awesome-list - npm scripts - Task runner. (Programming Languages)
- awesome - npm scripts - Task runner. (Programming Languages)
- awesome-awesome - npm scripts - Task runner. (Programming Languages)
- jimsghstars - RyanZim/awesome-npm-scripts - Everything awesome related to npm scripts and using npm as a build tool. (Others)
- awesome - npm scripts - Task runner. (Npm)
- ultimate-awesome - awesome-npm-scripts - Everything awesome related to npm scripts and using npm as a build tool. (Other Lists / PowerShell Lists)
- awesome-cn - npm scripts - 构建工具。 (编程语言)
- awesome - npm scripts - Task runner. (Programming Languages)
- awesome-cn - npm脚本
- awesome-starred - RyanZim/awesome-npm-scripts - Everything awesome related to npm scripts and using npm as a build tool. (npm)
README
# Awesome npm Scripts [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)
[](https://www.npmjs.com)
> Everything awesome for using npm as a build tool.
You might also like [awesome-npm](https://github.com/sindresorhus/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](http://openopensource.github.io/). Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit.**
## Contents
- [Articles](#articles)
- [Videos/Talks](#videostalks)
- [Task Runners](#task-runners)
- [File Watchers](#file-watchers)
- [Dev Servers](#dev-servers)
- [Cross-platform Utilities](#cross-platform-utilities)
- [Utility Packs](#utility-packs)
- [Other Utilities](#other-utilities)
- [Miscellaneous](#miscellaneous)
- [Cross-platform Shell Reference](#cross-platform-shell-reference)
- [`npm run` Reference](#npm-run-reference)## Articles
- [Why we should stop using Grunt & Gulp](https://www.keithcirkel.co.uk/why-we-should-stop-using-grunt/) - Blog post by Keith Cirkel.
- [How to Use npm as a Build Tool](https://www.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/) - Sequel to »Why we should stop using Grunt & Gulp«.
- [Why I Left Gulp and Grunt for npm Scripts](https://medium.freecodecamp.com/why-i-left-gulp-and-grunt-for-npm-scripts-3d6853dd22b8) - Article by Cory House.
- [Helpers and tips for npm run scripts](http://michael-kuehnel.de/tooling/2018/03/22/helpers-and-tips-for-npm-run-scripts.html) - Blog post by Michael Kühnel covering advanced topics.
- [Running cross-platform tasks via npm package scripts](https://exploringjs.com/nodejs-shell-scripting/ch_package-scripts.html) - The most comprehensive guide to using npm Scripts by Dr. Axel Rauschmayer.## Videos/Talks
- [Advanced front-end automation with npm scripts](https://www.youtube.com/watch?v=0RYETb9YVrk) - Talk at Nordic.js 2015 by Kate Hudson.
- [How to create a build system with npm scripts](http://www.penta-code.com/how-to-create-a-build-system-with-npm-scripts/) - Video tutorial series on setting up a front-end build system.## Task Runners
Tools for running multiple commands or npm scripts in parallel or sequentially.
- [script-runner](https://github.com/paulpflug/script-runner) - Simple task runner with a terse syntax.
- [npm-run-all](https://github.com/mysticatea/npm-run-all) - Fully featured task runner.
- [redrun](https://github.com/coderaiser/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](https://github.com/Qard/onchange) - `onchange -- `.
- [watch](https://github.com/mikeal/watch) - `watch `.## Dev Servers
- [http-server](https://github.com/indexzero/http-server) - Simple zero-configuration command-line http server.
- [live-server](https://github.com/tapio/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](https://github.com/isaacs/rimraf) - Delete files or directories; like `rm -rf`.
- [del-cli](https://github.com/sindresorhus/del-cli) - Safer file and folder deletion.
- [mkdirp](https://github.com/substack/node-mkdirp) - Create a directory, creating parent directories if needed; like `mkdir -p`.
- [cpr](https://github.com/davglass/cpr) - `cp -r` for Node.js.
- [cpy-cli](https://github.com/sindresorhus/cpy-cli) - File/directory copying/renaming.
- [copyfiles](https://github.com/calvinmetcalf/copyfiles) - Copy a list of files into a directory.
- [sync-files](https://github.com/byteclubfr/node-sync-files) - `rsync`-like directory syncing with watch mode.
- [echo-cli](https://github.com/iamakulov/echo-cli) - Cross-platform `echo` with JS escape sequence support.
- [clear-cli](https://github.com/sindresorhus/clear-cli) - Clear the terminal.
- [cross-env](https://github.com/kentcdodds/cross-env) - Set environment variables for scripts, unix-style.
- [cross-os](https://github.com/milewski/cross-os) - Run platform-specific npm scripts.
- [ntee](https://github.com/stefanmaric/ntee) - Utility that reads from standard input and writes to standard output and files; like Unix `tee`.
- [catw](https://github.com/substack/catw) - Print a file to stdout, with optional watch mode; sorta like Unix `cat`.### Utility Packs
- [shx](https://github.com/shelljs/shx) - Collection of common Unix utilities implemented in Node.js; example usage: `shx rm somefile`.
## Other Utilities
- [hashmark](https://github.com/keithamus/hashmark) - Take contents of a file and output as new file with a hash in the name.
- [gzip-size-cli](https://github.com/sindresorhus/gzip-size-cli) - Get the gzipped size of a file or stdin.
- [opn-cli](https://github.com/sindresorhus/opn-cli) - Open websites, files, executables, etc. with the user's preferred application.
- [headr](https://github.com/heldr/headr) - Add header / banner info to a file.
- [Bower files CLI](https://github.com/thompsonemerson/bower-files-cli) - Get main bower files on the command line.
- [cli-error-notifier](https://github.com/micromata/cli-error-notifier) - Send native desktop notifications when npm scripts fail.## Miscellaneous
- [screwy](https://github.com/samueleaton/screwy) - The npm scripts GUI.
- [Forrest](https://github.com/stefanjudis/forrest) - npm scripts desktop client.
- [run-npm](https://github.com/timoxley/npm-run) - Run locally-installed node module executables. Useful for debugging npm scripts.
- [npm-quick-run](https://github.com/bahmutov/npm-quick-run) - Quickly run npm scripts by prefix without typing the full name.
- [edit-script](https://github.com/RyanZim/edit-script) - Edit npm scripts from the command line without worrying about JSON escaping.
- [ntl](https://github.com/ruyadorno/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 ` to change the current working directory to ``. 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 -s` to silence the default npm output (useful for calling a script within another script).## Contributing
See [CONTRIBUTING.md](https://github.com/RyanZim/awesome-npm-scripts/blob/master/CONTRIBUTING.md).