升级
升级到 2.0
更新 turbo.json
通过运行以下命令开始从 1.x 升级到 2.0:
这将更新您的 turbo.json
文件,以适应从 1.x 到 2.0 的许多重大更改。
此外,如果工作区中任何 package.json
没有 name
字段,则会添加该字段。
须知
您也可以手动单独运行每个代码修改器。访问代码修改器页面了解更多信息。
向根 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)
这有帮助吗?