11import { experimental_AstroContainer } from "astro/container" ;
2- import reactRenderer from "@astrojs/react/server.js " ;
3- import mdxRenderer from "@astrojs/mdx/server.js " ;
2+ import { getContainerRenderer } from "@astrojs/mdx " ;
3+ import { loadRenderers } from "astro:container " ;
44import { render , type CollectionEntry } from "astro:content" ;
55import type { AstroComponentFactory } from "astro/runtime/server/index.js" ;
66
@@ -12,14 +12,9 @@ export async function entryToString(
1212 return entry . rendered . html ;
1313 }
1414
15- const container = await experimental_AstroContainer . create ( { } ) ;
16- container . addServerRenderer ( {
17- name : "astro:jsx" ,
18- renderer : mdxRenderer ,
19- } ) ;
20- container . addServerRenderer ( {
21- name : "@astrojs/react" ,
22- renderer : reactRenderer ,
15+ const renderers = await loadRenderers ( [ getContainerRenderer ( ) ] ) ;
16+ const container = await experimental_AstroContainer . create ( {
17+ renderers,
2318 } ) ;
2419
2520 const { Content } = await render ( entry ) ;
@@ -36,14 +31,9 @@ export async function componentToString(
3631 component : AstroComponentFactory ,
3732 props : any ,
3833) {
39- const container = await experimental_AstroContainer . create ( { } ) ;
40- container . addServerRenderer ( {
41- name : "astro:jsx" ,
42- renderer : mdxRenderer ,
43- } ) ;
44- container . addServerRenderer ( {
45- name : "@astrojs/react" ,
46- renderer : reactRenderer ,
34+ const renderers = await loadRenderers ( [ getContainerRenderer ( ) ] ) ;
35+ const container = await experimental_AstroContainer . create ( {
36+ renderers,
4737 } ) ;
4838
4939 const html = await container . renderToString ( component , {
0 commit comments