Utilities for nps (npm-package-scripts)
nps is a great package to empower your scripts and there are some common
things you wind up doing to keep your package-scripts.js
file clean, useful,
and maintainable. So you wind up duplicating utility functions across projects.
This has several utility functions you'll often want when using nps
.
Check out what the concurrent
and runInNewWindow
methods can do:
![concurrent gif concurrent gif](https://github.com/kentcdodds/nps-utils/raw/master/other/nps-utils-demo.gif)
This module is distributed via npm which is bundled with node and
should be installed as one of your project's devDependencies
:
npm install --save-dev nps-utils
You'll most likely use this in your package-scripts.js
file:
const npsUtils = require('nps-utils')
module.exports = {
scripts: {
validate: npsUtils.concurrent.nps('lint', 'build', 'test --coverage'),
lint: 'eslint .',
build: 'webpack --env.production',
test: 'jest'
}
}
API docs can be found here
- concurrent
- series
- runInNewWindow
- rimraf
- ifWindows
- ifNotWindows
- copy
- ncp
- mkdirp
- open
- crossEnv
- includePackage
nps
also exports common-tags
as commonTags
which can be
really helpful for long scripts or descriptions.
Or, see the JSDoc right in the source code 😎
This package was inspired by the removal of --parallel
from p-s
here.
I am unaware of other solutions, but if you come across any, please add a PR to list them here!
Thanks goes to these people (emoji key):
Kent C. Dodds 💻 📖 🚇 |
Huy Nguyen 📖 🚇 |
Keith Gunn 🐛 💻 📖 |
Mike Cann 💻 |
---|
This project follows the all-contributors specification. Contributions of any kind welcome!
MIT