Turborepo 1.5
Turborepo 1.5 是我们在文档和开发者体验方面迈出的一大步,同时也为 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
你现在可以使用 turbo <task>
通过 Turborepo CLI 运行任务。
如果你的任务名称与内置的 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 成为您构建工具的首选。