Git / Mercurial hooks made easy.
husky-hgis a fork of
husky. The only difference is, that Mercurial is supported as an alternative to git.
Husky can prevent bad commit, push and more 🐶 woof!
npm install husky-hg --save-dev
yarn add husky-hg --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/Mercurial hook.
If you're migrating from
ghooks, simply run
npm uninstall ghooks --save-dev && npm install husky --save-dev and edit
package.json. Husky will automatically migrate
npm uninstall husky-hg
yarn remove husky-hg
Debug hooks easily
If you need to debug hooks, simply use
npm run <script-name>. For example:
npm run precommit
Git GUI clients support
Working with multiple version of Node
nvm is installed, husky will try to use the
current installed Node version or use the project
Tip to use the system-installed version of node,
nvm provides a
Accessing Git params
Git params can be found in
GIT_PARAMS environment variable.
Setting a different log level
By default, husky will run scripts using
--silent to make the output more readable. If you want to override this, simply pass a different log level to your scripts:
"precommit": "npm run some-script -q"
-q/--quiet is equivalent to
--loglevel warn which is npm default log level.
Git submodule and subtree support
Mercurial subrepo support
- pkg-ok - Prevents publishing modules with bad paths
- please-upgrade-node - Show a message to upgrade Node instead of a stacktrace in your CLIs
- react-fake-props - Fake props for your React tests