one
Version:
One is a new React Framework that makes Vite serve both native and web.
46 lines (45 loc) • 1.44 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { SERVER_CONTEXT_KEY } from "../constants.native.js";
import { SERVER_CONTEXT_POST_RENDER_STRING } from "../vite/constants.native.js";
import { useServerContext } from "../vite/one-server-only.native.js";
function ServerContextScript() {
if (process.env.VITE_ENVIRONMENT === "client") return /* @__PURE__ */_jsx("script", {
async: !0,
// @ts-expect-error
href: SERVER_CONTEXT_KEY,
suppressHydrationWarning: !0,
dangerouslySetInnerHTML: {
__html: ""
}
});
if (process.env.VITE_ENVIRONMENT === "ssr") {
var context = useServerContext(),
cssUrls = context?.css || [],
{
cssContents,
...restContext
} = context || {},
clientContext = {
...restContext,
cssInlineCount: cssContents?.length || 0
};
return /* @__PURE__ */_jsx("script", {
async: !0,
// @ts-expect-error
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.native.js.map