升級
升級至 2.0
更新 turbo.json
開始將 1.x 升級至 2.0,請執行以下指令
這會更新您的 turbo.json
(s),以處理從 1.x 到 2.0 的許多重大變更。
此外,如果工作區中的任何 package.json
沒有 name
欄位,則會新增該欄位。
注意事項
您也可以個別手動執行每個程式碼修改。請造訪程式碼修改頁面以取得更多資訊。
將 packageManager
欄位新增至根 package.json
packageManager
欄位是 Node.js 生態系統中的慣例,用於定義預期在工作區中使用的套件管理器。
Turborepo 2.0 要求您的工作區定義此欄位,以改善程式碼庫的穩定性和行為可預測性。如果您的根 package.json
中尚未有此欄位,請新增此欄位。
更新 eslint-config-turbo
eslint-config-turbo
有助於識別需要新增至 env
鍵以進行快取的環境變數。如果您正在使用它,請務必更新它以符合您的主要版本。
更新 turbo run
指令
Turborepo 2.0 包含 turbo run
指令行為的行為和正確性改進。以下是變更摘要,這些變更可能或可能不會影響您的程式碼庫
- 環境變數的嚴格模式現在是預設模式,已從寬鬆模式變更 (PR)
- → 如果您的任務中的腳本似乎缺少環境變數,您可以使用每個指令的
--env-mode
選項來選擇退出此行為,以逐步遷移。我們建議您更新任務中的env
鍵,以說明其所有環境變數,以便您可以盡快捨棄--env-mode
選項。
- → 如果您的任務中的腳本似乎缺少環境變數,您可以使用每個指令的
- 工作區根目錄現在是所有套件的隱式依賴項 (PR)
- 已移除
--ignore
,改用--filter
和以下圖表正確性變更 (PR) - 已移除
--scope
旗標 (自 1.2 版起已棄用) (PR) - 根
package.json
中的engines
欄位現在用於雜湊處理 (PR) --filter
不再推斷套件名稱的命名空間 (PR)- 當沒有套件名稱或目錄符合時,
--filter
現在會產生錯誤 (PR) --only
會限制任務依賴項,而非套件依賴項 (PR)
這有幫助嗎?