one
Version:
One is a new React Framework that makes Vite serve both native and web.
44 lines (43 loc) • 1.36 kB
JavaScript
import { SERVER_CONTEXT_KEY } from "../constants.mjs";
import { SERVER_CONTEXT_POST_RENDER_STRING } from "../vite/constants.mjs";
import { useServerContext } from "../vite/one-server-only.mjs";
import { jsx } from "react/jsx-runtime";
function ServerContextScript() {
if (process.env.VITE_ENVIRONMENT === "client") return /* @__PURE__ */jsx("script", {
async: !0,
href: SERVER_CONTEXT_KEY,
suppressHydrationWarning: !0,
dangerouslySetInnerHTML: {
__html: ""
}
});
if (process.env.VITE_ENVIRONMENT === "ssr") {
const context = useServerContext(),
cssUrls = context?.css || [],
{
cssContents,
...restContext
} = context || {},
clientContext = {
...restContext,
cssInlineCount: cssContents?.length || 0
};
return /* @__PURE__ */jsx("script", {
async: !0,
href: SERVER_CONTEXT_KEY,
suppressHydrationWarning: !0,
dangerouslySetInnerHTML: {
__html: `
globalThis["${SERVER_CONTEXT_KEY}"] = ${JSON.stringify({
...clientContext,
postRenderData: SERVER_CONTEXT_POST_RENDER_STRING
})};
globalThis.__oneLoadedCSS = new Set(${JSON.stringify(cssUrls)});
`
}
});
}
return null;
}
export { ServerContextScript };
//# sourceMappingURL=ServerContextScript.mjs.map