From 9d682ce774dfe0274e160a7f36fd8753850d7b12 Mon Sep 17 00:00:00 2001 From: Jack Westbrook Date: Thu, 25 Sep 2025 11:25:15 +0200 Subject: [PATCH] Plugins: externalise jsx-runtime (#108478) * feat(plugins): externalise jsx-runtime to prevent plugins bundling separate versions * feat(plugins): provide react/jsx-dev-runtime to plugins to prevent prod only bugs --- public/app/features/plugins/loader/sharedDependencies.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/app/features/plugins/loader/sharedDependencies.ts b/public/app/features/plugins/loader/sharedDependencies.ts index 1bd903b2fde..5dcc08a7692 100644 --- a/public/app/features/plugins/loader/sharedDependencies.ts +++ b/public/app/features/plugins/loader/sharedDependencies.ts @@ -100,6 +100,10 @@ export const sharedDependenciesMap = { moment: () => import('moment').then((module) => ({ ...module, __useDefault: true })), prismjs: () => import('prismjs'), react: () => import('react'), + // Externalise react/jsx-runtime to align with runtime version of react. + // This should make major react update easier to manage in the future. + 'react/jsx-runtime': () => import('react/jsx-runtime'), + 'react/jsx-dev-runtime': () => import('react/jsx-dev-runtime'), 'react-dom': () => import('react-dom'), // bundling grafana-ui in plugins requires sharing react-inlinesvg for the icon cache 'react-inlinesvg': () => import('react-inlinesvg'),