npm 包 @commitlint/lint 使用教程

阅读时长 5 分钟读完

前言

在开发者团队里,协作开发是必不可少的,而协作开发中 commit message 的规范性显得尤为重要。在这里,我将为大家介绍一个 npm 包 @commitlint/lint,它能够帮助我们验证 commit message 是否符合规范,提高开发协作的效率。

什么是 @commitlint/lint

@commitlint/lint 是一个基于 commit message 的规范性检查工具,它能够帮助我们验证 commit message 是否符合我们定义的规范。通过使用它,我们能够保证所有的 commit message 都是符合规范的,从而提高团队的协作效率。

安装 @commitlint/lint

在使用 @commitlint/lint 之前,我们需要先进行安装。你可以使用 npm 或者 yarn 进行安装:

或者

配置 @commitlint/lint

在安装好 @commitlint/lint 之后,我们需要对其进行配置。配置方式有两种:使用配置文件和使用配置对象。

配置文件

使用配置文件可以将我们的配置信息统一管理,便于维护。我们只需要在项目根目录下创建一个 commitlint.config.js 文件,在文件中配置相应的规则即可。

在这个配置文件中,我们使用了 @commitlint/config-conventional,它是一个默认的约定式配置文件,包含了常用的提交规范。除此之外,我们还可以自定义各种规则,如提交类型、范围、主题等。

配置对象

使用配置对象可以更加精细地配置我们的规则,但是它在多项目中编写时不是很方便。我们可以通过以下方式进行配置:

上面是一个使用配置对象的简单示例,我们利用 @commitlint/lint 的 lint 方法传入我们需要检查的 commit message 和规则配置,最终会返回一个结果对象 report,其中包含了检查结果和详细的错误信息。

以上是对 @commitlint/lint 的基本配置,接下来将介绍一些更深入的用法。

自定义规则

除了使用默认规则外,我们也可以自定义规则。下面我们将以自定义 header 为例,让大家更好地理解 @commitlint/lint 的用法。

单条规则

我们可以通过写函数的方式自定义规则,以下是一个自定义 header 规则的示例:

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

以上代码中,我们通过 rules 对象的键值来添加我们的规则,其中 header-max-length 是规则的名称,后面跟着一个函数作为规则的具体实现。函数接受 3 个参数,分别为可选的规则等级、可选的规则适用范围和需要验证的值。在这个示例中,我们将 header 的最大长度限制为 20,如果 header 的长度超过了 20,则返回验证失败的信息。

多条规则

如果需要添加多个自定义规则,我们可以创建多个函数并将它们合并到一个对象中:

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

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

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

现在我们创建了两个函数,分别验证 header 的最大长度和是否以冒号结尾,然后我们将它们绑定到 rules 对象中的键值中,这样我们就可以同时使用多个规则来检查我们的 commit message。

总结

在本文中,我们介绍了 npm 包 @commitlint/lint 的使用方法,从安装到配置再到自定义规则都进行了详细的介绍。通过它,我们能够有效地提高开发协作效率,确保 commit message 的规范性。如果您感到本文内容还不够深入,建议您去了解官方文档,继续深入学习。

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