在一个团队协作的开发过程中,代码提交的规范化很重要,它不仅能让团队代码质量更高,也可以提高代码的可维护性。这个时候,commitlint
就成了一个非常好的选择。@nomadinteractive/commitlint-config
是一个比较友好的 commitlint
配置规则工具,它遵循了 Conventional Commits Specification 规范,可以帮助团队规范代码提交流程。
安装
可以使用以下命令安装 @nomadinteractive/commitlint-config
:
npm install @nomadinteractive/commitlint-config --save-dev
安装完毕后,我们可以在 package.json 中添加如下代码:
{ "commitlint": { "extends": ["@nomadinteractive/commitlint-config"] } }
也可以在 .commitlintrc.js
文件中添加以下代码:
module.exports = { extends: ['@nomadinteractive/commitlint-config'] }
规则
@nomadinteractive/commitlint-config
包含了以下的规则:
type-enum
: 要求在 [type] 区域使用指定的值,目前包含以下类型:feat
,fix
,docs
,style
,refactor
,test
,build
,ci
,perf
,chore
,revert
。scope-enum
: 要求 [scope] 区域使用指定的值,可以在配置文件中自定义。subject-case
: 要求 [subject] 区域的字符串使用sentence-case
格式。subject-full-stop
: 要求 [subject] 区域的字符串结尾使用. 结尾。header-max-length
: 要求 [header] 区域的字符串最大长度。
自定义作用域
除了规则,我们还可以自定义作用域,如果在一个大项目中,可以将 commit message 分为多个模块,每个模块都有对应的 scope
。可以在 @nomadinteractive/commitlint-config
的基础上,添加自己需要的 scope
对象即可,例如:
-- -------------------- ---- ------- -- ---------------- -- -------------- - - -------- ---------------------------------------- ------ - ------------- - -- --------- -------- ------ --------- -------- ------- --------- -- -- --
使用示例
我们可以通过以下命令提交一条合法的 commit message:
git commit -m "feat: add login API"
如果提交的 message
不符合规范,则会出现如下错误:
husky > commit-msg (node v12.14.1) ↑[31m⧗↑[39m invalid commit message format
总结
通过使用 @nomadinteractive/commitlint-config
工具,能够更加高效和规范的管理和维护项目代码提交记录,有利于团队协作和代码质量的提升。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/138899