UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

27 lines (26 loc) 1.03 kB
import ReactDOMServer from "react-dom/server.browser"; const renderToString = async (app, options) => { const readableStream = await ReactDOMServer.renderToReadableStream(app, { // Only pass critical scripts to bootstrapModules // These generate both modulepreload links AND async script tags bootstrapModules: options.preloads }); await readableStream.allReady; let out = await streamToString(readableStream); if (options.deferredPreloads?.length) { const modulepreloadLinks = options.deferredPreloads.map((src) => `<link rel="modulepreload" fetchPriority="low" href="${src}"/>`).join(""); out = out.replace("</head>", `${modulepreloadLinks}</head>`); } return out; }; async function streamToString(stream) { const decoder = new TextDecoder("utf-8", { fatal: !0 }); let result = ""; for await (const chunk of stream) result += decoder.decode(chunk, { stream: !0 }); return result += decoder.decode(), result; } export { renderToString }; //# sourceMappingURL=server-render.js.map