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 的遠端快取在您的所有機器之間共用單一快取,因此您永遠不必重複執行相同的工作。但是,如果您可以完全忽略未變更的套件呢?

您現在可以將 --affected 標記與 turbo run 一起使用,以自動鎖定在您目前分支的最新提交與儲存庫的預設分支(通常為 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 體驗具有獨特的挑戰,我們將繼續迭代此體驗。感謝您持續提供回饋意見,因為我們會繼續努力為 monorepo 建立出色的 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 成為您首選的建置工具。