yarn workspaces foreach
用法
$ yarn workspaces foreach <commandName> ...
示例
发布所有包 :
在所有后代包上运行构建脚本 :
在当前和所有后代包上并行运行构建脚本,首先构建包依赖 :
在多个包及其所有依赖上运行构建脚本,构建依赖 first :
详情
此命令将在当前工作区及其所有后代工作区上运行给定的子命令。各种标志可以改变命令的确切行为: - 如果设置了
-p,--parallel
,命令将并行运行;默认情况下,它们将被限制为大约等于核心数量的一半的并行任务数,但可以通过 -j,--jobs
覆盖,或通过设置 -j unlimited
禁用。 - 如果同时设置了 -p,--parallel
和 -i,--interlaced
,Yarn
将在收到输出时打印这些行。如果没有设置 -i,--interlaced
,它将缓冲每个进程的输出,并仅在其源进程退出后打印生成的缓冲区。 - 如果设置了
-t,--topological
,Yarn 将仅在通过 dependencies
字段依赖的所有工作区都成功完成执行后才运行该命令。如果设置了
--topological-dev
,在确定等待点时将同时考虑 dependencies
和 devDependencies
字段。 - 如果设置了
-A,--all
,Yarn 将在项目的所有工作区上运行该命令。 - 如果设置了 -R,--recursive
,Yarn 将通过递归评估
dependencies
和 devDependencies
字段来查找要在其上运行命令的工作区,而不是查看 workspaces
字段。 -
如果设置了 -W,--worktree
,Yarn 将通过查看当前工作树来查找要在其上运行命令的工作区。 - 如果设置了 --from
,Yarn 将使用与
'from' glob 匹配的包作为任何递归搜索的起点。 - 如果设置了 --since
,Yarn
将仅在自指定引用以来已被修改的工作区上运行命令。默认情况下,Yarn 将使用 changesetBaseRefs
配置选项指定的引用。 - 如果设置了
--dry-run
,Yarn 将解释它将做什么,但实际上不执行任何操作。 - 通过使用充当白名单的 --include
,该命令可能仅适用于某些工作区。
--exclude
标志将执行相反的操作,并将成为不得执行脚本的包列表。这两个标志都接受 glob 模式(如果有效标识并且受
micromatch 支持)。确保转义模式,以防止你自己的 shell
尝试扩展它们。-v,--verbose
标志最多可以传递两次:一次是在输出行前加上原始工作区的名称,另一次是包含开始/完成/计时日志行。在终端环境中,默认情况下启用最大详细程度。如果命令是 run
并且正在运行的脚本不存在,则子进程将
选项
定义 | 描述 |
---|---|
| 任何递归的基础都是通配符模式标识或路径的数组 |
| 在项目的所有工作区上运行该命令 |
| 在当前工作区及其所有递归依赖上运行该命令 |
| 在当前工作树的所有工作区上运行该命令 |
| 将日志详细程度提高 2 倍 |
| 并行运行命令 |
| 实时打印命令的输出,而不是缓冲它 |
| 执行将限制为的最大并行任务数;或 unlimited |
| 在它所依赖的所有工作区(常规)完成后运行该命令 |
| 在它所依赖的所有工作区(常规 + 开发)完成后运行该命令 |
| 通配符模式标识或路径的数组;仅匹配的工作区将被遍历 |
| 通配符模式标识或路径的数组;匹配的工作区不会被遍历 |
| 避免在私有工作区上运行命令 |
| 仅包括自指定引用以来已更改的工作区。 |
| 打印将要运行的命令,但不实际运行它们 |