Files
grafana/e2e/test-plugins
Jack Westbrook d786316766 Plugin Configs: Use nodes strip types for processing webpack configs (#105542)
* feat(plugin-configs): update configs to work with nodes strip-types feature

* build(parca): use nodes experimental-strip-types so build works with node 22 - 24

* build(decoupled-plugins): support nodes strip types feature for webpack builds

* build(e2e-test-plugins): update build scripts and config to work with node strip types

* style(plugin-configs): fix import/order lint errors

* refactor(plugins): use allowImportingTsExtensions in favour of ts-ignore comments

* refactor(plugin-configs): clean up ts-ignore and ts-expect-error comments in webpack.config

* refactor(plugin-configs): fix up changes for nodes strip-types flag

* chore(loki): fix up build command for node 24 support
2025-07-09 10:38:17 +00:00
..

Test plugins

The e2e test server automatically scans and looks for plugins in this directory.

To add a new test plugin:

  1. If provisioning is required you may update the YAML config file in /devenv.
  2. Add the plugin ID to the allow_loading_unsigned_plugins setting in the test server's configuration file.

Building a test plugin with webpack

If you wish to build a test plugin with webpack, you may take a look at how the grafana-extensionstest-app is wired. A few things to keep in mind:

  • the package name needs to be prefixed with @test-plugins/
  • extend the webpack config from @grafana/plugin-configs and use custom webpack config to only copy the necessary files (see example here)
  • keep dependency versions in sync with what's in core

Local development

1: Install frontend dependencies: yarn install --immutable

2: Build and watch the core frontend yarn start

3: Build and watch the test plugins yarn e2e:plugin:build:dev

4: Build the backend make build-go

5: Start the Grafana e2e test server with the provisioned test plugin PORT=3000 ./scripts/grafana-server/start-server