返回部落格

Turborepo 2.3

2024 年 11 月 14 日,星期二
Chris Olszewski
姓名
Chris Olszewski
Nicholas Yang
姓名
Nicholas Yang
X
@nicholaslyang
Anthony Shew
姓名
Anthony Shew
X
@anthonysheww

Turborepo 2.3 引入多項人體工學方面的改進

立即執行 npx @turbo/codemod migrate 來更新,或使用 npx create-turbo@latest 開始。

邊界 RFC

Monorepo 解鎖更快的迭代速度和難以置信的彈性,但也帶來了新的挑戰

這些只是在 monorepo 中建置時一個關鍵問題的幾個例子:我們如何溝通並強制執行工作區的結構完整性?

在發布此文章時,邊界 RFC 僅為初始草案。下面描述的實作可能會變更。請參閱 RFC 本身以取得最新資訊。

邊界 RFC 是我們針對此問題的初步提案。在我們目前的方法中,我們希望您能夠在一行程式碼中逐步採用邊界

turbo.json
{
  "boundaries": true
}

此外,我們希望建立標籤系統,以便您可以使用自訂邊界標記網域、考量、內容和其他有用的元數據。

apps/ui/turbo.json
{
  "extends": ["//"],
  "boundaries": {
    "tags": ["library", "ui", "frontend", "beta"],
    "allowDependencyOn": ["library", "frontend"],
    "denyDependencyFrom": ["backend", "stable"]
  }
}

我們也計劃讓您能夠使用標誌允許列出現有的診斷

終端機
turbo boundaries --exclude-errors

這樣一來,您可以強制執行新程式碼的邊界,並逐步修正現有的問題。

我們期待聽到您對邊界 RFC的想法和回饋意見。

套件任務快捷方式

您現在可以使用完整限定的任務識別碼來執行任務

終端機
turbo run web#build

這比使用 --filter 的等效命令 (turbo run build --filter=web) 更方便,如果您有多個想要鎖定的任務,則可以更精確地執行

終端機
turbo run web#build docs#lint

請參閱文件以瞭解更多資訊。

簡化的快取控制

先前,--remote-only--no-cache 標誌用於管理輸出產出的來源和快取。但是,我們發現它們可能會導致混淆,而且在讀取和寫入本機和遠端快取方面存在控制上的差距。

為了改進這一點,我們引入了一個新的 --cache 標誌,它將這些標誌結合在一起,並提供了更多功能。

終端機
turbo run build --cache=local:rw,remote:r

使用 localremote,您可以控制 turbo 調用的讀取和寫入行為。請參閱文件以瞭解更多資訊。

持續改進 turbo query

在 2.2 版中,我們引入了 turbo query,這項功能是為了讓您使用 Turborepo 對您的套件和任務圖表的瞭解來檢查您的儲存庫。我們進一步迭代此功能,為您提供更強大的查詢

社群

自發布Turborepo 2.2以來,我們看到了巨大的採用和社群成長

Turborepo 是所有貢獻者共同努力的成果,包括我們的核心團隊:AnthonyChrisNicholasTom

感謝您持續的支持、回饋和合作,讓 Turborepo 成為您首選的建置工具。