@lerna/filter-options

需要过滤的 lerna 子命令的选项

英文原地址

配置项

--scope <glob>

只包含名称与给定通配符匹配的包。

lerna exec --scope my-component -- ls -la
lerna run --scope toolbar-* test
lerna run --scope package-1 --scope *-2 lint
1
2
3

TIP

对于某些通配符,可能有必要传入配置项参数以避免过早的 shell 扩展。

--ignore <glob>

排除名称与给定通配符匹配的包。

lerna exec --ignore package-{1,2,5}  -- ls -la
lerna run --ignore package-1  test
lerna run --ignore package-@(1|2) --ignore package-3 lint
1
2
3

这里有更多示例

--no-private

排除私有的包。默认情况下是包含它们的。

--since [ref]

只包含自指定ref以来已经改变的包。如果没有传递ref,它默认为最近的标记。

# 列出自最新标记以来发生变化的包的内容
$ lerna exec --since -- ls -la

# 为自“master”以来所有发生更改的包运行测试
$ lerna run test --since master

# 列出自“某个分支”以来发生变化的所有包
$ lerna ls --since some-branch
1
2
3
4
5
6
7
8

在 CI 中使用时, 如果您可以获得 PR 将要进入的目标分支,那么它将特别有用,因为您可以将其作为--since配置项的ref。这对于进入masterfeature分支的 PR 来说很有效。

--exclude-dependents

当使用--since运行命令时,排除所有传递的被依赖项,覆盖默认的“changed”算法。

如果没有--since该参数时无效的,会抛出错误。

--include-dependents

在运行命令时包括所有传递的被依赖项,无视--scope--ignore--since

--include-dependencies

在运行命令时包括所有传递依赖项,无视--scope--ignore--since

与接受--scope(bootstrapcleanlsrunexec)的任何命令组合使用。确保对任何作用域的包(通过--scope--ignore)的所有依赖项(和 dev 依赖项)也进行操作。

注意

这将会覆盖--scope--ignore

例如,如果一个匹配了--ignore的包被另一个正在引导的包所以来,那么它仍会照常工作。

当您想要“设置”一个依赖于其他正在设置的包其中的一个包时,这是非常有用的。

lerna bootstrap --scope my-component --include-dependencies
# my-component 及其所有依赖项将被引导
1
2
lerna bootstrap --scope "package-*" --ignore "package-util-*" --include-dependencies
# 所有匹配 "package-util-*" 的包将被忽略,除非它们依赖于名称匹配 "package-*" 的包
1
2

--include-merged-tags

lerna exec --since --include-merged-tags -- ls -la
1

在使用--since命令时,它包含来自合并分支的标记。这只有在从feature分支进行大量发布时才有用,通常情况下不推荐这样做。