Turborepo 2.1
Turborepo 2.1 改善了與您儲存庫的整合,並具有以下功能:
- 受影響的套件圖偵測:僅針對有變更的套件執行任務,使用
--affected
- 儲存庫探索工具:使用
turbo ls
和turbo run
更快地找到套件和任務 - 終端 UI 改善:記錄選擇、任務搜尋、調整大小等等
- 擴充的設定選項:使用
turbo.json
讓預設值更具彈性
立即執行 npx @turbo/codemod migrate
以更新,或執行 npx create-turbo@latest
以開始使用。
使用 --affected
針對變更的套件執行任務
Turborepo 的遠端快取在您的所有機器之間共用單一快取,因此您永遠不必重複執行相同的工作。但是,如果您可以完全忽略未變更的套件呢?
您現在可以將 --affected
標記與 turbo run
一起使用,以自動鎖定在您目前分支的最新提交與儲存庫的預設分支(通常為 main
或 master
)之間有變更的套件。turbo
將使用您的套件圖,以確保針對直接變更或內部相依性變更的套件執行任務。
在以下情況中,您會想要使用此標記:
- 您正在 monorepo 中的多個套件上執行許多任務,並且只想在程式碼已變更的套件中執行這些任務。
- 您沒有使用遠端快取,但仍然希望在 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 體驗具有獨特的挑戰,我們將繼續迭代此體驗。感謝您持續提供回饋意見,因為我們會繼續努力為 monorepo 建立出色的 UI。
擴充的設定選項
在此版本中,我們在 turbo.json
中新增了更多鍵,讓您的儲存庫預設值更具彈性。以下鍵是此版本中的新增功能:
您可能一直在許多或所有 turbo
叫用中使用這些設定的標記對等項目,讓您的程式碼庫充斥著如下命令:
現在可以使用 Turborepo 現有的設定模型,透過 turbo.json
中的集中式設定來簡化這些操作
turbo.json
設定您儲存庫的預設值。- 系統環境變數自訂特定環境中的行為。
- 標記自訂
turbo
特定叫用的行為。
若要瞭解有關可用選項和設定的更多資訊,請造訪文件。
其他改進
- 我們要特別感謝 Shaharking 在 #9023 中的貢獻,使串流 UI 中任務名稱的顏色具有確定性,關閉了 #2564。這使得比較跨
turbo run
叫用的任務變得更容易。
在vercel/turborepo
查看完整的變更記錄。
社群
自發布 Turborepo 2.0 以來,我們看到了驚人的採用率和社群成長
- 25.9k+ GitHub 星星
- 每週 2.9M+ 次 NPM 下載
- 透過 Vercel 上的遠端快取節省了 428 年的運算時間
Turborepo 是所有貢獻者(包括我們的核心團隊)共同努力的成果。
感謝您持續的支持、回饋和協作,使 Turborepo 成為您首選的建置工具。