From 15d9df93f9a0b5927ebf5517d1044e1a55f9d784 Mon Sep 17 00:00:00 2001 From: Jack Westbrook Date: Thu, 24 Jul 2025 10:54:02 +0200 Subject: [PATCH] Fix: Prevent Rollup from treeshaking NPM packages (#108567) fix(packages): prevent rollup from treeshaking libraries --- packages/grafana-alerting/rollup.config.ts | 2 ++ packages/grafana-data/rollup.config.ts | 2 ++ packages/grafana-e2e-selectors/rollup.config.ts | 1 + packages/grafana-flamegraph/rollup.config.ts | 1 + packages/grafana-i18n/rollup.config.ts | 1 + packages/grafana-prometheus/rollup.config.ts | 1 + packages/grafana-runtime/rollup.config.ts | 2 ++ packages/grafana-schema/rollup.config.ts | 2 ++ packages/grafana-ui/rollup.config.ts | 2 ++ 9 files changed, 14 insertions(+) diff --git a/packages/grafana-alerting/rollup.config.ts b/packages/grafana-alerting/rollup.config.ts index bd1384bbe21..1d9b0e1ae40 100644 --- a/packages/grafana-alerting/rollup.config.ts +++ b/packages/grafana-alerting/rollup.config.ts @@ -10,10 +10,12 @@ export default [ input: entryPoint, plugins, output: [cjsOutput(pkg), esmOutput(pkg, 'grafana-alerting')], + treeshake: false, }, { input: 'src/unstable.ts', plugins, output: [cjsOutput(pkg), esmOutput(pkg, 'grafana-alerting')], + treeshake: false, }, ]; diff --git a/packages/grafana-data/rollup.config.ts b/packages/grafana-data/rollup.config.ts index 98f8341f6de..378ab225769 100644 --- a/packages/grafana-data/rollup.config.ts +++ b/packages/grafana-data/rollup.config.ts @@ -10,10 +10,12 @@ export default [ input: entryPoint, plugins, output: [cjsOutput(pkg), esmOutput(pkg, 'grafana-data')], + treeshake: false, }, { input: 'src/unstable.ts', plugins, output: [cjsOutput(pkg), esmOutput(pkg, 'grafana-data')], + treeshake: false, }, ]; diff --git a/packages/grafana-e2e-selectors/rollup.config.ts b/packages/grafana-e2e-selectors/rollup.config.ts index 9888b316a6a..1d47540a42a 100644 --- a/packages/grafana-e2e-selectors/rollup.config.ts +++ b/packages/grafana-e2e-selectors/rollup.config.ts @@ -10,5 +10,6 @@ export default [ input: entryPoint, plugins, output: [cjsOutput(pkg), esmOutput(pkg, 'grafana-e2e-selectors')], + treeshake: false, }, ]; diff --git a/packages/grafana-flamegraph/rollup.config.ts b/packages/grafana-flamegraph/rollup.config.ts index 3bc2d6a540f..967916710d6 100644 --- a/packages/grafana-flamegraph/rollup.config.ts +++ b/packages/grafana-flamegraph/rollup.config.ts @@ -10,5 +10,6 @@ export default [ input: entryPoint, plugins, output: [cjsOutput(pkg), esmOutput(pkg, 'grafana-flamegraph')], + treeshake: false, }, ]; diff --git a/packages/grafana-i18n/rollup.config.ts b/packages/grafana-i18n/rollup.config.ts index 3171639a367..1b1115f65c9 100644 --- a/packages/grafana-i18n/rollup.config.ts +++ b/packages/grafana-i18n/rollup.config.ts @@ -16,5 +16,6 @@ export default [ }), ], output: [cjsOutput(pkg), esmOutput(pkg, 'grafana-i18n')], + treeshake: false, }, ]; diff --git a/packages/grafana-prometheus/rollup.config.ts b/packages/grafana-prometheus/rollup.config.ts index be421e6c7aa..8dbc60c8935 100644 --- a/packages/grafana-prometheus/rollup.config.ts +++ b/packages/grafana-prometheus/rollup.config.ts @@ -13,5 +13,6 @@ export default [ input: entryPoint, plugins: [...plugins, image(), json(), dynamicImportVars()], output: [cjsOutput(pkg), esmOutput(pkg, 'grafana-prometheus')], + treeshake: false, }, ]; diff --git a/packages/grafana-runtime/rollup.config.ts b/packages/grafana-runtime/rollup.config.ts index 7255b34b0d5..5807c919136 100644 --- a/packages/grafana-runtime/rollup.config.ts +++ b/packages/grafana-runtime/rollup.config.ts @@ -10,10 +10,12 @@ export default [ input: entryPoint, plugins, output: [cjsOutput(pkg), esmOutput(pkg, 'grafana-runtime')], + treeshake: false, }, { input: 'src/unstable.ts', plugins, output: [cjsOutput(pkg), esmOutput(pkg, 'grafana-runtime')], + treeshake: false, }, ]; diff --git a/packages/grafana-schema/rollup.config.ts b/packages/grafana-schema/rollup.config.ts index e274b31df26..04928f75c47 100644 --- a/packages/grafana-schema/rollup.config.ts +++ b/packages/grafana-schema/rollup.config.ts @@ -16,6 +16,7 @@ export default [ input: entryPoint, plugins, output: [cjsOutput(pkg), esmOutput(pkg, 'grafana-schema')], + treeshake: false, }, { input: Object.fromEntries( @@ -45,5 +46,6 @@ export default [ format: 'esm', dir: path.dirname(pkg.publishConfig.module), }, + treeshake: false, }, ]; diff --git a/packages/grafana-ui/rollup.config.ts b/packages/grafana-ui/rollup.config.ts index bf652c8d21f..16c81ca4af8 100644 --- a/packages/grafana-ui/rollup.config.ts +++ b/packages/grafana-ui/rollup.config.ts @@ -25,6 +25,7 @@ export default [ }), ], output: [cjsOutput(pkg), esmOutput(pkg, 'grafana-ui')], + treeshake: false, }, { input: 'src/unstable.ts', @@ -37,5 +38,6 @@ export default [ }), ], output: [cjsOutput(pkg), esmOutput(pkg, 'grafana-ui')], + treeshake: false, }, ];