跳到主内容
版本:11 & 12

pnpm lane

添加于:v11.13.0

管理每个包的发布通道。 “Lane”(通道)是一种并行的发布轨道:当某个包处于该通道时,直接运行 pnpm version -r 会将其发布为 X.Y.Z-<lane>.N 格式的预发布版本,而工作区中的其余包则继续发布稳定版本。 将软件包移回主通道后,其累积的稳定版本将在下一次运行时发布。

pnpm lane
pnpm lane <name> --filter <pattern>
pnpm lane main --filter <pattern>

成员配置位于 pnpm-workspace.yaml 文件的 versioning.lanes 键下;该命令是用于编辑此键的便捷工具。

使用方法

显示通道成员

pnpm lane
Lanes:
alpha:
@example/cli
@example/napi

如果没有任何软件包被分配到特定通道,则会打印 All packages are on the main lane.

将软件包移动到一个通道

pnpm lane alpha --filter @example/cli

--filter 是必需的 —— 它选择要移动的软件包。 通道名称只能包含字母数字和连字符,且不能全为数字。

将软件包移动回主通道

pnpm lane main --filter @example/cli

main 是默认通道的保留名称。 除非另有指定,否则所有软件包都包含在其中,且其中的软件包会发布稳定版本。 “毕业”一个包意味着,在下一次执行 pnpm version -r 时,该包将正式发布其预发布版本所指向的稳定版本。

通道上的版本

发布通道上的软件包版本号格式为 X.Y.Z-<lane>.N,其中 X.Y.Z 是该通道旨在构建的稳定版本号,而 N0 开始递增:

当前版本待定意图通道新版本
2.0.0minoralpha2.1.0-alpha.0
2.1.0-alpha.0patchalpha2.1.0-alpha.1
2.1.0-alpha.1majoralpha3.0.0-alpha.0
3.0.0-alpha.0main3.0.0

当稳定目标改变时,N 会从 0 重新开始。 当突发事件导致目标升级时(例如,在通道正在构建次要目标时,突然出现主要目标),目标会被重新计算,计数器也会重置。

属于同一 固定组 的软件包必须在各个通道之间同步移动。

配置项

--filter <package_selector&gt;

选择要在通道间移动的软件包。 指定通道时必须进行此操作。

阅读更多有关过滤的内容。