d786316766
* 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
Test plugins
The e2e test server automatically scans and looks for plugins in this directory.
To add a new test plugin:
- If provisioning is required you may update the YAML config file in
/devenv. - Add the plugin ID to the
allow_loading_unsigned_pluginssetting 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-configsand 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