编辑器集成

为了获得最佳的 turbo 使用体验,Turborepo 提供了一些用于编辑器集成的工具。

turbo.json 的 JSON Schema

Turborepo 使用 JSON Schema 为你的 turbo.json 文件提供自动完成功能。通过在 turbo.json 中包含 $schema 键,你的编辑器能够在你有无效的结构或缺失键时提供完整的文档和检查。

从网络获取

schema.json 可以在下面显示的 URL 中访问。这样的优势是不需要运行包管理器的安装命令就能看到编辑器内的验证。

Turborepo logo
./turbo.json
{
  "$schema": "https://turbo.build/schema.json"
}

还有一个主要版本的 schema.json 可用,格式为 https://turbo.build/schema.<version>.json

Turborepo logo
./turbo.json
{
  "$schema": "https://turbo.build/schema.v1.json"
}

从 node_modules 获取

从 Turborepo 2.4 开始,一旦你运行了包管理器的安装命令,schema.json 就可以在 node_modules 中使用:

Turborepo logo
turbo.json
{
  "$schema": "./node_modules/turbo/schema.json"
}

node_modules 位置

我们建议在仓库根目录安装 turbo,因此 schema 的路径应该指向仓库根目录的 node_modules。 在 包配置 中,你可能需要使用类似 ../../node_modules/turbo/schema.json 的路径。

环境变量的检查

处理环境变量是在 Turborepo 中构建应用程序的重要部分。

eslint-config-turbo扩展了你的 ESLint 设置,帮助你确保已经处理了所有环境变量。

Turborepo LSP

启用比 JSON Schema 提供更多的自动完成和检查功能,包括编辑器内对无效 glob、对不存在任务或包的引用的提示,以及额外的仓库可视化工具。

访问 VSCode Extension Marketplace 进行安装。

不使用 Visual Studio Code?

语言服务器可以在任何支持 语言服务器协议 的编辑器上使用。 在我们的 问题追踪器 中记录请求以表达你的兴趣。

发布阶段

Turborepo 的稳定版本遵循语义版本控制(semver)并在发布前经过彻底测试。

Turborepo 还提供了一些可能在较早开发阶段发布的特定 API。这是为了让早期采用者能够提供有价值的反馈,并帮助核心团队在 API 稳定发布之前对其建立信心。在可能的情况下,预稳定版本的 API 将在文档中和 turbo 本身中标记。

并非每个 API 都会在每个阶段发布。我们根据对功能的信心,权衡功能的复杂性、可能的用例以及早期用户的反馈等因素,来判断 API 的阶段。

Turborepo 核心团队要感谢任何早期使用功能的用户,并对你提供的任何反馈表示感谢。

稳定版

当 API 达到稳定性时,它被认为可以在生产环境中使用。标记为稳定的 API 只会在主要版本中以向后兼容的方式更改。

  • 如果稳定的 API 在即将发布的主要版本中有破坏性更改,将提供警告和文档以帮助迁移和下一步操作。
  • 如果稳定的 API 将在即将发布的主要版本中被移除,它将被标记为已弃用以提供早期移除通知。

Beta 版

Beta API 在稳定版本发布之前需要更多关于可靠性的信心。在 Beta 阶段,我们对功能的整体设计有信心,并期望能够在相对较少的更改下将功能提升为稳定版。在罕见的情况下,API 可能需要破坏性更改,并且不会受到 semver 的约束。

我们鼓励早期采用者使用 Beta API 来帮助我们确定功能的设计和稳定性。根据你的风险承受能力,你可以根据需要在生产环境中使用该功能。

目前处于 Beta 阶段的 API:

实验版

实验性 API 缺乏准备稳定所需的基本功能。该功能的设计被认为正在积极开发中,可以随时更改。

我们鼓励你在副项目、概念验证和其他不需要稳定性的环境中帮助我们测试实验性 API。这让你有机会在功能开发过程中通过向核心团队提供早期反馈来帮助 API 的开发。我们不建议在需要可靠性的地方使用实验性 API。

目前处于实验阶段的 API:

已弃用

已弃用的 API 正在被移除的过程中。任何我们打算移除的功能都将包含文档,为现有用户提供下一步操作和预期功能移除时间的信息。

目前已弃用的 API: