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 成為您首選的建置工具。