返回博客

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.

在这个增强的用户界面中,我们正在

改进的 inputs 人体工程学

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

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

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

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

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

查看 inputs 文档以获取更多信息。

遥测

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

到目前为止,我们的反馈收集过程是手动、缓慢且容易出错的。虽然我们始终高度赞赏提交 GitHub 问题、在 GitHub 讨论中与我们交谈以及在 Discord 中与社区聊天的用户,但这些反馈仅捕捉到了 Turboverse 的一小部分的观点。

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

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

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

终端
turbo telemetry disable

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

其他改进

社区

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

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

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