返回部落格

Turborepo 2.1

2024 年 8 月 27 日,星期二
Tom Knickman
姓名
Tom Knickman
X
@tknickman
Anthony Shew
姓名
Anthony Shew
X
@anthonysheww
Chris Olszewski
姓名
Chris Olszewski
Nicholas Yang
姓名
Nicholas Yang
X
@nicholaslyang
Dimitri Mitropoulos
姓名
Dimitri Mitropoulos

Turborepo 2.1 改善了與您的程式碼庫的整合,並具有以下功能:

立即執行 npx @turbo/codemod migrate 來更新,或使用 npx create-turbo@latest 來開始使用。

使用 --affected 執行已變更套件的任務

Turborepo 的遠端快取會在您的所有機器之間共用單一快取,因此您永遠不必重複執行相同的工作。但是,如果您可以完全忽略未變更的套件,那會怎麼樣呢?

您現在可以使用 turbo run--affected 旗標,自動鎖定目前分支的最新提交與您程式碼庫的預設分支(通常是 mainmaster)之間有變更的套件。turbo 會使用您的套件圖表來確保為直接變更或內部相依性變更的套件執行任務。

終端機
turbo run lint test --affected

您會在以下情況下使用此旗標:

若要了解更多資訊,請瀏覽文件

程式碼庫探索工具

隨著程式碼庫的成長和變更,可能難以快速找到您要尋找的內容。我們希望快速顯示您的任務、套件及其關係,以更快、更輕鬆地了解您的程式碼庫。

turbo run

使用 turbo run (不含任務引數)來取得程式碼庫中可用任務的清單。此命令也適用於篩選器自動套件範圍設定

終端機
# List all tasks in the repository
turbo run
 
# List tasks in a specific package
turbo run --filter=@repo/ui
 
# Using Automatic Package Scoping
cd packages/ui && turbo run

瀏覽文件以了解更多資訊。

turbo ls

使用 turbo ls 來取得程式碼庫中所有套件及其位置的清單,或篩選至特定套件以查看其內部相依性和任務的摘要。turbo ls 也支援 --filter--affected,讓您可以輕鬆收集變更的套件清單。

終端機
# List all packages in the repository
turbo ls
 
# List dependencies and tasks for the `web` package
turbo ls web
 
## List affected packages
turbo ls --affected

turbo ls 支援實驗性的 --output 旗標,可用於以特定格式傳回結果。例如,--output=json 可用於更輕鬆地為其他工具或自訂腳本建立輸入。如果您先前使用 turbo build --dry=json 來擷取變更的套件清單,請嘗試 turbo ls --affected --output=json。請瀏覽文件以取得更多資訊,並在 turbo ls RFC 上留下有關輸出格式的意見回饋。

瀏覽文件以了解更多資訊。

終端 UI 改善

在 Turborepo 2.0 中,我們發布了新的終端 UI,以提高日誌的清晰度,並允許在本地開發中進行互動式任務。我們聽取了您的意見回饋,並優先調整此 UI,在 2.0 的修補程式和此 2.1 版本中發布了改進。

建立優質的終端 UI 體驗具有獨特的挑戰,我們將繼續反覆調整此體驗。我們感謝您持續的意見回饋,因為我們將繼續努力為單一程式碼庫建立優質的 UI。

擴展的組態選項

在此版本中,我們將更多金鑰新增至 turbo.json,以便為您程式碼庫的預設值提供更大的彈性。以下金鑰是此版本中的新增內容

turbo.json
{
  "envMode": "loose",
  "daemon": false,
  "cacheDir": "./my-custom-directory/"
}

您可能在許多或所有 turbo 叫用中使用了這些組態的旗標對等項目,並在程式碼庫中散佈了類似以下的命令:

終端機
turbo run build --env-mode=loose --no-daemon --cache-dir=./my-custom-directory

現在可以使用 Turborepo 現有的組態模型在 turbo.json 中集中組態來簡化這些命令

若要了解更多關於可用選項和組態的資訊,請瀏覽文件

其他改進

請在 vercel/turborepo 查看完整變更記錄。

社群

自發布 Turborepo 2.0 以來,我們看到了令人難以置信的採用率和社群成長

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

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