简介
cz-conventional-changelog-lint 是一个使用 Commitizen 和 conventional-changelog 标准的规范化提交消息的 npm 包。它提供了一组预定义的提交类型(feat,fix,docs,style,refactor,test,chore等)和消息格式,帮助开发人员在项目中创建清晰、一致的提交记录。
安装
npm install --save-dev cz-conventional-changelog-lint
使用
在项目根目录下添加
.czrc
文件,文件内容如下:{ "extends": ["@commitlint/config-conventional"] }
修改
package.json
文件,添加"commit": "cz"
到"scripts"
对象中:{ "name": "my-project", "version": "1.0.0", "scripts": { "commit": "cz" } }
通过运行
npm run commit
,可以启动提交记录工具,并根据提示填写信息。示例:-- -------------------- ---- ------- - --- --- ------ - ---------------- ------ ------------------- - -- - ------ --- ---- -- ------ ---- ------ ----------- ---- ----- ----- - ----- - --- ------- ---- - --- --- ----- ------------- ---- ------- ------ ------- ---- -- --- ------ --- ------- -- --- ---- ------------- ----------- ------- ------------ ---- --------- - ---- ------ ---- ------- ----- - --- --- ---- - ------- ----- ------ ------- ----- -- ---------- -------- ----- ------ ------- -- --- ----- ------- -- --------- ----- --- --------- ---- -- ------------- ---------- - ---- -- --- ----- -- ---- ------ ----- --------- -- ---- ------ ------ ----- -- ----- - ----- - ------ ---------- ----- ----------- -- --- ------ ---- -- ------- --------- ---- - --- ------- - ------- - ------ ----------- -- --- ------- ------ ----- -- ----- ---
填写完信息后,会生成符合规范的提交记录。
深度解析
cz-conventional-changelog-lint 实际上是对两个 npm 包的整合:Commitizen 和 conventional-changelog。下面分别介绍这两个包的作用。
Commitizen
Commitizen 是一个帮助开发者遵循一致的提交消息格式的工具。它通过提供一个命令行交互式界面,引导用户输入各种信息(例如提交类型、影响范围、变更描述等),从而形成一个符合规范的提交消息。
使用 Commitizen 的好处是:
- 避免了不同开发人员使用不同的提交消息格式,导致历史记录杂乱无章。
- 提升了提交消息的可读性和可搜索性,方便其他开发人员查找历史记录。
- 可以结合自动化工具来生成 CHANGELOG 等文档。
conventional-changelog
conventional-changelog 则是一个基于约定的版本控制历史记录生成器。它根据 git 提交消息的类型、影响范围和变更描述等信息,自动生成符合规范的 CHANGELOG 文件。
使用 conventional-changelog 的好处是:
- 自动生成清晰、一致的 CHANGELOG 文档。
- 简化了维护 CHANGELOG 的过程,避免了手动编写文档的繁琐工作。
cz-conventional-changelog-lint 则是将这两个包整合起来,让开发者在提交代码时,按照约定的格式输入信息,从而方便后续的版本文档生成和维护。
注意事项
在使用 cz-conventional-changelog-lint 时,需要注意以下几点:
- 如果
.czrc
文件和package.json
中的配置不匹配,可能会导致提交消息被认为不符合规
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/54850