npm 包 lerna-changelog 使用教程

阅读时长 4 分钟读完

简介

lerna-changelog 是一个基于 lerna 仓库的变更日志生成工具。它能自动生成符合约定式提交规范的变更日志,对于团队协作和版本管理都有很大的帮助。

本文将为你详细介绍如何在前端开发中使用 lerna-changelog 工具。

安装

我们可以通过 npm 进行安装:

或者使用 yarn 进行安装:

配置

在使用 lerna-changelog 之前,需要配置 lerna.json 文件。我们需要添加一个 "command" 属性来定义 changelog 命令:

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

其中,各个属性的含义如下:

  • ignoreCommitsWith:忽略那些包含该数组中指定关键字的 commit 记录。
  • conventionalCommits:如果设置为 true,则认为项目遵循约定式提交规范,并根据此规范生成 changelog。
  • grouped:如果设置为 true,则将提交记录按照类别进行分类,如“Features”、“Bug Fixes”等。
  • from:生成 changelog 的起始版本号。

生成 changelog

配置完成之后,我们就可以使用 changelog 命令来生成 changelog 了:

执行完毕后,将在项目根目录下生成 CHANGELOG.md 文件,其中包含了变更日志。

示例代码

假设我们有一个名为 "example" 的 lerna 项目,其中有两个包,分别是 "package-a" 和 "package-b",我们可以直接使用以下命令生成 changelog:

生成的 changelog 如下所示:

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

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

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

--- --- -----

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

--- --------

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

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

--- --------

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

总结

lerna-changelog 工具可以帮助我们自动生成符合约定式提交规范的变更日志,对于团队协作和版本管理有很大的帮助。在使用之前,需要配置 lerna.json 文件,并根据需求设置 changelog 命令的参数。

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

纠错
反馈