Turborepo 1.11
2023年12月5日,星期二
Turborepo 1.11 完成了向 Rust 的迁移,并发布了多项开发者体验改进
- 我们新的基于 Rust 的基础:我们已经完成了从 Go 的移植,为更好的性能、更高的稳定性和新功能奠定了基础。
- 分组日志以提高可读性:现在,您可以指定
--log-order=grouped
将日志组织成由任务分隔的不同的部分。 - 更新的示例:从 Next.js、Svelte、Remix、Nuxt 等的示例开始。
立即运行 npx @turbo/codemod migrate
进行更新。
使用 Rust 解锁 turbo
的未来
正如我们在关于迁移的博文中写到的那样,我们很高兴看到 Turborepo 用户从我们的移植工作中获益。Rust 使我们能够在我们的代码中呈现更多的复杂性,因此我们能够以多种方式在您的代码库中创建更好的体验
- 我们注意到,即使我们的代码还没有进行太多性能调优,在某些用例中,性能也立即得到了轻微的提升。我们期待着深入研究,以便尽快让
turbo
更快。 - 我们能够将 globbing、路径和编码支持的偶然行为转移到经过测试和支持的行为,使我们更有信心能够按照预期处理您的配置。展望未来,我们将能够在 Turborepo 中构建诸如验证和自动错误修复 codemods 等功能,以实现更好的稳定性。
- 我们快速迭代以增强单体仓库中的错误消息,作为下一个版本的功能,为您提供查找配置错误的来源的关键信息。
- 我们能够更快地捕获可能与平台相关的错误,因为 Rust 迫使我们比 Go 更仔细地考虑平台和环境之间的差异。这种更高的可靠性从您的存储库中消除了整整一类可能的错误。
如果您发现任何您认为与新的 Rust 代码路径相关的问题,您可以使用 --go-fallback
标志选择返回到 Go 代码路径,并在 GitHub 上报告问题。
分组日志以提高可读性
为了更容易地查看您的任务日志,我们引入了 --log-order
标志,以便在任务完成后输出该任务的所有日志,而不是在写入时输出。这使得日志按任务分隔,提高了特定任务日志的可读性。
使用 --log-order=grouped
启用此行为。查看文档了解更多信息
更新的示例
我们的存储库包含一个示例目录
,其中包含您的项目的起始单体仓库。
要开始使用示例,请运行
我们正在努力确保我们的示例保持最新。此外,我们还重新设计了示例,以提倡单体仓库的最佳实践。例如
- 跨包的编辑器内跳转定义
- 依赖项更新到最新版本
- 像 ESLint、Prettier、jest 和 vitest 这样的工具已预先配置
- 跨包的热重载
社区
自从发布Turborepo 1.10以来,我们看到了令人难以置信的采用率和社区增长
- 23.6k+ GitHub Stars
- 每周 180 万+ NPM 下载量
- 通过在 Vercel 上进行远程缓存节省了 206 年的计算时间
Turborepo 是其所有贡献者(包括我们的核心团队)共同努力的结果。
感谢您一直以来的支持、反馈和协作,使 Turborepo 成为您首选的构建工具。