Turborepo 1.5
Turborepo 1.5 在文档和开发者体验方面取得了巨大的飞跃,同时也为 turbo prune
带来了重大改进。
- Monorepo 手册:我们为您的 monorepo 构建了缺失的手册 - 一份关于工作区、代码共享、集成常用工具等的指南。
- 去除
run
:turbo run <任务>
现在可以缩短为turbo <任务>
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 <任务>
通过 Turborepo CLI 运行任务。
如果您的任务名称与内置的 turbo
子命令冲突,我们将运行我们的子命令。这意味着您不应该将您的任务命名为 prune
、run
或 login
之类的名称,因为这些是内置的子命令。
turbo run <任务>
将继续工作,并且没有计划弃用它。
Prune 现在支持 pnpm 和 yarn 2+
我们很高兴地宣布 turbo prune
现在支持 pnpm、yarn 和 yarn 2+。
您可以使用 turbo prune
创建 monorepo 的修剪子集,该子集具有专用的锁定文件,其中包含给定目标应用程序及其依赖项所需的正确依赖项。这对于在 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 Star
- 每周 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 成为您首选的构建工具。