返回博客

Turborepo 1.9

2023 年 4 月 11 日,星期一
Greg Soltis
姓名
Greg Soltis
推特
@gsoltis
Nathan Hammond
姓名
Nathan Hammond
Tom Knickman
姓名
Tom Knickman
推特
@tknickman
Anthony Shew
姓名
Anthony Shew
推特
@anthonysheww
Jared Palmer
姓名
Jared Palmer
推特
@jaredpalmer
Mehul Kar
姓名
Mehul Kar
推特
@mehulkar
Chris Olszewski
姓名
Chris Olszewski
Nicholas Yang
姓名
Nicholas Yang
推特
@nicholaslyang
Alexander Lyon
姓名
Alexander Lyon
推特
@_arlyon

Turborepo 1.9 专注于改进任务运行的可观察性,以便更好地了解您的缓存行为

立即运行 npx @turbo/codemod migrate 进行更新。

查看和比较任务运行

您现在可以使用 --summarize 标志生成任务运行的 JSON 摘要

终端
turbo build --summarize

启用此标志后,Turborepo 将在 .turbo/runs/ 中生成一个摘要,其中包含所有必要的信息,以了解 turbo 如何解释您的任务配置和代码。

终端
Tasks:    3 successful, 3 total
Cached:   0 cached, 3 total
Time:     1.707s
Summary:  /Users/acme/projects/acme/.turbo/runs/2Nn3X6nWDhP9ag8BnmivWRxHpHC.json

然后,您可以使用您喜欢的 JSON 比较工具比较摘要,以了解为什么您获得了缓存命中或缓存未命中。

文档中了解更多信息。

自带启动器

create-turbo 现在支持从任何官方的 Turborepo 示例启动新项目。 使用单个命令开始使用示例

终端
npx create-turbo@latest -e kitchen-sink

在您的终端 UI 中,选择您首选的包管理器,create-turbo 将自动将选择的示例转换为您选择的包管理器。

此外,您可以将 create-turbo 与自定义存储库源一起使用,从而可以重用您自己的自定义启动器或来自社区的其他启动器

终端
npx create-turbo -e https://github.com/your-org/turbo-starter

严格环境 实验性

您现在可以使用 --env-mode=strict 标志来限制您的任务可以访问的环境变量。您的任务将仅知道您明确声明的变量,从而创建一个更安全的缓存环境。

strict 模式下,Turborepo 将传递以下声明的环境变量

./turbo.json
{
  // Available to all tasks
  "globalPassThroughEnv": ["GLOBAL_VAR_1"],
 
  // Available to all tasks and invalidates caches
  "globalEnv": ["GLOBAL_VAR_2"],
 
  "pipeline": {
    "build": {
      // Only available to `build` tasks
      "passThroughEnv": ["VAR_1"],
 
      // Available to `build` task and invalidates caches
      "env": ["VAR_2"]
    }
  }
}

strict 模式下,此配置只会向您的 build 任务公开四个环境变量,帮助您在开发过程中更早地捕获丢失的变量。

--env-mode 还支持 looseinfer

文档中了解更多信息。

社区

自从发布 Turborepo v1.8 以来,我们看到了令人难以置信的采用和社区增长

Turborepo 是所有贡献者(包括我们的核心团队)共同努力的成果。

感谢您一直以来的支持、反馈和协作,使 Turborepo 成为您首选的构建工具。