Turborepo 2.3
Turborepo 2.3 引入多项人体工程学改进
立即运行 npx @turbo/codemod migrate
进行更新,或使用 npx create-turbo@latest
开始使用。
边界 RFC
Monorepo 解锁了更快的迭代速度和令人难以置信的灵活性,但也引入了新的挑战
- 我们如何确保包的公共 API 得到尊重?
- 我们如何向所有开发者传达代码可以在哪里使用和不能在哪里使用?
- 我们如何确保包仅在正确的上下文中使用?
这些只是在构建 Monorepo 时一个关键问题的几个例子:我们如何沟通和加强工作区结构完整性?
在发布此帖子时,“边界 RFC” 仅为初步草案。下面描述的实现可能会发生变化。有关最新信息,请参阅 RFC 本身。
边界 RFC 是我们针对此问题的初步提案。在我们当前的方法中,我们希望您能够以一行代码增量采用边界
此外,我们希望创建一个标记系统,以便您可以使用自定义边界标记域、关注点、上下文和其他有用的元数据。
我们还计划让您能够使用标志来允许列出现有的诊断
这样,您可以为新代码强制执行边界,并逐步修复现有问题。
我们期待听到您对 边界 RFC 的想法和反馈。
包任务快捷方式
您现在可以使用完全限定的任务标识符运行任务
这比使用 --filter
的等效命令 (turbo run build --filter=web
) 更方便,并且如果您有多个要定位的任务,则可以提高精度
简化的缓存控制
以前,--remote-only
和 --no-cache
标志用于管理输出工件的来源和缓存。但是,我们已经看到它们可能会引起混淆,并且在读取和写入本地和远程缓存方面存在控制方面的差距。
为了改进这一点,我们引入了一个新的 --cache
标志,它将这些标志结合在一起 - 并提供了更强大的功能。
使用 local
和 remote
,您可以控制 turbo
调用的读取和写入行为。在文档中了解更多信息。
持续改进 turbo query
在 2.2 中,我们引入了 turbo query
,这是一个旨在利用 Turborepo 对您的包和任务图的了解来检查您的存储库的功能。我们进一步迭代了此功能,为您提供更强大的查询
- 实现了反向文件追踪,以查找哪些文件依赖于特定文件
- 用于文件追踪的过滤器,以查找仅类型依赖项
- 您提供的包名称现在经过验证,以确保它们存在
社区
自从发布 Turborepo 2.2 以来,我们看到了巨大的采用率和社区增长
- 26.3+ GitHub 星星
- 每周 NPM 下载量超过 340 万次
- 使用 Vercel 远程缓存 节省了 496 年的计算时间
Turborepo 是其所有贡献者(包括我们的核心团队:Anthony、Chris、Nicholas 和 Tom)共同努力的成果。
感谢您的持续支持、反馈和协作,使 Turborepo 成为您的首选构建工具。