Skip to content

ramanaveli2i/husky

 
 

Repository files navigation

husky Mac/Linux Build Status Windows Build status

Git hooks made easy

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

You're viewing the documentation for the next version of husky, click here if you prefer to use the stable release

Install

npm install husky@next --save-dev
// package.json
{
  "husky": {
    "hooks": {
      "pre-commit": "npm test",
      "pre-push": "npm test",
      "...": "..."
    }
  }
}
git commit -m 'Keep calm and commit'

By default, husky expects your project's package.json and your .git directory to be at the same level. It can be configured to support monorepos or sub-directories.

Check documentation for more.

Uninstall

npm uninstall husky

Upgrading from 0.14

If you're upgrading from 0.14, simply move your hooks to husky.hooks:

{
  "scripts": {
-   "precommit": "npm test"
  },
+ "husky": {
+   "hooks": {
+     "pre-commit": "npm test"
+   }
+ }
}

Or run the following command which will do the same automatically for you ;)

./node_modules/.bin/husky-upgrade

Alternatively, you can also use any of the files/formats that are supported by cosmiconfig. This means that you can place your husky hooks config in a .huskyrc file or export them from a husky.config.js file as well. Cosmiconfig supports js, json, and yaml file formats.

Features

  • Keeps existing user hooks
  • Supports GUI Git clients
  • Supports all Git hooks (pre-commit, pre-push, ...)
  • Auto-migrates Git hooks installed by ghooks

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
  • react-fake-props - Fake props for your React tests

License

MIT - Typicode 🌵 - Patreon

About

🐶 Git hooks made easy

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 88.3%
  • Shell 11.7%