介绍
commitlint 是一个帮助前端团队约束 commit message 格式的工具,在多人协作时能够提高代码协作效率、规范化团队成员的行为。但是对于忘记遵守 commit 约定格式的开发者来说,commitlint 不会自动提醒,造成了使用成本的提高。
commitlintbot 便是解决这一问题的 npm 包。它可以自动检测提交代码的 commit message 是否遵守格式约定,如果违反了,就通过指定的接口和方式直接回复错误提醒,让开发者尽可能快速规范化代码提交记录。
本篇文章将详细介绍 commitlintbot 的具体使用方法以及针对不同的应用场景建议。
安装
在你的项目依赖下添加 commitlintbot,使用 npm 安装:
npm i commitlintbot -D
使用
基本使用
在项目的 package.json 文件中,加入如下配置:
-- -------------------- ---- ------- - ---------------- - ------- ---------------- --------- ------------------ -------- ---------------- -- -------- - -------- - ------------- --------------- - - -
其中,host
为你的机器人服务地址、prefix
为你的机器人前缀、token
为你的机器人 token。如果你不知道自己的 token 如何获取,可以参考 这篇文章。
配置完成后,只需在项目根目录调用:
npx husky install
使其自动在项目中安装 husky。
接下来,在进行代码提交时,如果 commit message 格式错误则会自动发出针对这条错误的提醒通知。
高级使用
commitlintbot 还提供了很多进阶配置项可以使用。
指定配置文件
默认情况下,commitlintbot 会读取项目根目录下的 commitlint 配置文件。如果你需要在创作自己的 commitlint 规则时,需要自己指定配置文件名:
-- -------------------- ---- ------- - ---------------- - ------- ---------------- --------- ------------------ -------- ----------------- --------- --------------------------- -- -------- - -------- - ------------- --------------- - - -
指定检测文件
默认情况下,commitlintbot 只检测 Git 仓库中的上一次 commit。如果你需要针对一些特定的文件进行检测,可以通过下方配置来指定:
-- -------------------- ---- ------- - ---------------- - ------- ---------------- --------- ------------------ -------- ----------------- -------- - ---------------- --------------- - - -
配置检测规则
commitlintbot 提供了各种各样的配置规则,你可以选择你喜欢的一套规则即可:
-- -------------------- ---- ------- - ---------------- - ------- ---------------- --------- ------------------ -------- ----------------- -------- - ------------ - -- --------- ------- ------- -------- ----------- ------- -------- --------- -- --------------- --- -------- ---------------- ----------------------- --- --------- ----- ------------------------- --- --------- ---- - - -
其中,type-enum
表示必须有以下七种类型之一,否则提交失败,subject-case
表示标题只能为小写字母,body-max-line-length
和 footer-max-line-length
分别表示消息正文和尾部在同一行最多能写多少字。
你可以通过阅读 commitlint 的文档来更好地理解这些规则的含义。点击此处 查看文档。
示例代码
最后,本文附上一个示例代码项目,让你可以更好理解 commitlintbot 在实际项目中如何使用。
package.json
-- -------------------- ---- ------- - ------- ------------------------ ---------- -------- -------------- --- ------- ----------- ---------- - -------- ----- ---------- ------- ----- -------- -- ---- ----------- -- ---- -- -- ------------------ - ------------- --------- ------------- ---------- ---------------- --------- ----------------------------- --------- ---------------------------- --------- -------- -------- -- ------------- - ---------- - --------------------------------- -- -------- -- -- ---------------- - ------- ---------------------------- --------- ----------- -- -------- ----------------- --------- ---------------------------- -------- ------------------ --------------- -------- - ------------ - -- --------- -------- ------ ------- -------- ----------- ------- ------- -------- --------- -- --------------- --- -------- ---------------- -------------------- --- --------- ----- ----------------------- --- --------- ----- ------------------------- --- --------- ---- - -- -------- - -------- - ------------- ---------------- --------------------- ----- - -------- -- --- -- ------ -- ----- - -- ---------- ----- -
my-commitlint.config.js
-- -------------------- ---- ------- -------------- - - ----------- - ------------- ---------- -------- ------- ------- --------- ---------- -------------- ------------------------------------ -- ------ - -------------------- --- --------- ---- ------------- --- --------- ------------ --- --------- -------- ------- -------- ----------- ------- -------- ----------- ------------ --- --------- -------------- ------------------ --- --------- ---- ------------- --- --------- -------------- ------------------- --- --------- ---- --------------- - -- -------- ----------------- ------------- -------------- ------------- -- --------------------- --- --------- ---- ----------------------- --- --------- ---- ------------------------- --- --------- ---- -- --
注意:你需要将上述配置中的机器人地址、机器人前缀、机器人 token、配置文件路径,都替换成你自己的实际参数。
总结
本篇文章中,我们详细介绍了怎样使用 commitlintbot 检查 commit message 是否符合约定格式,以及一些进阶的配置项。
借助 commitlintbot,可以有效地提高项目团队的代码规范化程度和工作效率,也方便了团队成员协同工作时,代码提交记录的管理。
在使用 commitlintbot 时,需要对需要检测的文件、机器人的连接方式和指定的检测规则进行充分的配置,才能取得更好的效果。
希望本文对你有所帮助,也欢迎大家分享自己使用 commitlintbot 的经验和感悟。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005668481e8991b448e2ada