commitlint配置commit msg,用husky执行检查
npm install --save-dev husky
npx husky init
# Add commit message linting to commit-msg hook
echo "npx --no -- commitlint --edit \$1" > .husky/commit-msg
npm install --save-dev @commitlint/config-conventional @commitlint/cli
添加commitlint.config.js
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'type-enum': [
2,
'always',
[
'feat', // 新功能(feature)
'fix', // 修复bug
'docs', // 修改文档
'style', // 修改代码格式,不影响代码逻辑
'refactor', // 代码重构,理论上不影响功能逻辑
'test', // 修改测试用例
'build', // 构建或其他工具的变动(如webpack)
'revert', // 还原以前的提交
'merge' // 分支代码合并
]
]
}
}
lint-stage检查eslint
# 安装lint-stage
npm install --save-dev lint-staged
# 在.husky/pre-commit添加npm run lint-staged命令
npx husky add .husky/pre-commit "npm run lint-staged"
# 在package.json里的scripts里添加执行lint-staged命令
"lint-staged": "lint-staged"
# 在package.json里添加lint-staged配置
"lint-staged": {
"(pages|store)/**/*.{vue,js}": [
"prettier --write",
"eslint --fix"
]
},