setup-python/node_modules/husky
Danny McCormick 39c08a0eaa Initial pass 2019-06-26 21:12:00 -04:00
..
.github Initial pass 2019-06-26 21:12:00 -04:00
lib Initial pass 2019-06-26 21:12:00 -04:00
.eslintrc.js Initial pass 2019-06-26 21:12:00 -04:00
.prettierrc Initial pass 2019-06-26 21:12:00 -04:00
CHANGELOG.md Initial pass 2019-06-26 21:12:00 -04:00
DOCS.md Initial pass 2019-06-26 21:12:00 -04:00
LICENSE Initial pass 2019-06-26 21:12:00 -04:00
README.md Initial pass 2019-06-26 21:12:00 -04:00
husky.js Initial pass 2019-06-26 21:12:00 -04:00
package.json Initial pass 2019-06-26 21:12:00 -04:00
run.js Initial pass 2019-06-26 21:12:00 -04:00

README.md

husky

Git hooks made easy

Mac/Linux Build Status Windows Build status

Husky can prevent bad git commit, git push and more 🐶 woof!

Sponsors

Support Husky on Open Collective and have your company logo here (starts from $100/m)

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

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

License

MIT