Simple git hooks
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
.
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",
…
}
}
…
}
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
- Usage with git GUI clients – Thanks to @JamieMason
This module is heavily inspired by @nlf's precommit-hook
Huge thanks to everyone listed here!
This software is licensed under the MIT license