Husky可以在git执行特定事件时触发运行特定脚本,husky支持git所有的钩子。本篇文章主要是介绍如何使用husky来配合我们检测eslint代码规范。husky在4.x之前之后的用法有部分差异,需要根据版本的差异进行配置。
4.x
安装
$ npm install husky -D $ yarn add lint-staged -D $ yarn add eslint -D
package.json中配置使用:
"scripts": { "lint-staged": "lint-staged", "lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx ", }, "husky": { "hooks": { "pre-commit": "npm run lint-staged" } }, "lint-staged": { "**/*.{js,jsx,ts,tsx}": "npm run lint-staged:js", }
4.x以上
安装
$ npm install husky -D $ yarn add lint-staged -D $ yarn add eslint -D $ npx husky install # 启用 Git 挂钩
要在安装后自动启用 Git 挂钩,在package.json添加安装钩子脚本
{ "scripts": { "prepare": "husky install" } }
创建钩子
$ npx husky add .husky/pre-commit "npm run lint-staged:js" $ git add .husky/pre-commit
之后就可以提交测试一下是否成功了。
成功运行