one
Version:
One is a new React Framework that makes Vite serve both native and web.
47 lines (46 loc) • 1.39 kB
JavaScript
import { SERVER_CONTEXT_KEY } from "../constants";
import { SERVER_CONTEXT_POST_RENDER_STRING } from "../vite/constants";
import { useServerContext } from "../vite/one-server-only";
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.js.map