返回部落格

Turborepo 1.9

2023年4月11日,星期一
Greg Soltis
姓名
Greg Soltis
X
@gsoltis
Nathan Hammond
姓名
Nathan Hammond
Tom Knickman
姓名
Tom Knickman
X
@tknickman
Anthony Shew
姓名
Anthony Shew
X
@anthonysheww
Jared Palmer
姓名
Jared Palmer
X
@jaredpalmer
Mehul Kar
姓名
Mehul Kar
X
@mehulkar
Chris Olszewski
姓名
Chris Olszewski
Nicholas Yang
姓名
Nicholas Yang
X
@nicholaslyang
Alexander Lyon
姓名
Alexander Lyon
X
@_arlyon

Turborepo 1.9 著重於改進任務執行的可觀察性,以便更好地了解您的快取行為

立即執行 npx @turbo/codemod migrate 來更新。

檢視與比較任務執行

您現在可以使用 --summarize 標記來產生任務執行的 JSON 摘要

終端機
turbo build --summarize

當啟用此標記時,Turborepo 將在 .turbo/runs/ 中產生一個摘要,其中包含了解 turbo 如何解釋您的任務配置和程式碼所需的所有資訊。

終端機
Tasks:    3 successful, 3 total
Cached:   0 cached, 3 total
Time:     1.707s
Summary:  /Users/acme/projects/acme/.turbo/runs/2Nn3X6nWDhP9ag8BnmivWRxHpHC.json

然後,您可以使用您最喜歡的 JSON 差異工具來比較摘要,以了解為何您獲得快取命中或快取未命中。

文件中了解更多資訊。

攜帶您自己的起始範本

create-turbo 現在支援從任何官方的Turborepo 範例開始新的專案。使用單一指令開始使用範例

終端機
npx create-turbo@latest -e kitchen-sink

在您的終端機 UI 中,選擇您偏好的套件管理器,而 create-turbo 將自動將選擇的範例轉換為您選擇的套件管理器。

此外,您可以將 create-turbo 與自訂儲存庫來源一起使用,讓您可以重複使用您自己的自訂起始範本或來自社群的其他起始範本

終端機
npx create-turbo -e https://github.com/your-org/turbo-starter

嚴格環境 實驗性

您現在可以使用 --env-mode=strict 標記來限制您的任務可存取的環境變數。您的任務只會知道您明確聲明的變數,從而建立更安全的快取環境。

strict 模式下,Turborepo 會將宣告在下列位置的環境變數傳遞給所有任務

./turbo.json
{
  // Available to all tasks
  "globalPassThroughEnv": ["GLOBAL_VAR_1"],
 
  // Available to all tasks and invalidates caches
  "globalEnv": ["GLOBAL_VAR_2"],
 
  "pipeline": {
    "build": {
      // Only available to `build` tasks
      "passThroughEnv": ["VAR_1"],
 
      // Available to `build` task and invalidates caches
      "env": ["VAR_2"]
    }
  }
}

strict 模式下,此設定只會將四個環境變數公開給您的 build 任務,協助您在開發過程中更早地發現遺失的變數。

--env-mode 也支援 looseinfer

文件中了解更多資訊。

社群

自從發布Turborepo v1.8 以來,我們看到了驚人的採用率和社群成長

Turborepo 是所有貢獻者(包括我們的核心團隊)共同努力的成果。

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