npm 包 @commitlint/cli 使用教程

前言

在开发过程中,提交代码是我们必须要做的事情。这些提交记录用来记录代码历史和维护一个清晰的代码库,但是如果每个人按照自己的喜好来写提交记录,那么阅读历史记录(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


猜你喜欢

  • npm 包 pinkie-promise 使用教程

    简介 pinkie-promise 是一个小巧且高效的 Promise 实现库。Promise 是一种异步编程的设计模式,用于处理异步操作结果。它提供了一种优雅的解决方案,让你的代码更易读、更可靠。

    5 年前
  • npm 包 public 使用教程

    npm 是 Node.js 包管理器,许多前端项目都离不开它。在日常开发中,我们经常需要使用一些第三方库来提升开发效率,而这些库往往都是通过 npm 安装的。npm 上有无数的包,如何选择并使用它们呢...

    5 年前
  • npm 包 bass-mongodb 使用教程

    什么是 bass-mongodb? Bass-mongodb 是一个 Node.js 的 MongoDB 驱动程序,其设计理念为提供更加简单、灵活和易于使用的数据库操作方式。

    5 年前
  • npm 包 @conga/framework-bass 使用教程

    Node.js 是一个使用 JavaScript 开发高性能网络应用程序的开源平台和运行时环境,它拥有强大的包管理器 npm,可以轻松地安装和使用各种第三方模块和库。

    5 年前
  • npm 包 bass-nedb 使用教程

    在前端开发中,我们时常需要使用数据库来存储和管理数据。nedb 是一个嵌入式数据库,它是一个基于 Node.js 开发的 NoSQL 数据库模块,可以在 Node.js 和浏览器环境中使用,支持 Mo...

    5 年前
  • npm包conga-annotations使用教程

    在前端开发中,我们经常需要使用第三方的库或框架来快速构建我们的应用程序。npm是一个非常流行的管理这些第三方库或框架的工具,它让我们可以方便地下载、安装和更新这些包,从而提高我们的开发效率和代码质量。

    5 年前
  • npm 包 nervatura-express 使用教程

    简介 nervatura-express 是一个基于 Node.js 平台和 Express 框架的 npm 包,它可以帮助开发者快速搭建差异化的商业应用。nervatura-express 提供了一...

    5 年前
  • npm 包 nervatura 使用教程

    :nervatura:是一款强大的 npm 包, 它的目的是容易地将数据库数据转化为可读性高的 PDF 报表或 HTML 页面。本文将详细介绍如何使用 nervatura。

    5 年前
  • npm 包 @types/content-disposition 使用教程

    在前端开发中,我们经常需要使用响应头中的 Content-Disposition 来指示浏览器如何处理服务器返回的资源。但是在 TypeScript 中使用 Content-Disposition 可...

    5 年前
  • npm 包 connection-string 使用教程

    介绍 connection-string 是一款对连接字符串进行处理的 npm 包,可以将连接字符串进行解析,拆分成各个部分,方便我们对连接字符串的操作和管理。 安装 使用 npm 进行安装: ---...

    5 年前
  • npm 包 anydb-sql-migrations 使用教程

    简介 anydb-sql-migrations 是一个基于 Node.js 平台的工具库,用于处理 SQL 数据库的迁移工作。它可以帮助前端工程师高效地进行数据库的版本更新。

    5 年前
  • npm 包 @types/through2 使用教程

    在 Node.js 中,数据流是一项重要的功能。通过数据流可以将输入和输出分离,同时支持高效的数据处理和传输。through2 是 Node.js 数据流的一个流行的 npm 包,可以用于创建从输入到...

    5 年前
  • npm 包 @types/lodash 使用教程

    什么是 @types/lodash @types/lodash 是一个 npm 包,提供了 TypeScript 对 Lodash 库的类型定义。如果你正在使用 TypeScript 并计划使用 Lo...

    5 年前
  • npm 包 @types/express 使用教程

    在前端开发中,使用npm构建工具的过程中,经常需要使用第三方包,而这个过程中最常见的就是使用类型声明文件。在使用Node.js时,最常用的Web框架之一是Express.js。

    5 年前
  • npm 包 @types/duplexer2 使用教程

    在前端开发中,我们不仅需要使用 JavaScript 进行编程,还需要依赖于各种 npm 包来完成各种任务。其中一个非常重要的 npm 包就是 @types/duplexer2。

    5 年前
  • npm 包 @types/bluebird 使用教程

    简介 @types/bluebird 是用来为 Promise 库 bluebird 提供类型定义的 npm 包,它可以帮助开发者在 JavaScript 代码中使用 bluebird 时,实现更好的...

    5 年前
  • npm 包 @types/bl 使用教程

    在前端开发中,我们常常需要使用 npm 包来增强我们的项目功能,而其中一个常用的 npm 包就是 @types/bl。该包提供了 TypeScript 的类型定义,以支持对 Node.js 中的流式数...

    5 年前
  • npm 包 yafsm 使用教程

    yafsm 是基于 Typescript 开发的状态机库,它提供了一个灵活而高性能的状态机实现方式,适用于复杂的前端应用程序。在本文中,我们将介绍如何安装和使用 yafsm 包,并且通过实际的例子来演...

    5 年前
  • npm 包 analyst 使用教程

    前言 在前端开发中,我们经常使用 npm 包来加速开发,但是对于项目中使用了哪些 npm 包,以及这些包的使用情况,我们是否有一种直观的方式来进行分析呢?这就是今天要介绍的 npm 包 analyst...

    5 年前
  • npm包any-db-promise使用教程

    在前端开发中,数据库连接是非常重要的一环。在Node.js中,我们可以通过npm包any-db-promise轻松地实现与数据库的连接和操作。 本文将为大家介绍any-db-promise的使用教程,...

    5 年前

相关推荐

    暂无文章