文章目录
一、配置commitlint
1.安装依赖
npm install --D @commitlint/cli @commitlint/config-conventional
2.创建 commitlint.config.js 文件
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
// type 类型定义,表示 git 提交的 type 必须在以下类型范围内
'type-enum': [
2,
'always',
[
'feat', // 新功能
'fix', // 修复
'docs', // 文档变更
'style', // 代码格式(不影响代码运行的变动)
'refactor', // 重构(既不是增加feature),也不是修复bug
'pref', // 性能优化
'test', // 增加测试
'chore', // 构建过程或辅助工具的变动
'revert', // 回退
'build' // 打包
]
],
// subject 大小写不做校验
'subject-case': [0]
}
}
二、配置husky
1.安装依赖
npm install --D husky
2.在 package.json
中添加命令
{
"scripts": {
"prepare": "husky install"
}
}
第一次需要手动触发
npm run prepare
3.在commit-msg
中校验commitlint
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'
4. 在pre-commit
中检验 ESLint
npx husky add .husky/pre-commit "npx eslint --ext .js,.ts,.vue src"
5.在commit-msg
中配置elint
自动修复
- 安装
lint-staged
npm install --D lint-staged
- 配置
package.json
"lint-staged": {
"src/**/*.{js,ts,vue}": [
"eslint --fix",
"git add ."
]
}
- 配置
.husky/pre-commit
文件
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx lint-staged