Git hooks made easy
Husky can prevent bad commit, push and more 🐶 woof!
npm install husky --save-dev
// Edit package.json
{
"scripts": {
"precommit": "npm test",
"prepush": "npm test",
"...": "..."
}
}
git commit -m "Keep calm and commit"
Existing hooks aren't replaced and you can use any Git hook.
- jQuery
- Next.js
- Hyper
- Paper.js
- Kibana
- JSON Server
- Hotel
- ... and more than 2000+ other awesome projects.
npm uninstall husky --save-dev
If you need to debug hooks, simply use npm run <script-name>
. For example:
npm run precommit
If you've installed Node using the standard installer, nvm or homebrew, git hooks will be executed even in GUI applications.
In the case of nvm
, husky will try to use the default
installed version or use the project .nvmrc
.
Git params can be found in GIT_PARAMS
environment variable.
Yes
Yes
For Yarn, you currently need to pass --force
to be sure that hooks are going to be installed (yarn add husky --dev --force
). You can also manually install hooks using node node_modules/husky/bin/install
.
MIT - Typicode 🌵