113 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			113 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | # husky
 | ||
|  | 
 | ||
|  | > Git hooks made easy
 | ||
|  | 
 | ||
|  | [](https://www.npmjs.org/package/husky) [](https://travis-ci.org/typicode/husky) [](https://ci.appveyor.com/project/typicode/husky) | ||
|  | 
 | ||
|  | 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)__](https://www.opencollective.com/husky) | ||
|  | 
 | ||
|  | Visit [thanks.typicode.com](https://thanks.typicode.com) 🌵 to view all the people supporting husky. | ||
|  | 
 | ||
|  | ## Install
 | ||
|  | 
 | ||
|  | ```sh | ||
|  | npm install husky --save-dev | ||
|  | ``` | ||
|  | 
 | ||
|  | ```js | ||
|  | // package.json | ||
|  | { | ||
|  |   "husky": { | ||
|  |     "hooks": { | ||
|  |       "pre-commit": "npm test", | ||
|  |       "pre-push": "npm test", | ||
|  |       "...": "..." | ||
|  |     } | ||
|  |   } | ||
|  | } | ||
|  | ``` | ||
|  | 
 | ||
|  | ```sh | ||
|  | git commit -m 'Keep calm and commit' | ||
|  | ``` | ||
|  | 
 | ||
|  | To go further, see the docs [here](https://github.com/typicode/husky/blob/master/DOCS.md). | ||
|  | 
 | ||
|  | __Note__: there's a known issue with Node `v12.0`, please use `v12.1` or higher.  | ||
|  | 
 | ||
|  | ## Uninstall
 | ||
|  | 
 | ||
|  | ```sh | ||
|  | 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`. | ||
|  | 
 | ||
|  | ```diff | ||
|  | { | ||
|  |   "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. | ||
|  | 
 | ||
|  | ```js | ||
|  | // .huskyrc | ||
|  | { | ||
|  |   "hooks": { | ||
|  |     "pre-commit": "npm test" | ||
|  |   } | ||
|  | } | ||
|  | ``` | ||
|  | 
 | ||
|  | To view the full list of changes, please see the [CHANGELOG](https://github.com/typicode/husky/blob/master/CHANGELOG.md). | ||
|  | 
 | ||
|  | ## Features
 | ||
|  | 
 | ||
|  | * Keeps existing user hooks | ||
|  | * Supports GUI Git clients | ||
|  | * Supports all Git hooks (`pre-commit`, `pre-push`, ...) | ||
|  | 
 | ||
|  | ## Used by
 | ||
|  | 
 | ||
|  | * [jQuery](https://github.com/jquery/jquery) | ||
|  | * [babel](https://github.com/babel/babel) | ||
|  | * [create-react-app](https://github.com/facebookincubator/create-react-app) | ||
|  | * [Next.js](https://github.com/zeit/next.js) | ||
|  | * [Hyper](https://github.com/zeit/hyper) | ||
|  | * [Kibana](https://github.com/elastic/kibana) | ||
|  | * [JSON Server](https://github.com/typicode/json-server) | ||
|  | * [Hotel](https://github.com/typicode/hotel) | ||
|  | * ... and many other awesome projects | ||
|  | 
 | ||
|  | ## See also
 | ||
|  | 
 | ||
|  | * [pkg-ok](https://github.com/typicode/pkg-ok) - Prevents publishing a module with bad paths or incorrect line endings | ||
|  | * [please-upgrade-node](https://github.com/typicode/please-upgrade-node) - Show a message to upgrade Node instead of a stacktrace in your CLIs | ||
|  | * [pinst](https://github.com/typicode/pinst) - dev only postinstall hook | ||
|  | 
 | ||
|  | ## License
 | ||
|  | 
 | ||
|  | MIT |