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 中构建诸如验证和自动错误修复 codemod 之类的功能,以实现更好的稳定性。
- 作为下一个版本的特性,我们快速迭代了增强 monorepo 中的错误消息,为您提供关键信息以查找错误配置的根源。
- 由于 Rust 迫使我们比 Go 更密切地思考平台和环境之间的差异,因此我们能够更快地捕获可能的平台相关错误。这种更深入的可靠性从您的存储库中消除了一整类可能的错误。
如果您发现任何您认为与新的 Rust 代码路径相关的问题,您可以使用 --go-fallback
标志选择回退到 Go 代码路径,并在 GitHub 上报告问题。
分组日志以提高可读性
为了更轻松地查看您的任务日志,我们引入了 --log-order
标志,以便在任务完成后而不是写入时输出任务的所有日志。这使得日志按任务分隔,提高了特定任务日志的可读性。


使用 --log-order=grouped
启用此行为。查看文档以了解更多信息
更新的示例
我们的存储库包含一个示例目录
,其中包含您的项目的入门级 monorepo。
要开始使用示例,请运行
我们正在重新努力确保我们的示例保持最新。此外,我们还重新设计了示例的架构,以倡导 monorepo 中的最佳实践。例如
- 跨包编辑器内跳转到定义
- 依赖项已更新到最新版本
- 预配置了 ESLint、Prettier、jest 和 vitest 等工具
- 跨包热重载
社区
自从发布 Turborepo 1.10 以来,我们看到了令人难以置信的采用率和社区增长
- 超过 2.36 万个 GitHub 星星
- 每周超过 180 万次 NPM 下载
- 通过 Vercel 上的远程缓存节省了 206 年的计算时间
Turborepo 是包括我们的核心团队在内的所有贡献者共同努力的成果。
感谢您持续的支持、反馈和协作,使 Turborepo 成为您的首选构建工具。