Turborepo 2.1
Turborepo 2.1 改善了與您的程式碼庫的整合,並具有以下功能:
- 受影響套件圖表偵測:僅使用
--affected
執行有變更的任務 - 程式碼庫探索工具:使用
turbo ls
和turbo run
更快地尋找套件和任務 - 終端 UI 改善:日誌選擇、任務搜尋、調整大小等等
- 擴展的組態選項:使用
turbo.json
提供更多預設彈性
立即執行 npx @turbo/codemod migrate
來更新,或使用 npx create-turbo@latest
來開始使用。
使用 --affected
執行已變更套件的任務
Turborepo 的遠端快取會在您的所有機器之間共用單一快取,因此您永遠不必重複執行相同的工作。但是,如果您可以完全忽略未變更的套件,那會怎麼樣呢?
您現在可以使用 turbo run
的 --affected
旗標,自動鎖定目前分支的最新提交與您程式碼庫的預設分支(通常是 main
或 master
)之間有變更的套件。turbo
會使用您的套件圖表來確保為直接變更或內部相依性變更的套件執行任務。
您會在以下情況下使用此旗標:
- 您正在單一程式碼庫中跨多個套件執行許多任務,並且只想在程式碼有變更的套件中執行這些任務。
- 您沒有使用遠端快取,但仍希望在 CI 中盡可能減少工作。
- 您正在使用遠端快取,而且您位於大型程式碼庫中。透過盡可能減少將從快取還原的任務量,將減少在網路上傳送的資料,從而加快快取還原速度。
- 您已經使用進階篩選技術或
turbo-ignore
來建立與--affected
相同或類似的行為。您可能可以透過使用這個新的旗標來簡化您的腳本。
若要了解更多資訊,請瀏覽文件。
程式碼庫探索工具
隨著程式碼庫的成長和變更,可能難以快速找到您要尋找的內容。我們希望快速顯示您的任務、套件及其關係,以更快、更輕鬆地了解您的程式碼庫。
turbo run
使用 turbo run
(不含任務引數)來取得程式碼庫中可用任務的清單。此命令也適用於篩選器和自動套件範圍設定。
瀏覽文件以了解更多資訊。
turbo ls
使用 turbo ls
來取得程式碼庫中所有套件及其位置的清單,或篩選至特定套件以查看其內部相依性和任務的摘要。turbo ls
也支援 --filter
和 --affected
,讓您可以輕鬆收集變更的套件清單。
turbo ls
支援實驗性的 --output
旗標,可用於以特定格式傳回結果。例如,--output=json
可用於更輕鬆地為其他工具或自訂腳本建立輸入。如果您先前僅使用 turbo build --dry=json
來擷取變更的套件清單,請嘗試 turbo ls --affected --output=json
。請瀏覽文件以取得更多資訊,並在 turbo ls
RFC 上留下有關輸出格式的意見回饋。
瀏覽文件以了解更多資訊。
終端 UI 改善
在 Turborepo 2.0 中,我們發布了新的終端 UI,以提高日誌的清晰度,並允許在本地開發中進行互動式任務。我們聽取了您的意見回饋,並優先調整此 UI,在 2.0 的修補程式和此 2.1 版本中發布了改進。
- 醒目提示日誌以複製到剪貼簿(PR)
- 在任務清單中搜尋(PR)
- 當終端機變更大小時,更簡潔的版面配置大小調整(PR)
- 任務清單中快取命中的新圖示(PR)
- 當監看模式觸發重新啟動時,更新的任務狀態指示器(PR)
- 在終端 UI 結束後,仍會保留輸出日誌(PR)
建立優質的終端 UI 體驗具有獨特的挑戰,我們將繼續反覆調整此體驗。我們感謝您持續的意見回饋,因為我們將繼續努力為單一程式碼庫建立優質的 UI。
擴展的組態選項
在此版本中,我們將更多金鑰新增至 turbo.json
,以便為您程式碼庫的預設值提供更大的彈性。以下金鑰是此版本中的新增內容
您可能在許多或所有 turbo
叫用中使用了這些組態的旗標對等項目,並在程式碼庫中散佈了類似以下的命令:
現在可以使用 Turborepo 現有的組態模型在 turbo.json
中集中組態來簡化這些命令
turbo.json
會設定您程式碼庫的預設值。- 系統環境變數會自訂特定環境中的行為。
- 旗標會自訂
turbo
特定叫用的行為。
若要了解更多關於可用選項和組態的資訊,請瀏覽文件。
其他改進
- 我們特別感謝 Shaharking 在 #9023 中的貢獻,使串流 UI 中任務名稱的色彩具有確定性,關閉 #2564。這讓比較跨
turbo run
叫用的任務更容易。
請在 vercel/turborepo
查看完整變更記錄。
社群
自發布 Turborepo 2.0 以來,我們看到了令人難以置信的採用率和社群成長
- 25.9k+ 個 GitHub 星星
- 每週 290 萬+ 次 NPM 下載
- 透過 Vercel 上的遠端快取節省了 428 年的計算時間
Turborepo 是所有貢獻者(包括我們核心團隊)共同努力的結果。
感謝您持續的支持、意見回饋和合作,使 Turborepo 成為您首選的建置工具。