summaryrefslogtreecommitdiff
path: root/packages/integrations/react/src
diff options
context:
space:
mode:
authorGravatar Louis Escher <66965600+louisescher@users.noreply.github.com> 2025-01-14 12:52:51 +0100
committerGravatar GitHub <noreply@github.com> 2025-01-14 11:52:51 +0000
commitea603aec80531205d38fed11c525b3faa0271903 (patch)
tree12065af3d9a4a7c75e06df54fc12a9fb70be1367 /packages/integrations/react/src
parentc30070b9271e4c494e7cbf3a1c45515782034911 (diff)
downloadastro-ea603aec80531205d38fed11c525b3faa0271903.tar.gz
astro-ea603aec80531205d38fed11c525b3faa0271903.tar.zst
astro-ea603aec80531205d38fed11c525b3faa0271903.zip
Add warnings if multiple JSX renderers are used (#12887)
Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev> Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
Diffstat (limited to 'packages/integrations/react/src')
-rw-r--r--packages/integrations/react/src/index.ts8
1 files changed, 8 insertions, 0 deletions
diff --git a/packages/integrations/react/src/index.ts b/packages/integrations/react/src/index.ts
index 46da29c7b..16f4064d0 100644
--- a/packages/integrations/react/src/index.ts
+++ b/packages/integrations/react/src/index.ts
@@ -100,6 +100,14 @@ export default function ({
injectScript('before-hydration', preamble);
}
},
+ 'astro:config:done': ({ logger, config }) => {
+ const knownJsxRenderers = ['@astrojs/react', '@astrojs/preact', '@astrojs/solid-js'];
+ const enabledKnownJsxRenderers = config.integrations.filter((renderer) => knownJsxRenderers.includes(renderer.name));
+
+ if (enabledKnownJsxRenderers.length > 1 && !include && !exclude) {
+ logger.warn('More than one JSX renderer is enabled. This will lead to unexpected behavior unless you set the `include` or `exclude` option. See https://docs.astro.build/en/guides/integrations-guide/react/#combining-multiple-jsx-frameworks for more information.');
+ }
+ }
},
};
}