Turborepo 1.5
Turborepo 1.5 是一个 在我们的文档和 DX 方面的巨大飞跃,并且为 turbo prune
带来了重大改进
- Monorepo 手册:我们为你的 Monorepo 构建了缺失的手册 - 关于工作区、代码共享、集成常用工具等等的指南。
- 移除
run
:turbo run <task>
现在可以缩短为turbo <task>
turbo prune
现在支持 pnpm 和 yarn 2+:在pnpm
和yarn@berry
中现在支持修剪你的 monorepo。- 改进了
turbo.json
中的环境变量:环境变量现在是 Turborepo 管道配置中的一等公民。 package.json
哈希值的更改:我们改进了在运行任务时如何哈希package.json
。
立即运行 npm install turbo@latest
更新。
Monorepo 手册
首次设置 monorepo 通常意味着要了解许多新概念。你需要理解工作区、包安装、代码共享和依赖管理 - 以及更多。
这通常意味着想要从头开始设置 monorepo 的人们不得不从不同的文档站点拼凑信息。先是 pnpm
,然后是 tsup
,然后回到 changesets
,最后回到 Turborepo 作为甜点。
我们希望通过 Monorepo 手册 填补这个空白。我们构建了关于如何集成你所需的所有工具以使用你的 monorepo 完成交付的指南,包括关于以下内容的指南
移除 run
你现在可以使用 Turborepo CLI 和 turbo <task>
运行任务。
如果你的任务名称与内置的 turbo
子命令冲突,我们将运行我们的子命令。这意味着你不应该将你的任务命名为 prune
、run
或 login
之类的名称 - 因为这些是内置的子命令。
turbo run <task>
将继续工作,并且没有计划弃用它。
Prune 现在支持 pnpm 和 yarn 2+
我们很高兴地宣布 turbo prune
现在支持 pnpm、yarn 和 yarn 2+。
你可以使用 turbo prune
创建 monorepo 的修剪子集,其中包含专用的 lockfile--以及给定目标应用程序及其依赖项所需的正确依赖项。这对于在 Docker 镜像中高效使用 Turborepo 特别有用。
作为新手册的一部分,我们还在关于使用 turbo prune
来构建 docker 镜像的部分中添加了一个章节。
查看我们之前的关于 prune 的博客以了解更多信息。
turbo.json
中的环境变量
我们在 turbo.json
中引入了两个新键 - env
和 globalEnv
。这些允许独立于任务配置环境变量


globalEnv
和 env
允许你指定不带 $
前缀的环境变量列表。这使得配置文件更易于阅读。在我们更新的文档中阅读更多内容。
为了帮助从以前的语法迁移,我们准备了一个 codemod。你可以运行 npx @turbo/codemod migrate-env-var-dependencies
。
这项工作建立在我们于 1.4.0 版本中添加的自动环境变量检测之上。
package.json
哈希值的更改
每个工作区中的 package.json
文件现在始终被视为该工作区中任务的输入。这意味着,如果你更改了 package.json
中任务的定义,我们希望使来自先前定义的任何缓存失效。
这也适用于根目录中的 package.json
。对根 package.json
的更改将使根工作区中的任务失效。
这有助于使 Turborepo 的缓存更智能一些,并且在任务定义更改时不太可能出错。
社区
自从 8 月发布 Turborepo v1.4 以来,我们已经看到了令人难以置信的采用和社区增长
- 9.5k+ GitHub 星星
- 每周 44 万次 NPM 下载
- 通过 Vercel 上的远程缓存节省了 15 年的计算时间,每周节省超过 1 年,自 7 月以来增长了 2 倍
Turborepo 是我们所有贡献者(包括我们的核心团队)共同努力的成果。
此版本由以下贡献者贡献:@7flash, @afady, @alexander-young, @atilafassina, @bguedes-moz, @bobaaaaa, @brunojppb, @chris-olszewski, @DoctorJohn, @erj826, @futantan, @gsoltis, @HosseinAgha, @ivov, @jaredpalmer, @joelhooks, @knownasnaffy, @laurentlucian, @leerob, @MarceloAlves, @mattpocock, @mauricekleine, @mehulkar, @Misikir, @nareshbhatia, @nathanhammond, @pakaponk, @PhentomPT, @renovate, @ruisaraiva19, @samuelhorn, @shemayas, @shuding, @t-i-0414, @theurgi, @tknickman, @yanmao-cc, 以及更多!
感谢您持续的支持、反馈和协作,使 Turborepo 成为您的首选构建工具。