ghooks
Simple git hooks
Installation
npm install ghooks --save-dev
It is not advised to install ghooks
as a production dependency, as it will install git hooks in your production environment as well. Please install it under the devDependencies
section of your package.json
.
Please also note, that it is absolutely not advised to install ghooks
globally. To work as expected, make it a development dependency of your project(s).
Setup
Add a config.ghooks
entry in your package.json
and simply specify which git hooks you want and their corresponding commands, like the following:
{
…
"config": {
"ghooks": {
"pre-commit": "gulp lint",
"commit-msg": "validate-commit-msg",
"pre-push": "make test",
"post-merge": "npm install",
"post-rewrite": "npm install",
…
}
}
…
}
opt-in/out
One of the last things you want is to raise the barrier to contributing to your open source project. So Andreas Windt developed the opt-cli package to allow you to turn your hooks into opt-in/out scripts. See this project's package.json
for an example of how to do that.
All documented hooks are available:
- applypatch-msg
- pre-applypatch
- post-applypatch
- pre-commit
- prepare-commit-msg
- commit-msg
- post-commit
- pre-rebase
- post-checkout
- post-merge
- pre-push
- pre-receive
- update
- post-receive
- post-update
- pre-auto-gc
- post-rewrite
Common Issues
Credits
This module is heavily inspired by @nlf's precommit-hook
Contributors
Huge thanks to everyone listed here!
License
This software is licensed under the MIT license