升级
升级到 2.0
更新 turbo.json
运行以下命令开始从 1.x 升级到 2.0
这将更新你的 turbo.json
文件,以适应从 1.x 到 2.0 的许多重大更改。
此外,name
字段将被添加到工作区中任何没有该字段的 package.json
文件中。
须知:
你也可以手动单独运行每个 codemod。访问 codemods 页面 了解更多信息。
在根目录 package.json
中添加 packageManager
字段
packageManager
字段 是 Node.js 生态系统中的一个约定,用于定义工作区中预期使用的包管理器。
Turborepo 2.0 要求你的工作区定义此字段,以提高代码库的稳定性和行为可预测性。如果你还没有,请将此字段添加到你的根目录 package.json
中
更新 eslint-config-turbo
eslint-config-turbo
帮助识别需要添加到 env
键中的环境变量以进行缓存。如果你正在使用它,请确保将其更新为与你的主要版本匹配。
更新 turbo run
命令
Turborepo 2.0 包括 turbo run
命令的行为和正确性改进。下面列出了更改摘要,这些更改可能对你的代码库有影响,也可能没有影响
- 环境变量的严格模式现在是默认模式,取代了宽松模式 (PR)
- → 如果你的任务中的脚本似乎缺少环境变量,你可以使用
--env-mode
选项 在每个命令的基础上选择退出此行为以进行增量迁移。我们鼓励你更新任务中的env
键 以包含其所有环境变量,以便你尽快删除--env-mode
选项。
- → 如果你的任务中的脚本似乎缺少环境变量,你可以使用
- 工作区根目录现在是所有包的隐式依赖项 (PR)
--ignore
已删除,取而代之的是--filter
和下面的图正确性更改 (PR)- 删除了
--scope
标志(自 1.2 版本起已弃用)(PR) - 根目录
package.json
中的engines
字段现在用于哈希计算 (PR) --filter
不再为包名称推断命名空间 (PR)- 当没有匹配的包名称或目录时,
--filter
现在会报错 (PR) --only
限制任务依赖项而不是包依赖项 (PR)