Turborepo 1.12

2024年1月30日,星期二
Mehul Kar
姓名
Mehul Kar
X
@mehulkar
Tom Knickman
姓名
Tom Knickman
X
@tknickman
Greg Soltis
姓名
Greg Soltis
X
@gsoltis

Turborepo 1.12 添加了广受欢迎的社区请求功能和反馈改进,包括

在此版本中,我们还完成了向 Rust 迁移的清理工作,移除了 --go-fallback 标志,并将 turbo 二进制文件的大小相比 1.11 版本缩小了 58%。

立即运行 npx @turbo/codemod migrate 进行更新,或使用 npx create-turbo@latest 开始使用。

任务日志中的颜色

颜色是在用户界面中快速突出重要信息的好方法。开发工具通常使用绿色突出显示成功,黄色突出显示警告,红色突出显示错误。

A screenshot of a terminal running a `turbo` task with colors from the underlying shell logs.

在此版本中,我们现在默认在本地环境中显示来自底层任务的颜色。这是社区的热门请求,我们很高兴今天发布对 macOS 和 Linux 的支持。我们将在未来的版本中跟进 Windows 支持。

错误全面改进

开发者体验的一个重要部分是确保在出现问题时,能够清楚地知道如何回到正常状态。在此版本中,我们改进了来自 Turborepo 配置错误的错误消息。

A screenshot of a terminal attempting to run a `turbo` task but receiving an informative error that an unknown key `output`, was found in the `turbo.json` file.

在这个增强的 UI 中,我们

改进的 inputs 易用性

Turborepo 默认情况下智能地理解任务的输入。但在某些情况下,您可能希望在任务输入中包含或排除特定的文件或目录。

重要的是,在任务中使用 inputs 键会使您退出任务的所有默认输入,例如从输入中省略 .gitignore 文件。直到今天,您还必须通过自己创建 glob 模式来手动恢复这些默认设置。

今天,我们在 inputs 数组中使用 $TURBO_DEFAULT$ 作为特殊值。

turbo.json
{
  "pipeline": {
    "build": {
      "inputs": ["$TURBO_DEFAULT$", "!README.md", "!**.test.**"]
    }
  }
}

这种微语法允许您在使用习惯的 Turborepo 默认设置的同时,添加自己的自定义 glob 模式,以微调默认输入行为。

查看 inputs 文档了解更多信息。

遥测

Turborepo 在大约两年前发布,turbo 在过去两年中得到了显著发展。随着社区的壮大,您的反馈对于帮助我们专注于 Turborepo 用户最关心的内容具有不可估量的价值。

到目前为止,我们的反馈收集过程是手动的、缓慢的且容易出错的。虽然我们始终非常感谢用户提交 GitHub Issues、在 GitHub Discussions 中与我们交流以及在 Discord 中与社区聊天,但这些反馈仅捕捉到了 Turboverse 一小部分的看法。

今天,我们正在引入一种完全匿名的自动化反馈方法,以了解社区使用 Turborepo 的方式。当我们继续迭代 turbo 时,这些信息将帮助我们确保性能、确认稳定性、设计新功能并推动项目的方向。

我们正在创建未来的构建系统,这些信息对于指导我们在这方面的努力非常宝贵。有关更多信息,请访问 turbo.build/repo/docs/telemetry

如果您想选择退出遥测,请运行

终端
turbo telemetry disable

您也可以通过设置环境变量选择退出

其他改进

社区

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

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

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