diff options
Diffstat (limited to 'packages/renderers/renderer-solid/server.js')
-rw-r--r-- | packages/renderers/renderer-solid/server.js | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/packages/renderers/renderer-solid/server.js b/packages/renderers/renderer-solid/server.js index 86506ca45..1d99ac378 100644 --- a/packages/renderers/renderer-solid/server.js +++ b/packages/renderers/renderer-solid/server.js @@ -1,24 +1,23 @@ -import { createComponent } from 'solid-js'; -import { renderToStringAsync, ssr } from 'solid-js/web/dist/server.js'; +import { renderToString, ssr, createComponent } from 'solid-js/web/dist/server.js'; -async function check(Component, props, children) { +function check(Component, props, children) { if (typeof Component !== 'function') return false; - const { html } = await renderToStaticMarkup(Component, props, children); + const { html } = renderToStaticMarkup(Component, props, children); return typeof html === 'string'; } -async function renderToStaticMarkup(Component, props, children) { - const html = await renderToStringAsync( - () => () => +function renderToStaticMarkup(Component, props, children) { + const html = renderToString( + () => createComponent(Component, { ...props, // In Solid SSR mode, `ssr` creates the expected structure for `children`. // In Solid client mode, `ssr` is just a stub. - children: ssr([`<astro-fragment>${children}</astro-fragment>`]), + children: ssr(`<astro-fragment>${children}</astro-fragment>`), }) ); - return { html }; + return { html: html + `<script>window._$HYDRATION||(window._$HYDRATION={events:[],completed:new WeakSet})</script>` }; } export default { |