npm 包 @lerna/changed 使用教程

阅读时长 3 分钟读完

在前端开发中,管理多个 npm 包是常见的需求。其中一个常用的工具是 Lerna。Lerna 是一个管理多个 npm 包的工作流工具,它可以帮助自动化版本号生成、依赖管理、发布等操作。本文介绍 Lerna 的一个子命令 @lerna/changed 的使用方法,该命令可以检测项目中那些包发生了变更,便于我们进行有针对性的构建和发布。

安装

首先需要在项目中安装 lerna,可以使用以下命令:

然后,再安装 @lerna/changed:

使用

lerna changed 命令用于检测项目中发生了变更的包。可以指定一个范围,仅检测在某个时间范围内发生了变更的包。

检测所有变更的包

使用以下命令检测所有变更的包:

输出的结果是一个包列表,包含了发生了变更的子包信息,如有多个子包发生了变更,则以逗号分隔:

检测某个时间范围内发生变更的包

可以使用 --since--until 选项来检测某个时间范围内发生变更的包。这里的时间戳格式遵循 ISO 8601 标准。

例如,以下命令检测从 2020 年 1 月 1 日到现在发生变更的包:

输出的结果是一个包列表,包含了发生了变更的子包信息。

同样,以下命令检测从 2020 年 1 月 1 日到 2020 年 2 月 1 日发生变更的包:

其他选项

lerna changed 命令还支持其他参数。

  • --concurrency:指定并发数,默认为实际 CPU 核数,可以设置为 1。
  • --ignore-changes:指定一些文件或目录,当它们变化时不会被视为子包发生了变更。
  • --include-merged-tags:包含合并的标签(默认情况下只包含本地标签)。
  • --json:输出 JSON 格式的结果。

示例代码

以下是一个示例代码,展示如何使用 @lerna/changed 命令来检测哪些子包发生了变更:

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

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

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

总结

@lerna/changed 命令可以帮助我们检测项目中哪些子包发生了变更,从而可以有针对性地进行构建和发布。同时,lerna 工具也提供了很多其他实用的子命令和选项,可以参考官方文档了解更多。

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

纠错
反馈