husky
Git hooks made easy
Husky can prevent bad git commit
, git push
and more 🐶 woof!
Visit thanks.typicode.com to view all the people supporting husky.
Install
npm install husky --save-dev
// package.json "husky": "hooks": "pre-commit": "npm test" "pre-push": "npm test" "...": "..."
git commit -m 'Keep calm and commit'
To go further, see the docs here.
Note: there's a known issue with Node v12.0
, please use v12.1
or higher.
Uninstall
npm uninstall husky
Upgrading from 0.14
Simply move your existing hooks to husky.hooks
field and use raw Git hooks names. Also, if you're using the GIT_PARAMS
env variable, rename it to HUSKY_GIT_PARAMS
.
{ "scripts": {- "precommit": "npm test",- "commitmsg": "commitlint -E GIT_PARAMS" },+ "husky": {+ "hooks": {+ "pre-commit": "npm test",+ "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"+ }+ }}
Alternatively, you can run the following command which will do the same automatically for you ;)
./node_modules/.bin/husky-upgrade
Starting with 1.0.0
, you can also configure hooks using .huskyrc
, .huskyrc.json
or .huskyrc.js
file.
// .huskyrc "hooks": "pre-commit": "npm test"
To view the full list of changes, please see the CHANGELOG.
Features
- Keeps existing user hooks
- Supports GUI Git clients
- Supports all Git hooks (
pre-commit
,pre-push
, ...)
Used by
- webpack
- babel
- create-react-app
- Next.js
- Hyper
- Kibana
- JSON Server
- Hotel
- ... and many other awesome projects
See also
- pkg-ok - Prevents publishing a module with bad paths or incorrect line endings
- please-upgrade-node - Show a message to upgrade Node instead of a stacktrace in your CLIs
- pinst - dev only postinstall hook
Financial Contributors
Become a financial contributor and help us sustain our community. [Contribute]
Individuals
Organizations
Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]
Patreon
People and companies supporting via Patreon: thanks
License
MIT