Turborepo 1.5
Turborepo 1.5 是我們的文件和開發者體驗(DX)的一大進步,同時也為 turbo prune
帶來了重大改進
- Monorepo 手冊:我們為您的 Monorepo 建構了缺失的手冊 - 一本關於工作區、程式碼共享、整合常用工具等的指南。
- 移除
run
:turbo run <task>
現在可以簡化為turbo <task>
turbo prune
現在支援 pnpm 和 yarn 2+:現在pnpm
和yarn@berry
中都支援修剪您的 Monorepo。- 改進了
turbo.json
中的環境變數:環境變數現在是您的 Turborepo 管線配置中的一等公民。 package.json
雜湊的變更:我們改進了在執行任務時如何雜湊package.json
。
立即執行 npm install turbo@latest
更新。
Monorepo 手冊
首次設定 Monorepo 通常意味著要瀏覽許多新概念。您需要了解工作區、套件安裝、程式碼共享和依賴管理 - 以及更多內容。
這通常意味著想要從頭開始設定 Monorepo 的人們必須從不同的文件網站收集資訊。先是 pnpm
,然後是 tsup
,然後回到 changesets
,最後再回到 Turborepo。
我們希望透過 Monorepo 手冊 來填補這個空白。我們建立了如何整合所有您需要用 Monorepo 完成工作的工具的指南,包括以下指南:
移除 run
您現在可以使用 Turborepo CLI 透過 turbo <task>
執行任務。
如果您的任務名稱與內建的 turbo
子命令衝突,我們將改為執行我們的子命令。這表示您不應該將任務命名為 prune
、run
或 login
之類的名稱,因為這些是內建的子命令。
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
中引入了兩個新索引鍵 - env
和 globalEnv
。這些允許與任務分開配置環境變數
globalEnv
和 env
允許您指定沒有 $
前綴的環境變數清單。這使得設定檔更容易閱讀。請在我們更新的文件中閱讀更多內容。
為了協助從先前的語法移轉,我們準備了一個 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 以來,我們看到了驚人的採用率和社群成長
- 超過 9.5k+ 個 GitHub 星星
- 每週 44 萬次 NPM 下載
- 透過 Vercel 上的遠端快取節省了 15 年的運算時間,每週節省超過 1 年,自 7 月以來增加了 2 倍
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 成為您首選的建置工具。