基于@digitalroute/cz-conventional-changelog-for-jira 开源项目开发, 适配 cmss jira issue 模板
- 安装 commit 规范校验插件
npm install @commitlint/cli @commitlint/config-conventional -D
- 安装 commitizen 插件
npm install commitizen cz-conventional-changelog-for-cmss -D
- 安装 husky
npm install husky -D
- package.json 添加脚本
{
"scripts": {
"cz": "git-cz"
},
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog-for-cmss"
}
}
}
- 执行 husky 初始化
npx husky install
npx husky add .husky/commit-msg
cd .husky/commit-msg
在.husky/commit-msg 写入
npx --no-install commitlint --edit "$1"
source "$(dirname "$1")/hooks/commit-msg"
- 自定义属性基本参照@digitalroute/cz-conventional-changelog-for-jira
特殊改动: scope 部分不再是 list 下拉表,skipScope 默认 true, 默认值为当前分支。 false 情况下, 为 input 输入 scope body 部分有固定格式, 现在 body 输入只用于描述 去除 breaking,issue
Code Source From: Self Code
Description:
Jira: #JIRA
市场项目编号(名称):
- 创建commitlint.config.js 添加commit-lint规范
module.exports = {
ignores: [(commit) => commit.includes('init')],
extends: ['@commitlint/config-conventional'],
rules: {
'body-leading-blank': [0],
'footer-leading-blank': [0],
'header-max-length': [2, 'always', 180],
'subject-empty': [2, 'never'],
'type-empty': [2, 'never'],
'subject-case': [0],
'type-enum': [
2,
'always',
[
'feat',
'fix',
'style',
'docs',
'refactor',
'revert',
'release'
]
]
}
}