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

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

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