diff options
Diffstat (limited to 'packages/integrations/react/src')
-rw-r--r-- | packages/integrations/react/src/index.ts | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/packages/integrations/react/src/index.ts b/packages/integrations/react/src/index.ts index 838640239..85d79eef8 100644 --- a/packages/integrations/react/src/index.ts +++ b/packages/integrations/react/src/index.ts @@ -1,5 +1,5 @@ import react, { type Options as ViteReactPluginOptions } from '@vitejs/plugin-react'; -import type { AstroIntegration } from 'astro'; +import type { AstroIntegration, ContainerRenderer } from 'astro'; import { version as ReactVersion } from 'react-dom'; import type * as vite from 'vite'; @@ -53,6 +53,19 @@ function getRenderer(reactConfig: ReactVersionConfig) { }; } +export function getContainerRenderer(): ContainerRenderer { + const majorVersion = getReactMajorVersion(); + if (isUnsupportedVersion(majorVersion)) { + throw new Error(`Unsupported React version: ${majorVersion}.`); + } + const versionConfig = versionsConfig[majorVersion as SupportedReactVersion]; + + return { + name: '@astrojs/react', + serverEntrypoint: versionConfig.server, + }; +} + function optionsPlugin(experimentalReactChildren: boolean): vite.Plugin { const virtualModule = 'astro:react:opts'; const virtualModuleId = '\0' + virtualModule; |