返回部落格

Turborepo 1.5

2022 年 9 月 19 日,星期一
Matt Pocock
姓名
Matt Pocock
X
@mattpocockuk
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

Turborepo 1.5 是我們的文件和開發者體驗(DX)的一大進步,同時也為 turbo prune 帶來了重大改進

立即執行 npm install turbo@latest 更新。

Monorepo 手冊

首次設定 Monorepo 通常意味著要瀏覽許多新概念。您需要了解工作區、套件安裝、程式碼共享和依賴管理 - 以及更多內容。

這通常意味著想要從頭開始設定 Monorepo 的人們必須從不同的文件網站收集資訊。先是 pnpm,然後是 tsup,然後回到 changesets,最後再回到 Turborepo。

我們希望透過 Monorepo 手冊 來填補這個空白。我們建立了如何整合所有您需要用 Monorepo 完成工作的工具的指南,包括以下指南:

移除 run

您現在可以使用 Turborepo CLI 透過 turbo <task> 執行任務。

終端機
- turbo run build
+ turbo build
 
 
- turbo run lint build test
+ turbo lint build test

如果您的任務名稱與內建的 turbo 子命令衝突,我們將改為執行我們的子命令。這表示您不應該將任務命名為 prunerunlogin 之類的名稱,因為這些是內建的子命令。

turbo run <task> 將會繼續運作,而且沒有計劃要棄用它。

Prune 現在支援 pnpm 和 yarn 2+

我們很高興地宣布 turbo prune 現在支援 pnpm、yarn 和 yarn 2+。

您可以使用 turbo prune 來建立您的 Monorepo 的修剪子集,其中包含專用的鎖定檔,以及給定目標應用程式及其依賴項所需的正確依賴項。這對於在 Docker 映像中有效率地使用 Turborepo 特別有用。

作為新版手冊的一部分,我們還新增了一個關於使用 turbo prune建置 Docker 映像的章節。

請查看我們之前的關於 prune 的部落格以了解更多資訊。

turbo.json 中的環境變數

我們在 turbo.json 中引入了兩個新索引鍵 - envglobalEnv。這些允許與任務分開配置環境變數

turbo.json
{
  "globalDependencies": [
-   "$DATABASE_URL"
  ],
+ "globalEnv": [
+   "DATABASE_URL"
+ ],
  "pipeline": {
    "build": {
      "dependsOn": [
-       "$BUILD_ENV"
      ],
+     "env": [
+       "BUILD_ENV"
+     ]
    }
  }
}

globalEnvenv 允許您指定沒有 $ 前綴的環境變數清單。這使得設定檔更容易閱讀。請在我們更新的文件中閱讀更多內容。

為了協助從先前的語法移轉,我們準備了一個 codemod。您可以執行 npx @turbo/codemod migrate-env-var-dependencies

這項工作建立在我們在 1.4.0 版本中新增的自動環境變數偵測基礎之上。

package.json 雜湊的變更

現在,每個工作區中的 package.json 檔案永遠會被視為該工作區中任務的輸入。這表示,如果您變更 package.json 中任務的定義,我們希望使先前定義中的任何快取失效。

這也適用於根目錄中的 package.json。對根目錄 package.json 所做的變更將會使根工作區中的任務失效。

這有助於使 Turborepo 的快取更聰明一些,並且在任務定義變更時比較不容易出錯。

社群

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

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

本次發布由以下人員的貢獻促成:@7flash、@afady、@alexander-young、@atilafassina、@bguedes-moz、@bobaaaaa、@brunojppb、@chris-olszewski、@DoctorJohn、@erj826、@futantan、@gsoltis、@HosseinAgha、@ivov、@jaredpalmer、@joelhooks、@knownasnaffy、@laurentlucian、@leerob、@MarceloAlves、@mattpocock、@mauricekleine、@mehulkar、@Misikir、@nareshbhatia、@nathanhammond、@pakaponk、@PhentomPT、@renovate、@ruisaraiva19、@samuelhorn、@shemayas、@shuding、@t-i-0414、@theurgi、@tknickman、@yanmao-cc 和更多人!

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