@lerna/filter-options(翻译)

1,290 阅读1分钟

原文:www.npmjs.com/package/@le…

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

安装lerna以访问lerna CLI。

选项

--scope

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

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

注意:对于某些glob,可能需要引用option参数,以避免过早的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

--no-private

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

--since [ref]

只包括自指定的ref以来已更改的包。如果未传递ref,则默认为最新的标记。

# 列出自最新标记以来已更改的包的内容
$ lerna exec --since -- ls -la
 
# 对“master”之后更改的所有包运行测试`
$ lerna run test --since master
 
# 列出自某个分支以来更改的所有包`
$ lerna ls --since some-branch

如果可以获得PR将要进入的目标分支,那么在CI中使用时,这一点尤其有用,因为可以将其用作--since选项的引用。这对pr进入主分支和功能分支都很有效。

--exclude-dependents

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

此标志在没有--since的情况下无效,在这种情况下将抛出一个错误。

--include-dependents

无论--scope、-ignore或--single,在运行命令时包括所有可传递的依赖项。

--include-dependencies

无论--scope、-ignore或--single,在运行命令时包括所有可传递的依赖项。

与接受--scope(bootstrap、clean、ls、run、exec)的任何命令结合使用。确保任何作用域包(通过--scope或--ignore)的所有依赖项(和dev依赖项)也被操作。

注意:这将覆盖--scope和--ignore标志。

i、 e.与--ignore标志匹配的包如果由正在引导的另一个包依赖,则仍将引导该包。

这对于需要“设置”一个依赖于正在设置的其他包的单个包的情况非常有用。

$ lerna bootstrap --scope my-component --include-dependencies
# my-component及其所有依赖项将被引导 bootstrapped 

$ lerna bootstrap --scope "package-*" --ignore "package-util-*" --include-dependencies
#所有匹配“package util-*”的包都将被忽略,除非它们是
#依赖于名称与“package-*”匹配的包

--include-merged-tags

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

使用--since运行命令时包含合并分支中的标记。这仅在从功能分支进行大量发布时才有用,通常不建议这样做。