跳过到主要内容

从 toolkit 迁移

@grafana/toolkit 工具现已弃用。如果您仍在使用 @grafana/toolkit 来搭建和开发插件,请遵循本指南迁移到我们最新的插件工具。

警告

我们的插件工具使用 ReactJS。我们不支持使用 Angular 编写的插件。

迁移到 create-plugin 工具的优势

  • 更灵活:使用 create-plugin,您可以更灵活地控制插件及其依赖项。这种额外的控制使得定制工具以满足您的特定需求变得更加容易。
  • 开发速度更快:凭借其开箱即用的开发环境,create-plugin 与使用 grafana-toolkit 相比,可以显著缩短开发时间。
  • 改进的测试能力:通过 create-plugin 的 GitHub 工作流程,您可以轻松测试插件,该工作流程会在您将更改推送到 GitHub 时自动运行单元测试和端到端测试。
  • 技术支持:grafana-toolkit 工具已弃用,不再由 Grafana 提供支持。
  • 更好的文档:create-plugin 的文档比 grafana-toolkit 更全面且更容易查找。

将您的插件迁移到 create-plugin

  1. 备份所有当前文件。我们建议您将插件代码存储在 Git 仓库中,并在干净的分支上运行命令,以便您可以轻松识别迁移命令所做的更改。

  2. 在现有插件的根目录(即 package.json 文件所在的位置)中,运行以下命令。

npx @grafana/create-plugin@latest migrate
  1. 按照出现的提示进行操作。有关每个潜在提示的详细信息,请参阅下面的列表。

提示

运行 migrate 命令时,会出现以下提示。由于它们具有破坏性,因此提示的默认值为 no

以下文件将被覆盖。是否要继续?

选择 y 以替换插件目录中的以下文件和文件夹,如果它们不存在则创建它们

myplugin-directory/
├── .config/
├── .eslintrc
├── .nvmrc
├── .prettierrc.js
├── docker-compose.yaml
├── jest-setup.js
├── jest.config.js
└── tsconfig.json

以下文件是必需的。我们可以为您搭建吗?

选择 y 以确保插件目录中存在 CHANGELOG.md 文件。

以下文件可能不再需要了。您同意我们将其删除吗?

选择 y 以删除插件目录中的以下文件和文件夹

myplugin-directory/
├── Dockerfile
├── docker-compose.yml
├── webpack/
├── .webpack/
└── .prettierrc

您想更新 package.json 中的以下依赖项吗?

选择 y 以更新提示中列出的所有 npm 依赖项。该命令特意避免更新 @grafana 的 npm 依赖项,以减少迁移期间潜在的冲突。

您想移除以下可能不必要的 NPM 依赖项吗?

选择 y 以删除在 package.json 中找到的以下 npm 依赖项

{
"devDependencies": {
- "ts-loader": "*",
- "babel-loader": "*",
- "@grafana/toolkit": "*"
}
}

您想更新 package.json 中的脚本吗?所有使用 grafana-toolkit 的脚本都将被替换。

此步骤会更新 package.json 文件中的任何 npm 脚本以匹配最新的配置。以前使用 grafana-toolkit 的任何脚本都将被替换。

后续步骤

迁移命令运行完成后,请按照以下步骤操作

  1. 检查已引入的更改,然后安装前端依赖项。

  2. 运行 package.json 中的每个 npm 脚本,确认插件可以构建、测试和签名。

如果插件对 toolkit 配置(例如 webpack)进行了自定义,请参阅扩展配置了解如何更新它们。

如果插件可以构建,但 Jest 测试有问题,请参阅有关 es 模块的Jest 高级配置问题。

如需其他问题的帮助,请通过 Slack社区论坛联系我们。