commitlint的配置和使用
1.commitlint的安装和初始化 git地址
# Install commitlint cli and conventional config
npm install --save-dev @commitlint/{config-conventional,cli}
# For Windows:
npm install --save-dev @commitlint/config-conventional @commitlint/cli
创建commitlint.config.js文件,并从commitlint中倒入校验规则
# Configure commitlint to use conventional config
echo "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.js
2. 配置husky
安装husky
# Install Husky v6
npm install husky --save-dev
# or
yarn add husky --dev
# Activate hooks
npx husky install
# or
yarn husky install
配置husky钩子
npx husky add .husky/commit-msg 'npx --no -- commitlint --edit ${1}'
可能会出现配置不成功的情况
先用npx husky add .husky/commit-msg创建出钩子文件夹,然后将commit-msg文件中的undefined 改为 npx --no -- commitlint --edit ${1}
3. 常见配置
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'body-leading-blank': [2, 'always'],
'footer-leading-blank': [1, 'always'],
'header-max-length': [2, 'always', 108],
'subject-empty': [2, 'never'],
'type-empty': [2, 'never'],
'type-enum': [
2, // type必须输入
'always',
[
'feat', // 新功能
'fix', // 修复bug
'style', // 修改格式,删除代码空格、缩进等
'docs', // 文档、注释修改
'refactor', // 代码重构,没有功能修改
'merge', // 代码合并
'revert', // 版本回滚
'chore', // 构建过程或辅助工具的变动
'test',
'perf',
'build',
'ci',
'revert',
'wip',
'workflow',
'types',
'release'
]
]
}
}
4. 提交示例
git commit -m "feat: 集成Viet-eslint-plugin"