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