one
Version:
One is a new React Framework that makes Vite serve both native and web.
103 lines (102 loc) • 3.85 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: !0 });
}, __copyProps = (to, from, except, desc) => {
if (from && typeof from == "object" || typeof from == "function")
for (let key of __getOwnPropNames(from))
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
var DevHead_exports = {};
__export(DevHead_exports, {
DevHead: () => DevHead
});
module.exports = __toCommonJS(DevHead_exports);
var import_constants = require("../constants"), import_jsx_runtime = require("react/jsx-runtime");
function DevHead() {
return process.env.NODE_ENV === "development" ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("link", { rel: "preload", href: import_constants.VIRTUAL_SSR_CSS_HREF, as: "style" }),
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("link", { rel: "stylesheet", href: import_constants.VIRTUAL_SSR_CSS_HREF, "data-ssr-css": !0 }),
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
"script",
{
type: "module",
dangerouslySetInnerHTML: {
__html: `import { createHotContext } from "/@vite/client";
const hot = createHotContext("/__clear_ssr_css");
hot.on("vite:afterUpdate", () => {
document
.querySelectorAll("[data-ssr-css]")
.forEach(node => node.remove());
});`
}
}
),
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
"script",
{
type: "module",
dangerouslySetInnerHTML: {
__html: `import { createHotContext } from "/@vite/client";
const hot = createHotContext("/__one_route_hmr");
hot.on("one:route-update", (data) => {
// Clear only the specific file's cache if provided, otherwise clear all
if (window.__oneRouteCache) {
if (data?.file) {
window.__oneRouteCache.clearFile(data.file);
} else {
window.__oneRouteCache.clear();
}
}
// Dispatch a window event that triggers re-render in route components
window.dispatchEvent(new CustomEvent('one-hmr-update'));
});`
}
}
),
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
"script",
{
type: "module",
dangerouslySetInnerHTML: {
__html: `import { createHotContext } from "/@vite/client";
const hot = createHotContext("/__one_loader_hmr");
hot.on("one:loader-data-update", async (data) => {
// Refetch loader data for all affected routes (no full page reload)
if (data?.routePaths && window.__oneRefetchLoader) {
const currentPath = window.location.pathname.replace(/\\/$/, '') || '/';
for (const routePath of data.routePaths) {
// Only refetch if we're on an affected route
if (routePath === currentPath) {
try {
await window.__oneRefetchLoader(routePath);
} catch (err) {
console.error('[one] Error refetching loader:', err);
}
}
}
}
});`
}
}
),
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
"script",
{
type: "module",
dangerouslySetInnerHTML: {
__html: `import { injectIntoGlobalHook } from "/@react-refresh";
injectIntoGlobalHook(window);
window.$RefreshReg$ = () => {};
window.$RefreshSig$ = () => (type) => type;`
}
}
)
] }) : null;
}
//# sourceMappingURL=DevHead.js.map