从Lerna迁移至pnpm:Lerna --since选项的pnpm等效方案
pnpm 中对应 Lerna
--since 选项的等效方案 Lerna 的 --since 选项用于筛选出在指定提交范围(比如目标分支与当前分支的差异)内有变更的包,并仅对这些包执行指定脚本。在 pnpm 中,你可以通过 --filter 选项结合 Git 差异语法 实现完全相同的效果。
等效命令替换
原 Lerna 命令:
lerna run lint --since origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME...
对应的 pnpm 命令:
pnpm run lint --filter="...origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME"
语法说明
...origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME是 Git 的三点差异语法,用于比较当前分支与目标分支的所有变更内容。- pnpm 的
--filter="...<ref>"会自动识别出在该提交范围内有文件变更的工作区包,仅对这些包执行lint脚本,和 Lerna--since的默认行为完全一致。
进阶筛选(可选)
如果需要同时包含被修改的包以及依赖这些包的其他包,可以使用双向三点语法:
pnpm run lint --filter="...origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME..."
内容的提问来源于stack exchange,提问作者Tera Mind
相关产品推荐
相关产品推荐

