npm i commitizen -D
{
...
"config": {
"commitizen": {
"path": "./node_modules/wii-changelog/dist/cz"
}
},
}
{
"cz": "git add . && git cz"
}
npm i conventional-changelog-cli -D
{
...
"script": {
"changelog": "conventional-changelog --config node_modules/wii-changelog/lib/log -i CHANGELOG.md -s -r 0",
}
}
- 生成当前版本的变化情况
- 生成所有的日志文件
npm i husky commitlint -D
{
...
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
}
配置参考:
module.exports = {
rules: {
'body-leading-blank': [2, 'always'],
'footer-leading-blank': [1, 'always'],
'header-max-length': [2, 'always', 100],
'subject-empty': [2, 'never'],
'type-empty': [2, 'never'],
'type-enum': [2, 'always',
[
'新功能',
'修复',
...
]
],
'scope-enum': [2, 'always',
[
'components/Button',
'组件/按钮',
]
]
}
}
npm i standard-version -D
{
...
"script": {
"release-major": "standard-version -r major",
"release-minor": "standard-version -r minor",
"release-patch": "standard-version -r patch"
}
}
major: 通常代表一个大的版本更新(1.0.0 -> 2.0.0)
minor: 代表一个小的版本更新(1.0.0 -> 1.1.0)
patch: 代表 bug 修复(1.0.0 -> 1.0.1)
每次提交会自动更新 changelog 文件