npm 包 commitlintbot 使用教程

阅读时长 9 分钟读完

介绍

commitlint 是一个帮助前端团队约束 commit message 格式的工具,在多人协作时能够提高代码协作效率、规范化团队成员的行为。但是对于忘记遵守 commit 约定格式的开发者来说,commitlint 不会自动提醒,造成了使用成本的提高。

commitlintbot 便是解决这一问题的 npm 包。它可以自动检测提交代码的 commit message 是否遵守格式约定,如果违反了,就通过指定的接口和方式直接回复错误提醒,让开发者尽可能快速规范化代码提交记录。

本篇文章将详细介绍 commitlintbot 的具体使用方法以及针对不同的应用场景建议。

安装

在你的项目依赖下添加 commitlintbot,使用 npm 安装:

使用

基本使用

在项目的 package.json 文件中,加入如下配置:

-- -------------------- ---- -------
-
  ---------------- -
    ------- ----------------
    --------- ------------------
    -------- ----------------
  --
  -------- -
    -------- -
      ------------- ---------------
    -
  -
-

其中,host 为你的机器人服务地址、prefix 为你的机器人前缀、token 为你的机器人 token。如果你不知道自己的 token 如何获取,可以参考 这篇文章

配置完成后,只需在项目根目录调用:

使其自动在项目中安装 husky。

接下来,在进行代码提交时,如果 commit message 格式错误则会自动发出针对这条错误的提醒通知。

高级使用

commitlintbot 还提供了很多进阶配置项可以使用。

指定配置文件

默认情况下,commitlintbot 会读取项目根目录下的 commitlint 配置文件。如果你需要在创作自己的 commitlint 规则时,需要自己指定配置文件名:

-- -------------------- ---- -------
-
  ---------------- -
    ------- ----------------
    --------- ------------------
    -------- -----------------
    --------- ---------------------------
  --
  -------- -
    -------- -
      ------------- ---------------
    -
  -
-

指定检测文件

默认情况下,commitlintbot 只检测 Git 仓库中的上一次 commit。如果你需要针对一些特定的文件进行检测,可以通过下方配置来指定:

-- -------------------- ---- -------
-
  ---------------- -
    ------- ----------------
    --------- ------------------
    -------- -----------------
    -------- -
      ----------------
      ---------------
    -
  -
-

配置检测规则

commitlintbot 提供了各种各样的配置规则,你可以选择你喜欢的一套规则即可:

-- -------------------- ---- -------
-
  ---------------- -
    ------- ----------------
    --------- ------------------
    -------- -----------------
    -------- -
      ------------ -
        --
        ---------
        ------- ------- -------- ----------- ------- -------- ---------
      --
      --------------- --- -------- ----------------
      ----------------------- --- --------- -----
      ------------------------- --- --------- ----
    -
  -
-

其中,type-enum 表示必须有以下七种类型之一,否则提交失败,subject-case 表示标题只能为小写字母,body-max-line-lengthfooter-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

纠错
反馈