从 toolkit 迁移
@grafana/toolkit
工具现已弃用。如果您仍在使用 @grafana/toolkit
来搭建和开发插件,请按照本指南跳转到我们最新的插件工具。
警告
我们的插件工具使用 ReactJS。我们不支持使用 Angular 编写的插件。
迁移到 create-plugin
工具的优势
- 更灵活: 使用
create-plugin
,您可以更好地控制您的插件及其依赖项。额外的控制转化为更容易地自定义工具以适应您的特定需求。 - 更快的开发速度: 凭借其开箱即用的开发环境,与使用
grafana-toolkit
相比,create-plugin
可以显著缩短开发时间。 - 改进的测试能力: 通过
create-plugin
GitHub 工作流程轻松测试插件,这些工作流程可在您将更改推送到 GitHub 时自动运行单元测试和 e2e 测试。 - 技术支持:
grafana-toolkit
工具已被弃用,Grafana 不再提供支持。 - 更好的文档:
create-plugin
的文档比grafana-toolkit
更全面且更容易查找。
将您的插件迁移到 create-plugin
-
执行所有当前文件的备份。我们建议您将插件代码存储在 Git 存储库中,并在干净的分支上运行命令,以便您可以轻松识别迁移命令所做的更改。
-
在现有插件的根目录(
package.json
文件所在的目录)中,运行以下命令。
- npm
- Yarn
- pnpm
npx @grafana/create-plugin@latest migrate
yarn dlx @grafana/create-plugin@latest migrate
pnpm dlx @grafana/create-plugin@latest migrate
- 按照出现的提示操作。有关每个可能提示的详细信息,请参阅下面的列表。
提示
运行 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
的任何脚本都将被替换。
下一步
当迁移命令运行完成后,请按照以下步骤操作
-
检查引入的更改,然后安装前端依赖项。
-
运行
package.json
中的每个 npm 脚本,以确认插件可以构建、测试和签名。
如果插件对 toolkit 配置进行了自定义(例如,webpack),请参阅扩展配置以了解如何更新它们。
如果插件可以构建,但 Jest 测试出现问题,请参阅关于 es 模块的 Jest 高级配置 问题。