diff options
Diffstat (limited to 'packages/integrations/vue/src/index.ts')
-rw-r--r-- | packages/integrations/vue/src/index.ts | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/packages/integrations/vue/src/index.ts b/packages/integrations/vue/src/index.ts index d9e42a6dd..2c7992fe8 100644 --- a/packages/integrations/vue/src/index.ts +++ b/packages/integrations/vue/src/index.ts @@ -158,6 +158,17 @@ export default function (options?: Options): AstroIntegration { } updateConfig({ vite: await getViteConfiguration(command, options) }); }, + 'astro:config:done': ({ logger, config }) => { + if (!options?.jsx) return; + + const knownJsxRenderers = ['@astrojs/react', '@astrojs/preact', '@astrojs/solid-js']; + const enabledKnownJsxRenderers = config.integrations.filter((renderer) => knownJsxRenderers.includes(renderer.name)); + + // This error can only be thrown from here since Vue is an optional JSX renderer + if (enabledKnownJsxRenderers.length > 1 && !options?.include && !options?.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/solid-js/#combining-multiple-jsx-frameworks for more information.'); + } + } }, }; } |