Prevents bad commit or push (git hooks, pre-commit/precommit, pre-push/prepush, post-merge/postmerge and all that stuff...)
npm install mari-huskygit commit, git push and more 🐶 _woof!_
sh
npm install husky --save-dev
`
`js
// package.json
{
"husky": {
"hooks": {
"pre-commit": "npm test",
"pre-push": "npm test",
"...": "..."
}
}
}
`
`sh
git commit -m 'Keep calm and commit'
`
To go further, see the docs here.
Uninstall
`sh
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.
`diff
{
"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.
`js
// .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`, ...)