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
不會產生任何作用。
--include-dependencies
Lerna 6 將在必要時自動先執行相依的任務,因此 --include-dependencies
已過時。但是,仍可以使用該旗標來包含不需要的任務(例如,執行所有相依專案的測試)。
--ignore
當與 Nx 搭配使用時,--ignore
將永遠不會使 lerna run
排除任何被視為需要的任務 task graph 。
提示
上述選項的效果僅適用於下列情況
- 根目錄中的
nx.json
存在已定義的targetDefaults
屬性。 - 目標套件的
package.json
中可以找到"nx"
屬性。
否則,它們的行為會與 Lerna 的傳統任務執行器相同(如果 useNx
設定為 false
)。