Husky

1,780 阅读1分钟

一、git钩子

可以在git的整个生命周期,勾入事件,就比如检验代码,检验提交信息,husky和yorkie就是使我们使用git钩子更简单

在配置git钩子校验前,项目里需要有已经配置好的eslint或者prettier文件

二、Husky

1. 安装

npm install husky lint-staged --save-dev

2. 启用钩子,在根目录下新增.husky文件夹

npx husky install

3. 另一个启用方法

npm set-script prepare "husky install"

此脚本命令需要npm7.x以上,如果不是,老老实实手动编辑package.json,等同如下的效果

"scripts": {
  "prepare": "husky install"
},

再执行下面的命令启用

npm run prepare

4. 增加钩子

npx husky add .husky/pre-commit "npx --no-install lint-staged"

5. 增加配置文件【.lintstagedrc.json】

{
  "*.{js,jsx,ts,tsx}": ["eslint --fix"]
  // 如果用的prettier
  "*.*":["prettier --write ."]
}

后面在commit的时候,就可以对暂存区的代码进行校验并lint了

三、commitlint

1. 安装

npm install --save-dev @commitlint/config-conventional @commitlint/cli

2. 新建文件【commitlint.config.js】

module.exports = {
  extends: ["@commitlint/config-conventional"],
};·

3. 在husky配置

# 新增钩子
npx husky add .husky/commit-msg "npx --no-install commitlint --edit $1"

五、参考文章

juejin.cn/post/698661…

我重新配置了一遍yorkie,不生效了,husky的配置还在生效