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 增加了社区热门请求的功能和反馈改进,包括:

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

立即运行 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 模式来手动恢复这些默认值。

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

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

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

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

遥测

Turborepo 发布至今已近两年,turbo 在过去两年中发展显著。随着社区的壮大,您的反馈对于帮助我们专注于 Turborepo 用户最关心的事项具有不可估量的价值。

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

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

我们正在创建未来的构建系统,这些信息将对指导我们完成这项工作非常有价值。有关更多信息,请访问 turborepo.com/docs/telemetry

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

终端
turbo telemetry disable

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

其他改进

社区

自发布 Turborepo 1.11 以来,我们看到了惊人的采用和社区增长

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

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