Turborepo 2.3
Turborepo 2.3 引入多項人體工學改進
- Boundaries RFC:強制執行約束以維持開發者體驗
- Package task shortcuts:使用
turbo run package#task
執行任務 - Simplified cache control:使用單一標記更輕鬆地管理快取來源
立即執行 npx @turbo/codemod migrate
以進行更新,或使用 npx create-turbo@latest
開始使用。
Boundaries RFC
Monorepos 解鎖更快的迭代速度和驚人的靈活性,但也帶來新的挑戰
- 我們如何確保套件的公開 API 受到尊重?
- 我們如何向所有開發人員溝通程式碼可以使用和不能使用的地方?
- 我們如何確保套件僅在正確的上下文中使用?
這些只是在 monorepos 中建構時一個關鍵問題的幾個例子:我們如何溝通和強制執行工作區的結構完整性?
在發布此文章時,Boundaries RFC 僅為初步草案。以下描述的實作可能會變更。有關最新資訊,請參閱 RFC 本身。
Boundaries RFC 是我們針對此問題的初步提案。在我們目前的方法中,我們希望您能夠以單行程式碼逐步採用 Boundaries
此外,我們希望建立一個標記系統,以便您可以使用自訂 Boundaries 標記網域、關注點、上下文和其他有用的metadata。
我們也計劃讓您能夠使用標記允許現有的診斷
這樣,您可以為新程式碼強制執行 Boundaries,並逐步修正現有問題。
我們期待聽到您對 Boundaries RFC 的想法和回饋。
Package task shortcuts
您現在可以使用完全合格的任務識別符執行任務
這比使用 --filter
(turbo run build --filter=web
) 的等效命令更方便,如果您有多個想要鎖定的任務,則可以更精確
Simplified cache control
先前,--remote-only
和 --no-cache
標記用於管理輸出工件的來源和快取。但是,我們已經看到它們可能會造成混淆,並且在讀取和寫入本機和遠端快取方面存在控制上的差距。
為了改進這一點,我們引入了一個新的 --cache
標記,它將這些標記結合在一起 - 並提供更多功能。
使用 local
和 remote
,您可以控制 turbo
調用的讀取和寫入行為。在文件中了解更多資訊。
持續改進 turbo query
在 2.2 中,我們引入了 turbo query
,這是一個旨在利用 Turborepo 對您的套件和任務圖的了解來檢查您的儲存庫的功能。我們已在此功能上進一步迭代,為您提供更強大的查詢
- 實作反向檔案追蹤以尋找哪些檔案依賴於特定檔案
- 用於檔案追蹤的篩選器,以尋找僅限類型的依賴項
- 您提供的套件名稱現在經過驗證,以確保它們存在
社群
自發布 Turborepo 2.2 以來,我們看到了巨大的採用率和社群成長
- 超過 26.3 萬個 GitHub 星星
- 每週超過 340 萬次 NPM 下載
- 使用 Vercel 遠端快取 節省了 496 年的運算時間
Turborepo 是其所有貢獻者共同努力的成果,包括我們的核心團隊:Anthony、Chris、Nicholas 和 Tom。
感謝您持續的支持、回饋和協作,使 Turborepo 成為您首選的建構工具。