跳到主要內容

Lerna 6:已淘汰選項

Nx 和 Lerna 能在相同的 Workspace 中無縫運作。

當 Lerna 正在使用 Nx 執行任務,且偵測到 Nx 目標設定時,Lerna 將會在 lerna run 期間尊重此設定,並委派 Nx 任務執行器進行相依性偵測。

Nx 將會依據它所建構的任務圖形,以它所判定適當的順序和並行度執行任務。如需更多資訊,請參閱 Nx 精神模型:任務圖形

**此行為允許 Nx 以最有效率的方式執行任務,但也表示某些現有的 lerna run 選項將會淘汰。**

淘汰選項

--sort--no-sort

當 Nx 目標已設定時,Lerna 將會根據其對專案和任務相依性的認知,始終按照它認為正確的順序執行任務,因此 --sort--no-sort 不會產生任何作用。

--parallel

Lerna 將會使用任務圖形來判定哪些任務可以平行執行,並自動執行這些任務,因此 --parallel 不會產生任何作用。

如果您希望限制任務的並行執行,您仍可以使用 concurrency 全域選項 來達成這個目標。

--include-dependencies

Lerna 6 將在必要時自動先執行相依的任務,因此 --include-dependencies 已過時。但是,仍可以使用該旗標來包含不需要的任務(例如,執行所有相依專案的測試)。

--ignore

當與 Nx 搭配使用時,--ignore 將永遠不會使 lerna run 排除任何被視為需要的任務 task graph

提示

上述選項的效果僅適用於下列情況

  1. 根目錄中的 nx.json 存在已定義的 targetDefaults 屬性。
  2. 目標套件的 package.json 中可以找到 "nx" 屬性。

否則,它們的行為會與 Lerna 的傳統任務執行器相同(如果 useNx 設定為 false)。