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
This commit is contained in:
Jack Westbrook
2025-07-09 10:38:17 +00:00
committed by GitHub
parent 99f3dc859d
commit d786316766
34 changed files with 114 additions and 92 deletions
@@ -3,8 +3,8 @@
"version": "12.1.0-pre",
"private": true,
"scripts": {
"build": "webpack -c ./webpack.config.ts --env production",
"dev": "webpack -w -c ./webpack.config.ts --env development",
"build": "NODE_OPTIONS='--experimental-strip-types --no-warnings=ExperimentalWarning' webpack -c ./webpack.config.ts --env production",
"dev": "NODE_OPTIONS='--experimental-strip-types --no-warnings=ExperimentalWarning' webpack -w -c ./webpack.config.ts --env development",
"typecheck": "tsc --noEmit",
"lint": "eslint --cache --ignore-path ./.gitignore --ext .js,.jsx,.ts,.tsx ."
},
@@ -1,7 +1,7 @@
import CopyWebpackPlugin from 'copy-webpack-plugin';
import grafanaConfig from '@grafana/plugin-configs/webpack.config';
import grafanaConfig from '@grafana/plugin-configs/webpack.config.ts';
import { mergeWithCustomize, unique } from 'webpack-merge';
import { Configuration } from 'webpack';
import { type Configuration } from 'webpack';
function skipFiles(f: string): boolean {
if (f.includes('/dist/')) {
@@ -3,8 +3,8 @@
"version": "12.1.0-pre",
"private": true,
"scripts": {
"build": "webpack -c ./webpack.config.ts --env production",
"dev": "webpack -w -c ./webpack.config.ts --env development",
"build": "NODE_OPTIONS='--experimental-strip-types --no-warnings=ExperimentalWarning' webpack -c ./webpack.config.ts --env production",
"dev": "NODE_OPTIONS='--experimental-strip-types --no-warnings=ExperimentalWarning' webpack -w -c ./webpack.config.ts --env development",
"typecheck": "tsc --noEmit",
"lint": "eslint --cache --ignore-path ./.gitignore --ext .js,.jsx,.ts,.tsx ."
},
@@ -1,7 +1,7 @@
import CopyWebpackPlugin from 'copy-webpack-plugin';
import grafanaConfig from '@grafana/plugin-configs/webpack.config';
import grafanaConfig from '@grafana/plugin-configs/webpack.config.ts';
import { mergeWithCustomize, unique } from 'webpack-merge';
import { Configuration } from 'webpack';
import { type Configuration } from 'webpack';
function skipFiles(f: string): boolean {
if (f.includes('/dist/')) {