From 012d62782cf7e16082765aac7b47f0896c48d8f2 Mon Sep 17 00:00:00 2001 From: Jack Westbrook Date: Fri, 27 Sep 2024 13:18:52 +0200 Subject: [PATCH] Fix: Prevent import errors caused by Rollup 4 (#93903) fix(packages): prevent import errors by injecting exports.esmodule and check for default prop --- packages/grafana-data/rollup.config.ts | 7 +++++++ packages/grafana-e2e-selectors/rollup.config.ts | 7 +++++++ packages/grafana-flamegraph/rollup.config.ts | 7 +++++++ packages/grafana-icons/rollup.config.ts | 6 ++++++ packages/grafana-prometheus/rollup.config.ts | 7 +++++++ packages/grafana-runtime/rollup.config.ts | 7 +++++++ packages/grafana-schema/rollup.config.ts | 7 +++++++ packages/grafana-ui/rollup.config.ts | 7 +++++++ 8 files changed, 55 insertions(+) diff --git a/packages/grafana-data/rollup.config.ts b/packages/grafana-data/rollup.config.ts index 4c115636a7c..9894024f99c 100644 --- a/packages/grafana-data/rollup.config.ts +++ b/packages/grafana-data/rollup.config.ts @@ -8,6 +8,11 @@ import { nodeExternals } from 'rollup-plugin-node-externals'; const rq = createRequire(import.meta.url); const pkg = rq('./package.json'); +const legacyOutputDefaults = { + esModule: true, + interop: 'compat', +}; + export default [ { input: 'src/index.ts', @@ -24,6 +29,7 @@ export default [ format: 'cjs', sourcemap: true, dir: path.dirname(pkg.publishConfig.main), + ...legacyOutputDefaults, }, { format: 'esm', @@ -32,6 +38,7 @@ export default [ preserveModules: true, // @ts-expect-error (TS cannot assure that `process.env.PROJECT_CWD` is a string) preserveModulesRoot: path.join(process.env.PROJECT_CWD, `packages/grafana-data/src`), + ...legacyOutputDefaults, }, ], }, diff --git a/packages/grafana-e2e-selectors/rollup.config.ts b/packages/grafana-e2e-selectors/rollup.config.ts index 0aeaab2d194..b70662c33a8 100644 --- a/packages/grafana-e2e-selectors/rollup.config.ts +++ b/packages/grafana-e2e-selectors/rollup.config.ts @@ -8,6 +8,11 @@ import { nodeExternals } from 'rollup-plugin-node-externals'; const rq = createRequire(import.meta.url); const pkg = rq('./package.json'); +const legacyOutputDefaults = { + esModule: true, + interop: 'compat', +}; + export default [ { input: 'src/index.ts', @@ -24,6 +29,7 @@ export default [ format: 'cjs', sourcemap: true, dir: path.dirname(pkg.publishConfig.main), + ...legacyOutputDefaults, }, { format: 'esm', @@ -32,6 +38,7 @@ export default [ preserveModules: true, // @ts-expect-error (TS cannot assure that `process.env.PROJECT_CWD` is a string) preserveModulesRoot: path.join(process.env.PROJECT_CWD, `packages/grafana-e2e-selectors/src`), + ...legacyOutputDefaults, }, ], }, diff --git a/packages/grafana-flamegraph/rollup.config.ts b/packages/grafana-flamegraph/rollup.config.ts index 12a2bfd60b0..86d0ad86cfa 100644 --- a/packages/grafana-flamegraph/rollup.config.ts +++ b/packages/grafana-flamegraph/rollup.config.ts @@ -8,6 +8,11 @@ import { nodeExternals } from 'rollup-plugin-node-externals'; const rq = createRequire(import.meta.url); const pkg = rq('./package.json'); +const legacyOutputDefaults = { + esModule: true, + interop: 'compat', +}; + export default [ { input: 'src/index.ts', @@ -24,6 +29,7 @@ export default [ format: 'cjs', sourcemap: true, dir: path.dirname(pkg.publishConfig.main), + ...legacyOutputDefaults, }, { format: 'esm', @@ -32,6 +38,7 @@ export default [ preserveModules: true, // @ts-expect-error (TS cannot assure that `process.env.PROJECT_CWD` is a string) preserveModulesRoot: path.join(process.env.PROJECT_CWD, `packages/grafana-ui/src`), + ...legacyOutputDefaults, }, ], }, diff --git a/packages/grafana-icons/rollup.config.ts b/packages/grafana-icons/rollup.config.ts index da80c2e17a8..6bf3c3b536e 100644 --- a/packages/grafana-icons/rollup.config.ts +++ b/packages/grafana-icons/rollup.config.ts @@ -8,6 +8,11 @@ import { nodeExternals } from 'rollup-plugin-node-externals'; const rq = createRequire(import.meta.url); const pkg = rq('./package.json'); +const legacyOutputDefaults = { + esModule: true, + interop: 'compat', +}; + export default [ { input: 'src/index.ts', @@ -25,6 +30,7 @@ export default [ sourcemap: true, dir: path.dirname(pkg.publishConfig.main), preserveModules: true, + ...legacyOutputDefaults, }, ], }, diff --git a/packages/grafana-prometheus/rollup.config.ts b/packages/grafana-prometheus/rollup.config.ts index b25d1c770e5..7e630257c36 100644 --- a/packages/grafana-prometheus/rollup.config.ts +++ b/packages/grafana-prometheus/rollup.config.ts @@ -9,6 +9,11 @@ import { nodeExternals } from 'rollup-plugin-node-externals'; const rq = createRequire(import.meta.url); const pkg = rq('./package.json'); +const legacyOutputDefaults = { + esModule: true, + interop: 'compat', +}; + export default [ { input: 'src/index.ts', @@ -26,6 +31,7 @@ export default [ format: 'cjs', sourcemap: true, dir: path.dirname(pkg.publishConfig.main), + ...legacyOutputDefaults, }, { format: 'esm', @@ -34,6 +40,7 @@ export default [ preserveModules: true, // @ts-expect-error (TS cannot assure that `process.env.PROJECT_CWD` is a string) preserveModulesRoot: path.join(process.env.PROJECT_CWD, `packages/grafana-prometheus/src`), + ...legacyOutputDefaults, }, ], }, diff --git a/packages/grafana-runtime/rollup.config.ts b/packages/grafana-runtime/rollup.config.ts index 00d7077dad1..25992a93441 100644 --- a/packages/grafana-runtime/rollup.config.ts +++ b/packages/grafana-runtime/rollup.config.ts @@ -8,6 +8,11 @@ import { nodeExternals } from 'rollup-plugin-node-externals'; const rq = createRequire(import.meta.url); const pkg = rq('./package.json'); +const legacyOutputDefaults = { + esModule: true, + interop: 'compat', +}; + export default [ { input: 'src/index.ts', @@ -24,6 +29,7 @@ export default [ format: 'cjs', sourcemap: true, dir: path.dirname(pkg.publishConfig.main), + ...legacyOutputDefaults, }, { format: 'esm', @@ -32,6 +38,7 @@ export default [ preserveModules: true, // @ts-expect-error (TS cannot assure that `process.env.PROJECT_CWD` is a string) preserveModulesRoot: path.join(process.env.PROJECT_CWD, `packages/grafana-runtime/src`), + ...legacyOutputDefaults, }, ], }, diff --git a/packages/grafana-schema/rollup.config.ts b/packages/grafana-schema/rollup.config.ts index 158619ae9c6..6a2f736c944 100644 --- a/packages/grafana-schema/rollup.config.ts +++ b/packages/grafana-schema/rollup.config.ts @@ -10,6 +10,11 @@ import { nodeExternals } from 'rollup-plugin-node-externals'; const rq = createRequire(import.meta.url); const pkg = rq('./package.json'); +const legacyOutputDefaults = { + esModule: true, + interop: 'compat', +}; + export default [ { input: 'src/index.ts', @@ -26,6 +31,7 @@ export default [ format: 'cjs', sourcemap: true, dir: path.dirname(pkg.publishConfig.main), + ...legacyOutputDefaults, }, { format: 'esm', @@ -34,6 +40,7 @@ export default [ preserveModules: true, // @ts-expect-error (TS cannot assure that `process.env.PROJECT_CWD` is a string) preserveModulesRoot: path.join(process.env.PROJECT_CWD, `packages/grafana-schema/src`), + ...legacyOutputDefaults, }, ], }, diff --git a/packages/grafana-ui/rollup.config.ts b/packages/grafana-ui/rollup.config.ts index cba330e83ec..b18618dd7ea 100644 --- a/packages/grafana-ui/rollup.config.ts +++ b/packages/grafana-ui/rollup.config.ts @@ -15,6 +15,11 @@ const iconSrcPaths = icons.map((iconSubPath) => { return `../../public/img/icons/${iconSubPath}.svg`; }); +const legacyOutputDefaults = { + esModule: true, + interop: 'compat', +}; + export default [ { input: 'src/index.ts', @@ -36,6 +41,7 @@ export default [ format: 'cjs', sourcemap: true, dir: path.dirname(pkg.publishConfig.main), + ...legacyOutputDefaults, }, { format: 'esm', @@ -44,6 +50,7 @@ export default [ preserveModules: true, // @ts-expect-error (TS cannot assure that `process.env.PROJECT_CWD` is a string) preserveModulesRoot: path.join(process.env.PROJECT_CWD, `packages/grafana-ui/src`), + ...legacyOutputDefaults, }, ], },