npm 包 @commitlint/utils 使用教程

阅读时长 6 分钟读完

在现代的软件开发过程中,代码版本控制是一个重要的部分。随着项目的规模不断扩大,代码库中的提交也会越来越多,其中的信息管理变得越来越复杂,需要一些工具来帮助开发者。这就是 Commitlint 带来的便利,它是一个用于标准化 Git 提交信息的工具集合,可以让所有的提交信息符合指定格式,从而提高代码可读性、可维护性以及方便与同伴协作。

Commitlint 由许多不同的 npm 包构成,其中之一就是 @commitlint/utils。它提供了一些通用的工具函数和类型,可以帮助开发者编写符合 Commitlint 规范 的代码提交信息。

安装 @commitlint/utils

要使用 @commitlint/utils,首先确保你已经在本地安装了 Node.jsnpm,然后通过运行以下命令将其安装到你的项目中:

使用 @commitlint/utils

校验提交信息的符合度

@commitlint/utils 提供了一个 parse 函数,可以将一个提交信息字符串解析成一个对象,从而更方便地进行校验。使用 parse 函数,需要传入被解析的字符串:

parsedMsg 变量将会得到一个对象,包含以下属性:

  • header:提交信息的标题,即第一行(不含类型和作用域);
  • type:提交类型,如 featfix 等;
  • scope:该次提交涉及的范围;
  • subject:任务的简短描述;
  • body:提交信息中的详细说明;
  • mention:提交信息中的署名。

如果解析失败,parse 函数将会返回 null

根据规范定义创建校验器

我们可以使用 lintRuleCreator 函数,基于指定的规范定义创建一个定制化规则的校验器。校验器接受一个 parsed 对象作为输入,返回 Boolean 类型的结果。

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

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

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

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

该示例中我们使用了 lintRuleCreator 来创建了一个基于提交信息标题长度的规范校验器,即要求标题长度不能超过 80 个字符。在这个示例中,我们通过返回一个 Boolean 类型的值来决定提交信息是否符合规范,但也可以返回一个自定义错误消息。

组合多个校验器

不同的开发者会有不同的需求,而 @commitlint/utils 提供了组合不同规范、不同定制化规则校验器的方法,来符合不同的需求。

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

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

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

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

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

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

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

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

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

通过在配置 rules 对象中定义校验器,我们可以将不同的定制化规则校验器在与内置规则校验器进行组合,创建一个个适合不同开发者、不同项目需求的统一校验器。

总结

@commitlint/utils 作为一个通用工具函数封装库,提供了一些有用的方法和类型定义,方便开发使用;而其模块可以根据项目需求组合使用,从而对接口数据的正确性进行严格的校验,提高软件开发过程中的代码质量。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/94243