npm 包 @commitlint/cli 使用教程

阅读时长 5 分钟读完

前言

在开发过程中,提交代码是我们必须要做的事情。这些提交记录用来记录代码历史和维护一个清晰的代码库,但是如果每个人按照自己的喜好来写提交记录,那么阅读历史记录(Changelog)将会变得困难和无比繁琐。因此,存在一些规范化的提交记录的方式,这便是 “Commit message conventions”。 @commitlint/cli 就是其中一种工具。

@commitlint/cli 是一个使用 lint 规则来校验提交记录的命令行工具。它能够确保每个提交记录都遵循了固定的格式。它能够帮我们根据指定的规则,约束开发者在提交时的书写规范,使提交信息更加容易阅读和理解。

安装和使用

安装 @commitlint/cli:

安装对应的配置,默认的配置是 @commitlint/config-conventional:

配置 package.json

在 package.json 文件中,可以配置 commitlintConfig 属性以及相应的规则:

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

其中:

  • extends 指定了我们使用的规则库。这个规则库是官方的 @commitlint/config-conventional。它是一个很流行的、标准的规则库(Commit 规范的首选库),其中规定了枚举了几种 Commit 类型和规则。

  • rules 指定了更严格的约束规则,例如,我们规定了必须包含以下类型之一:'feat'、'fix'、'docs'、'style'、'refactor'、'test'、'chore' 和 'revert'。它们是规范的 Commit 类型,其他类型不被允许提交。同时,我们还指定了 subject 不能以点结尾,subject 不应该首字母大写,并指定了相关的 severity(警告级别)。

使用 commitlint

安装完 @commitlint/cli 后,可以在项目根目录下执行以下命令进行校验规范:

例如:

另外,为了方便起见,我们可以在 package.json 文件中添加一个 npm 脚本:

这样在每一次提交时都会自动调用 commitlint 来进行校验规范。

示例

下面是一个样板的提交记录:

其中各个字段的含义:

  • type:这个 commit 的类型,规定为下面之一:

    • feat:新功能
    • fix:修补 Bug
    • docs:文档更新
    • style:格式改变,例如对代码进行了格式化,修改了空格等方式。
    • refactor:对现有的代码进行了重构,注意与修补 Bug 的区别。
    • test:增加测试用例
    • chore:对构建过程或辅助工具和库(如文档生成)的更改
    • revert:撤销上一个提交。
  • scope:说明此次修改的关键字,例如:router、namespaces、components、docs 等。

  • subject:用于简短描述此次修改的内容。

  • body:主要描述此次修改的详细内容和原因。

  • footer:包含修订版本号和相关链接。

下面是一些示例:

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

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

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

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

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

总结

@commitlint/cli 在团队开发中起到了很大作用,通过统一的规范对提交提交信息进行审核,提高了代码中可读性和可维护性,从而使得代码维护更加便捷。希望通过本篇文章的介绍,能够帮助大家更好的掌握并使用 @commitlint/cli 来规范提交记录。

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