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 會透過遞迴評估dependencies
和devDependencies
欄位,來尋找要執行指令的工作區,而不是查看workspaces
欄位。 -
如果設定
-W,--worktree
,Yarn 會透過查看目前的 worktree,來尋找要執行指令的工作區。 -
如果設定
--from
,Yarn 會使用符合「from」glob 的套件,作為任何遞迴搜尋的起點。 -
如果設定
--since
,Yarn 只會在自指定 ref 以後修改的工作區上執行指令。預設情況下,Yarn 會使用changesetBaseRefs
組態選項指定的 ref。 -
如果設定
--dry-run
,Yarn 會說明它會做什麼,但不會實際執行任何動作。 -
指令可能只會套用在某些工作區,透過使用
--include
作為白名單。--exclude
旗標會執行相反的動作,會列出不應執行指令的套件。這兩個旗標都接受 glob 模式(如果為有效的 Ident,且受 micromatch 支援)。請務必跳脫模式,以防止您自己的 shell 嘗試展開它們。
-v,--verbose
旗標可以傳遞兩次:一次是在輸出列之前加上原始工作區的名稱,另一次是包含開始/結束/計時記錄列。在終端機環境中,預設會啟用最高詳細程度。
如果指令是 run
,且要執行的指令不存在,則會略過子工作區,且不會產生錯誤。
選項
定義 | 說明 |
---|---|
| 一個 glob 模式識別碼或路徑陣列,用於作為任何遞迴的基礎 |
| 在專案的所有工作區上執行命令 |
| 在目前的的工作區和所有其遞迴相依性上執行命令 |
| 在目前的工作區的所有工作區上執行命令 |
| 將記錄詳細程度提高至多 2 倍 |
| 平行執行命令 |
| 即時列印命令的輸出,而不是緩衝它 |
| 執行將限制為的最大平行任務數目;或 unlimited |
| 在所有它依賴的工作區(常規)完成後執行命令 |
| 在所有它依賴的工作區(常規 + 開發)完成後執行命令 |
| 一個 glob 模式識別碼或路徑陣列;只有符合的工作區會被遍歷 |
| 一個 glob 模式識別碼或路徑陣列;符合的工作區不會被遍歷 |
| 避免在私人工作區上執行命令 |
| 僅包含自指定 ref 以來已變更的工作區。 |
| 列印將執行的命令,而不實際執行它們 |