one 2.11.4 → 2.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/com/margelo/nitro/one/HybridOneAudio.kt +309 -124
- package/dist/cjs/cli/build.cjs +31 -33
- package/dist/cjs/cli/build.native.cjs +31 -33
- package/dist/cjs/cli/build.native.js +31 -33
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/cli/buildPage.cjs +11 -7
- package/dist/cjs/cli/buildPage.native.cjs +11 -7
- package/dist/cjs/cli/buildPage.native.js +11 -7
- package/dist/cjs/cli/buildPage.native.js.map +1 -1
- package/dist/cjs/cli/buildPageWorker.cjs +1 -1
- package/dist/cjs/cli/buildPageWorker.native.cjs +1 -1
- package/dist/cjs/cli/buildPageWorker.native.js +1 -1
- package/dist/cjs/cli/buildPageWorker.native.js.map +1 -1
- package/dist/cjs/headless-server.cjs +2 -5
- package/dist/cjs/headless-server.native.cjs +2 -5
- package/dist/cjs/headless-server.native.js +2 -5
- package/dist/cjs/headless-server.native.js.map +1 -1
- package/dist/cjs/platform/audio/index.cjs +83 -76
- package/dist/cjs/platform/audio/index.native.cjs +2 -2
- package/dist/cjs/platform/audio/index.native.js +2 -2
- package/dist/cjs/platform/audio/index.native.js.map +1 -1
- package/dist/cjs/platform/audio/nowPlaying.cjs +126 -0
- package/dist/cjs/platform/audio/nowPlaying.native.cjs +160 -0
- package/dist/cjs/platform/audio/nowPlaying.native.js +162 -0
- package/dist/cjs/platform/audio/nowPlaying.native.js.map +1 -0
- package/dist/cjs/platform/audio/player.cjs +15 -0
- package/dist/cjs/platform/audio/player.native.cjs +14 -0
- package/dist/cjs/platform/audio/player.native.js +14 -0
- package/dist/cjs/platform/audio/player.native.js.map +1 -1
- package/dist/cjs/platform/audio/unavailable.cjs +1 -1
- package/dist/cjs/platform/audio/unavailable.native.cjs +1 -1
- package/dist/cjs/platform/audio/unavailable.native.js +1 -1
- package/dist/cjs/platform/audio/unavailable.native.js.map +1 -1
- package/dist/cjs/platform/location/index.native.cjs +9 -2
- package/dist/cjs/platform/location/index.native.js +9 -2
- package/dist/cjs/platform/location/index.native.js.map +1 -1
- package/dist/cjs/serve-worker.cjs +0 -3
- package/dist/cjs/serve-worker.native.cjs +0 -3
- package/dist/cjs/serve-worker.native.js +0 -3
- package/dist/cjs/serve-worker.native.js.map +1 -1
- package/dist/cjs/server/oneServe.cjs +0 -6
- package/dist/cjs/server/oneServe.native.cjs +0 -6
- package/dist/cjs/server/oneServe.native.js +0 -6
- package/dist/cjs/server/oneServe.native.js.map +1 -1
- package/dist/cjs/server/workerHandler.cjs +12 -10
- package/dist/cjs/server/workerHandler.native.cjs +14 -10
- package/dist/cjs/server/workerHandler.native.js +14 -10
- package/dist/cjs/server/workerHandler.native.js.map +1 -1
- package/dist/cjs/vite/plugins/workerdDevPlugin.cjs +33 -37
- package/dist/cjs/vite/plugins/workerdDevPlugin.native.cjs +33 -37
- package/dist/cjs/vite/plugins/workerdDevPlugin.native.js +33 -37
- package/dist/cjs/vite/plugins/workerdDevPlugin.native.js.map +1 -1
- package/dist/esm/cli/build.mjs +31 -33
- package/dist/esm/cli/build.mjs.map +1 -1
- package/dist/esm/cli/build.native.js +31 -33
- package/dist/esm/cli/build.native.js.map +1 -1
- package/dist/esm/cli/buildPage.mjs +11 -7
- package/dist/esm/cli/buildPage.mjs.map +1 -1
- package/dist/esm/cli/buildPage.native.js +11 -7
- package/dist/esm/cli/buildPage.native.js.map +1 -1
- package/dist/esm/cli/buildPageWorker.mjs +1 -1
- package/dist/esm/cli/buildPageWorker.mjs.map +1 -1
- package/dist/esm/cli/buildPageWorker.native.js +1 -1
- package/dist/esm/cli/buildPageWorker.native.js.map +1 -1
- package/dist/esm/headless-server.mjs +2 -3
- package/dist/esm/headless-server.mjs.map +1 -1
- package/dist/esm/headless-server.native.js +2 -3
- package/dist/esm/headless-server.native.js.map +1 -1
- package/dist/esm/platform/audio/index.mjs +83 -76
- package/dist/esm/platform/audio/index.mjs.map +1 -1
- package/dist/esm/platform/audio/index.native.js +2 -2
- package/dist/esm/platform/audio/index.native.js.map +1 -1
- package/dist/esm/platform/audio/nowPlaying.mjs +102 -0
- package/dist/esm/platform/audio/nowPlaying.mjs.map +1 -0
- package/dist/esm/platform/audio/nowPlaying.native.js +134 -0
- package/dist/esm/platform/audio/nowPlaying.native.js.map +1 -0
- package/dist/esm/platform/audio/player.mjs +15 -0
- package/dist/esm/platform/audio/player.mjs.map +1 -1
- package/dist/esm/platform/audio/player.native.js +14 -0
- package/dist/esm/platform/audio/player.native.js.map +1 -1
- package/dist/esm/platform/audio/unavailable.mjs +1 -1
- package/dist/esm/platform/audio/unavailable.mjs.map +1 -1
- package/dist/esm/platform/audio/unavailable.native.js +1 -1
- package/dist/esm/platform/audio/unavailable.native.js.map +1 -1
- package/dist/esm/platform/location/index.native.js +9 -2
- package/dist/esm/platform/location/index.native.js.map +1 -1
- package/dist/esm/serve-worker.mjs +1 -2
- package/dist/esm/serve-worker.mjs.map +1 -1
- package/dist/esm/serve-worker.native.js +1 -2
- package/dist/esm/serve-worker.native.js.map +1 -1
- package/dist/esm/server/oneServe.mjs +0 -6
- package/dist/esm/server/oneServe.mjs.map +1 -1
- package/dist/esm/server/oneServe.native.js +0 -6
- package/dist/esm/server/oneServe.native.js.map +1 -1
- package/dist/esm/server/workerHandler.mjs +12 -10
- package/dist/esm/server/workerHandler.mjs.map +1 -1
- package/dist/esm/server/workerHandler.native.js +14 -10
- package/dist/esm/server/workerHandler.native.js.map +1 -1
- package/dist/esm/vite/plugins/workerdDevPlugin.mjs +33 -37
- package/dist/esm/vite/plugins/workerdDevPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/workerdDevPlugin.native.js +33 -37
- package/dist/esm/vite/plugins/workerdDevPlugin.native.js.map +1 -1
- package/ios/Nitro/HybridOneAudio.swift +309 -96
- package/nitrogen/generated/android/c++/JAudioPlayOptions.hpp +61 -0
- package/nitrogen/generated/android/c++/JAudioRemoteCommandEvent.hpp +8 -3
- package/nitrogen/generated/android/c++/JFunc_void_AudioRemoteCommandEvent.hpp +1 -0
- package/nitrogen/generated/android/c++/JHybridOneAudioSpec.cpp +37 -3
- package/nitrogen/generated/android/c++/JHybridOneAudioSpec.hpp +3 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/AudioPlayOptions.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/AudioRemoteCommandEvent.kt +9 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/HybridOneAudioSpec.kt +40 -32
- package/nitrogen/generated/ios/One-Swift-Cxx-Umbrella.hpp +3 -0
- package/nitrogen/generated/ios/c++/HybridOneAudioSpecSwift.hpp +21 -2
- package/nitrogen/generated/ios/swift/AudioPlayOptions.swift +60 -0
- package/nitrogen/generated/ios/swift/AudioRemoteCommandEvent.swift +19 -1
- package/nitrogen/generated/ios/swift/HybridOneAudioSpec.swift +3 -1
- package/nitrogen/generated/ios/swift/HybridOneAudioSpec_cxx.swift +70 -32
- package/nitrogen/generated/shared/c++/AudioPlayOptions.hpp +87 -0
- package/nitrogen/generated/shared/c++/AudioRemoteCommandEvent.hpp +7 -2
- package/nitrogen/generated/shared/c++/HybridOneAudioSpec.cpp +2 -0
- package/nitrogen/generated/shared/c++/HybridOneAudioSpec.hpp +6 -1
- package/package.json +16 -16
- package/src/cli/build.ts +35 -32
- package/src/cli/buildPage.test.ts +152 -0
- package/src/cli/buildPage.ts +14 -9
- package/src/cli/buildPageWorker.ts +2 -1
- package/src/cli/workerPool.ts +1 -0
- package/src/headless-server.ts +2 -2
- package/src/index.ts +1 -0
- package/src/platform/audio/index.native.ts +4 -2
- package/src/platform/audio/index.ts +102 -74
- package/src/platform/audio/nowPlaying.ts +122 -0
- package/src/platform/audio/player.native.ts +17 -1
- package/src/platform/audio/player.ts +23 -1
- package/src/platform/audio/types.ts +6 -1
- package/src/platform/audio/unavailable.ts +3 -1
- package/src/platform/index.native.ts +1 -0
- package/src/platform/index.ts +1 -0
- package/src/platform/location/index.native.ts +14 -3
- package/src/platform/specs/OneAudio.nitro.ts +11 -1
- package/src/serve-worker.ts +2 -3
- package/src/server/oneServe.ts +0 -6
- package/src/server/workerHandler.ts +34 -18
- package/src/vite/plugins/workerdDevPlugin.ts +33 -37
- package/src/vite/resolveResponse.ts +2 -2
- package/types/cli/build.d.ts.map +1 -1
- package/types/cli/buildPage.d.ts +1 -1
- package/types/cli/buildPage.d.ts.map +1 -1
- package/types/cli/workerPool.d.ts +1 -0
- package/types/cli/workerPool.d.ts.map +1 -1
- package/types/headless-server.d.ts +3 -3
- package/types/headless-server.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/platform/audio/index.d.ts +2 -2
- package/types/platform/audio/index.d.ts.map +1 -1
- package/types/platform/audio/index.native.d.ts +3 -3
- package/types/platform/audio/index.native.d.ts.map +1 -1
- package/types/platform/audio/nowPlaying.d.ts +12 -0
- package/types/platform/audio/nowPlaying.d.ts.map +1 -0
- package/types/platform/audio/player.d.ts +3 -1
- package/types/platform/audio/player.d.ts.map +1 -1
- package/types/platform/audio/player.native.d.ts +3 -1
- package/types/platform/audio/player.native.d.ts.map +1 -1
- package/types/platform/audio/types.d.ts +3 -1
- package/types/platform/audio/types.d.ts.map +1 -1
- package/types/platform/audio/unavailable.d.ts +3 -3
- package/types/platform/audio/unavailable.d.ts.map +1 -1
- package/types/platform/index.d.ts +1 -1
- package/types/platform/index.d.ts.map +1 -1
- package/types/platform/index.native.d.ts +1 -1
- package/types/platform/index.native.d.ts.map +1 -1
- package/types/platform/location/index.native.d.ts.map +1 -1
- package/types/platform/specs/OneAudio.nitro.d.ts +8 -1
- package/types/platform/specs/OneAudio.nitro.d.ts.map +1 -1
- package/types/serve-worker.d.ts +3 -3
- package/types/serve-worker.d.ts.map +1 -1
- package/types/server/oneServe.d.ts.map +1 -1
- package/types/server/workerHandler.d.ts +1 -1
- package/types/server/workerHandler.d.ts.map +1 -1
- package/types/vite/plugins/workerdDevPlugin.d.ts.map +1 -1
- package/types/vite/resolveResponse.d.ts +1 -1
- package/types/vite/resolveResponse.d.ts.map +1 -1
- package/dist/cjs/server/staticHtmlFetcher.cjs +0 -33
- package/dist/cjs/server/staticHtmlFetcher.native.cjs +0 -35
- package/dist/cjs/server/staticHtmlFetcher.native.js +0 -37
- package/dist/cjs/server/staticHtmlFetcher.native.js.map +0 -1
- package/dist/esm/server/staticHtmlFetcher.mjs +0 -10
- package/dist/esm/server/staticHtmlFetcher.mjs.map +0 -1
- package/dist/esm/server/staticHtmlFetcher.native.js +0 -10
- package/dist/esm/server/staticHtmlFetcher.native.js.map +0 -1
- package/src/server/staticHtmlFetcher.ts +0 -12
- package/types/server/staticHtmlFetcher.d.ts +0 -3
- package/types/server/staticHtmlFetcher.d.ts.map +0 -1
|
@@ -8,7 +8,6 @@ import { resolveResponse } from "../vite/resolveResponse.mjs";
|
|
|
8
8
|
import { getLoaderSearchSchemas, withLoaderSearchParams } from "../loaderSearchParams.mjs";
|
|
9
9
|
import { getRouteExportsFromEntry } from "./routeExportsFromEntry.mjs";
|
|
10
10
|
import { setSSRLoaderData } from "./ssrLoaderData.mjs";
|
|
11
|
-
import { getFetchStaticHtml } from "./staticHtmlFetcher.mjs";
|
|
12
11
|
|
|
13
12
|
function createWorkerHandler(options) {
|
|
14
13
|
const { oneOptions } = options;
|
|
@@ -83,8 +82,7 @@ function createWorkerHandler(options) {
|
|
|
83
82
|
if (logReason) console.error(`[one] 404 loader for ${path}: ${logReason}`);
|
|
84
83
|
return `export function loader(){return{__oneError:404,__oneErrorMessage:'Not Found',__oneNotFoundPath:${JSON.stringify(nfPath)}}}`;
|
|
85
84
|
}
|
|
86
|
-
async function readStaticHtml(htmlPath) {
|
|
87
|
-
const fetchStaticHtml = getFetchStaticHtml();
|
|
85
|
+
async function readStaticHtml(htmlPath, fetchStaticHtml) {
|
|
88
86
|
if (fetchStaticHtml) return await fetchStaticHtml(htmlPath);
|
|
89
87
|
if (debugRouter) {
|
|
90
88
|
console.warn(`[one/worker] no fetchStaticHtml set, cannot read ${htmlPath}`);
|
|
@@ -240,7 +238,7 @@ function createWorkerHandler(options) {
|
|
|
240
238
|
if (isResponse(json)) throw json;
|
|
241
239
|
return `export function loader() { return ${JSON.stringify(json)} }`;
|
|
242
240
|
},
|
|
243
|
-
async handlePage({ route, url, loaderProps }) {
|
|
241
|
+
async handlePage({ route, url, loaderProps }, fetchStaticHtml) {
|
|
244
242
|
const routeBuildInfo = routeToBuildInfo[route.file];
|
|
245
243
|
if (route.type === "ssr") {
|
|
246
244
|
if (!routeBuildInfo) {
|
|
@@ -284,7 +282,7 @@ function createWorkerHandler(options) {
|
|
|
284
282
|
const nfPath = findNearestNotFoundPath(loaderProps?.path || "/");
|
|
285
283
|
const nfHtml = routeMap?.[nfPath];
|
|
286
284
|
if (nfHtml) {
|
|
287
|
-
const html = await readStaticHtml(nfHtml);
|
|
285
|
+
const html = await readStaticHtml(nfHtml, fetchStaticHtml);
|
|
288
286
|
if (html) {
|
|
289
287
|
return new Response(html, {
|
|
290
288
|
headers: { "content-type": "text/html" },
|
|
@@ -401,7 +399,7 @@ url: ${url}`);
|
|
|
401
399
|
const notFoundKey = route.isNotFound ? route.page.replace(/\[([^\]]+)\]/g, ":$1") : null;
|
|
402
400
|
const htmlPath = notFoundKey ? routeMap?.[notFoundKey] : isDynamicRoute ? routeMap?.[routeCleanPath] || routeMap?.[url.pathname] : routeMap?.[url.pathname] || routeMap?.[routeBuildInfo?.cleanPath];
|
|
403
401
|
if (htmlPath) {
|
|
404
|
-
const html = await readStaticHtml(htmlPath);
|
|
402
|
+
const html = await readStaticHtml(htmlPath, fetchStaticHtml);
|
|
405
403
|
if (html) {
|
|
406
404
|
return new Response(html, {
|
|
407
405
|
headers: htmlHeaders,
|
|
@@ -413,7 +411,7 @@ url: ${url}`);
|
|
|
413
411
|
const notFoundRoute = findNearestNotFoundPath(url.pathname);
|
|
414
412
|
const notFoundHtmlPath = routeMap?.[notFoundRoute];
|
|
415
413
|
if (notFoundHtmlPath) {
|
|
416
|
-
const notFoundHtml = await readStaticHtml(notFoundHtmlPath);
|
|
414
|
+
const notFoundHtml = await readStaticHtml(notFoundHtmlPath, fetchStaticHtml);
|
|
417
415
|
if (notFoundHtml) {
|
|
418
416
|
const notFoundMarker = `<script>window.__one404=${JSON.stringify({
|
|
419
417
|
originalPath: url.pathname,
|
|
@@ -446,7 +444,7 @@ url: ${url}`);
|
|
|
446
444
|
}
|
|
447
445
|
return response;
|
|
448
446
|
}
|
|
449
|
-
async function handleRequest(request, env, executionCtx) {
|
|
447
|
+
async function handleRequest(request, env, executionCtx, fetchStaticHtml) {
|
|
450
448
|
const url = getURLfromRequestURL(request);
|
|
451
449
|
const pathname = url.pathname;
|
|
452
450
|
const method = request.method;
|
|
@@ -552,7 +550,7 @@ url: ${url}`);
|
|
|
552
550
|
route,
|
|
553
551
|
url,
|
|
554
552
|
loaderProps
|
|
555
|
-
});
|
|
553
|
+
}, fetchStaticHtml);
|
|
556
554
|
} catch (err) {
|
|
557
555
|
if (isResponse(err)) return err;
|
|
558
556
|
throw err;
|
|
@@ -564,7 +562,11 @@ url: ${url}`);
|
|
|
564
562
|
return null;
|
|
565
563
|
}
|
|
566
564
|
try {
|
|
567
|
-
const
|
|
565
|
+
const pageHandlers = {
|
|
566
|
+
...requestHandlers,
|
|
567
|
+
handlePage: (props) => requestHandlers.handlePage(props, fetchStaticHtml)
|
|
568
|
+
};
|
|
569
|
+
const response = await resolvePageRoute(pageHandlers, request, url, route);
|
|
568
570
|
if (response && isResponse(response)) {
|
|
569
571
|
return setCacheHeaders(response, route, false);
|
|
570
572
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerHandler.js","names":[],"sources":["esm/server/workerHandler.js"],"sourcesContent":["import {\n CSS_PRELOAD_JS_POSTFIX_REGEX,\n LOADER_JS_POSTFIX_UNCACHED,\n PRELOAD_JS_POSTFIX_REGEX\n} from \"../constants\";\nimport {\n compileManifest,\n getSubdomain,\n getURLfromRequestURL,\n isPageRequestMethod,\n resolveAPIRoute,\n resolveLoaderRoute,\n resolvePageRoute\n} from \"../createHandleRequest\";\nimport { stripGroupSegmentsFromPath } from \"../router/matchers\";\nimport { getPathFromLoaderPath } from \"../utils/cleanUrl\";\nimport { getRouterRootFromOneOptions } from \"../utils/getRouterRootFromOneOptions\";\nimport { isResponse } from \"../utils/isResponse\";\nimport { resolveResponse } from \"../vite/resolveResponse\";\nimport {\n getLoaderSearchSchemas,\n withLoaderSearchParams\n} from \"../loaderSearchParams\";\nimport { getRouteExportsFromEntry } from \"./routeExportsFromEntry\";\nimport { setSSRLoaderData } from \"./ssrLoaderData\";\nimport { getFetchStaticHtml } from \"./staticHtmlFetcher\";\nfunction createWorkerHandler(options) {\n const { oneOptions } = options;\n const disableModuleCache = !!options.disableModuleCache;\n const routerRoot = getRouterRootFromOneOptions(oneOptions);\n let currentLazyRoutes = options.lazyRoutes;\n let compiledManifest = compileManifest(options.buildInfo.manifest);\n let routeToBuildInfo = options.buildInfo.routeToBuildInfo;\n let routeMap = options.buildInfo.routeMap;\n let currentPreloads = options.buildInfo.preloads;\n let currentCssPreloads = options.buildInfo.cssPreloads;\n const debugRouter = process.env.ONE_DEBUG_ROUTER;\n const redirects = oneOptions.web?.redirects;\n let compiledRedirects = null;\n if (redirects?.length) {\n compiledRedirects = redirects.map((r) => {\n const regexSource = r.source.replace(/:(\\w+)/g, (_, name) => `(?<${name}>[^/]+)`);\n return {\n regex: new RegExp(`^${regexSource}$`),\n destination: r.destination,\n permanent: r.permanent || false\n };\n });\n }\n const useStreaming = !process.env.ONE_BUFFERED_SSR;\n const htmlHeaders = { \"content-type\": \"text/html\" };\n const ssrHtmlHeaders = { \"content-type\": \"text/html\", \"cache-control\": \"no-cache\" };\n const loaderCache = /* @__PURE__ */ new Map();\n const moduleImportCache = /* @__PURE__ */ new Map();\n const loaderCacheFnMap = /* @__PURE__ */ new Map();\n const loaderSearchSchemaMap = /* @__PURE__ */ new Map();\n const pendingLoaderResults = /* @__PURE__ */ new Map();\n let render = null;\n let renderStream = null;\n let renderLoading = null;\n let renderGeneration = 0;\n let entryLoading = null;\n function loadServerEntry() {\n if (!entryLoading) entryLoading = currentLazyRoutes.serverEntry();\n return entryLoading;\n }\n function ensureRenderLoaded() {\n if (render) return;\n if (renderLoading) return renderLoading;\n const gen = ++renderGeneration;\n renderLoading = (async () => {\n const entry = await loadServerEntry();\n if (gen !== renderGeneration) return;\n render = entry.default.render;\n renderStream = entry.default.renderStream || null;\n })();\n return renderLoading;\n }\n function findNearestNotFoundPath(urlPath) {\n let cur = urlPath;\n while (cur) {\n const parent = cur.lastIndexOf(\"/\") > 0 ? cur.slice(0, cur.lastIndexOf(\"/\")) : \"\";\n const candidate = `${parent}/+not-found`;\n if (routeMap ? routeMap[candidate] : compiledManifest.pageRoutes.some(\n (route) => route.isNotFound && stripGroupSegmentsFromPath(route.page) === candidate\n )) {\n return candidate;\n }\n if (!parent) break;\n cur = parent;\n }\n return \"/+not-found\";\n }\n function make404LoaderJs(path, logReason) {\n const nfPath = findNearestNotFoundPath(path);\n if (logReason) console.error(`[one] 404 loader for ${path}: ${logReason}`);\n return `export function loader(){return{__oneError:404,__oneErrorMessage:'Not Found',__oneNotFoundPath:${JSON.stringify(nfPath)}}}`;\n }\n async function readStaticHtml(htmlPath) {\n const fetchStaticHtml = getFetchStaticHtml();\n if (fetchStaticHtml) return await fetchStaticHtml(htmlPath);\n if (debugRouter) {\n console.warn(`[one/worker] no fetchStaticHtml set, cannot read ${htmlPath}`);\n }\n return null;\n }\n function resolveLoaderSync(lazyKey) {\n const cacheKey = lazyKey || \"\";\n if (!disableModuleCache) {\n const cached = loaderCache.get(cacheKey);\n if (cached !== void 0) return cached;\n }\n return (async () => {\n let routeExported;\n if (!disableModuleCache && moduleImportCache.has(cacheKey)) {\n routeExported = moduleImportCache.get(cacheKey);\n } else if (currentLazyRoutes.pages?.[cacheKey]) {\n routeExported = await currentLazyRoutes.pages[cacheKey]();\n if (!disableModuleCache) moduleImportCache.set(cacheKey, routeExported);\n } else {\n routeExported = lazyKey ? await getRouteExportsFromEntry(await loadServerEntry(), routerRoot, lazyKey) : null;\n if (!routeExported) {\n console.warn(`[one/worker] no lazy route for ${cacheKey}`);\n if (!disableModuleCache) loaderCache.set(cacheKey, null);\n return null;\n }\n if (!disableModuleCache) moduleImportCache.set(cacheKey, routeExported);\n }\n const loader = routeExported?.loader || null;\n loaderSearchSchemaMap.set(cacheKey, getLoaderSearchSchemas(routeExported));\n if (!disableModuleCache) {\n loaderCache.set(cacheKey, loader);\n loaderCacheFnMap.set(cacheKey, routeExported?.loaderCache ?? null);\n }\n return loader;\n })();\n }\n async function importAndRunLoader(routeId, lazyKey, requestLoaderProps, withSearchParams = false) {\n if (!lazyKey) return { loaderData: void 0, routeId };\n const cacheMapKey = lazyKey;\n let loaderProps = requestLoaderProps;\n const validateSearch = () => {\n const schemas = withSearchParams && loaderSearchSchemaMap.get(cacheMapKey);\n if (schemas) loaderProps = withLoaderSearchParams(schemas, requestLoaderProps);\n };\n validateSearch();\n const loaderCacheFn = loaderCacheFnMap.get(cacheMapKey);\n let coalFullKey;\n let coalTtl = 0;\n if (loaderCacheFn) {\n const cacheResult = loaderCacheFn(loaderProps?.params, loaderProps?.request);\n const cacheKey = typeof cacheResult === \"string\" ? cacheResult : cacheResult?.key;\n coalTtl = typeof cacheResult === \"string\" ? 0 : cacheResult?.ttl ?? 0;\n if (cacheKey != null) {\n coalFullKey = routeId + \"\\0\" + cacheKey;\n const existing = pendingLoaderResults.get(coalFullKey);\n if (existing && (!existing.expires || Date.now() < existing.expires)) {\n const loaderData = await existing.promise;\n return { loaderData, routeId };\n }\n }\n }\n try {\n const loaderOrPromise = resolveLoaderSync(lazyKey);\n const loader = loaderOrPromise instanceof Promise ? await loaderOrPromise : loaderOrPromise;\n if (!loader) return { loaderData: void 0, routeId };\n if (loaderProps === requestLoaderProps) validateSearch();\n if (coalFullKey) {\n const promise = loader(loaderProps);\n const entry = { promise, expires: 0 };\n pendingLoaderResults.set(coalFullKey, entry);\n promise.then(\n () => {\n entry.expires = coalTtl > 0 ? Date.now() + coalTtl : 0;\n if (coalTtl <= 0)\n Promise.resolve().then(() => pendingLoaderResults.delete(coalFullKey));\n },\n () => pendingLoaderResults.delete(coalFullKey)\n );\n const loaderData2 = await promise;\n return { loaderData: loaderData2, routeId };\n }\n const loaderData = await loader(loaderProps);\n return { loaderData, routeId };\n } catch (err) {\n if (isResponse(err)) throw err;\n if (err?.code === \"ENOENT\")\n return { loaderData: void 0, routeId, isEnoent: true };\n console.error(`[one] Error running loader for ${routeId}:`, err);\n return { loaderData: void 0, routeId };\n }\n }\n const requestHandlers = {\n async handleStaticFile() {\n return null;\n },\n async handleAPI({ route }) {\n if (currentLazyRoutes.api[route.page]) {\n return await currentLazyRoutes.api[route.page]();\n }\n console.warn(`[one/worker] no lazy API route for ${route.page}`);\n return null;\n },\n async loadMiddleware(route) {\n if (currentLazyRoutes.middlewares[route.contextKey]) {\n return await currentLazyRoutes.middlewares[route.contextKey]();\n }\n console.warn(`[one/worker] no lazy middleware for ${route.contextKey}`);\n return null;\n },\n async handleLoader({ route, loaderProps }) {\n const routeFile = route.routeFile || route.file;\n let loader;\n try {\n const loaderResult = resolveLoaderSync(routeFile);\n loader = loaderResult instanceof Promise ? await loaderResult : loaderResult;\n } catch (err) {\n if (err?.code === \"ERR_MODULE_NOT_FOUND\") return null;\n throw err;\n }\n if (!loader) return null;\n const searchSchemas = route.type === \"ssr\" && loaderSearchSchemaMap.get(routeFile);\n if (searchSchemas) loaderProps = withLoaderSearchParams(searchSchemas, loaderProps);\n let json;\n try {\n json = await loader(loaderProps);\n } catch (err) {\n if (err?.code === \"ENOENT\") {\n return make404LoaderJs(\n loaderProps?.path || \"/\",\n `ENOENT ${err?.path || err}`\n );\n }\n throw err;\n }\n if (isResponse(json)) throw json;\n return `export function loader() { return ${JSON.stringify(json)} }`;\n },\n async handlePage({ route, url, loaderProps }) {\n const routeBuildInfo = routeToBuildInfo[route.file];\n if (route.type === \"ssr\") {\n if (!routeBuildInfo) {\n console.error(`Error in route`, route);\n throw new Error(\n `No buildinfo found for ${url}, route: ${route.file}, in keys:\n ${Object.keys(routeToBuildInfo).join(\"\\n \")}`\n );\n }\n try {\n const layoutRoutes = route.layouts || [];\n const layoutLoaderPromises = [];\n const noLoaderResults = [];\n for (const layout of layoutRoutes) {\n const cacheKey = layout.contextKey || \"\";\n const cachedLoader = loaderCache.get(cacheKey);\n if (cachedLoader === null) {\n noLoaderResults.push({\n loaderData: void 0,\n routeId: layout.contextKey\n });\n } else {\n layoutLoaderPromises.push(\n importAndRunLoader(layout.contextKey, layout.contextKey, loaderProps, true)\n );\n }\n }\n const pageLoaderPromise = importAndRunLoader(\n route.file,\n route.file,\n loaderProps,\n true\n );\n let layoutResults;\n let pageResult;\n try {\n if (layoutLoaderPromises.length === 0) {\n layoutResults = noLoaderResults;\n pageResult = await pageLoaderPromise;\n } else {\n const [asyncLayoutResults, pr] = await Promise.all([\n Promise.all(layoutLoaderPromises),\n pageLoaderPromise\n ]);\n layoutResults = [...noLoaderResults, ...asyncLayoutResults];\n pageResult = pr;\n }\n } catch (err) {\n if (isResponse(err)) return err;\n throw err;\n }\n if (pageResult.isEnoent) {\n const nfPath = findNearestNotFoundPath(loaderProps?.path || \"/\");\n const nfHtml = routeMap?.[nfPath];\n if (nfHtml) {\n const html = await readStaticHtml(nfHtml);\n if (html) {\n return new Response(html, {\n headers: { \"content-type\": \"text/html\" },\n status: 404\n });\n }\n }\n return new Response(\"404 Not Found\", { status: 404 });\n }\n const matchPathname = loaderProps?.path || \"/\";\n const matchParams = loaderProps?.params || {};\n const matches = new Array(layoutResults.length + 1);\n for (let i = 0; i < layoutResults.length; i++) {\n const result = layoutResults[i];\n matches[i] = {\n routeId: result.routeId,\n pathname: matchPathname,\n params: matchParams,\n loaderData: result.loaderData\n };\n }\n matches[layoutResults.length] = {\n routeId: pageResult.routeId,\n pathname: matchPathname,\n params: matchParams,\n loaderData: pageResult.loaderData\n };\n const loaderData = pageResult.loaderData;\n for (const layout of layoutRoutes) {\n const key = layout.contextKey;\n const loaderFn = loaderCache.get(key);\n if (loaderFn) {\n const result = layoutResults.find((r) => r.routeId === key);\n if (result) setSSRLoaderData(loaderFn, result.loaderData);\n }\n }\n const pageLoaderFn = loaderCache.get(route.file);\n if (pageLoaderFn) setSSRLoaderData(pageLoaderFn, pageResult.loaderData);\n globalThis[\"__vxrnresetState\"]?.();\n const renderProps = {\n mode: route.type,\n loaderData,\n loaderProps,\n path: loaderProps?.path || \"/\",\n preloads: routeBuildInfo.criticalPreloads || routeBuildInfo.preloads,\n deferredPreloads: routeBuildInfo.deferredPreloads,\n css: routeBuildInfo.css,\n cssContents: routeBuildInfo.cssContents,\n matches\n };\n const _rl = ensureRenderLoaded();\n if (_rl) await _rl;\n const status = route.isNotFound ? 404 : 200;\n const responseHeaders = route.isNotFound ? htmlHeaders : ssrHtmlHeaders;\n if (useStreaming) {\n const stream = await renderStream(renderProps);\n return new Response(stream, { headers: responseHeaders, status });\n }\n const rendered = await render(renderProps);\n return new Response(rendered, { headers: responseHeaders, status });\n } catch (err) {\n if (isResponse(err)) return err;\n console.error(\n `[one] Error rendering SSR route ${route.file}\n${err?.[\"stack\"] ?? err}\nurl: ${url}`\n );\n return null;\n }\n } else {\n const layoutRoutes = route.layouts || [];\n const needsSpaShell = route.type === \"spa\" && layoutRoutes.some(\n (layout) => layout.layoutRenderMode === \"ssg\" || layout.layoutRenderMode === \"ssr\"\n );\n if (needsSpaShell) {\n try {\n const layoutResults = await Promise.all(\n layoutRoutes.map(\n (layout) => importAndRunLoader(layout.contextKey, layout.contextKey, loaderProps)\n )\n );\n const matches = layoutResults.map((result) => ({\n routeId: result.routeId,\n pathname: loaderProps?.path || \"/\",\n params: loaderProps?.params || {},\n loaderData: result.loaderData\n }));\n globalThis[\"__vxrnresetState\"]?.();\n const _rl = ensureRenderLoaded();\n if (_rl) await _rl;\n const spaRouteBuildInfo = routeToBuildInfo[route.file];\n const rendered = await render({\n mode: \"spa-shell\",\n loaderData: void 0,\n loaderProps,\n path: loaderProps?.path || \"/\",\n preloads: spaRouteBuildInfo?.criticalPreloads || spaRouteBuildInfo?.preloads,\n deferredPreloads: spaRouteBuildInfo?.deferredPreloads,\n css: spaRouteBuildInfo?.css,\n cssContents: spaRouteBuildInfo?.cssContents,\n matches\n });\n return new Response(rendered, {\n headers: htmlHeaders,\n status: route.isNotFound ? 404 : 200\n });\n } catch (err) {\n if (isResponse(err)) return err;\n console.error(\n `[one] Error rendering spa-shell for ${route.file}\n${err?.[\"stack\"] ?? err}\nurl: ${url}`\n );\n }\n }\n const isDynamicRoute = Object.keys(route.routeKeys).length > 0;\n const routeCleanPath = route.urlCleanPath.replace(/\\?/g, \"\");\n const notFoundKey = route.isNotFound ? route.page.replace(/\\[([^\\]]+)\\]/g, \":$1\") : null;\n const htmlPath = notFoundKey ? routeMap?.[notFoundKey] : isDynamicRoute ? routeMap?.[routeCleanPath] || routeMap?.[url.pathname] : routeMap?.[url.pathname] || routeMap?.[routeBuildInfo?.cleanPath];\n if (htmlPath) {\n const html = await readStaticHtml(htmlPath);\n if (html) {\n return new Response(html, {\n headers: htmlHeaders,\n status: route.isNotFound ? 404 : 200\n });\n }\n }\n if (isDynamicRoute) {\n const notFoundRoute = findNearestNotFoundPath(url.pathname);\n const notFoundHtmlPath = routeMap?.[notFoundRoute];\n if (notFoundHtmlPath) {\n const notFoundHtml = await readStaticHtml(notFoundHtmlPath);\n if (notFoundHtml) {\n const notFoundMarker = `<script>window.__one404=${JSON.stringify({ originalPath: url.pathname, notFoundPath: notFoundRoute })}</script>`;\n const injectedHtml = notFoundHtml.includes(\"</head>\") ? notFoundHtml.replace(\"</head>\", `${notFoundMarker}</head>`) : notFoundHtml.replace(\"<body\", `${notFoundMarker}<body`);\n return new Response(injectedHtml, {\n headers: htmlHeaders,\n status: 404\n });\n }\n }\n return new Response(\"404 Not Found\", { status: 404 });\n }\n return null;\n }\n }\n };\n function setCacheHeaders(response, route, isAPI) {\n if (!response.headers.has(\"cache-control\") && !response.headers.has(\"Cache-Control\")) {\n try {\n if (isAPI) {\n response.headers.set(\"cache-control\", \"no-store\");\n } else if (route.type === \"ssg\" || route.type === \"spa\") {\n response.headers.set(\n \"cache-control\",\n \"public, s-maxage=60, stale-while-revalidate=120\"\n );\n } else {\n response.headers.set(\"cache-control\", \"no-cache\");\n }\n } catch {\n }\n }\n return response;\n }\n async function handleRequest(request, env, executionCtx) {\n const url = getURLfromRequestURL(request);\n const pathname = url.pathname;\n const method = request.method;\n if (compiledRedirects) {\n for (const redirect of compiledRedirects) {\n const match = redirect.regex.exec(pathname);\n if (match) {\n let destination = redirect.destination;\n if (match.groups) {\n for (const [name, value] of Object.entries(match.groups)) {\n destination = destination.replace(`:${name}`, value);\n }\n }\n if (debugRouter) console.info(`[one] \\u21AA redirect ${pathname} \\u2192 ${destination}`);\n return new Response(null, {\n status: redirect.permanent ? 301 : 302,\n headers: {\n location: new URL(destination, url.origin).toString()\n }\n });\n }\n }\n }\n if (PRELOAD_JS_POSTFIX_REGEX.test(pathname)) {\n if (!currentPreloads[pathname]) {\n return new Response(\"\", {\n headers: { \"Content-Type\": \"text/javascript\" }\n });\n }\n return null;\n }\n if (CSS_PRELOAD_JS_POSTFIX_REGEX.test(pathname)) {\n if (!currentCssPreloads?.[pathname]) {\n return new Response(\"export default Promise.resolve()\", {\n headers: { \"Content-Type\": \"text/javascript\" }\n });\n }\n return null;\n }\n if (pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {\n const originalUrl = getPathFromLoaderPath(pathname);\n for (const route of compiledManifest.pageRoutes) {\n if (route.file === \"\") continue;\n if (!route.compiledRegex.test(originalUrl)) continue;\n if (route.type === \"ssg\" && Object.keys(route.routeKeys).length > 0 && routeMap && !routeMap[originalUrl]) {\n return new Response(make404LoaderJs(originalUrl, \"ssg route not in routeMap\"), {\n headers: { \"Content-Type\": \"text/javascript\" }\n });\n }\n if (route.hasLoader === false) {\n return new Response(\"export function loader() { return undefined }\", {\n headers: { \"Content-Type\": \"text/javascript\" }\n });\n }\n const loaderRoute = {\n ...route,\n routeFile: route.file,\n file: route.loaderServerPath || pathname\n };\n const finalUrl = new URL(originalUrl, url.origin);\n finalUrl.search = url.search;\n const cleanedRequest = new Request(finalUrl, request);\n try {\n return await resolveLoaderRoute(\n requestHandlers,\n cleanedRequest,\n finalUrl,\n loaderRoute\n );\n } catch (err) {\n if (err?.code === \"ERR_MODULE_NOT_FOUND\") {\n return new Response(\"export function loader() { return undefined }\", {\n headers: { \"Content-Type\": \"text/javascript\" }\n });\n }\n console.error(`Error running loader: ${err}`);\n return null;\n }\n }\n return null;\n }\n if (pathname.endsWith(\".js\") || pathname.endsWith(\".css\")) {\n return null;\n }\n for (const route of compiledManifest.apiRoutes) {\n if (route.compiledRegex.test(pathname)) {\n if (debugRouter)\n console.info(`[one] \\u26A1 ${pathname} \\u2192 matched API route: ${route.page}`);\n const response = await resolveAPIRoute(\n requestHandlers,\n request,\n url,\n route,\n env,\n executionCtx\n );\n if (response && isResponse(response)) {\n return setCacheHeaders(response, route, true);\n }\n return null;\n }\n }\n if (isPageRequestMethod(method)) {\n for (const route of compiledManifest.pageRoutes) {\n if (!route.compiledRegex.test(pathname)) continue;\n if (debugRouter) {\n console.info(\n `[one] \\u26A1 ${pathname} \\u2192 matched page route: ${route.page} (${route.type})`\n );\n }\n if (route.type === \"ssr\" && !route.middlewares?.length) {\n const params = {};\n const match = route.compiledRegex.exec(pathname);\n if (match?.groups) {\n for (const [key, value] of Object.entries(match.groups)) {\n params[route.routeKeys[key]] = value;\n }\n }\n const loaderProps = {\n path: pathname,\n search: url.search,\n subdomain: getSubdomain(url),\n request,\n params\n };\n const response = await resolveResponse(async () => {\n try {\n return await requestHandlers.handlePage({\n request,\n route,\n url,\n loaderProps\n });\n } catch (err) {\n if (isResponse(err)) return err;\n throw err;\n }\n });\n if (response && isResponse(response)) {\n return setCacheHeaders(response, route, false);\n }\n return null;\n }\n try {\n const response = await resolvePageRoute(requestHandlers, request, url, route);\n if (response && isResponse(response)) {\n return setCacheHeaders(response, route, false);\n }\n } catch (err) {\n console.error(` [one] Error handling request: ${err[\"stack\"]}`);\n }\n return null;\n }\n }\n return null;\n }\n function updateRoutes(newBuildInfo, newLazyRoutes) {\n compiledManifest = compileManifest(newBuildInfo.manifest);\n routeToBuildInfo = newBuildInfo.routeToBuildInfo;\n routeMap = newBuildInfo.routeMap;\n currentPreloads = newBuildInfo.preloads;\n currentCssPreloads = newBuildInfo.cssPreloads;\n if (newLazyRoutes) currentLazyRoutes = newLazyRoutes;\n loaderCache.clear();\n moduleImportCache.clear();\n loaderCacheFnMap.clear();\n loaderSearchSchemaMap.clear();\n pendingLoaderResults.clear();\n render = null;\n renderStream = null;\n renderLoading = null;\n entryLoading = null;\n }\n return { handleRequest, updateRoutes };\n}\nexport {\n createWorkerHandler\n};\n//# sourceMappingURL=workerHandler.js.map\n"],"mappings":";;;;;;;;;;;;;AA0BA,SAAS,oBAAoB,SAAS;CACpC,MAAM,EAAE,eAAe;CACvB,MAAM,qBAAqB,CAAC,CAAC,QAAQ;CACrC,MAAM,aAAa,4BAA4B,UAAU;CACzD,IAAI,oBAAoB,QAAQ;CAChC,IAAI,mBAAmB,gBAAgB,QAAQ,UAAU,QAAQ;CACjE,IAAI,mBAAmB,QAAQ,UAAU;CACzC,IAAI,WAAW,QAAQ,UAAU;CACjC,IAAI,kBAAkB,QAAQ,UAAU;CACxC,IAAI,qBAAqB,QAAQ,UAAU;CAC3C,MAAM,cAAc,QAAQ,IAAI;CAChC,MAAM,YAAY,WAAW,KAAK;CAClC,IAAI,oBAAoB;CACxB,IAAI,WAAW,QAAQ;EACrB,oBAAoB,UAAU,KAAK,MAAM;GACvC,MAAM,cAAc,EAAE,OAAO,QAAQ,YAAY,GAAG,SAAS,MAAM,KAAK,QAAQ;GAChF,OAAO;IACL,OAAO,IAAI,OAAO,IAAI,YAAY,EAAE;IACpC,aAAa,EAAE;IACf,WAAW,EAAE,aAAa;GAC5B;EACF,CAAC;CACH;CACA,MAAM,eAAe,CAAC,QAAQ,IAAI;CAClC,MAAM,cAAc,EAAE,gBAAgB,YAAY;CAClD,MAAM,iBAAiB;EAAE,gBAAgB;EAAa,iBAAiB;CAAW;CAClF,MAAM,8BAA8B,IAAI,IAAI;CAC5C,MAAM,oCAAoC,IAAI,IAAI;CAClD,MAAM,mCAAmC,IAAI,IAAI;CACjD,MAAM,wCAAwC,IAAI,IAAI;CACtD,MAAM,uCAAuC,IAAI,IAAI;CACrD,IAAI,SAAS;CACb,IAAI,eAAe;CACnB,IAAI,gBAAgB;CACpB,IAAI,mBAAmB;CACvB,IAAI,eAAe;CACnB,SAAS,kBAAkB;EACzB,IAAI,CAAC,cAAc,eAAe,kBAAkB,YAAY;EAChE,OAAO;CACT;CACA,SAAS,qBAAqB;EAC5B,IAAI,QAAQ;EACZ,IAAI,eAAe,OAAO;EAC1B,MAAM,MAAM,EAAE;EACd,iBAAiB,YAAY;GAC3B,MAAM,QAAQ,MAAM,gBAAgB;GACpC,IAAI,QAAQ,kBAAkB;GAC9B,SAAS,MAAM,QAAQ;GACvB,eAAe,MAAM,QAAQ,gBAAgB;EAC/C,EAAC,CAAE;EACH,OAAO;CACT;CACA,SAAS,wBAAwB,SAAS;EACxC,IAAI,MAAM;EACV,OAAO,KAAK;GACV,MAAM,SAAS,IAAI,YAAY,GAAG,IAAI,IAAI,IAAI,MAAM,GAAG,IAAI,YAAY,GAAG,CAAC,IAAI;GAC/E,MAAM,YAAY,GAAG,OAAO;GAC5B,IAAI,WAAW,SAAS,aAAa,iBAAiB,WAAW,MAC9D,UAAU,MAAM,cAAc,2BAA2B,MAAM,IAAI,MAAM,SAC5E,GAAG;IACD,OAAO;GACT;GACA,IAAI,CAAC,QAAQ;GACb,MAAM;EACR;EACA,OAAO;CACT;CACA,SAAS,gBAAgB,MAAM,WAAW;EACxC,MAAM,SAAS,wBAAwB,IAAI;EAC3C,IAAI,WAAW,QAAQ,MAAM,wBAAwB,KAAK,IAAI,WAAW;EACzE,OAAO,kGAAkG,KAAK,UAAU,MAAM,EAAE;CAClI;CACA,eAAe,eAAe,UAAU;EACtC,MAAM,kBAAkB,mBAAmB;EAC3C,IAAI,iBAAiB,OAAO,MAAM,gBAAgB,QAAQ;EAC1D,IAAI,aAAa;GACf,QAAQ,KAAK,oDAAoD,UAAU;EAC7E;EACA,OAAO;CACT;CACA,SAAS,kBAAkB,SAAS;EAClC,MAAM,WAAW,WAAW;EAC5B,IAAI,CAAC,oBAAoB;GACvB,MAAM,SAAS,YAAY,IAAI,QAAQ;GACvC,IAAI,WAAW,KAAK,GAAG,OAAO;EAChC;EACA,QAAQ,YAAY;GAClB,IAAI;GACJ,IAAI,CAAC,sBAAsB,kBAAkB,IAAI,QAAQ,GAAG;IAC1D,gBAAgB,kBAAkB,IAAI,QAAQ;GAChD,OAAO,IAAI,kBAAkB,QAAQ,WAAW;IAC9C,gBAAgB,MAAM,kBAAkB,MAAM,SAAS,CAAC;IACxD,IAAI,CAAC,oBAAoB,kBAAkB,IAAI,UAAU,aAAa;GACxE,OAAO;IACL,gBAAgB,UAAU,MAAM,yBAAyB,MAAM,gBAAgB,GAAG,YAAY,OAAO,IAAI;IACzG,IAAI,CAAC,eAAe;KAClB,QAAQ,KAAK,kCAAkC,UAAU;KACzD,IAAI,CAAC,oBAAoB,YAAY,IAAI,UAAU,IAAI;KACvD,OAAO;IACT;IACA,IAAI,CAAC,oBAAoB,kBAAkB,IAAI,UAAU,aAAa;GACxE;GACA,MAAM,SAAS,eAAe,UAAU;GACxC,sBAAsB,IAAI,UAAU,uBAAuB,aAAa,CAAC;GACzE,IAAI,CAAC,oBAAoB;IACvB,YAAY,IAAI,UAAU,MAAM;IAChC,iBAAiB,IAAI,UAAU,eAAe,eAAe,IAAI;GACnE;GACA,OAAO;EACT,EAAC,CAAE;CACL;CACA,eAAe,mBAAmB,SAAS,SAAS,oBAAoB,mBAAmB,OAAO;EAChG,IAAI,CAAC,SAAS,OAAO;GAAE,YAAY,KAAK;GAAG;EAAQ;EACnD,MAAM,cAAc;EACpB,IAAI,cAAc;EAClB,MAAM,uBAAuB;GAC3B,MAAM,UAAU,oBAAoB,sBAAsB,IAAI,WAAW;GACzE,IAAI,SAAS,cAAc,uBAAuB,SAAS,kBAAkB;EAC/E;EACA,eAAe;EACf,MAAM,gBAAgB,iBAAiB,IAAI,WAAW;EACtD,IAAI;EACJ,IAAI,UAAU;EACd,IAAI,eAAe;GACjB,MAAM,cAAc,cAAc,aAAa,QAAQ,aAAa,OAAO;GAC3E,MAAM,WAAW,OAAO,gBAAgB,WAAW,cAAc,aAAa;GAC9E,UAAU,OAAO,gBAAgB,WAAW,IAAI,aAAa,OAAO;GACpE,IAAI,YAAY,MAAM;IACpB,cAAc,UAAU,OAAO;IAC/B,MAAM,WAAW,qBAAqB,IAAI,WAAW;IACrD,IAAI,aAAa,CAAC,SAAS,WAAW,KAAK,IAAI,IAAI,SAAS,UAAU;KACpE,MAAM,aAAa,MAAM,SAAS;KAClC,OAAO;MAAE;MAAY;KAAQ;IAC/B;GACF;EACF;EACA,IAAI;GACF,MAAM,kBAAkB,kBAAkB,OAAO;GACjD,MAAM,SAAS,2BAA2B,UAAU,MAAM,kBAAkB;GAC5E,IAAI,CAAC,QAAQ,OAAO;IAAE,YAAY,KAAK;IAAG;GAAQ;GAClD,IAAI,gBAAgB,oBAAoB,eAAe;GACvD,IAAI,aAAa;IACf,MAAM,UAAU,OAAO,WAAW;IAClC,MAAM,QAAQ;KAAE;KAAS,SAAS;IAAE;IACpC,qBAAqB,IAAI,aAAa,KAAK;IAC3C,QAAQ,WACA;KACJ,MAAM,UAAU,UAAU,IAAI,KAAK,IAAI,IAAI,UAAU;KACrD,IAAI,WAAW,GACb,QAAQ,QAAQ,CAAC,CAAC,WAAW,qBAAqB,OAAO,WAAW,CAAC;IACzE,SACM,qBAAqB,OAAO,WAAW,CAC/C;IACA,MAAM,cAAc,MAAM;IAC1B,OAAO;KAAE,YAAY;KAAa;IAAQ;GAC5C;GACA,MAAM,aAAa,MAAM,OAAO,WAAW;GAC3C,OAAO;IAAE;IAAY;GAAQ;EAC/B,SAAS,KAAK;GACZ,IAAI,WAAW,GAAG,GAAG,MAAM;GAC3B,IAAI,KAAK,SAAS,UAChB,OAAO;IAAE,YAAY,KAAK;IAAG;IAAS,UAAU;GAAK;GACvD,QAAQ,MAAM,kCAAkC,QAAQ,IAAI,GAAG;GAC/D,OAAO;IAAE,YAAY,KAAK;IAAG;GAAQ;EACvC;CACF;CACA,MAAM,kBAAkB;EACtB,MAAM,mBAAmB;GACvB,OAAO;EACT;EACA,MAAM,UAAU,EAAE,SAAS;GACzB,IAAI,kBAAkB,IAAI,MAAM,OAAO;IACrC,OAAO,MAAM,kBAAkB,IAAI,MAAM,KAAK,CAAC;GACjD;GACA,QAAQ,KAAK,sCAAsC,MAAM,MAAM;GAC/D,OAAO;EACT;EACA,MAAM,eAAe,OAAO;GAC1B,IAAI,kBAAkB,YAAY,MAAM,aAAa;IACnD,OAAO,MAAM,kBAAkB,YAAY,MAAM,WAAW,CAAC;GAC/D;GACA,QAAQ,KAAK,uCAAuC,MAAM,YAAY;GACtE,OAAO;EACT;EACA,MAAM,aAAa,EAAE,OAAO,eAAe;GACzC,MAAM,YAAY,MAAM,aAAa,MAAM;GAC3C,IAAI;GACJ,IAAI;IACF,MAAM,eAAe,kBAAkB,SAAS;IAChD,SAAS,wBAAwB,UAAU,MAAM,eAAe;GAClE,SAAS,KAAK;IACZ,IAAI,KAAK,SAAS,wBAAwB,OAAO;IACjD,MAAM;GACR;GACA,IAAI,CAAC,QAAQ,OAAO;GACpB,MAAM,gBAAgB,MAAM,SAAS,SAAS,sBAAsB,IAAI,SAAS;GACjF,IAAI,eAAe,cAAc,uBAAuB,eAAe,WAAW;GAClF,IAAI;GACJ,IAAI;IACF,OAAO,MAAM,OAAO,WAAW;GACjC,SAAS,KAAK;IACZ,IAAI,KAAK,SAAS,UAAU;KAC1B,OAAO,gBACL,aAAa,QAAQ,KACrB,UAAU,KAAK,QAAQ,KACzB;IACF;IACA,MAAM;GACR;GACA,IAAI,WAAW,IAAI,GAAG,MAAM;GAC5B,OAAO,qCAAqC,KAAK,UAAU,IAAI,EAAE;EACnE;EACA,MAAM,WAAW,EAAE,OAAO,KAAK,eAAe;GAC5C,MAAM,iBAAiB,iBAAiB,MAAM;GAC9C,IAAI,MAAM,SAAS,OAAO;IACxB,IAAI,CAAC,gBAAgB;KACnB,QAAQ,MAAM,kBAAkB,KAAK;KACrC,MAAM,IAAI,MACR,0BAA0B,IAAI,WAAW,MAAM,KAAK;IAC5D,OAAO,KAAK,gBAAgB,CAAC,CAAC,KAAK,MAAM,GACnC;IACF;IACA,IAAI;KACF,MAAM,eAAe,MAAM,WAAW,CAAC;KACvC,MAAM,uBAAuB,CAAC;KAC9B,MAAM,kBAAkB,CAAC;KACzB,KAAK,MAAM,UAAU,cAAc;MACjC,MAAM,WAAW,OAAO,cAAc;MACtC,MAAM,eAAe,YAAY,IAAI,QAAQ;MAC7C,IAAI,iBAAiB,MAAM;OACzB,gBAAgB,KAAK;QACnB,YAAY,KAAK;QACjB,SAAS,OAAO;OAClB,CAAC;MACH,OAAO;OACL,qBAAqB,KACnB,mBAAmB,OAAO,YAAY,OAAO,YAAY,aAAa,IAAI,CAC5E;MACF;KACF;KACA,MAAM,oBAAoB,mBACxB,MAAM,MACN,MAAM,MACN,aACA,IACF;KACA,IAAI;KACJ,IAAI;KACJ,IAAI;MACF,IAAI,qBAAqB,WAAW,GAAG;OACrC,gBAAgB;OAChB,aAAa,MAAM;MACrB,OAAO;OACL,MAAM,CAAC,oBAAoB,MAAM,MAAM,QAAQ,IAAI,CACjD,QAAQ,IAAI,oBAAoB,GAChC,iBACF,CAAC;OACD,gBAAgB,CAAC,GAAG,iBAAiB,GAAG,kBAAkB;OAC1D,aAAa;MACf;KACF,SAAS,KAAK;MACZ,IAAI,WAAW,GAAG,GAAG,OAAO;MAC5B,MAAM;KACR;KACA,IAAI,WAAW,UAAU;MACvB,MAAM,SAAS,wBAAwB,aAAa,QAAQ,GAAG;MAC/D,MAAM,SAAS,WAAW;MAC1B,IAAI,QAAQ;OACV,MAAM,OAAO,MAAM,eAAe,MAAM;OACxC,IAAI,MAAM;QACR,OAAO,IAAI,SAAS,MAAM;SACxB,SAAS,EAAE,gBAAgB,YAAY;SACvC,QAAQ;QACV,CAAC;OACH;MACF;MACA,OAAO,IAAI,SAAS,iBAAiB,EAAE,QAAQ,IAAI,CAAC;KACtD;KACA,MAAM,gBAAgB,aAAa,QAAQ;KAC3C,MAAM,cAAc,aAAa,UAAU,CAAC;KAC5C,MAAM,UAAU,IAAI,MAAM,cAAc,SAAS,CAAC;KAClD,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;MAC7C,MAAM,SAAS,cAAc;MAC7B,QAAQ,KAAK;OACX,SAAS,OAAO;OAChB,UAAU;OACV,QAAQ;OACR,YAAY,OAAO;MACrB;KACF;KACA,QAAQ,cAAc,UAAU;MAC9B,SAAS,WAAW;MACpB,UAAU;MACV,QAAQ;MACR,YAAY,WAAW;KACzB;KACA,MAAM,aAAa,WAAW;KAC9B,KAAK,MAAM,UAAU,cAAc;MACjC,MAAM,MAAM,OAAO;MACnB,MAAM,WAAW,YAAY,IAAI,GAAG;MACpC,IAAI,UAAU;OACZ,MAAM,SAAS,cAAc,MAAM,MAAM,EAAE,YAAY,GAAG;OAC1D,IAAI,QAAQ,iBAAiB,UAAU,OAAO,UAAU;MAC1D;KACF;KACA,MAAM,eAAe,YAAY,IAAI,MAAM,IAAI;KAC/C,IAAI,cAAc,iBAAiB,cAAc,WAAW,UAAU;KACtE,WAAW,mBAAmB,GAAG;KACjC,MAAM,cAAc;MAClB,MAAM,MAAM;MACZ;MACA;MACA,MAAM,aAAa,QAAQ;MAC3B,UAAU,eAAe,oBAAoB,eAAe;MAC5D,kBAAkB,eAAe;MACjC,KAAK,eAAe;MACpB,aAAa,eAAe;MAC5B;KACF;KACA,MAAM,MAAM,mBAAmB;KAC/B,IAAI,KAAK,MAAM;KACf,MAAM,SAAS,MAAM,aAAa,MAAM;KACxC,MAAM,kBAAkB,MAAM,aAAa,cAAc;KACzD,IAAI,cAAc;MAChB,MAAM,SAAS,MAAM,aAAa,WAAW;MAC7C,OAAO,IAAI,SAAS,QAAQ;OAAE,SAAS;OAAiB;MAAO,CAAC;KAClE;KACA,MAAM,WAAW,MAAM,OAAO,WAAW;KACzC,OAAO,IAAI,SAAS,UAAU;MAAE,SAAS;MAAiB;KAAO,CAAC;IACpE,SAAS,KAAK;KACZ,IAAI,WAAW,GAAG,GAAG,OAAO;KAC5B,QAAQ,MACN,mCAAmC,MAAM,KAAK;EACxD,MAAM,YAAY,IAAI;OACjB,KACG;KACA,OAAO;IACT;GACF,OAAO;IACL,MAAM,eAAe,MAAM,WAAW,CAAC;IACvC,MAAM,gBAAgB,MAAM,SAAS,SAAS,aAAa,MACxD,WAAW,OAAO,qBAAqB,SAAS,OAAO,qBAAqB,KAC/E;IACA,IAAI,eAAe;KACjB,IAAI;MACF,MAAM,gBAAgB,MAAM,QAAQ,IAClC,aAAa,KACV,WAAW,mBAAmB,OAAO,YAAY,OAAO,YAAY,WAAW,CAClF,CACF;MACA,MAAM,UAAU,cAAc,KAAK,YAAY;OAC7C,SAAS,OAAO;OAChB,UAAU,aAAa,QAAQ;OAC/B,QAAQ,aAAa,UAAU,CAAC;OAChC,YAAY,OAAO;MACrB,EAAE;MACF,WAAW,mBAAmB,GAAG;MACjC,MAAM,MAAM,mBAAmB;MAC/B,IAAI,KAAK,MAAM;MACf,MAAM,oBAAoB,iBAAiB,MAAM;MACjD,MAAM,WAAW,MAAM,OAAO;OAC5B,MAAM;OACN,YAAY,KAAK;OACjB;OACA,MAAM,aAAa,QAAQ;OAC3B,UAAU,mBAAmB,oBAAoB,mBAAmB;OACpE,kBAAkB,mBAAmB;OACrC,KAAK,mBAAmB;OACxB,aAAa,mBAAmB;OAChC;MACF,CAAC;MACD,OAAO,IAAI,SAAS,UAAU;OAC5B,SAAS;OACT,QAAQ,MAAM,aAAa,MAAM;MACnC,CAAC;KACH,SAAS,KAAK;MACZ,IAAI,WAAW,GAAG,GAAG,OAAO;MAC5B,QAAQ,MACN,uCAAuC,MAAM,KAAK;EAC9D,MAAM,YAAY,IAAI;OACjB,KACK;KACF;IACF;IACA,MAAM,iBAAiB,OAAO,KAAK,MAAM,SAAS,CAAC,CAAC,SAAS;IAC7D,MAAM,iBAAiB,MAAM,aAAa,QAAQ,OAAO,EAAE;IAC3D,MAAM,cAAc,MAAM,aAAa,MAAM,KAAK,QAAQ,iBAAiB,KAAK,IAAI;IACpF,MAAM,WAAW,cAAc,WAAW,eAAe,iBAAiB,WAAW,mBAAmB,WAAW,IAAI,YAAY,WAAW,IAAI,aAAa,WAAW,gBAAgB;IAC1L,IAAI,UAAU;KACZ,MAAM,OAAO,MAAM,eAAe,QAAQ;KAC1C,IAAI,MAAM;MACR,OAAO,IAAI,SAAS,MAAM;OACxB,SAAS;OACT,QAAQ,MAAM,aAAa,MAAM;MACnC,CAAC;KACH;IACF;IACA,IAAI,gBAAgB;KAClB,MAAM,gBAAgB,wBAAwB,IAAI,QAAQ;KAC1D,MAAM,mBAAmB,WAAW;KACpC,IAAI,kBAAkB;MACpB,MAAM,eAAe,MAAM,eAAe,gBAAgB;MAC1D,IAAI,cAAc;OAChB,MAAM,iBAAiB,2BAA2B,KAAK,UAAU;QAAE,cAAc,IAAI;QAAU,cAAc;OAAc,CAAC,EAAE;OAC9H,MAAM,eAAe,aAAa,SAAS,SAAS,IAAI,aAAa,QAAQ,WAAW,GAAG,eAAe,QAAQ,IAAI,aAAa,QAAQ,SAAS,GAAG,eAAe,MAAM;OAC5K,OAAO,IAAI,SAAS,cAAc;QAChC,SAAS;QACT,QAAQ;OACV,CAAC;MACH;KACF;KACA,OAAO,IAAI,SAAS,iBAAiB,EAAE,QAAQ,IAAI,CAAC;IACtD;IACA,OAAO;GACT;EACF;CACF;CACA,SAAS,gBAAgB,UAAU,OAAO,OAAO;EAC/C,IAAI,CAAC,SAAS,QAAQ,IAAI,eAAe,KAAK,CAAC,SAAS,QAAQ,IAAI,eAAe,GAAG;GACpF,IAAI;IACF,IAAI,OAAO;KACT,SAAS,QAAQ,IAAI,iBAAiB,UAAU;IAClD,OAAO,IAAI,MAAM,SAAS,SAAS,MAAM,SAAS,OAAO;KACvD,SAAS,QAAQ,IACf,iBACA,iDACF;IACF,OAAO;KACL,SAAS,QAAQ,IAAI,iBAAiB,UAAU;IAClD;GACF,QAAQ,CACR;EACF;EACA,OAAO;CACT;CACA,eAAe,cAAc,SAAS,KAAK,cAAc;EACvD,MAAM,MAAM,qBAAqB,OAAO;EACxC,MAAM,WAAW,IAAI;EACrB,MAAM,SAAS,QAAQ;EACvB,IAAI,mBAAmB;GACrB,KAAK,MAAM,YAAY,mBAAmB;IACxC,MAAM,QAAQ,SAAS,MAAM,KAAK,QAAQ;IAC1C,IAAI,OAAO;KACT,IAAI,cAAc,SAAS;KAC3B,IAAI,MAAM,QAAQ;MAChB,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,MAAM,MAAM,GAAG;OACxD,cAAc,YAAY,QAAQ,IAAI,QAAQ,KAAK;MACrD;KACF;KACA,IAAI,aAAa,QAAQ,KAAK,yBAAyB,SAAS,UAAU,aAAa;KACvF,OAAO,IAAI,SAAS,MAAM;MACxB,QAAQ,SAAS,YAAY,MAAM;MACnC,SAAS,EACP,UAAU,IAAI,IAAI,aAAa,IAAI,MAAM,CAAC,CAAC,SAAS,EACtD;KACF,CAAC;IACH;GACF;EACF;EACA,IAAI,yBAAyB,KAAK,QAAQ,GAAG;GAC3C,IAAI,CAAC,gBAAgB,WAAW;IAC9B,OAAO,IAAI,SAAS,IAAI,EACtB,SAAS,EAAE,gBAAgB,kBAAkB,EAC/C,CAAC;GACH;GACA,OAAO;EACT;EACA,IAAI,6BAA6B,KAAK,QAAQ,GAAG;GAC/C,IAAI,CAAC,qBAAqB,WAAW;IACnC,OAAO,IAAI,SAAS,oCAAoC,EACtD,SAAS,EAAE,gBAAgB,kBAAkB,EAC/C,CAAC;GACH;GACA,OAAO;EACT;EACA,IAAI,SAAS,SAAS,0BAA0B,GAAG;GACjD,MAAM,cAAc,sBAAsB,QAAQ;GAClD,KAAK,MAAM,SAAS,iBAAiB,YAAY;IAC/C,IAAI,MAAM,SAAS,IAAI;IACvB,IAAI,CAAC,MAAM,cAAc,KAAK,WAAW,GAAG;IAC5C,IAAI,MAAM,SAAS,SAAS,OAAO,KAAK,MAAM,SAAS,CAAC,CAAC,SAAS,KAAK,YAAY,CAAC,SAAS,cAAc;KACzG,OAAO,IAAI,SAAS,gBAAgB,aAAa,2BAA2B,GAAG,EAC7E,SAAS,EAAE,gBAAgB,kBAAkB,EAC/C,CAAC;IACH;IACA,IAAI,MAAM,cAAc,OAAO;KAC7B,OAAO,IAAI,SAAS,iDAAiD,EACnE,SAAS,EAAE,gBAAgB,kBAAkB,EAC/C,CAAC;IACH;IACA,MAAM,cAAc;KAClB,GAAG;KACH,WAAW,MAAM;KACjB,MAAM,MAAM,oBAAoB;IAClC;IACA,MAAM,WAAW,IAAI,IAAI,aAAa,IAAI,MAAM;IAChD,SAAS,SAAS,IAAI;IACtB,MAAM,iBAAiB,IAAI,QAAQ,UAAU,OAAO;IACpD,IAAI;KACF,OAAO,MAAM,mBACX,iBACA,gBACA,UACA,WACF;IACF,SAAS,KAAK;KACZ,IAAI,KAAK,SAAS,wBAAwB;MACxC,OAAO,IAAI,SAAS,iDAAiD,EACnE,SAAS,EAAE,gBAAgB,kBAAkB,EAC/C,CAAC;KACH;KACA,QAAQ,MAAM,yBAAyB,KAAK;KAC5C,OAAO;IACT;GACF;GACA,OAAO;EACT;EACA,IAAI,SAAS,SAAS,KAAK,KAAK,SAAS,SAAS,MAAM,GAAG;GACzD,OAAO;EACT;EACA,KAAK,MAAM,SAAS,iBAAiB,WAAW;GAC9C,IAAI,MAAM,cAAc,KAAK,QAAQ,GAAG;IACtC,IAAI,aACF,QAAQ,KAAK,gBAAgB,SAAS,6BAA6B,MAAM,MAAM;IACjF,MAAM,WAAW,MAAM,gBACrB,iBACA,SACA,KACA,OACA,KACA,YACF;IACA,IAAI,YAAY,WAAW,QAAQ,GAAG;KACpC,OAAO,gBAAgB,UAAU,OAAO,IAAI;IAC9C;IACA,OAAO;GACT;EACF;EACA,IAAI,oBAAoB,MAAM,GAAG;GAC/B,KAAK,MAAM,SAAS,iBAAiB,YAAY;IAC/C,IAAI,CAAC,MAAM,cAAc,KAAK,QAAQ,GAAG;IACzC,IAAI,aAAa;KACf,QAAQ,KACN,gBAAgB,SAAS,8BAA8B,MAAM,KAAK,IAAI,MAAM,KAAK,EACnF;IACF;IACA,IAAI,MAAM,SAAS,SAAS,CAAC,MAAM,aAAa,QAAQ;KACtD,MAAM,SAAS,CAAC;KAChB,MAAM,QAAQ,MAAM,cAAc,KAAK,QAAQ;KAC/C,IAAI,OAAO,QAAQ;MACjB,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,MAAM,MAAM,GAAG;OACvD,OAAO,MAAM,UAAU,QAAQ;MACjC;KACF;KACA,MAAM,cAAc;MAClB,MAAM;MACN,QAAQ,IAAI;MACZ,WAAW,aAAa,GAAG;MAC3B;MACA;KACF;KACA,MAAM,WAAW,MAAM,gBAAgB,YAAY;MACjD,IAAI;OACF,OAAO,MAAM,gBAAgB,WAAW;QACtC;QACA;QACA;QACA;OACF,CAAC;MACH,SAAS,KAAK;OACZ,IAAI,WAAW,GAAG,GAAG,OAAO;OAC5B,MAAM;MACR;KACF,CAAC;KACD,IAAI,YAAY,WAAW,QAAQ,GAAG;MACpC,OAAO,gBAAgB,UAAU,OAAO,KAAK;KAC/C;KACA,OAAO;IACT;IACA,IAAI;KACF,MAAM,WAAW,MAAM,iBAAiB,iBAAiB,SAAS,KAAK,KAAK;KAC5E,IAAI,YAAY,WAAW,QAAQ,GAAG;MACpC,OAAO,gBAAgB,UAAU,OAAO,KAAK;KAC/C;IACF,SAAS,KAAK;KACZ,QAAQ,MAAM,kCAAkC,IAAI,UAAU;IAChE;IACA,OAAO;GACT;EACF;EACA,OAAO;CACT;CACA,SAAS,aAAa,cAAc,eAAe;EACjD,mBAAmB,gBAAgB,aAAa,QAAQ;EACxD,mBAAmB,aAAa;EAChC,WAAW,aAAa;EACxB,kBAAkB,aAAa;EAC/B,qBAAqB,aAAa;EAClC,IAAI,eAAe,oBAAoB;EACvC,YAAY,MAAM;EAClB,kBAAkB,MAAM;EACxB,iBAAiB,MAAM;EACvB,sBAAsB,MAAM;EAC5B,qBAAqB,MAAM;EAC3B,SAAS;EACT,eAAe;EACf,gBAAgB;EAChB,eAAe;CACjB;CACA,OAAO;EAAE;EAAe;CAAa;AACvC"}
|
|
1
|
+
{"version":3,"file":"workerHandler.js","names":[],"sources":["esm/server/workerHandler.js"],"sourcesContent":["import {\n CSS_PRELOAD_JS_POSTFIX_REGEX,\n LOADER_JS_POSTFIX_UNCACHED,\n PRELOAD_JS_POSTFIX_REGEX\n} from \"../constants\";\nimport {\n compileManifest,\n getSubdomain,\n getURLfromRequestURL,\n isPageRequestMethod,\n resolveAPIRoute,\n resolveLoaderRoute,\n resolvePageRoute\n} from \"../createHandleRequest\";\nimport { stripGroupSegmentsFromPath } from \"../router/matchers\";\nimport { getPathFromLoaderPath } from \"../utils/cleanUrl\";\nimport { getRouterRootFromOneOptions } from \"../utils/getRouterRootFromOneOptions\";\nimport { isResponse } from \"../utils/isResponse\";\nimport { resolveResponse } from \"../vite/resolveResponse\";\nimport {\n getLoaderSearchSchemas,\n withLoaderSearchParams\n} from \"../loaderSearchParams\";\nimport { getRouteExportsFromEntry } from \"./routeExportsFromEntry\";\nimport { setSSRLoaderData } from \"./ssrLoaderData\";\nfunction createWorkerHandler(options) {\n const { oneOptions } = options;\n const disableModuleCache = !!options.disableModuleCache;\n const routerRoot = getRouterRootFromOneOptions(oneOptions);\n let currentLazyRoutes = options.lazyRoutes;\n let compiledManifest = compileManifest(options.buildInfo.manifest);\n let routeToBuildInfo = options.buildInfo.routeToBuildInfo;\n let routeMap = options.buildInfo.routeMap;\n let currentPreloads = options.buildInfo.preloads;\n let currentCssPreloads = options.buildInfo.cssPreloads;\n const debugRouter = process.env.ONE_DEBUG_ROUTER;\n const redirects = oneOptions.web?.redirects;\n let compiledRedirects = null;\n if (redirects?.length) {\n compiledRedirects = redirects.map((r) => {\n const regexSource = r.source.replace(/:(\\w+)/g, (_, name) => `(?<${name}>[^/]+)`);\n return {\n regex: new RegExp(`^${regexSource}$`),\n destination: r.destination,\n permanent: r.permanent || false\n };\n });\n }\n const useStreaming = !process.env.ONE_BUFFERED_SSR;\n const htmlHeaders = { \"content-type\": \"text/html\" };\n const ssrHtmlHeaders = { \"content-type\": \"text/html\", \"cache-control\": \"no-cache\" };\n const loaderCache = /* @__PURE__ */ new Map();\n const moduleImportCache = /* @__PURE__ */ new Map();\n const loaderCacheFnMap = /* @__PURE__ */ new Map();\n const loaderSearchSchemaMap = /* @__PURE__ */ new Map();\n const pendingLoaderResults = /* @__PURE__ */ new Map();\n let render = null;\n let renderStream = null;\n let renderLoading = null;\n let renderGeneration = 0;\n let entryLoading = null;\n function loadServerEntry() {\n if (!entryLoading) entryLoading = currentLazyRoutes.serverEntry();\n return entryLoading;\n }\n function ensureRenderLoaded() {\n if (render) return;\n if (renderLoading) return renderLoading;\n const gen = ++renderGeneration;\n renderLoading = (async () => {\n const entry = await loadServerEntry();\n if (gen !== renderGeneration) return;\n render = entry.default.render;\n renderStream = entry.default.renderStream || null;\n })();\n return renderLoading;\n }\n function findNearestNotFoundPath(urlPath) {\n let cur = urlPath;\n while (cur) {\n const parent = cur.lastIndexOf(\"/\") > 0 ? cur.slice(0, cur.lastIndexOf(\"/\")) : \"\";\n const candidate = `${parent}/+not-found`;\n if (routeMap ? routeMap[candidate] : compiledManifest.pageRoutes.some(\n (route) => route.isNotFound && stripGroupSegmentsFromPath(route.page) === candidate\n )) {\n return candidate;\n }\n if (!parent) break;\n cur = parent;\n }\n return \"/+not-found\";\n }\n function make404LoaderJs(path, logReason) {\n const nfPath = findNearestNotFoundPath(path);\n if (logReason) console.error(`[one] 404 loader for ${path}: ${logReason}`);\n return `export function loader(){return{__oneError:404,__oneErrorMessage:'Not Found',__oneNotFoundPath:${JSON.stringify(nfPath)}}}`;\n }\n async function readStaticHtml(htmlPath, fetchStaticHtml) {\n if (fetchStaticHtml) return await fetchStaticHtml(htmlPath);\n if (debugRouter) {\n console.warn(`[one/worker] no fetchStaticHtml set, cannot read ${htmlPath}`);\n }\n return null;\n }\n function resolveLoaderSync(lazyKey) {\n const cacheKey = lazyKey || \"\";\n if (!disableModuleCache) {\n const cached = loaderCache.get(cacheKey);\n if (cached !== void 0) return cached;\n }\n return (async () => {\n let routeExported;\n if (!disableModuleCache && moduleImportCache.has(cacheKey)) {\n routeExported = moduleImportCache.get(cacheKey);\n } else if (currentLazyRoutes.pages?.[cacheKey]) {\n routeExported = await currentLazyRoutes.pages[cacheKey]();\n if (!disableModuleCache) moduleImportCache.set(cacheKey, routeExported);\n } else {\n routeExported = lazyKey ? await getRouteExportsFromEntry(await loadServerEntry(), routerRoot, lazyKey) : null;\n if (!routeExported) {\n console.warn(`[one/worker] no lazy route for ${cacheKey}`);\n if (!disableModuleCache) loaderCache.set(cacheKey, null);\n return null;\n }\n if (!disableModuleCache) moduleImportCache.set(cacheKey, routeExported);\n }\n const loader = routeExported?.loader || null;\n loaderSearchSchemaMap.set(cacheKey, getLoaderSearchSchemas(routeExported));\n if (!disableModuleCache) {\n loaderCache.set(cacheKey, loader);\n loaderCacheFnMap.set(cacheKey, routeExported?.loaderCache ?? null);\n }\n return loader;\n })();\n }\n async function importAndRunLoader(routeId, lazyKey, requestLoaderProps, withSearchParams = false) {\n if (!lazyKey) return { loaderData: void 0, routeId };\n const cacheMapKey = lazyKey;\n let loaderProps = requestLoaderProps;\n const validateSearch = () => {\n const schemas = withSearchParams && loaderSearchSchemaMap.get(cacheMapKey);\n if (schemas) loaderProps = withLoaderSearchParams(schemas, requestLoaderProps);\n };\n validateSearch();\n const loaderCacheFn = loaderCacheFnMap.get(cacheMapKey);\n let coalFullKey;\n let coalTtl = 0;\n if (loaderCacheFn) {\n const cacheResult = loaderCacheFn(loaderProps?.params, loaderProps?.request);\n const cacheKey = typeof cacheResult === \"string\" ? cacheResult : cacheResult?.key;\n coalTtl = typeof cacheResult === \"string\" ? 0 : cacheResult?.ttl ?? 0;\n if (cacheKey != null) {\n coalFullKey = routeId + \"\\0\" + cacheKey;\n const existing = pendingLoaderResults.get(coalFullKey);\n if (existing && (!existing.expires || Date.now() < existing.expires)) {\n const loaderData = await existing.promise;\n return { loaderData, routeId };\n }\n }\n }\n try {\n const loaderOrPromise = resolveLoaderSync(lazyKey);\n const loader = loaderOrPromise instanceof Promise ? await loaderOrPromise : loaderOrPromise;\n if (!loader) return { loaderData: void 0, routeId };\n if (loaderProps === requestLoaderProps) validateSearch();\n if (coalFullKey) {\n const promise = loader(loaderProps);\n const entry = { promise, expires: 0 };\n pendingLoaderResults.set(coalFullKey, entry);\n promise.then(\n () => {\n entry.expires = coalTtl > 0 ? Date.now() + coalTtl : 0;\n if (coalTtl <= 0)\n Promise.resolve().then(() => pendingLoaderResults.delete(coalFullKey));\n },\n () => pendingLoaderResults.delete(coalFullKey)\n );\n const loaderData2 = await promise;\n return { loaderData: loaderData2, routeId };\n }\n const loaderData = await loader(loaderProps);\n return { loaderData, routeId };\n } catch (err) {\n if (isResponse(err)) throw err;\n if (err?.code === \"ENOENT\")\n return { loaderData: void 0, routeId, isEnoent: true };\n console.error(`[one] Error running loader for ${routeId}:`, err);\n return { loaderData: void 0, routeId };\n }\n }\n const requestHandlers = {\n async handleStaticFile() {\n return null;\n },\n async handleAPI({ route }) {\n if (currentLazyRoutes.api[route.page]) {\n return await currentLazyRoutes.api[route.page]();\n }\n console.warn(`[one/worker] no lazy API route for ${route.page}`);\n return null;\n },\n async loadMiddleware(route) {\n if (currentLazyRoutes.middlewares[route.contextKey]) {\n return await currentLazyRoutes.middlewares[route.contextKey]();\n }\n console.warn(`[one/worker] no lazy middleware for ${route.contextKey}`);\n return null;\n },\n async handleLoader({ route, loaderProps }) {\n const routeFile = route.routeFile || route.file;\n let loader;\n try {\n const loaderResult = resolveLoaderSync(routeFile);\n loader = loaderResult instanceof Promise ? await loaderResult : loaderResult;\n } catch (err) {\n if (err?.code === \"ERR_MODULE_NOT_FOUND\") return null;\n throw err;\n }\n if (!loader) return null;\n const searchSchemas = route.type === \"ssr\" && loaderSearchSchemaMap.get(routeFile);\n if (searchSchemas) loaderProps = withLoaderSearchParams(searchSchemas, loaderProps);\n let json;\n try {\n json = await loader(loaderProps);\n } catch (err) {\n if (err?.code === \"ENOENT\") {\n return make404LoaderJs(\n loaderProps?.path || \"/\",\n `ENOENT ${err?.path || err}`\n );\n }\n throw err;\n }\n if (isResponse(json)) throw json;\n return `export function loader() { return ${JSON.stringify(json)} }`;\n },\n async handlePage({\n route,\n url,\n loaderProps\n }, fetchStaticHtml) {\n const routeBuildInfo = routeToBuildInfo[route.file];\n if (route.type === \"ssr\") {\n if (!routeBuildInfo) {\n console.error(`Error in route`, route);\n throw new Error(\n `No buildinfo found for ${url}, route: ${route.file}, in keys:\n ${Object.keys(routeToBuildInfo).join(\"\\n \")}`\n );\n }\n try {\n const layoutRoutes = route.layouts || [];\n const layoutLoaderPromises = [];\n const noLoaderResults = [];\n for (const layout of layoutRoutes) {\n const cacheKey = layout.contextKey || \"\";\n const cachedLoader = loaderCache.get(cacheKey);\n if (cachedLoader === null) {\n noLoaderResults.push({\n loaderData: void 0,\n routeId: layout.contextKey\n });\n } else {\n layoutLoaderPromises.push(\n importAndRunLoader(\n layout.contextKey,\n layout.contextKey,\n loaderProps,\n true\n )\n );\n }\n }\n const pageLoaderPromise = importAndRunLoader(\n route.file,\n route.file,\n loaderProps,\n true\n );\n let layoutResults;\n let pageResult;\n try {\n if (layoutLoaderPromises.length === 0) {\n layoutResults = noLoaderResults;\n pageResult = await pageLoaderPromise;\n } else {\n const [asyncLayoutResults, pr] = await Promise.all([\n Promise.all(layoutLoaderPromises),\n pageLoaderPromise\n ]);\n layoutResults = [...noLoaderResults, ...asyncLayoutResults];\n pageResult = pr;\n }\n } catch (err) {\n if (isResponse(err)) return err;\n throw err;\n }\n if (pageResult.isEnoent) {\n const nfPath = findNearestNotFoundPath(loaderProps?.path || \"/\");\n const nfHtml = routeMap?.[nfPath];\n if (nfHtml) {\n const html = await readStaticHtml(nfHtml, fetchStaticHtml);\n if (html) {\n return new Response(html, {\n headers: { \"content-type\": \"text/html\" },\n status: 404\n });\n }\n }\n return new Response(\"404 Not Found\", { status: 404 });\n }\n const matchPathname = loaderProps?.path || \"/\";\n const matchParams = loaderProps?.params || {};\n const matches = new Array(layoutResults.length + 1);\n for (let i = 0; i < layoutResults.length; i++) {\n const result = layoutResults[i];\n matches[i] = {\n routeId: result.routeId,\n pathname: matchPathname,\n params: matchParams,\n loaderData: result.loaderData\n };\n }\n matches[layoutResults.length] = {\n routeId: pageResult.routeId,\n pathname: matchPathname,\n params: matchParams,\n loaderData: pageResult.loaderData\n };\n const loaderData = pageResult.loaderData;\n for (const layout of layoutRoutes) {\n const key = layout.contextKey;\n const loaderFn = loaderCache.get(key);\n if (loaderFn) {\n const result = layoutResults.find((r) => r.routeId === key);\n if (result) setSSRLoaderData(loaderFn, result.loaderData);\n }\n }\n const pageLoaderFn = loaderCache.get(route.file);\n if (pageLoaderFn) setSSRLoaderData(pageLoaderFn, pageResult.loaderData);\n globalThis[\"__vxrnresetState\"]?.();\n const renderProps = {\n mode: route.type,\n loaderData,\n loaderProps,\n path: loaderProps?.path || \"/\",\n preloads: routeBuildInfo.criticalPreloads || routeBuildInfo.preloads,\n deferredPreloads: routeBuildInfo.deferredPreloads,\n css: routeBuildInfo.css,\n cssContents: routeBuildInfo.cssContents,\n matches\n };\n const _rl = ensureRenderLoaded();\n if (_rl) await _rl;\n const status = route.isNotFound ? 404 : 200;\n const responseHeaders = route.isNotFound ? htmlHeaders : ssrHtmlHeaders;\n if (useStreaming) {\n const stream = await renderStream(renderProps);\n return new Response(stream, { headers: responseHeaders, status });\n }\n const rendered = await render(renderProps);\n return new Response(rendered, { headers: responseHeaders, status });\n } catch (err) {\n if (isResponse(err)) return err;\n console.error(\n `[one] Error rendering SSR route ${route.file}\n${err?.[\"stack\"] ?? err}\nurl: ${url}`\n );\n return null;\n }\n } else {\n const layoutRoutes = route.layouts || [];\n const needsSpaShell = route.type === \"spa\" && layoutRoutes.some(\n (layout) => layout.layoutRenderMode === \"ssg\" || layout.layoutRenderMode === \"ssr\"\n );\n if (needsSpaShell) {\n try {\n const layoutResults = await Promise.all(\n layoutRoutes.map(\n (layout) => importAndRunLoader(layout.contextKey, layout.contextKey, loaderProps)\n )\n );\n const matches = layoutResults.map((result) => ({\n routeId: result.routeId,\n pathname: loaderProps?.path || \"/\",\n params: loaderProps?.params || {},\n loaderData: result.loaderData\n }));\n globalThis[\"__vxrnresetState\"]?.();\n const _rl = ensureRenderLoaded();\n if (_rl) await _rl;\n const spaRouteBuildInfo = routeToBuildInfo[route.file];\n const rendered = await render({\n mode: \"spa-shell\",\n loaderData: void 0,\n loaderProps,\n path: loaderProps?.path || \"/\",\n preloads: spaRouteBuildInfo?.criticalPreloads || spaRouteBuildInfo?.preloads,\n deferredPreloads: spaRouteBuildInfo?.deferredPreloads,\n css: spaRouteBuildInfo?.css,\n cssContents: spaRouteBuildInfo?.cssContents,\n matches\n });\n return new Response(rendered, {\n headers: htmlHeaders,\n status: route.isNotFound ? 404 : 200\n });\n } catch (err) {\n if (isResponse(err)) return err;\n console.error(\n `[one] Error rendering spa-shell for ${route.file}\n${err?.[\"stack\"] ?? err}\nurl: ${url}`\n );\n }\n }\n const isDynamicRoute = Object.keys(route.routeKeys).length > 0;\n const routeCleanPath = route.urlCleanPath.replace(/\\?/g, \"\");\n const notFoundKey = route.isNotFound ? route.page.replace(/\\[([^\\]]+)\\]/g, \":$1\") : null;\n const htmlPath = notFoundKey ? routeMap?.[notFoundKey] : isDynamicRoute ? routeMap?.[routeCleanPath] || routeMap?.[url.pathname] : routeMap?.[url.pathname] || routeMap?.[routeBuildInfo?.cleanPath];\n if (htmlPath) {\n const html = await readStaticHtml(htmlPath, fetchStaticHtml);\n if (html) {\n return new Response(html, {\n headers: htmlHeaders,\n status: route.isNotFound ? 404 : 200\n });\n }\n }\n if (isDynamicRoute) {\n const notFoundRoute = findNearestNotFoundPath(url.pathname);\n const notFoundHtmlPath = routeMap?.[notFoundRoute];\n if (notFoundHtmlPath) {\n const notFoundHtml = await readStaticHtml(notFoundHtmlPath, fetchStaticHtml);\n if (notFoundHtml) {\n const notFoundMarker = `<script>window.__one404=${JSON.stringify({ originalPath: url.pathname, notFoundPath: notFoundRoute })}</script>`;\n const injectedHtml = notFoundHtml.includes(\"</head>\") ? notFoundHtml.replace(\"</head>\", `${notFoundMarker}</head>`) : notFoundHtml.replace(\"<body\", `${notFoundMarker}<body`);\n return new Response(injectedHtml, {\n headers: htmlHeaders,\n status: 404\n });\n }\n }\n return new Response(\"404 Not Found\", { status: 404 });\n }\n return null;\n }\n }\n };\n function setCacheHeaders(response, route, isAPI) {\n if (!response.headers.has(\"cache-control\") && !response.headers.has(\"Cache-Control\")) {\n try {\n if (isAPI) {\n response.headers.set(\"cache-control\", \"no-store\");\n } else if (route.type === \"ssg\" || route.type === \"spa\") {\n response.headers.set(\n \"cache-control\",\n \"public, s-maxage=60, stale-while-revalidate=120\"\n );\n } else {\n response.headers.set(\"cache-control\", \"no-cache\");\n }\n } catch {\n }\n }\n return response;\n }\n async function handleRequest(request, env, executionCtx, fetchStaticHtml) {\n const url = getURLfromRequestURL(request);\n const pathname = url.pathname;\n const method = request.method;\n if (compiledRedirects) {\n for (const redirect of compiledRedirects) {\n const match = redirect.regex.exec(pathname);\n if (match) {\n let destination = redirect.destination;\n if (match.groups) {\n for (const [name, value] of Object.entries(match.groups)) {\n destination = destination.replace(`:${name}`, value);\n }\n }\n if (debugRouter) console.info(`[one] \\u21AA redirect ${pathname} \\u2192 ${destination}`);\n return new Response(null, {\n status: redirect.permanent ? 301 : 302,\n headers: {\n location: new URL(destination, url.origin).toString()\n }\n });\n }\n }\n }\n if (PRELOAD_JS_POSTFIX_REGEX.test(pathname)) {\n if (!currentPreloads[pathname]) {\n return new Response(\"\", {\n headers: { \"Content-Type\": \"text/javascript\" }\n });\n }\n return null;\n }\n if (CSS_PRELOAD_JS_POSTFIX_REGEX.test(pathname)) {\n if (!currentCssPreloads?.[pathname]) {\n return new Response(\"export default Promise.resolve()\", {\n headers: { \"Content-Type\": \"text/javascript\" }\n });\n }\n return null;\n }\n if (pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {\n const originalUrl = getPathFromLoaderPath(pathname);\n for (const route of compiledManifest.pageRoutes) {\n if (route.file === \"\") continue;\n if (!route.compiledRegex.test(originalUrl)) continue;\n if (route.type === \"ssg\" && Object.keys(route.routeKeys).length > 0 && routeMap && !routeMap[originalUrl]) {\n return new Response(make404LoaderJs(originalUrl, \"ssg route not in routeMap\"), {\n headers: { \"Content-Type\": \"text/javascript\" }\n });\n }\n if (route.hasLoader === false) {\n return new Response(\"export function loader() { return undefined }\", {\n headers: { \"Content-Type\": \"text/javascript\" }\n });\n }\n const loaderRoute = {\n ...route,\n routeFile: route.file,\n file: route.loaderServerPath || pathname\n };\n const finalUrl = new URL(originalUrl, url.origin);\n finalUrl.search = url.search;\n const cleanedRequest = new Request(finalUrl, request);\n try {\n return await resolveLoaderRoute(\n requestHandlers,\n cleanedRequest,\n finalUrl,\n loaderRoute\n );\n } catch (err) {\n if (err?.code === \"ERR_MODULE_NOT_FOUND\") {\n return new Response(\"export function loader() { return undefined }\", {\n headers: { \"Content-Type\": \"text/javascript\" }\n });\n }\n console.error(`Error running loader: ${err}`);\n return null;\n }\n }\n return null;\n }\n if (pathname.endsWith(\".js\") || pathname.endsWith(\".css\")) {\n return null;\n }\n for (const route of compiledManifest.apiRoutes) {\n if (route.compiledRegex.test(pathname)) {\n if (debugRouter)\n console.info(`[one] \\u26A1 ${pathname} \\u2192 matched API route: ${route.page}`);\n const response = await resolveAPIRoute(\n requestHandlers,\n request,\n url,\n route,\n env,\n executionCtx\n );\n if (response && isResponse(response)) {\n return setCacheHeaders(response, route, true);\n }\n return null;\n }\n }\n if (isPageRequestMethod(method)) {\n for (const route of compiledManifest.pageRoutes) {\n if (!route.compiledRegex.test(pathname)) continue;\n if (debugRouter) {\n console.info(\n `[one] \\u26A1 ${pathname} \\u2192 matched page route: ${route.page} (${route.type})`\n );\n }\n if (route.type === \"ssr\" && !route.middlewares?.length) {\n const params = {};\n const match = route.compiledRegex.exec(pathname);\n if (match?.groups) {\n for (const [key, value] of Object.entries(match.groups)) {\n params[route.routeKeys[key]] = value;\n }\n }\n const loaderProps = {\n path: pathname,\n search: url.search,\n subdomain: getSubdomain(url),\n request,\n params\n };\n const response = await resolveResponse(async () => {\n try {\n return await requestHandlers.handlePage(\n { request, route, url, loaderProps },\n fetchStaticHtml\n );\n } catch (err) {\n if (isResponse(err)) return err;\n throw err;\n }\n });\n if (response && isResponse(response)) {\n return setCacheHeaders(response, route, false);\n }\n return null;\n }\n try {\n const pageHandlers = {\n ...requestHandlers,\n handlePage: (props) => requestHandlers.handlePage(props, fetchStaticHtml)\n };\n const response = await resolvePageRoute(pageHandlers, request, url, route);\n if (response && isResponse(response)) {\n return setCacheHeaders(response, route, false);\n }\n } catch (err) {\n console.error(` [one] Error handling request: ${err[\"stack\"]}`);\n }\n return null;\n }\n }\n return null;\n }\n function updateRoutes(newBuildInfo, newLazyRoutes) {\n compiledManifest = compileManifest(newBuildInfo.manifest);\n routeToBuildInfo = newBuildInfo.routeToBuildInfo;\n routeMap = newBuildInfo.routeMap;\n currentPreloads = newBuildInfo.preloads;\n currentCssPreloads = newBuildInfo.cssPreloads;\n if (newLazyRoutes) currentLazyRoutes = newLazyRoutes;\n loaderCache.clear();\n moduleImportCache.clear();\n loaderCacheFnMap.clear();\n loaderSearchSchemaMap.clear();\n pendingLoaderResults.clear();\n render = null;\n renderStream = null;\n renderLoading = null;\n entryLoading = null;\n }\n return { handleRequest, updateRoutes };\n}\nexport {\n createWorkerHandler\n};\n//# sourceMappingURL=workerHandler.js.map\n"],"mappings":"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"}
|
|
@@ -8,7 +8,6 @@ import { resolveResponse } from "../vite/resolveResponse.native.js";
|
|
|
8
8
|
import { getLoaderSearchSchemas, withLoaderSearchParams } from "../loaderSearchParams.native.js";
|
|
9
9
|
import { getRouteExportsFromEntry } from "./routeExportsFromEntry.native.js";
|
|
10
10
|
import { setSSRLoaderData } from "./ssrLoaderData.native.js";
|
|
11
|
-
import { getFetchStaticHtml } from "./staticHtmlFetcher.native.js";
|
|
12
11
|
|
|
13
12
|
function _type_of(obj) {
|
|
14
13
|
"@swc/helpers - typeof";
|
|
@@ -97,8 +96,7 @@ function createWorkerHandler(options) {
|
|
|
97
96
|
if (logReason) console.error(`[one] 404 loader for ${path}: ${logReason}`);
|
|
98
97
|
return `export function loader(){return{__oneError:404,__oneErrorMessage:'Not Found',__oneNotFoundPath:${JSON.stringify(nfPath)}}}`;
|
|
99
98
|
}
|
|
100
|
-
async function readStaticHtml(htmlPath) {
|
|
101
|
-
var fetchStaticHtml = getFetchStaticHtml();
|
|
99
|
+
async function readStaticHtml(htmlPath, fetchStaticHtml) {
|
|
102
100
|
if (fetchStaticHtml) return await fetchStaticHtml(htmlPath);
|
|
103
101
|
if (debugRouter) {
|
|
104
102
|
console.warn(`[one/worker] no fetchStaticHtml set, cannot read ${htmlPath}`);
|
|
@@ -264,7 +262,7 @@ function createWorkerHandler(options) {
|
|
|
264
262
|
if (isResponse(json)) throw json;
|
|
265
263
|
return `export function loader() { return ${JSON.stringify(json)} }`;
|
|
266
264
|
},
|
|
267
|
-
async handlePage(param) {
|
|
265
|
+
async handlePage(param, fetchStaticHtml) {
|
|
268
266
|
var { route, url, loaderProps } = param;
|
|
269
267
|
var routeBuildInfo = routeToBuildInfo[route.file];
|
|
270
268
|
if (route.type === "ssr") {
|
|
@@ -327,7 +325,7 @@ function createWorkerHandler(options) {
|
|
|
327
325
|
var nfPath = findNearestNotFoundPath((loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || "/");
|
|
328
326
|
var nfHtml = routeMap === null || routeMap === void 0 ? void 0 : routeMap[nfPath];
|
|
329
327
|
if (nfHtml) {
|
|
330
|
-
var html = await readStaticHtml(nfHtml);
|
|
328
|
+
var html = await readStaticHtml(nfHtml, fetchStaticHtml);
|
|
331
329
|
if (html) {
|
|
332
330
|
return new Response(html, {
|
|
333
331
|
headers: { "content-type": "text/html" },
|
|
@@ -473,7 +471,7 @@ url: ${url}`);
|
|
|
473
471
|
var notFoundKey = route.isNotFound ? route.page.replace(/\[([^\]]+)\]/g, ":$1") : null;
|
|
474
472
|
var htmlPath = notFoundKey ? routeMap === null || routeMap === void 0 ? void 0 : routeMap[notFoundKey] : isDynamicRoute ? (routeMap === null || routeMap === void 0 ? void 0 : routeMap[routeCleanPath]) || (routeMap === null || routeMap === void 0 ? void 0 : routeMap[url.pathname]) : (routeMap === null || routeMap === void 0 ? void 0 : routeMap[url.pathname]) || (routeMap === null || routeMap === void 0 ? void 0 : routeMap[routeBuildInfo === null || routeBuildInfo === void 0 ? void 0 : routeBuildInfo.cleanPath]);
|
|
475
473
|
if (htmlPath) {
|
|
476
|
-
var html1 = await readStaticHtml(htmlPath);
|
|
474
|
+
var html1 = await readStaticHtml(htmlPath, fetchStaticHtml);
|
|
477
475
|
if (html1) {
|
|
478
476
|
return new Response(html1, {
|
|
479
477
|
headers: htmlHeaders,
|
|
@@ -485,7 +483,7 @@ url: ${url}`);
|
|
|
485
483
|
var notFoundRoute = findNearestNotFoundPath(url.pathname);
|
|
486
484
|
var notFoundHtmlPath = routeMap === null || routeMap === void 0 ? void 0 : routeMap[notFoundRoute];
|
|
487
485
|
if (notFoundHtmlPath) {
|
|
488
|
-
var notFoundHtml = await readStaticHtml(notFoundHtmlPath);
|
|
486
|
+
var notFoundHtml = await readStaticHtml(notFoundHtmlPath, fetchStaticHtml);
|
|
489
487
|
if (notFoundHtml) {
|
|
490
488
|
var notFoundMarker = `<script>window.__one404=${JSON.stringify({
|
|
491
489
|
originalPath: url.pathname,
|
|
@@ -518,7 +516,7 @@ url: ${url}`);
|
|
|
518
516
|
}
|
|
519
517
|
return response;
|
|
520
518
|
}
|
|
521
|
-
async function handleRequest(request, env, executionCtx) {
|
|
519
|
+
async function handleRequest(request, env, executionCtx, fetchStaticHtml) {
|
|
522
520
|
var url = getURLfromRequestURL(request);
|
|
523
521
|
var pathname = url.pathname;
|
|
524
522
|
var method = request.method;
|
|
@@ -713,7 +711,7 @@ url: ${url}`);
|
|
|
713
711
|
route: route2,
|
|
714
712
|
url,
|
|
715
713
|
loaderProps
|
|
716
|
-
});
|
|
714
|
+
}, fetchStaticHtml);
|
|
717
715
|
} catch (err) {
|
|
718
716
|
if (isResponse(err)) return err;
|
|
719
717
|
throw err;
|
|
@@ -725,7 +723,13 @@ url: ${url}`);
|
|
|
725
723
|
return { v: null };
|
|
726
724
|
}
|
|
727
725
|
try {
|
|
728
|
-
var
|
|
726
|
+
var pageHandlers = {
|
|
727
|
+
...requestHandlers,
|
|
728
|
+
handlePage: function handlePage(props) {
|
|
729
|
+
return requestHandlers.handlePage(props, fetchStaticHtml);
|
|
730
|
+
}
|
|
731
|
+
};
|
|
732
|
+
var response1 = await resolvePageRoute(pageHandlers, request, url, route2);
|
|
729
733
|
if (response1 && isResponse(response1)) {
|
|
730
734
|
return { v: setCacheHeaders(response1, route2, false) };
|
|
731
735
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerHandler.native.js","names":[],"sources":["esm/server/workerHandler.native.js"],"sourcesContent":["import { CSS_PRELOAD_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX_REGEX } from \"../constants\";\nimport { compileManifest, getSubdomain, getURLfromRequestURL, isPageRequestMethod, resolveAPIRoute, resolveLoaderRoute, resolvePageRoute } from \"../createHandleRequest\";\nimport { stripGroupSegmentsFromPath } from \"../router/matchers\";\nimport { getPathFromLoaderPath } from \"../utils/cleanUrl\";\nimport { getRouterRootFromOneOptions } from \"../utils/getRouterRootFromOneOptions\";\nimport { isResponse } from \"../utils/isResponse\";\nimport { resolveResponse } from \"../vite/resolveResponse\";\nimport { getLoaderSearchSchemas, withLoaderSearchParams } from \"../loaderSearchParams\";\nimport { getRouteExportsFromEntry } from \"./routeExportsFromEntry\";\nimport { setSSRLoaderData } from \"./ssrLoaderData\";\nimport { getFetchStaticHtml } from \"./staticHtmlFetcher\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction createWorkerHandler(options) {\n var _oneOptions_web;\n var { oneOptions } = options;\n var disableModuleCache = !!options.disableModuleCache;\n var routerRoot = getRouterRootFromOneOptions(oneOptions);\n var currentLazyRoutes = options.lazyRoutes;\n var compiledManifest = compileManifest(options.buildInfo.manifest);\n var routeToBuildInfo = options.buildInfo.routeToBuildInfo;\n var routeMap = options.buildInfo.routeMap;\n var currentPreloads = options.buildInfo.preloads;\n var currentCssPreloads = options.buildInfo.cssPreloads;\n var debugRouter = process.env.ONE_DEBUG_ROUTER;\n var redirects = (_oneOptions_web = oneOptions.web) === null || _oneOptions_web === void 0 ? void 0 : _oneOptions_web.redirects;\n var compiledRedirects = null;\n if (redirects === null || redirects === void 0 ? void 0 : redirects.length) {\n compiledRedirects = redirects.map(function(r) {\n var regexSource = r.source.replace(/:(\\w+)/g, function(_, name) {\n return `(?<${name}>[^/]+)`;\n });\n return {\n regex: new RegExp(`^${regexSource}$`),\n destination: r.destination,\n permanent: r.permanent || false\n };\n });\n }\n var useStreaming = !process.env.ONE_BUFFERED_SSR;\n var htmlHeaders = {\n \"content-type\": \"text/html\"\n };\n var ssrHtmlHeaders = {\n \"content-type\": \"text/html\",\n \"cache-control\": \"no-cache\"\n };\n var loaderCache = /* @__PURE__ */ new Map();\n var moduleImportCache = /* @__PURE__ */ new Map();\n var loaderCacheFnMap = /* @__PURE__ */ new Map();\n var loaderSearchSchemaMap = /* @__PURE__ */ new Map();\n var pendingLoaderResults = /* @__PURE__ */ new Map();\n var render = null;\n var renderStream = null;\n var renderLoading = null;\n var renderGeneration = 0;\n var entryLoading = null;\n function loadServerEntry() {\n if (!entryLoading) entryLoading = currentLazyRoutes.serverEntry();\n return entryLoading;\n }\n function ensureRenderLoaded() {\n if (render) return;\n if (renderLoading) return renderLoading;\n var gen = ++renderGeneration;\n renderLoading = (async function() {\n var entry = await loadServerEntry();\n if (gen !== renderGeneration) return;\n render = entry.default.render;\n renderStream = entry.default.renderStream || null;\n })();\n return renderLoading;\n }\n function findNearestNotFoundPath(urlPath) {\n var _loop = function() {\n var parent = cur.lastIndexOf(\"/\") > 0 ? cur.slice(0, cur.lastIndexOf(\"/\")) : \"\";\n var candidate = `${parent}/+not-found`;\n if (routeMap ? routeMap[candidate] : compiledManifest.pageRoutes.some(function(route) {\n return route.isNotFound && stripGroupSegmentsFromPath(route.page) === candidate;\n })) {\n return {\n v: candidate\n };\n }\n if (!parent) return \"break\";\n cur = parent;\n };\n var cur = urlPath;\n while (cur) {\n var _ret = _loop();\n if (_type_of(_ret) === \"object\") return _ret.v;\n if (_ret === \"break\") break;\n }\n return \"/+not-found\";\n }\n function make404LoaderJs(path, logReason) {\n var nfPath = findNearestNotFoundPath(path);\n if (logReason) console.error(`[one] 404 loader for ${path}: ${logReason}`);\n return `export function loader(){return{__oneError:404,__oneErrorMessage:'Not Found',__oneNotFoundPath:${JSON.stringify(nfPath)}}}`;\n }\n async function readStaticHtml(htmlPath) {\n var fetchStaticHtml = getFetchStaticHtml();\n if (fetchStaticHtml) return await fetchStaticHtml(htmlPath);\n if (debugRouter) {\n console.warn(`[one/worker] no fetchStaticHtml set, cannot read ${htmlPath}`);\n }\n return null;\n }\n function resolveLoaderSync(lazyKey) {\n var cacheKey = lazyKey || \"\";\n if (!disableModuleCache) {\n var cached = loaderCache.get(cacheKey);\n if (cached !== void 0) return cached;\n }\n return (async function() {\n var _currentLazyRoutes_pages;\n var routeExported;\n if (!disableModuleCache && moduleImportCache.has(cacheKey)) {\n routeExported = moduleImportCache.get(cacheKey);\n } else if ((_currentLazyRoutes_pages = currentLazyRoutes.pages) === null || _currentLazyRoutes_pages === void 0 ? void 0 : _currentLazyRoutes_pages[cacheKey]) {\n routeExported = await currentLazyRoutes.pages[cacheKey]();\n if (!disableModuleCache) moduleImportCache.set(cacheKey, routeExported);\n } else {\n routeExported = lazyKey ? await getRouteExportsFromEntry(await loadServerEntry(), routerRoot, lazyKey) : null;\n if (!routeExported) {\n console.warn(`[one/worker] no lazy route for ${cacheKey}`);\n if (!disableModuleCache) loaderCache.set(cacheKey, null);\n return null;\n }\n if (!disableModuleCache) moduleImportCache.set(cacheKey, routeExported);\n }\n var loader = (routeExported === null || routeExported === void 0 ? void 0 : routeExported.loader) || null;\n loaderSearchSchemaMap.set(cacheKey, getLoaderSearchSchemas(routeExported));\n if (!disableModuleCache) {\n var _ref;\n loaderCache.set(cacheKey, loader);\n loaderCacheFnMap.set(cacheKey, (_ref = routeExported === null || routeExported === void 0 ? void 0 : routeExported.loaderCache) !== null && _ref !== void 0 ? _ref : null);\n }\n return loader;\n })();\n }\n async function importAndRunLoader(routeId, lazyKey, requestLoaderProps) {\n var withSearchParams = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n if (!lazyKey) return {\n loaderData: void 0,\n routeId\n };\n var cacheMapKey = lazyKey;\n var loaderProps = requestLoaderProps;\n var validateSearch = function validateSearch2() {\n var schemas = withSearchParams && loaderSearchSchemaMap.get(cacheMapKey);\n if (schemas) loaderProps = withLoaderSearchParams(schemas, requestLoaderProps);\n };\n validateSearch();\n var loaderCacheFn = loaderCacheFnMap.get(cacheMapKey);\n var coalFullKey;\n var coalTtl = 0;\n if (loaderCacheFn) {\n var _ref;\n var cacheResult = loaderCacheFn(loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.params, loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.request);\n var cacheKey = typeof cacheResult === \"string\" ? cacheResult : cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.key;\n coalTtl = typeof cacheResult === \"string\" ? 0 : (_ref = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.ttl) !== null && _ref !== void 0 ? _ref : 0;\n if (cacheKey != null) {\n coalFullKey = routeId + \"\\0\" + cacheKey;\n var existing = pendingLoaderResults.get(coalFullKey);\n if (existing && (!existing.expires || Date.now() < existing.expires)) {\n var loaderData = await existing.promise;\n return {\n loaderData,\n routeId\n };\n }\n }\n }\n try {\n var loaderOrPromise = resolveLoaderSync(lazyKey);\n var loader = loaderOrPromise instanceof Promise ? await loaderOrPromise : loaderOrPromise;\n if (!loader) return {\n loaderData: void 0,\n routeId\n };\n if (loaderProps === requestLoaderProps) validateSearch();\n if (coalFullKey) {\n var promise = loader(loaderProps);\n var entry = {\n promise,\n expires: 0\n };\n pendingLoaderResults.set(coalFullKey, entry);\n promise.then(function() {\n entry.expires = coalTtl > 0 ? Date.now() + coalTtl : 0;\n if (coalTtl <= 0) Promise.resolve().then(function() {\n return pendingLoaderResults.delete(coalFullKey);\n });\n }, function() {\n return pendingLoaderResults.delete(coalFullKey);\n });\n var loaderData1 = await promise;\n return {\n loaderData: loaderData1,\n routeId\n };\n }\n var loaderData2 = await loader(loaderProps);\n return {\n loaderData: loaderData2,\n routeId\n };\n } catch (err) {\n if (isResponse(err)) throw err;\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ENOENT\") return {\n loaderData: void 0,\n routeId,\n isEnoent: true\n };\n console.error(`[one] Error running loader for ${routeId}:`, err);\n return {\n loaderData: void 0,\n routeId\n };\n }\n }\n var requestHandlers = {\n async handleStaticFile() {\n return null;\n },\n async handleAPI(param) {\n var { route } = param;\n if (currentLazyRoutes.api[route.page]) {\n return await currentLazyRoutes.api[route.page]();\n }\n console.warn(`[one/worker] no lazy API route for ${route.page}`);\n return null;\n },\n async loadMiddleware(route) {\n if (currentLazyRoutes.middlewares[route.contextKey]) {\n return await currentLazyRoutes.middlewares[route.contextKey]();\n }\n console.warn(`[one/worker] no lazy middleware for ${route.contextKey}`);\n return null;\n },\n async handleLoader(param) {\n var { route, loaderProps } = param;\n var routeFile = route.routeFile || route.file;\n var loader;\n try {\n var loaderResult = resolveLoaderSync(routeFile);\n loader = loaderResult instanceof Promise ? await loaderResult : loaderResult;\n } catch (err) {\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ERR_MODULE_NOT_FOUND\") return null;\n throw err;\n }\n if (!loader) return null;\n var searchSchemas = route.type === \"ssr\" && loaderSearchSchemaMap.get(routeFile);\n if (searchSchemas) loaderProps = withLoaderSearchParams(searchSchemas, loaderProps);\n var json;\n try {\n json = await loader(loaderProps);\n } catch (err) {\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ENOENT\") {\n return make404LoaderJs((loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\", `ENOENT ${(err === null || err === void 0 ? void 0 : err.path) || err}`);\n }\n throw err;\n }\n if (isResponse(json)) throw json;\n return `export function loader() { return ${JSON.stringify(json)} }`;\n },\n async handlePage(param) {\n var { route, url, loaderProps } = param;\n var routeBuildInfo = routeToBuildInfo[route.file];\n if (route.type === \"ssr\") {\n if (!routeBuildInfo) {\n console.error(`Error in route`, route);\n throw new Error(`No buildinfo found for ${url}, route: ${route.file}, in keys:\n ${Object.keys(routeToBuildInfo).join(\"\\n \")}`);\n }\n try {\n var _globalThis___vxrnresetState, _globalThis;\n var layoutRoutes = route.layouts || [];\n var layoutLoaderPromises = [];\n var noLoaderResults = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = layoutRoutes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var layout = _step.value;\n var cacheKey = layout.contextKey || \"\";\n var cachedLoader = loaderCache.get(cacheKey);\n if (cachedLoader === null) {\n noLoaderResults.push({\n loaderData: void 0,\n routeId: layout.contextKey\n });\n } else {\n layoutLoaderPromises.push(importAndRunLoader(layout.contextKey, layout.contextKey, loaderProps, true));\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var pageLoaderPromise = importAndRunLoader(route.file, route.file, loaderProps, true);\n var layoutResults;\n var pageResult;\n try {\n if (layoutLoaderPromises.length === 0) {\n layoutResults = noLoaderResults;\n pageResult = await pageLoaderPromise;\n } else {\n var [asyncLayoutResults, pr] = await Promise.all([\n Promise.all(layoutLoaderPromises),\n pageLoaderPromise\n ]);\n layoutResults = [\n ...noLoaderResults,\n ...asyncLayoutResults\n ];\n pageResult = pr;\n }\n } catch (err) {\n if (isResponse(err)) return err;\n throw err;\n }\n if (pageResult.isEnoent) {\n var nfPath = findNearestNotFoundPath((loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\");\n var nfHtml = routeMap === null || routeMap === void 0 ? void 0 : routeMap[nfPath];\n if (nfHtml) {\n var html = await readStaticHtml(nfHtml);\n if (html) {\n return new Response(html, {\n headers: {\n \"content-type\": \"text/html\"\n },\n status: 404\n });\n }\n }\n return new Response(\"404 Not Found\", {\n status: 404\n });\n }\n var matchPathname = (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\";\n var matchParams = (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.params) || {};\n var matches = new Array(layoutResults.length + 1);\n for (var i = 0; i < layoutResults.length; i++) {\n var result = layoutResults[i];\n matches[i] = {\n routeId: result.routeId,\n pathname: matchPathname,\n params: matchParams,\n loaderData: result.loaderData\n };\n }\n matches[layoutResults.length] = {\n routeId: pageResult.routeId,\n pathname: matchPathname,\n params: matchParams,\n loaderData: pageResult.loaderData\n };\n var loaderData = pageResult.loaderData;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n var _loop = function() {\n var layout2 = _step1.value;\n var key = layout2.contextKey;\n var loaderFn = loaderCache.get(key);\n if (loaderFn) {\n var result2 = layoutResults.find(function(r) {\n return r.routeId === key;\n });\n if (result2) setSSRLoaderData(loaderFn, result2.loaderData);\n }\n };\n for (var _iterator1 = layoutRoutes[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _loop();\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n var pageLoaderFn = loaderCache.get(route.file);\n if (pageLoaderFn) setSSRLoaderData(pageLoaderFn, pageResult.loaderData);\n (_globalThis___vxrnresetState = (_globalThis = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState === void 0 ? void 0 : _globalThis___vxrnresetState.call(_globalThis);\n var renderProps = {\n mode: route.type,\n loaderData,\n loaderProps,\n path: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\",\n preloads: routeBuildInfo.criticalPreloads || routeBuildInfo.preloads,\n deferredPreloads: routeBuildInfo.deferredPreloads,\n css: routeBuildInfo.css,\n cssContents: routeBuildInfo.cssContents,\n matches\n };\n var _rl = ensureRenderLoaded();\n if (_rl) await _rl;\n var status = route.isNotFound ? 404 : 200;\n var responseHeaders = route.isNotFound ? htmlHeaders : ssrHtmlHeaders;\n if (useStreaming) {\n var stream = await renderStream(renderProps);\n return new Response(stream, {\n headers: responseHeaders,\n status\n });\n }\n var rendered = await render(renderProps);\n return new Response(rendered, {\n headers: responseHeaders,\n status\n });\n } catch (err) {\n var _ref;\n if (isResponse(err)) return err;\n console.error(`[one] Error rendering SSR route ${route.file}\n${(_ref = err === null || err === void 0 ? void 0 : err[\"stack\"]) !== null && _ref !== void 0 ? _ref : err}\nurl: ${url}`);\n return null;\n }\n } else {\n var layoutRoutes1 = route.layouts || [];\n var needsSpaShell = route.type === \"spa\" && layoutRoutes1.some(function(layout2) {\n return layout2.layoutRenderMode === \"ssg\" || layout2.layoutRenderMode === \"ssr\";\n });\n if (needsSpaShell) {\n try {\n var _globalThis___vxrnresetState1, _globalThis1;\n var layoutResults1 = await Promise.all(layoutRoutes1.map(function(layout2) {\n return importAndRunLoader(layout2.contextKey, layout2.contextKey, loaderProps);\n }));\n var matches1 = layoutResults1.map(function(result2) {\n return {\n routeId: result2.routeId,\n pathname: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\",\n params: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.params) || {},\n loaderData: result2.loaderData\n };\n });\n (_globalThis___vxrnresetState1 = (_globalThis1 = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState1 === void 0 ? void 0 : _globalThis___vxrnresetState1.call(_globalThis1);\n var _rl1 = ensureRenderLoaded();\n if (_rl1) await _rl1;\n var spaRouteBuildInfo = routeToBuildInfo[route.file];\n var rendered1 = await render({\n mode: \"spa-shell\",\n loaderData: void 0,\n loaderProps,\n path: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\",\n preloads: (spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.criticalPreloads) || (spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.preloads),\n deferredPreloads: spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.deferredPreloads,\n css: spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.css,\n cssContents: spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.cssContents,\n matches: matches1\n });\n return new Response(rendered1, {\n headers: htmlHeaders,\n status: route.isNotFound ? 404 : 200\n });\n } catch (err) {\n var _ref1;\n if (isResponse(err)) return err;\n console.error(`[one] Error rendering spa-shell for ${route.file}\n${(_ref1 = err === null || err === void 0 ? void 0 : err[\"stack\"]) !== null && _ref1 !== void 0 ? _ref1 : err}\nurl: ${url}`);\n }\n }\n var isDynamicRoute = Object.keys(route.routeKeys).length > 0;\n var routeCleanPath = route.urlCleanPath.replace(/\\?/g, \"\");\n var notFoundKey = route.isNotFound ? route.page.replace(/\\[([^\\]]+)\\]/g, \":$1\") : null;\n var htmlPath = notFoundKey ? routeMap === null || routeMap === void 0 ? void 0 : routeMap[notFoundKey] : isDynamicRoute ? (routeMap === null || routeMap === void 0 ? void 0 : routeMap[routeCleanPath]) || (routeMap === null || routeMap === void 0 ? void 0 : routeMap[url.pathname]) : (routeMap === null || routeMap === void 0 ? void 0 : routeMap[url.pathname]) || (routeMap === null || routeMap === void 0 ? void 0 : routeMap[routeBuildInfo === null || routeBuildInfo === void 0 ? void 0 : routeBuildInfo.cleanPath]);\n if (htmlPath) {\n var html1 = await readStaticHtml(htmlPath);\n if (html1) {\n return new Response(html1, {\n headers: htmlHeaders,\n status: route.isNotFound ? 404 : 200\n });\n }\n }\n if (isDynamicRoute) {\n var notFoundRoute = findNearestNotFoundPath(url.pathname);\n var notFoundHtmlPath = routeMap === null || routeMap === void 0 ? void 0 : routeMap[notFoundRoute];\n if (notFoundHtmlPath) {\n var notFoundHtml = await readStaticHtml(notFoundHtmlPath);\n if (notFoundHtml) {\n var notFoundMarker = `<script>window.__one404=${JSON.stringify({\n originalPath: url.pathname,\n notFoundPath: notFoundRoute\n })}</script>`;\n var injectedHtml = notFoundHtml.includes(\"</head>\") ? notFoundHtml.replace(\"</head>\", `${notFoundMarker}</head>`) : notFoundHtml.replace(\"<body\", `${notFoundMarker}<body`);\n return new Response(injectedHtml, {\n headers: htmlHeaders,\n status: 404\n });\n }\n }\n return new Response(\"404 Not Found\", {\n status: 404\n });\n }\n return null;\n }\n }\n };\n function setCacheHeaders(response, route, isAPI) {\n if (!response.headers.has(\"cache-control\") && !response.headers.has(\"Cache-Control\")) {\n try {\n if (isAPI) {\n response.headers.set(\"cache-control\", \"no-store\");\n } else if (route.type === \"ssg\" || route.type === \"spa\") {\n response.headers.set(\"cache-control\", \"public, s-maxage=60, stale-while-revalidate=120\");\n } else {\n response.headers.set(\"cache-control\", \"no-cache\");\n }\n } catch (unused) {\n }\n }\n return response;\n }\n async function handleRequest(request, env, executionCtx) {\n var url = getURLfromRequestURL(request);\n var pathname = url.pathname;\n var method = request.method;\n if (compiledRedirects) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = compiledRedirects[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var redirect = _step.value;\n var match = redirect.regex.exec(pathname);\n if (match) {\n var destination = redirect.destination;\n if (match.groups) {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = Object.entries(match.groups)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var [name, value] = _step1.value;\n destination = destination.replace(`:${name}`, value);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n if (debugRouter) console.info(`[one] \\u21AA redirect ${pathname} \\u2192 ${destination}`);\n return new Response(null, {\n status: redirect.permanent ? 301 : 302,\n headers: {\n location: new URL(destination, url.origin).toString()\n }\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n if (PRELOAD_JS_POSTFIX_REGEX.test(pathname)) {\n if (!currentPreloads[pathname]) {\n return new Response(\"\", {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n return null;\n }\n if (CSS_PRELOAD_JS_POSTFIX_REGEX.test(pathname)) {\n if (!(currentCssPreloads === null || currentCssPreloads === void 0 ? void 0 : currentCssPreloads[pathname])) {\n return new Response(\"export default Promise.resolve()\", {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n return null;\n }\n if (pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {\n var originalUrl = getPathFromLoaderPath(pathname);\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = compiledManifest.pageRoutes[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var route = _step2.value;\n if (route.file === \"\") continue;\n if (!route.compiledRegex.test(originalUrl)) continue;\n if (route.type === \"ssg\" && Object.keys(route.routeKeys).length > 0 && routeMap && !routeMap[originalUrl]) {\n return new Response(make404LoaderJs(originalUrl, \"ssg route not in routeMap\"), {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n if (route.hasLoader === false) {\n return new Response(\"export function loader() { return undefined }\", {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n var loaderRoute = {\n ...route,\n routeFile: route.file,\n file: route.loaderServerPath || pathname\n };\n var finalUrl = new URL(originalUrl, url.origin);\n finalUrl.search = url.search;\n var cleanedRequest = new Request(finalUrl, request);\n try {\n return await resolveLoaderRoute(requestHandlers, cleanedRequest, finalUrl, loaderRoute);\n } catch (err) {\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ERR_MODULE_NOT_FOUND\") {\n return new Response(\"export function loader() { return undefined }\", {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n console.error(`Error running loader: ${err}`);\n return null;\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return null;\n }\n if (pathname.endsWith(\".js\") || pathname.endsWith(\".css\")) {\n return null;\n }\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = compiledManifest.apiRoutes[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var route1 = _step3.value;\n if (route1.compiledRegex.test(pathname)) {\n if (debugRouter) console.info(`[one] \\u26A1 ${pathname} \\u2192 matched API route: ${route1.page}`);\n var response = await resolveAPIRoute(requestHandlers, request, url, route1, env, executionCtx);\n if (response && isResponse(response)) {\n return setCacheHeaders(response, route1, true);\n }\n return null;\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n if (isPageRequestMethod(method)) {\n var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;\n try {\n var _loop = async function() {\n var route2 = _step4.value;\n var _route_middlewares;\n if (!route2.compiledRegex.test(pathname)) return \"continue\";\n if (debugRouter) {\n console.info(`[one] \\u26A1 ${pathname} \\u2192 matched page route: ${route2.page} (${route2.type})`);\n }\n if (route2.type === \"ssr\" && !((_route_middlewares = route2.middlewares) === null || _route_middlewares === void 0 ? void 0 : _route_middlewares.length)) {\n var params = {};\n var match2 = route2.compiledRegex.exec(pathname);\n if (match2 === null || match2 === void 0 ? void 0 : match2.groups) {\n var _iteratorNormalCompletion5 = true, _didIteratorError5 = false, _iteratorError5 = void 0;\n try {\n for (var _iterator5 = Object.entries(match2.groups)[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var [key, value2] = _step5.value;\n params[route2.routeKeys[key]] = value2;\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5.return != null) {\n _iterator5.return();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n }\n var loaderProps = {\n path: pathname,\n search: url.search,\n subdomain: getSubdomain(url),\n request,\n params\n };\n var response2 = await resolveResponse(async function() {\n try {\n return await requestHandlers.handlePage({\n request,\n route: route2,\n url,\n loaderProps\n });\n } catch (err) {\n if (isResponse(err)) return err;\n throw err;\n }\n });\n if (response2 && isResponse(response2)) {\n return {\n v: setCacheHeaders(response2, route2, false)\n };\n }\n return {\n v: null\n };\n }\n try {\n var response1 = await resolvePageRoute(requestHandlers, request, url, route2);\n if (response1 && isResponse(response1)) {\n return {\n v: setCacheHeaders(response1, route2, false)\n };\n }\n } catch (err) {\n console.error(` [one] Error handling request: ${err[\"stack\"]}`);\n }\n return {\n v: null\n };\n };\n for (var _iterator4 = compiledManifest.pageRoutes[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var _ret = await _loop();\n if (_type_of(_ret) === \"object\") return _ret.v;\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n }\n return null;\n }\n function updateRoutes(newBuildInfo, newLazyRoutes) {\n compiledManifest = compileManifest(newBuildInfo.manifest);\n routeToBuildInfo = newBuildInfo.routeToBuildInfo;\n routeMap = newBuildInfo.routeMap;\n currentPreloads = newBuildInfo.preloads;\n currentCssPreloads = newBuildInfo.cssPreloads;\n if (newLazyRoutes) currentLazyRoutes = newLazyRoutes;\n loaderCache.clear();\n moduleImportCache.clear();\n loaderCacheFnMap.clear();\n loaderSearchSchemaMap.clear();\n pendingLoaderResults.clear();\n render = null;\n renderStream = null;\n renderLoading = null;\n entryLoading = null;\n }\n return {\n handleRequest,\n updateRoutes\n };\n}\nexport {\n createWorkerHandler\n};\n//# sourceMappingURL=workerHandler.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workerHandler.native.js","names":[],"sources":["esm/server/workerHandler.native.js"],"sourcesContent":["import { CSS_PRELOAD_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX_REGEX } from \"../constants\";\nimport { compileManifest, getSubdomain, getURLfromRequestURL, isPageRequestMethod, resolveAPIRoute, resolveLoaderRoute, resolvePageRoute } from \"../createHandleRequest\";\nimport { stripGroupSegmentsFromPath } from \"../router/matchers\";\nimport { getPathFromLoaderPath } from \"../utils/cleanUrl\";\nimport { getRouterRootFromOneOptions } from \"../utils/getRouterRootFromOneOptions\";\nimport { isResponse } from \"../utils/isResponse\";\nimport { resolveResponse } from \"../vite/resolveResponse\";\nimport { getLoaderSearchSchemas, withLoaderSearchParams } from \"../loaderSearchParams\";\nimport { getRouteExportsFromEntry } from \"./routeExportsFromEntry\";\nimport { setSSRLoaderData } from \"./ssrLoaderData\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction createWorkerHandler(options) {\n var _oneOptions_web;\n var { oneOptions } = options;\n var disableModuleCache = !!options.disableModuleCache;\n var routerRoot = getRouterRootFromOneOptions(oneOptions);\n var currentLazyRoutes = options.lazyRoutes;\n var compiledManifest = compileManifest(options.buildInfo.manifest);\n var routeToBuildInfo = options.buildInfo.routeToBuildInfo;\n var routeMap = options.buildInfo.routeMap;\n var currentPreloads = options.buildInfo.preloads;\n var currentCssPreloads = options.buildInfo.cssPreloads;\n var debugRouter = process.env.ONE_DEBUG_ROUTER;\n var redirects = (_oneOptions_web = oneOptions.web) === null || _oneOptions_web === void 0 ? void 0 : _oneOptions_web.redirects;\n var compiledRedirects = null;\n if (redirects === null || redirects === void 0 ? void 0 : redirects.length) {\n compiledRedirects = redirects.map(function(r) {\n var regexSource = r.source.replace(/:(\\w+)/g, function(_, name) {\n return `(?<${name}>[^/]+)`;\n });\n return {\n regex: new RegExp(`^${regexSource}$`),\n destination: r.destination,\n permanent: r.permanent || false\n };\n });\n }\n var useStreaming = !process.env.ONE_BUFFERED_SSR;\n var htmlHeaders = {\n \"content-type\": \"text/html\"\n };\n var ssrHtmlHeaders = {\n \"content-type\": \"text/html\",\n \"cache-control\": \"no-cache\"\n };\n var loaderCache = /* @__PURE__ */ new Map();\n var moduleImportCache = /* @__PURE__ */ new Map();\n var loaderCacheFnMap = /* @__PURE__ */ new Map();\n var loaderSearchSchemaMap = /* @__PURE__ */ new Map();\n var pendingLoaderResults = /* @__PURE__ */ new Map();\n var render = null;\n var renderStream = null;\n var renderLoading = null;\n var renderGeneration = 0;\n var entryLoading = null;\n function loadServerEntry() {\n if (!entryLoading) entryLoading = currentLazyRoutes.serverEntry();\n return entryLoading;\n }\n function ensureRenderLoaded() {\n if (render) return;\n if (renderLoading) return renderLoading;\n var gen = ++renderGeneration;\n renderLoading = (async function() {\n var entry = await loadServerEntry();\n if (gen !== renderGeneration) return;\n render = entry.default.render;\n renderStream = entry.default.renderStream || null;\n })();\n return renderLoading;\n }\n function findNearestNotFoundPath(urlPath) {\n var _loop = function() {\n var parent = cur.lastIndexOf(\"/\") > 0 ? cur.slice(0, cur.lastIndexOf(\"/\")) : \"\";\n var candidate = `${parent}/+not-found`;\n if (routeMap ? routeMap[candidate] : compiledManifest.pageRoutes.some(function(route) {\n return route.isNotFound && stripGroupSegmentsFromPath(route.page) === candidate;\n })) {\n return {\n v: candidate\n };\n }\n if (!parent) return \"break\";\n cur = parent;\n };\n var cur = urlPath;\n while (cur) {\n var _ret = _loop();\n if (_type_of(_ret) === \"object\") return _ret.v;\n if (_ret === \"break\") break;\n }\n return \"/+not-found\";\n }\n function make404LoaderJs(path, logReason) {\n var nfPath = findNearestNotFoundPath(path);\n if (logReason) console.error(`[one] 404 loader for ${path}: ${logReason}`);\n return `export function loader(){return{__oneError:404,__oneErrorMessage:'Not Found',__oneNotFoundPath:${JSON.stringify(nfPath)}}}`;\n }\n async function readStaticHtml(htmlPath, fetchStaticHtml) {\n if (fetchStaticHtml) return await fetchStaticHtml(htmlPath);\n if (debugRouter) {\n console.warn(`[one/worker] no fetchStaticHtml set, cannot read ${htmlPath}`);\n }\n return null;\n }\n function resolveLoaderSync(lazyKey) {\n var cacheKey = lazyKey || \"\";\n if (!disableModuleCache) {\n var cached = loaderCache.get(cacheKey);\n if (cached !== void 0) return cached;\n }\n return (async function() {\n var _currentLazyRoutes_pages;\n var routeExported;\n if (!disableModuleCache && moduleImportCache.has(cacheKey)) {\n routeExported = moduleImportCache.get(cacheKey);\n } else if ((_currentLazyRoutes_pages = currentLazyRoutes.pages) === null || _currentLazyRoutes_pages === void 0 ? void 0 : _currentLazyRoutes_pages[cacheKey]) {\n routeExported = await currentLazyRoutes.pages[cacheKey]();\n if (!disableModuleCache) moduleImportCache.set(cacheKey, routeExported);\n } else {\n routeExported = lazyKey ? await getRouteExportsFromEntry(await loadServerEntry(), routerRoot, lazyKey) : null;\n if (!routeExported) {\n console.warn(`[one/worker] no lazy route for ${cacheKey}`);\n if (!disableModuleCache) loaderCache.set(cacheKey, null);\n return null;\n }\n if (!disableModuleCache) moduleImportCache.set(cacheKey, routeExported);\n }\n var loader = (routeExported === null || routeExported === void 0 ? void 0 : routeExported.loader) || null;\n loaderSearchSchemaMap.set(cacheKey, getLoaderSearchSchemas(routeExported));\n if (!disableModuleCache) {\n var _ref;\n loaderCache.set(cacheKey, loader);\n loaderCacheFnMap.set(cacheKey, (_ref = routeExported === null || routeExported === void 0 ? void 0 : routeExported.loaderCache) !== null && _ref !== void 0 ? _ref : null);\n }\n return loader;\n })();\n }\n async function importAndRunLoader(routeId, lazyKey, requestLoaderProps) {\n var withSearchParams = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n if (!lazyKey) return {\n loaderData: void 0,\n routeId\n };\n var cacheMapKey = lazyKey;\n var loaderProps = requestLoaderProps;\n var validateSearch = function validateSearch2() {\n var schemas = withSearchParams && loaderSearchSchemaMap.get(cacheMapKey);\n if (schemas) loaderProps = withLoaderSearchParams(schemas, requestLoaderProps);\n };\n validateSearch();\n var loaderCacheFn = loaderCacheFnMap.get(cacheMapKey);\n var coalFullKey;\n var coalTtl = 0;\n if (loaderCacheFn) {\n var _ref;\n var cacheResult = loaderCacheFn(loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.params, loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.request);\n var cacheKey = typeof cacheResult === \"string\" ? cacheResult : cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.key;\n coalTtl = typeof cacheResult === \"string\" ? 0 : (_ref = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.ttl) !== null && _ref !== void 0 ? _ref : 0;\n if (cacheKey != null) {\n coalFullKey = routeId + \"\\0\" + cacheKey;\n var existing = pendingLoaderResults.get(coalFullKey);\n if (existing && (!existing.expires || Date.now() < existing.expires)) {\n var loaderData = await existing.promise;\n return {\n loaderData,\n routeId\n };\n }\n }\n }\n try {\n var loaderOrPromise = resolveLoaderSync(lazyKey);\n var loader = loaderOrPromise instanceof Promise ? await loaderOrPromise : loaderOrPromise;\n if (!loader) return {\n loaderData: void 0,\n routeId\n };\n if (loaderProps === requestLoaderProps) validateSearch();\n if (coalFullKey) {\n var promise = loader(loaderProps);\n var entry = {\n promise,\n expires: 0\n };\n pendingLoaderResults.set(coalFullKey, entry);\n promise.then(function() {\n entry.expires = coalTtl > 0 ? Date.now() + coalTtl : 0;\n if (coalTtl <= 0) Promise.resolve().then(function() {\n return pendingLoaderResults.delete(coalFullKey);\n });\n }, function() {\n return pendingLoaderResults.delete(coalFullKey);\n });\n var loaderData1 = await promise;\n return {\n loaderData: loaderData1,\n routeId\n };\n }\n var loaderData2 = await loader(loaderProps);\n return {\n loaderData: loaderData2,\n routeId\n };\n } catch (err) {\n if (isResponse(err)) throw err;\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ENOENT\") return {\n loaderData: void 0,\n routeId,\n isEnoent: true\n };\n console.error(`[one] Error running loader for ${routeId}:`, err);\n return {\n loaderData: void 0,\n routeId\n };\n }\n }\n var requestHandlers = {\n async handleStaticFile() {\n return null;\n },\n async handleAPI(param) {\n var { route } = param;\n if (currentLazyRoutes.api[route.page]) {\n return await currentLazyRoutes.api[route.page]();\n }\n console.warn(`[one/worker] no lazy API route for ${route.page}`);\n return null;\n },\n async loadMiddleware(route) {\n if (currentLazyRoutes.middlewares[route.contextKey]) {\n return await currentLazyRoutes.middlewares[route.contextKey]();\n }\n console.warn(`[one/worker] no lazy middleware for ${route.contextKey}`);\n return null;\n },\n async handleLoader(param) {\n var { route, loaderProps } = param;\n var routeFile = route.routeFile || route.file;\n var loader;\n try {\n var loaderResult = resolveLoaderSync(routeFile);\n loader = loaderResult instanceof Promise ? await loaderResult : loaderResult;\n } catch (err) {\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ERR_MODULE_NOT_FOUND\") return null;\n throw err;\n }\n if (!loader) return null;\n var searchSchemas = route.type === \"ssr\" && loaderSearchSchemaMap.get(routeFile);\n if (searchSchemas) loaderProps = withLoaderSearchParams(searchSchemas, loaderProps);\n var json;\n try {\n json = await loader(loaderProps);\n } catch (err) {\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ENOENT\") {\n return make404LoaderJs((loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\", `ENOENT ${(err === null || err === void 0 ? void 0 : err.path) || err}`);\n }\n throw err;\n }\n if (isResponse(json)) throw json;\n return `export function loader() { return ${JSON.stringify(json)} }`;\n },\n async handlePage(param, fetchStaticHtml) {\n var { route, url, loaderProps } = param;\n var routeBuildInfo = routeToBuildInfo[route.file];\n if (route.type === \"ssr\") {\n if (!routeBuildInfo) {\n console.error(`Error in route`, route);\n throw new Error(`No buildinfo found for ${url}, route: ${route.file}, in keys:\n ${Object.keys(routeToBuildInfo).join(\"\\n \")}`);\n }\n try {\n var _globalThis___vxrnresetState, _globalThis;\n var layoutRoutes = route.layouts || [];\n var layoutLoaderPromises = [];\n var noLoaderResults = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = layoutRoutes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var layout = _step.value;\n var cacheKey = layout.contextKey || \"\";\n var cachedLoader = loaderCache.get(cacheKey);\n if (cachedLoader === null) {\n noLoaderResults.push({\n loaderData: void 0,\n routeId: layout.contextKey\n });\n } else {\n layoutLoaderPromises.push(importAndRunLoader(layout.contextKey, layout.contextKey, loaderProps, true));\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var pageLoaderPromise = importAndRunLoader(route.file, route.file, loaderProps, true);\n var layoutResults;\n var pageResult;\n try {\n if (layoutLoaderPromises.length === 0) {\n layoutResults = noLoaderResults;\n pageResult = await pageLoaderPromise;\n } else {\n var [asyncLayoutResults, pr] = await Promise.all([\n Promise.all(layoutLoaderPromises),\n pageLoaderPromise\n ]);\n layoutResults = [\n ...noLoaderResults,\n ...asyncLayoutResults\n ];\n pageResult = pr;\n }\n } catch (err) {\n if (isResponse(err)) return err;\n throw err;\n }\n if (pageResult.isEnoent) {\n var nfPath = findNearestNotFoundPath((loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\");\n var nfHtml = routeMap === null || routeMap === void 0 ? void 0 : routeMap[nfPath];\n if (nfHtml) {\n var html = await readStaticHtml(nfHtml, fetchStaticHtml);\n if (html) {\n return new Response(html, {\n headers: {\n \"content-type\": \"text/html\"\n },\n status: 404\n });\n }\n }\n return new Response(\"404 Not Found\", {\n status: 404\n });\n }\n var matchPathname = (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\";\n var matchParams = (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.params) || {};\n var matches = new Array(layoutResults.length + 1);\n for (var i = 0; i < layoutResults.length; i++) {\n var result = layoutResults[i];\n matches[i] = {\n routeId: result.routeId,\n pathname: matchPathname,\n params: matchParams,\n loaderData: result.loaderData\n };\n }\n matches[layoutResults.length] = {\n routeId: pageResult.routeId,\n pathname: matchPathname,\n params: matchParams,\n loaderData: pageResult.loaderData\n };\n var loaderData = pageResult.loaderData;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n var _loop = function() {\n var layout2 = _step1.value;\n var key = layout2.contextKey;\n var loaderFn = loaderCache.get(key);\n if (loaderFn) {\n var result2 = layoutResults.find(function(r) {\n return r.routeId === key;\n });\n if (result2) setSSRLoaderData(loaderFn, result2.loaderData);\n }\n };\n for (var _iterator1 = layoutRoutes[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _loop();\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n var pageLoaderFn = loaderCache.get(route.file);\n if (pageLoaderFn) setSSRLoaderData(pageLoaderFn, pageResult.loaderData);\n (_globalThis___vxrnresetState = (_globalThis = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState === void 0 ? void 0 : _globalThis___vxrnresetState.call(_globalThis);\n var renderProps = {\n mode: route.type,\n loaderData,\n loaderProps,\n path: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\",\n preloads: routeBuildInfo.criticalPreloads || routeBuildInfo.preloads,\n deferredPreloads: routeBuildInfo.deferredPreloads,\n css: routeBuildInfo.css,\n cssContents: routeBuildInfo.cssContents,\n matches\n };\n var _rl = ensureRenderLoaded();\n if (_rl) await _rl;\n var status = route.isNotFound ? 404 : 200;\n var responseHeaders = route.isNotFound ? htmlHeaders : ssrHtmlHeaders;\n if (useStreaming) {\n var stream = await renderStream(renderProps);\n return new Response(stream, {\n headers: responseHeaders,\n status\n });\n }\n var rendered = await render(renderProps);\n return new Response(rendered, {\n headers: responseHeaders,\n status\n });\n } catch (err) {\n var _ref;\n if (isResponse(err)) return err;\n console.error(`[one] Error rendering SSR route ${route.file}\n${(_ref = err === null || err === void 0 ? void 0 : err[\"stack\"]) !== null && _ref !== void 0 ? _ref : err}\nurl: ${url}`);\n return null;\n }\n } else {\n var layoutRoutes1 = route.layouts || [];\n var needsSpaShell = route.type === \"spa\" && layoutRoutes1.some(function(layout2) {\n return layout2.layoutRenderMode === \"ssg\" || layout2.layoutRenderMode === \"ssr\";\n });\n if (needsSpaShell) {\n try {\n var _globalThis___vxrnresetState1, _globalThis1;\n var layoutResults1 = await Promise.all(layoutRoutes1.map(function(layout2) {\n return importAndRunLoader(layout2.contextKey, layout2.contextKey, loaderProps);\n }));\n var matches1 = layoutResults1.map(function(result2) {\n return {\n routeId: result2.routeId,\n pathname: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\",\n params: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.params) || {},\n loaderData: result2.loaderData\n };\n });\n (_globalThis___vxrnresetState1 = (_globalThis1 = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState1 === void 0 ? void 0 : _globalThis___vxrnresetState1.call(_globalThis1);\n var _rl1 = ensureRenderLoaded();\n if (_rl1) await _rl1;\n var spaRouteBuildInfo = routeToBuildInfo[route.file];\n var rendered1 = await render({\n mode: \"spa-shell\",\n loaderData: void 0,\n loaderProps,\n path: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\",\n preloads: (spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.criticalPreloads) || (spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.preloads),\n deferredPreloads: spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.deferredPreloads,\n css: spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.css,\n cssContents: spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.cssContents,\n matches: matches1\n });\n return new Response(rendered1, {\n headers: htmlHeaders,\n status: route.isNotFound ? 404 : 200\n });\n } catch (err) {\n var _ref1;\n if (isResponse(err)) return err;\n console.error(`[one] Error rendering spa-shell for ${route.file}\n${(_ref1 = err === null || err === void 0 ? void 0 : err[\"stack\"]) !== null && _ref1 !== void 0 ? _ref1 : err}\nurl: ${url}`);\n }\n }\n var isDynamicRoute = Object.keys(route.routeKeys).length > 0;\n var routeCleanPath = route.urlCleanPath.replace(/\\?/g, \"\");\n var notFoundKey = route.isNotFound ? route.page.replace(/\\[([^\\]]+)\\]/g, \":$1\") : null;\n var htmlPath = notFoundKey ? routeMap === null || routeMap === void 0 ? void 0 : routeMap[notFoundKey] : isDynamicRoute ? (routeMap === null || routeMap === void 0 ? void 0 : routeMap[routeCleanPath]) || (routeMap === null || routeMap === void 0 ? void 0 : routeMap[url.pathname]) : (routeMap === null || routeMap === void 0 ? void 0 : routeMap[url.pathname]) || (routeMap === null || routeMap === void 0 ? void 0 : routeMap[routeBuildInfo === null || routeBuildInfo === void 0 ? void 0 : routeBuildInfo.cleanPath]);\n if (htmlPath) {\n var html1 = await readStaticHtml(htmlPath, fetchStaticHtml);\n if (html1) {\n return new Response(html1, {\n headers: htmlHeaders,\n status: route.isNotFound ? 404 : 200\n });\n }\n }\n if (isDynamicRoute) {\n var notFoundRoute = findNearestNotFoundPath(url.pathname);\n var notFoundHtmlPath = routeMap === null || routeMap === void 0 ? void 0 : routeMap[notFoundRoute];\n if (notFoundHtmlPath) {\n var notFoundHtml = await readStaticHtml(notFoundHtmlPath, fetchStaticHtml);\n if (notFoundHtml) {\n var notFoundMarker = `<script>window.__one404=${JSON.stringify({\n originalPath: url.pathname,\n notFoundPath: notFoundRoute\n })}</script>`;\n var injectedHtml = notFoundHtml.includes(\"</head>\") ? notFoundHtml.replace(\"</head>\", `${notFoundMarker}</head>`) : notFoundHtml.replace(\"<body\", `${notFoundMarker}<body`);\n return new Response(injectedHtml, {\n headers: htmlHeaders,\n status: 404\n });\n }\n }\n return new Response(\"404 Not Found\", {\n status: 404\n });\n }\n return null;\n }\n }\n };\n function setCacheHeaders(response, route, isAPI) {\n if (!response.headers.has(\"cache-control\") && !response.headers.has(\"Cache-Control\")) {\n try {\n if (isAPI) {\n response.headers.set(\"cache-control\", \"no-store\");\n } else if (route.type === \"ssg\" || route.type === \"spa\") {\n response.headers.set(\"cache-control\", \"public, s-maxage=60, stale-while-revalidate=120\");\n } else {\n response.headers.set(\"cache-control\", \"no-cache\");\n }\n } catch (unused) {\n }\n }\n return response;\n }\n async function handleRequest(request, env, executionCtx, fetchStaticHtml) {\n var url = getURLfromRequestURL(request);\n var pathname = url.pathname;\n var method = request.method;\n if (compiledRedirects) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = compiledRedirects[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var redirect = _step.value;\n var match = redirect.regex.exec(pathname);\n if (match) {\n var destination = redirect.destination;\n if (match.groups) {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = Object.entries(match.groups)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var [name, value] = _step1.value;\n destination = destination.replace(`:${name}`, value);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n if (debugRouter) console.info(`[one] \\u21AA redirect ${pathname} \\u2192 ${destination}`);\n return new Response(null, {\n status: redirect.permanent ? 301 : 302,\n headers: {\n location: new URL(destination, url.origin).toString()\n }\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n if (PRELOAD_JS_POSTFIX_REGEX.test(pathname)) {\n if (!currentPreloads[pathname]) {\n return new Response(\"\", {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n return null;\n }\n if (CSS_PRELOAD_JS_POSTFIX_REGEX.test(pathname)) {\n if (!(currentCssPreloads === null || currentCssPreloads === void 0 ? void 0 : currentCssPreloads[pathname])) {\n return new Response(\"export default Promise.resolve()\", {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n return null;\n }\n if (pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {\n var originalUrl = getPathFromLoaderPath(pathname);\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = compiledManifest.pageRoutes[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var route = _step2.value;\n if (route.file === \"\") continue;\n if (!route.compiledRegex.test(originalUrl)) continue;\n if (route.type === \"ssg\" && Object.keys(route.routeKeys).length > 0 && routeMap && !routeMap[originalUrl]) {\n return new Response(make404LoaderJs(originalUrl, \"ssg route not in routeMap\"), {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n if (route.hasLoader === false) {\n return new Response(\"export function loader() { return undefined }\", {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n var loaderRoute = {\n ...route,\n routeFile: route.file,\n file: route.loaderServerPath || pathname\n };\n var finalUrl = new URL(originalUrl, url.origin);\n finalUrl.search = url.search;\n var cleanedRequest = new Request(finalUrl, request);\n try {\n return await resolveLoaderRoute(requestHandlers, cleanedRequest, finalUrl, loaderRoute);\n } catch (err) {\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ERR_MODULE_NOT_FOUND\") {\n return new Response(\"export function loader() { return undefined }\", {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n console.error(`Error running loader: ${err}`);\n return null;\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return null;\n }\n if (pathname.endsWith(\".js\") || pathname.endsWith(\".css\")) {\n return null;\n }\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = compiledManifest.apiRoutes[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var route1 = _step3.value;\n if (route1.compiledRegex.test(pathname)) {\n if (debugRouter) console.info(`[one] \\u26A1 ${pathname} \\u2192 matched API route: ${route1.page}`);\n var response = await resolveAPIRoute(requestHandlers, request, url, route1, env, executionCtx);\n if (response && isResponse(response)) {\n return setCacheHeaders(response, route1, true);\n }\n return null;\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n if (isPageRequestMethod(method)) {\n var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;\n try {\n var _loop = async function() {\n var route2 = _step4.value;\n var _route_middlewares;\n if (!route2.compiledRegex.test(pathname)) return \"continue\";\n if (debugRouter) {\n console.info(`[one] \\u26A1 ${pathname} \\u2192 matched page route: ${route2.page} (${route2.type})`);\n }\n if (route2.type === \"ssr\" && !((_route_middlewares = route2.middlewares) === null || _route_middlewares === void 0 ? void 0 : _route_middlewares.length)) {\n var params = {};\n var match2 = route2.compiledRegex.exec(pathname);\n if (match2 === null || match2 === void 0 ? void 0 : match2.groups) {\n var _iteratorNormalCompletion5 = true, _didIteratorError5 = false, _iteratorError5 = void 0;\n try {\n for (var _iterator5 = Object.entries(match2.groups)[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var [key, value2] = _step5.value;\n params[route2.routeKeys[key]] = value2;\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5.return != null) {\n _iterator5.return();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n }\n var loaderProps = {\n path: pathname,\n search: url.search,\n subdomain: getSubdomain(url),\n request,\n params\n };\n var response2 = await resolveResponse(async function() {\n try {\n return await requestHandlers.handlePage({\n request,\n route: route2,\n url,\n loaderProps\n }, fetchStaticHtml);\n } catch (err) {\n if (isResponse(err)) return err;\n throw err;\n }\n });\n if (response2 && isResponse(response2)) {\n return {\n v: setCacheHeaders(response2, route2, false)\n };\n }\n return {\n v: null\n };\n }\n try {\n var pageHandlers = {\n ...requestHandlers,\n handlePage: function handlePage(props) {\n return requestHandlers.handlePage(props, fetchStaticHtml);\n }\n };\n var response1 = await resolvePageRoute(pageHandlers, request, url, route2);\n if (response1 && isResponse(response1)) {\n return {\n v: setCacheHeaders(response1, route2, false)\n };\n }\n } catch (err) {\n console.error(` [one] Error handling request: ${err[\"stack\"]}`);\n }\n return {\n v: null\n };\n };\n for (var _iterator4 = compiledManifest.pageRoutes[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var _ret = await _loop();\n if (_type_of(_ret) === \"object\") return _ret.v;\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n }\n return null;\n }\n function updateRoutes(newBuildInfo, newLazyRoutes) {\n compiledManifest = compileManifest(newBuildInfo.manifest);\n routeToBuildInfo = newBuildInfo.routeToBuildInfo;\n routeMap = newBuildInfo.routeMap;\n currentPreloads = newBuildInfo.preloads;\n currentCssPreloads = newBuildInfo.cssPreloads;\n if (newLazyRoutes) currentLazyRoutes = newLazyRoutes;\n loaderCache.clear();\n moduleImportCache.clear();\n loaderCacheFnMap.clear();\n loaderSearchSchemaMap.clear();\n pendingLoaderResults.clear();\n render = null;\n renderStream = null;\n renderLoading = null;\n entryLoading = null;\n }\n return {\n handleRequest,\n updateRoutes\n };\n}\nexport {\n createWorkerHandler\n};\n//# sourceMappingURL=workerHandler.js.map\n"],"mappings":"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"}
|