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 中,以实现更好的稳定性。
- 我们已迅速迭代增强错误消息,作为下一个版本的功能,为您提供查找错误配置来源的关键信息。
- 我们能够更早地发现可能的平台相关错误,因为 Rust 迫使我们比 Go 更密切地思考平台和环境之间的差异。这种深化的可靠性从您的仓库中消除了整个类别的可能错误。
如果您发现任何您认为与新的 Rust 代码路径相关的问题,您可以使用 --go-fallback 标志选择回 Go 代码路径,并在 GitHub 上报告问题。
分组日志以提高可读性
为了更容易查看您的任务日志,我们引入了 --log-order 标志,用于在任务**完成后**输出该任务的所有日志,而不是在写入时输出。这将使日志按任务分隔,提高了特定任务日志的可读性。


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