one 2.11.5 → 2.12.1
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/cli-dev-memory.cjs +43 -0
- package/dist/cjs/cli-dev-memory.native.cjs +84 -0
- package/dist/cjs/cli-dev-memory.native.js +86 -0
- package/dist/cjs/cli-dev-memory.native.js.map +1 -0
- 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/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/cli-dev-memory.mjs +23 -0
- package/dist/esm/cli-dev-memory.mjs.map +1 -0
- package/dist/esm/cli-dev-memory.native.js +62 -0
- package/dist/esm/cli-dev-memory.native.js.map +1 -0
- 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/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 +13 -13
- package/run.mjs +5 -1
- 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/cli-dev-memory.ts +24 -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/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/cli-dev-memory.d.ts +2 -0
- package/types/cli-dev-memory.d.ts.map +1 -0
- 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/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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oneServe.native.js","names":[],"sources":["esm/server/oneServe.native.js"],"sourcesContent":["import { readFile } from \"fs/promises\";\nimport { join, posix } from \"path\";\nimport { CSS_PRELOAD_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX_REGEX } from \"../constants\";\nimport { compileManifest, getSubdomain, getURLfromRequestURL, runMiddlewares } from \"../createHandleRequest\";\nimport { getPathFromLoaderPath } from \"../utils/cleanUrl\";\nimport { getRouterRootFromOneOptions } from \"../utils/getRouterRootFromOneOptions\";\nimport { toAbsoluteUrl } from \"../utils/toAbsolute\";\nimport { toServerOutputPath } from \"../utils/toServerOutputPath\";\nimport { getLoaderSearchSchemas, withLoaderSearchParams } from \"../loaderSearchParams\";\nimport { getRouteExportsFromEntry } from \"./routeExportsFromEntry\";\nimport { setSSRLoaderData } from \"./ssrLoaderData\";\nimport { getFetchStaticHtml } from \"./staticHtmlFetcher\";\nvar debugRouter = process.env.ONE_DEBUG_ROUTER;\nvar MODULE_CACHE_MAX = 500;\nfunction setBounded(map, key, value, max) {\n if (map.has(key)) {\n map.set(key, value);\n return;\n }\n if (map.size >= max) {\n var firstKey = map.keys().next().value;\n if (firstKey !== void 0) map.delete(firstKey);\n }\n map.set(key, value);\n}\nfunction forwardHeaders(response, context) {\n var _response_headers_getSetCookie, _response_headers;\n var setCookies = (_response_headers_getSetCookie = (_response_headers = response.headers).getSetCookie) === null || _response_headers_getSetCookie === void 0 ? void 0 : _response_headers_getSetCookie.call(_response_headers);\n if (setCookies === null || setCookies === void 0 ? void 0 : setCookies.length) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = setCookies[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var cookie = _step.value;\n context.header(\"set-cookie\", cookie, {\n append: 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 }\n response.headers.forEach(function(value, key) {\n if (key === \"set-cookie\") return;\n context.header(key, value);\n });\n}\nasync function readStaticHtml(htmlPath) {\n var outDir = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"dist\";\n var fetchStaticHtml = getFetchStaticHtml();\n if (fetchStaticHtml) {\n var html = await fetchStaticHtml(htmlPath);\n if (html) return html;\n }\n try {\n return await readFile(join(`${outDir}/client`, htmlPath), \"utf-8\");\n } catch (unused) {\n return null;\n }\n}\nasync function oneServe(oneOptions, buildInfo, app, options) {\n var _oneOptions_web, _oneOptions_build_api, _oneOptions_build;\n var outDir = buildInfo.outDir || \"dist\";\n var { resolveAPIRoute, resolveLoaderRoute, resolvePageRoute } = await import(\"../createHandleRequest\");\n var { isResponse } = await import(\"../utils/isResponse\");\n var { isStatusRedirect } = await import(\"../utils/isStatus\");\n var { resolveResponse } = await import(\"../vite/resolveResponse\");\n var isAPIRequest = /* @__PURE__ */ new WeakMap();\n var redirects = (_oneOptions_web = oneOptions.web) === null || _oneOptions_web === void 0 ? void 0 : _oneOptions_web.redirects;\n if (redirects) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var redirect = _step.value;\n app.get(redirect.source, function(context) {\n var destinationUrl = redirect.destination.replace(/:\\w+/g, function(param) {\n var paramName = param.substring(1);\n return context.req.param(paramName) || \"\";\n });\n if (debugRouter) {\n console.info(`[one] \\u21AA redirect ${context.req.path} \\u2192 ${destinationUrl}`);\n }\n return context.redirect(destinationUrl, redirect.permanent ? 301 : 302);\n });\n };\n for (var _iterator = redirects[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\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 (!buildInfo) {\n throw new Error(`No build info found, have you run build?`);\n }\n var { routeToBuildInfo, routeMap } = buildInfo;\n function findNearestNotFoundPath(urlPath) {\n var cur = urlPath;\n while (cur) {\n var parent = cur.lastIndexOf(\"/\") > 0 ? cur.slice(0, cur.lastIndexOf(\"/\")) : \"\";\n if (routeMap[`${parent}/+not-found`]) {\n return `${parent}/+not-found`;\n }\n if (!parent) break;\n cur = parent;\n }\n return \"/+not-found\";\n }\n function make404LoaderJs(path, logReason) {\n var nfPath = findNearestNotFoundPath(path);\n if (logReason) {\n console.error(`[one] 404 loader for ${path}: ${logReason}`);\n }\n return `export function loader(){return{__oneError:404,__oneErrorMessage:'Not Found',__oneNotFoundPath:${JSON.stringify(nfPath)}}}`;\n }\n var serverOptions = {\n ...oneOptions,\n root: \".\"\n };\n var apiCJS = ((_oneOptions_build = oneOptions.build) === null || _oneOptions_build === void 0 ? void 0 : (_oneOptions_build_api = _oneOptions_build.api) === null || _oneOptions_build_api === void 0 ? void 0 : _oneOptions_build_api.outputFormat) === \"cjs\";\n var routerRoot = getRouterRootFromOneOptions(oneOptions);\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 async function importRouteModule(lazyKey, serverPath) {\n var _options_lazyRoutes_pages, _options_lazyRoutes;\n if (lazyKey && (options === null || options === void 0 ? void 0 : (_options_lazyRoutes = options.lazyRoutes) === null || _options_lazyRoutes === void 0 ? void 0 : (_options_lazyRoutes_pages = _options_lazyRoutes.pages) === null || _options_lazyRoutes_pages === void 0 ? void 0 : _options_lazyRoutes_pages[lazyKey])) {\n return await options.lazyRoutes.pages[lazyKey]();\n }\n if (lazyKey) {\n var entry = await loadServerEntry();\n var exported = await getRouteExportsFromEntry(entry, routerRoot, lazyKey);\n if (exported) return exported;\n }\n return await import(toAbsoluteUrl(toServerOutputPath(serverPath || lazyKey || \"\", outDir)));\n }\n function resolveLoaderSync(serverPath, lazyKey) {\n var cacheKey = lazyKey || serverPath || \"\";\n var cached = loaderCache.get(cacheKey);\n if (cached !== void 0) return cached;\n return (async function() {\n var _ref;\n var routeExported;\n if (moduleImportCache.has(cacheKey)) {\n routeExported = moduleImportCache.get(cacheKey);\n } else {\n routeExported = await importRouteModule(lazyKey, serverPath);\n setBounded(moduleImportCache, cacheKey, routeExported, MODULE_CACHE_MAX);\n }\n var loader = (routeExported === null || routeExported === void 0 ? void 0 : routeExported.loader) || null;\n setBounded(loaderCache, cacheKey, loader, MODULE_CACHE_MAX);\n var loaderCacheFn = (_ref = routeExported === null || routeExported === void 0 ? void 0 : routeExported.loaderCache) !== null && _ref !== void 0 ? _ref : null;\n setBounded(loaderCacheFnMap, cacheKey, loaderCacheFn, MODULE_CACHE_MAX);\n setBounded(loaderSearchSchemaMap, cacheKey, getLoaderSearchSchemas(routeExported), MODULE_CACHE_MAX);\n return loader;\n })();\n }\n async function importAndRunLoader(routeId, serverPath, lazyKey, requestLoaderProps) {\n var withSearchParams = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : false;\n if (!serverPath && !lazyKey) {\n return {\n loaderData: void 0,\n routeId\n };\n }\n var cacheMapKey = lazyKey || serverPath || \"\";\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(serverPath, lazyKey);\n var loader = loaderOrPromise instanceof Promise ? await loaderOrPromise : loaderOrPromise;\n if (!loader) {\n return {\n loaderData: void 0,\n routeId\n };\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) {\n Promise.resolve().then(function() {\n return pendingLoaderResults.delete(coalFullKey);\n });\n }\n }, function() {\n 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)) {\n throw err;\n }\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ENOENT\") {\n return {\n loaderData: void 0,\n routeId,\n isEnoent: true\n };\n }\n console.error(`[one] Error running loader for ${routeId}:`, err);\n return {\n loaderData: void 0,\n routeId\n };\n }\n }\n var render = null;\n var renderStream = null;\n var renderLoading = null;\n var entryLoading = null;\n function loadServerEntry() {\n if (!entryLoading) {\n var _options_lazyRoutes, _oneOptions_build2;\n entryLoading = (options === null || options === void 0 ? void 0 : (_options_lazyRoutes = options.lazyRoutes) === null || _options_lazyRoutes === void 0 ? void 0 : _options_lazyRoutes.serverEntry) ? options.lazyRoutes.serverEntry() : import(toAbsoluteUrl(`${serverOptions.root}/${outDir}/server/_virtual_one-entry.${typeof ((_oneOptions_build2 = oneOptions.build) === null || _oneOptions_build2 === void 0 ? void 0 : _oneOptions_build2.server) === \"object\" && oneOptions.build.server.outputFormat === \"cjs\" ? \"c\" : \"\"}js`));\n }\n return entryLoading;\n }\n function ensureRenderLoaded() {\n if (render) return;\n if (renderLoading) return renderLoading;\n renderLoading = (async function() {\n var entry = await loadServerEntry();\n render = entry.default.render;\n renderStream = entry.default.renderStream;\n })();\n return renderLoading;\n }\n var clientDir = join(process.cwd(), outDir, \"client\");\n var requestHandlers = {\n async handleStaticFile(filePath) {\n try {\n var fullPath = join(clientDir, filePath);\n var content = await readFile(fullPath, \"utf-8\");\n return new Response(content, {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n } catch (unused) {\n return null;\n }\n },\n async handleAPI(param) {\n var { route: route2 } = param;\n var _options_lazyRoutes_api, _options_lazyRoutes;\n if (options === null || options === void 0 ? void 0 : (_options_lazyRoutes = options.lazyRoutes) === null || _options_lazyRoutes === void 0 ? void 0 : (_options_lazyRoutes_api = _options_lazyRoutes.api) === null || _options_lazyRoutes_api === void 0 ? void 0 : _options_lazyRoutes_api[route2.page]) {\n return await options.lazyRoutes.api[route2.page]();\n }\n var fileName = route2.page.slice(1).replace(/\\[/g, \"_\").replace(/\\]/g, \"_\");\n var apiFile = posix.join(outDir, \"api\", fileName + (apiCJS ? \".cjs\" : \".js\"));\n return await import(toAbsoluteUrl(apiFile));\n },\n async loadMiddleware(route2) {\n var _options_lazyRoutes_middlewares, _options_lazyRoutes;\n if (options === null || options === void 0 ? void 0 : (_options_lazyRoutes = options.lazyRoutes) === null || _options_lazyRoutes === void 0 ? void 0 : (_options_lazyRoutes_middlewares = _options_lazyRoutes.middlewares) === null || _options_lazyRoutes_middlewares === void 0 ? void 0 : _options_lazyRoutes_middlewares[route2.contextKey]) {\n return await options.lazyRoutes.middlewares[route2.contextKey]();\n }\n return await import(toAbsoluteUrl(route2.contextKey));\n },\n async handleLoader(param) {\n var { route: route2, loaderProps } = param;\n var routeFile = route2.routeFile || route2.file;\n var serverPath = toServerOutputPath(route2.file, outDir);\n var loader;\n try {\n var loaderResult = resolveLoaderSync(serverPath, 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\") {\n return null;\n }\n throw err;\n }\n if (!loader) {\n return null;\n }\n var searchSchemas = route2.type === \"ssr\" && loaderSearchSchemaMap.get(routeFile || serverPath);\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)) {\n throw json;\n }\n return `export function loader() { return ${JSON.stringify(json)} }`;\n },\n async handlePage(param) {\n var { route: route2, url, loaderProps } = param;\n var _$buildInfo = routeToBuildInfo[route2.file];\n if (route2.type === \"ssr\") {\n if (!_$buildInfo) {\n console.error(`Error in route`, route2);\n throw new Error(`No buildinfo found for ${url}, route: ${route2.file}, in keys:\n ${Object.keys(routeToBuildInfo).join(\"\\n \")}`);\n }\n try {\n var _globalThis___vxrnresetState, _globalThis;\n var layoutRoutes = route2.layouts || [];\n var layoutLoaderPromises = [];\n var noLoaderResults = [];\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = layoutRoutes[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var layout = _step3.value;\n var serverPath = layout.loaderServerPath || layout.contextKey;\n var cacheKey = layout.contextKey || serverPath || \"\";\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, serverPath, layout.contextKey, loaderProps, true));\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 var pageLoaderPromise = importAndRunLoader(route2.file, _$buildInfo.serverJsPath, route2.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)) {\n return err;\n }\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[nfPath];\n if (nfHtml) {\n try {\n var html = await readFile(join(process.cwd(), `${outDir}/client`, nfHtml), \"utf-8\");\n return new Response(html, {\n headers: {\n \"content-type\": \"text/html\"\n },\n status: 404\n });\n } catch (unused) {\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 _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;\n try {\n var _loop2 = function() {\n var layout2 = _step12.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) {\n setSSRLoaderData(loaderFn, result2.loaderData);\n }\n }\n };\n for (var _iterator12 = layoutRoutes[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) _loop2();\n } catch (err) {\n _didIteratorError12 = true;\n _iteratorError12 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion12 && _iterator12.return != null) {\n _iterator12.return();\n }\n } finally {\n if (_didIteratorError12) {\n throw _iteratorError12;\n }\n }\n }\n var pageLoaderFn = loaderCache.get(route2.file);\n if (pageLoaderFn) {\n setSSRLoaderData(pageLoaderFn, pageResult.loaderData);\n }\n (_globalThis___vxrnresetState = (_globalThis = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState === void 0 ? void 0 : _globalThis___vxrnresetState.call(_globalThis);\n var renderProps = {\n mode: route2.type,\n loaderData,\n loaderProps,\n path: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\",\n preloads: _$buildInfo.criticalPreloads || _$buildInfo.preloads,\n deferredPreloads: _$buildInfo.deferredPreloads,\n css: _$buildInfo.css,\n cssContents: _$buildInfo.cssContents,\n matches\n };\n var _rl = ensureRenderLoaded();\n if (_rl) await _rl;\n var status = route2.isNotFound ? 404 : 200;\n var responseHeaders = route2.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)) {\n return err;\n }\n console.error(`[one] Error rendering SSR route ${route2.file}\n\n${(_ref = err === null || err === void 0 ? void 0 : err[\"stack\"]) !== null && _ref !== void 0 ? _ref : err}\n\nurl: ${url}`);\n }\n } else {\n var layoutRoutes1 = route2.layouts || [];\n var needsSpaShell = route2.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 var serverPath2 = layout2.loaderServerPath || layout2.contextKey;\n return importAndRunLoader(layout2.contextKey, serverPath2, 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 _rl3 = ensureRenderLoaded();\n if (_rl3) await _rl3;\n var rendered1 = await render({\n mode: \"spa-shell\",\n // don't pass loaderData for spa-shell - the page loader runs on client\n // passing {} here would make useLoaderState think data is preloaded\n loaderData: void 0,\n loaderProps,\n path: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\",\n preloads: (_$buildInfo === null || _$buildInfo === void 0 ? void 0 : _$buildInfo.criticalPreloads) || (_$buildInfo === null || _$buildInfo === void 0 ? void 0 : _$buildInfo.preloads),\n deferredPreloads: _$buildInfo === null || _$buildInfo === void 0 ? void 0 : _$buildInfo.deferredPreloads,\n css: _$buildInfo === null || _$buildInfo === void 0 ? void 0 : _$buildInfo.css,\n cssContents: _$buildInfo === null || _$buildInfo === void 0 ? void 0 : _$buildInfo.cssContents,\n matches: matches1\n });\n return new Response(rendered1, {\n headers: htmlHeaders,\n status: route2.isNotFound ? 404 : 200\n });\n } catch (err) {\n var _ref1;\n if (isResponse(err)) {\n return err;\n }\n console.error(`[one] Error rendering spa-shell for ${route2.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(route2.routeKeys).length > 0;\n var routeCleanPath = route2.urlCleanPath.replace(/\\?/g, \"\");\n var notFoundKey = route2.isNotFound ? route2.page.replace(/\\[([^\\]]+)\\]/g, \":$1\") : null;\n var htmlPath = notFoundKey ? routeMap[notFoundKey] : isDynamicRoute ? routeMap[routeCleanPath] || routeMap[url.pathname] : routeMap[url.pathname] || routeMap[_$buildInfo === null || _$buildInfo === void 0 ? void 0 : _$buildInfo.cleanPath];\n if (htmlPath) {\n var html1 = await readStaticHtml(htmlPath, outDir);\n if (html1) {\n var headers = new Headers();\n headers.set(\"content-type\", \"text/html\");\n return new Response(html1, {\n headers,\n status: route2.isNotFound ? 404 : 200\n });\n }\n }\n if (isDynamicRoute) {\n var notFoundRoute = findNearestNotFoundPath(url.pathname);\n var notFoundHtmlPath = routeMap[notFoundRoute];\n if (notFoundHtmlPath) {\n var notFoundHtml = await readStaticHtml(notFoundHtmlPath, outDir);\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 var headers1 = new Headers();\n headers1.set(\"content-type\", \"text/html\");\n return new Response(injectedHtml, {\n headers: headers1,\n status: 404\n });\n }\n }\n return new Response(\"404 Not Found\", {\n status: 404\n });\n }\n }\n }\n };\n function createHonoHandler(route2) {\n var isDynamicOrNotFound = route2.page.endsWith(\"/+not-found\") || Object.keys(route2.routeKeys).length > 0;\n return async function(context, next) {\n try {\n var _route_middlewares;\n var request = context.req.raw;\n if (isDynamicOrNotFound) {\n if (options === null || options === void 0 ? void 0 : options.serveStaticAssets) {\n var staticAssetResponse = await options.serveStaticAssets({\n context\n });\n if (staticAssetResponse) {\n return await runMiddlewares(requestHandlers, request, route2, async function() {\n return staticAssetResponse;\n });\n }\n }\n }\n var reqPath = context.req.path;\n if (reqPath.endsWith(\".js\") || reqPath.endsWith(\".css\")) {\n return next();\n }\n if (route2.type === \"ssr\" && !((_route_middlewares = route2.middlewares) === null || _route_middlewares === void 0 ? void 0 : _route_middlewares.length) && !reqPath.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {\n if (debugRouter) {\n console.info(`[one] \\u26A1 ${reqPath} \\u2192 matched page route: ${route2.page} (ssr)`);\n }\n var pathname = reqPath;\n var rawUrl = request.url;\n var qIdx = rawUrl.indexOf(\"?\");\n var search = qIdx >= 0 ? rawUrl.slice(qIdx) : \"\";\n var params = {};\n var match = route2.compiledRegex.exec(pathname);\n if (match === null || match === void 0 ? void 0 : match.groups) {\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = Object.entries(match.groups)[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var [key, value] = _step3.value;\n var namedKey = route2.routeKeys[key];\n params[namedKey] = value;\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 }\n var loaderProps = {\n path: pathname,\n search,\n subdomain: getSubdomain(getURLfromRequestURL(request)),\n request,\n params\n };\n var url = getURLfromRequestURL(request);\n var response = 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)) {\n return err;\n }\n throw err;\n }\n });\n if (response) {\n if (isResponse(response)) {\n if (isStatusRedirect(response.status)) {\n var location = `${response.headers.get(\"location\") || \"\"}`;\n forwardHeaders(response, context);\n return context.redirect(location, response.status);\n }\n return response;\n }\n return next();\n }\n return next();\n }\n var url1 = getURLfromRequestURL(request);\n var response1 = await (function() {\n if (url1.pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {\n var originalUrl = getPathFromLoaderPath(url1.pathname);\n if (route2.type === \"ssg\" && Object.keys(route2.routeKeys).length > 0) {\n if (!routeMap[originalUrl]) {\n return new Response(make404LoaderJs(originalUrl, \"ssg route not in routeMap\"), {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n }\n var finalUrl = new URL(originalUrl, url1.origin);\n finalUrl.search = url1.search;\n var cleanedRequest = new Request(finalUrl, request);\n return resolveLoaderRoute(requestHandlers, cleanedRequest, finalUrl, route2);\n }\n switch (route2.type) {\n case \"api\": {\n if (debugRouter) {\n console.info(`[one] \\u26A1 ${url1.pathname} \\u2192 matched API route: ${route2.page}`);\n }\n return resolveAPIRoute(requestHandlers, request, url1, route2);\n }\n case \"ssg\":\n case \"spa\":\n case \"ssr\": {\n if (debugRouter) {\n console.info(`[one] \\u26A1 ${url1.pathname} \\u2192 matched page route: ${route2.page} (${route2.type})`);\n }\n return resolvePageRoute(requestHandlers, request, url1, route2);\n }\n }\n })();\n if (response1) {\n if (isResponse(response1)) {\n if (isStatusRedirect(response1.status)) {\n var location1 = `${response1.headers.get(\"location\") || \"\"}`;\n forwardHeaders(response1, context);\n return context.redirect(location1, response1.status);\n }\n if (isAPIRequest.get(request)) {\n try {\n if (!response1.headers.has(\"cache-control\") && !response1.headers.has(\"Cache-Control\")) {\n response1.headers.set(\"cache-control\", \"no-store\");\n }\n return response1;\n } catch (err) {\n console.info(`Error updating cache header on api route \"${context.req.path}\" to no-store, it is ${response1.headers.get(\"cache-control\")}, continue`, err);\n }\n }\n if (!response1.headers.has(\"cache-control\") && !response1.headers.has(\"Cache-Control\")) {\n if (route2.type === \"ssg\" || route2.type === \"spa\") {\n response1.headers.set(\"cache-control\", \"public, s-maxage=60, stale-while-revalidate=120\");\n } else {\n response1.headers.set(\"cache-control\", \"no-cache\");\n }\n }\n return response1;\n }\n return next();\n }\n } catch (err) {\n console.error(` [one] Error handling request: ${err[\"stack\"]}`);\n }\n return next();\n };\n }\n var compiledManifest = compileManifest(buildInfo.manifest);\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = compiledManifest.apiRoutes[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var route = _step1.value;\n app.get(route.urlPath, createHonoHandler(route));\n app.put(route.urlPath, createHonoHandler(route));\n app.post(route.urlPath, createHonoHandler(route));\n app.delete(route.urlPath, createHonoHandler(route));\n app.patch(route.urlPath, createHonoHandler(route));\n app.options(route.urlPath, createHonoHandler(route));\n if (route.urlPath !== route.urlCleanPath) {\n app.get(route.urlCleanPath, createHonoHandler(route));\n app.put(route.urlCleanPath, createHonoHandler(route));\n app.post(route.urlCleanPath, createHonoHandler(route));\n app.delete(route.urlCleanPath, createHonoHandler(route));\n app.patch(route.urlCleanPath, createHonoHandler(route));\n app.options(route.urlCleanPath, createHonoHandler(route));\n }\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 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 route1 = _step2.value;\n app.get(route1.urlPath, createHonoHandler(route1));\n if (route1.urlPath !== route1.urlCleanPath) {\n app.get(route1.urlCleanPath, createHonoHandler(route1));\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 var { preloads, cssPreloads } = buildInfo;\n app.get(\"*\", async function(c, next) {\n if (PRELOAD_JS_POSTFIX_REGEX.test(c.req.path)) {\n if (!preloads[c.req.path]) {\n c.header(\"Content-Type\", \"text/javascript\");\n c.status(200);\n return c.body(``);\n }\n }\n if (CSS_PRELOAD_JS_POSTFIX_REGEX.test(c.req.path)) {\n if (!(cssPreloads === null || cssPreloads === void 0 ? void 0 : cssPreloads[c.req.path])) {\n c.header(\"Content-Type\", \"text/javascript\");\n c.status(200);\n return c.body(`export default Promise.resolve()`);\n }\n }\n if (c.req.path.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {\n var request = c.req.raw;\n var url = getURLfromRequestURL(request);\n var originalUrl = getPathFromLoaderPath(c.req.path);\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = compiledManifest.pageRoutes[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var route2 = _step3.value;\n if (route2.file === \"\") {\n continue;\n }\n if (!route2.compiledRegex.test(originalUrl)) {\n continue;\n }\n if (route2.type === \"ssg\" && Object.keys(route2.routeKeys).length > 0 && !routeMap[originalUrl]) {\n c.header(\"Content-Type\", \"text/javascript\");\n c.status(200);\n return c.body(make404LoaderJs(originalUrl, \"ssg route not in routeMap\"));\n }\n var loaderRoute = {\n ...route2,\n routeFile: route2.file,\n // preserve original for lazy route lookup\n file: route2.loaderServerPath || c.req.path\n };\n var finalUrl = new URL(originalUrl, url.origin);\n finalUrl.search = url.search;\n var cleanedRequest = new Request(finalUrl, request);\n try {\n var resolved = await resolveLoaderRoute(requestHandlers, cleanedRequest, finalUrl, loaderRoute);\n return resolved;\n } catch (err) {\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ERR_MODULE_NOT_FOUND\") {\n c.header(\"Content-Type\", \"text/javascript\");\n c.status(200);\n return c.body(`export function loader() { return undefined }`);\n }\n console.error(`Error running loader: ${err}`);\n return next();\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 }\n return next();\n });\n}\nexport {\n oneServe\n};\n//# sourceMappingURL=oneServe.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oneServe.native.js","names":[],"sources":["esm/server/oneServe.native.js"],"sourcesContent":["import { readFile } from \"fs/promises\";\nimport { join, posix } from \"path\";\nimport { CSS_PRELOAD_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX_REGEX } from \"../constants\";\nimport { compileManifest, getSubdomain, getURLfromRequestURL, runMiddlewares } from \"../createHandleRequest\";\nimport { getPathFromLoaderPath } from \"../utils/cleanUrl\";\nimport { getRouterRootFromOneOptions } from \"../utils/getRouterRootFromOneOptions\";\nimport { toAbsoluteUrl } from \"../utils/toAbsolute\";\nimport { toServerOutputPath } from \"../utils/toServerOutputPath\";\nimport { getLoaderSearchSchemas, withLoaderSearchParams } from \"../loaderSearchParams\";\nimport { getRouteExportsFromEntry } from \"./routeExportsFromEntry\";\nimport { setSSRLoaderData } from \"./ssrLoaderData\";\nvar debugRouter = process.env.ONE_DEBUG_ROUTER;\nvar MODULE_CACHE_MAX = 500;\nfunction setBounded(map, key, value, max) {\n if (map.has(key)) {\n map.set(key, value);\n return;\n }\n if (map.size >= max) {\n var firstKey = map.keys().next().value;\n if (firstKey !== void 0) map.delete(firstKey);\n }\n map.set(key, value);\n}\nfunction forwardHeaders(response, context) {\n var _response_headers_getSetCookie, _response_headers;\n var setCookies = (_response_headers_getSetCookie = (_response_headers = response.headers).getSetCookie) === null || _response_headers_getSetCookie === void 0 ? void 0 : _response_headers_getSetCookie.call(_response_headers);\n if (setCookies === null || setCookies === void 0 ? void 0 : setCookies.length) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = setCookies[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var cookie = _step.value;\n context.header(\"set-cookie\", cookie, {\n append: 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 }\n response.headers.forEach(function(value, key) {\n if (key === \"set-cookie\") return;\n context.header(key, value);\n });\n}\nasync function readStaticHtml(htmlPath) {\n var outDir = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"dist\";\n try {\n return await readFile(join(`${outDir}/client`, htmlPath), \"utf-8\");\n } catch (unused) {\n return null;\n }\n}\nasync function oneServe(oneOptions, buildInfo, app, options) {\n var _oneOptions_web, _oneOptions_build_api, _oneOptions_build;\n var outDir = buildInfo.outDir || \"dist\";\n var { resolveAPIRoute, resolveLoaderRoute, resolvePageRoute } = await import(\"../createHandleRequest\");\n var { isResponse } = await import(\"../utils/isResponse\");\n var { isStatusRedirect } = await import(\"../utils/isStatus\");\n var { resolveResponse } = await import(\"../vite/resolveResponse\");\n var isAPIRequest = /* @__PURE__ */ new WeakMap();\n var redirects = (_oneOptions_web = oneOptions.web) === null || _oneOptions_web === void 0 ? void 0 : _oneOptions_web.redirects;\n if (redirects) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var redirect = _step.value;\n app.get(redirect.source, function(context) {\n var destinationUrl = redirect.destination.replace(/:\\w+/g, function(param) {\n var paramName = param.substring(1);\n return context.req.param(paramName) || \"\";\n });\n if (debugRouter) {\n console.info(`[one] \\u21AA redirect ${context.req.path} \\u2192 ${destinationUrl}`);\n }\n return context.redirect(destinationUrl, redirect.permanent ? 301 : 302);\n });\n };\n for (var _iterator = redirects[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\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 (!buildInfo) {\n throw new Error(`No build info found, have you run build?`);\n }\n var { routeToBuildInfo, routeMap } = buildInfo;\n function findNearestNotFoundPath(urlPath) {\n var cur = urlPath;\n while (cur) {\n var parent = cur.lastIndexOf(\"/\") > 0 ? cur.slice(0, cur.lastIndexOf(\"/\")) : \"\";\n if (routeMap[`${parent}/+not-found`]) {\n return `${parent}/+not-found`;\n }\n if (!parent) break;\n cur = parent;\n }\n return \"/+not-found\";\n }\n function make404LoaderJs(path, logReason) {\n var nfPath = findNearestNotFoundPath(path);\n if (logReason) {\n console.error(`[one] 404 loader for ${path}: ${logReason}`);\n }\n return `export function loader(){return{__oneError:404,__oneErrorMessage:'Not Found',__oneNotFoundPath:${JSON.stringify(nfPath)}}}`;\n }\n var serverOptions = {\n ...oneOptions,\n root: \".\"\n };\n var apiCJS = ((_oneOptions_build = oneOptions.build) === null || _oneOptions_build === void 0 ? void 0 : (_oneOptions_build_api = _oneOptions_build.api) === null || _oneOptions_build_api === void 0 ? void 0 : _oneOptions_build_api.outputFormat) === \"cjs\";\n var routerRoot = getRouterRootFromOneOptions(oneOptions);\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 async function importRouteModule(lazyKey, serverPath) {\n var _options_lazyRoutes_pages, _options_lazyRoutes;\n if (lazyKey && (options === null || options === void 0 ? void 0 : (_options_lazyRoutes = options.lazyRoutes) === null || _options_lazyRoutes === void 0 ? void 0 : (_options_lazyRoutes_pages = _options_lazyRoutes.pages) === null || _options_lazyRoutes_pages === void 0 ? void 0 : _options_lazyRoutes_pages[lazyKey])) {\n return await options.lazyRoutes.pages[lazyKey]();\n }\n if (lazyKey) {\n var entry = await loadServerEntry();\n var exported = await getRouteExportsFromEntry(entry, routerRoot, lazyKey);\n if (exported) return exported;\n }\n return await import(toAbsoluteUrl(toServerOutputPath(serverPath || lazyKey || \"\", outDir)));\n }\n function resolveLoaderSync(serverPath, lazyKey) {\n var cacheKey = lazyKey || serverPath || \"\";\n var cached = loaderCache.get(cacheKey);\n if (cached !== void 0) return cached;\n return (async function() {\n var _ref;\n var routeExported;\n if (moduleImportCache.has(cacheKey)) {\n routeExported = moduleImportCache.get(cacheKey);\n } else {\n routeExported = await importRouteModule(lazyKey, serverPath);\n setBounded(moduleImportCache, cacheKey, routeExported, MODULE_CACHE_MAX);\n }\n var loader = (routeExported === null || routeExported === void 0 ? void 0 : routeExported.loader) || null;\n setBounded(loaderCache, cacheKey, loader, MODULE_CACHE_MAX);\n var loaderCacheFn = (_ref = routeExported === null || routeExported === void 0 ? void 0 : routeExported.loaderCache) !== null && _ref !== void 0 ? _ref : null;\n setBounded(loaderCacheFnMap, cacheKey, loaderCacheFn, MODULE_CACHE_MAX);\n setBounded(loaderSearchSchemaMap, cacheKey, getLoaderSearchSchemas(routeExported), MODULE_CACHE_MAX);\n return loader;\n })();\n }\n async function importAndRunLoader(routeId, serverPath, lazyKey, requestLoaderProps) {\n var withSearchParams = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : false;\n if (!serverPath && !lazyKey) {\n return {\n loaderData: void 0,\n routeId\n };\n }\n var cacheMapKey = lazyKey || serverPath || \"\";\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(serverPath, lazyKey);\n var loader = loaderOrPromise instanceof Promise ? await loaderOrPromise : loaderOrPromise;\n if (!loader) {\n return {\n loaderData: void 0,\n routeId\n };\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) {\n Promise.resolve().then(function() {\n return pendingLoaderResults.delete(coalFullKey);\n });\n }\n }, function() {\n 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)) {\n throw err;\n }\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ENOENT\") {\n return {\n loaderData: void 0,\n routeId,\n isEnoent: true\n };\n }\n console.error(`[one] Error running loader for ${routeId}:`, err);\n return {\n loaderData: void 0,\n routeId\n };\n }\n }\n var render = null;\n var renderStream = null;\n var renderLoading = null;\n var entryLoading = null;\n function loadServerEntry() {\n if (!entryLoading) {\n var _options_lazyRoutes, _oneOptions_build2;\n entryLoading = (options === null || options === void 0 ? void 0 : (_options_lazyRoutes = options.lazyRoutes) === null || _options_lazyRoutes === void 0 ? void 0 : _options_lazyRoutes.serverEntry) ? options.lazyRoutes.serverEntry() : import(toAbsoluteUrl(`${serverOptions.root}/${outDir}/server/_virtual_one-entry.${typeof ((_oneOptions_build2 = oneOptions.build) === null || _oneOptions_build2 === void 0 ? void 0 : _oneOptions_build2.server) === \"object\" && oneOptions.build.server.outputFormat === \"cjs\" ? \"c\" : \"\"}js`));\n }\n return entryLoading;\n }\n function ensureRenderLoaded() {\n if (render) return;\n if (renderLoading) return renderLoading;\n renderLoading = (async function() {\n var entry = await loadServerEntry();\n render = entry.default.render;\n renderStream = entry.default.renderStream;\n })();\n return renderLoading;\n }\n var clientDir = join(process.cwd(), outDir, \"client\");\n var requestHandlers = {\n async handleStaticFile(filePath) {\n try {\n var fullPath = join(clientDir, filePath);\n var content = await readFile(fullPath, \"utf-8\");\n return new Response(content, {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n } catch (unused) {\n return null;\n }\n },\n async handleAPI(param) {\n var { route: route2 } = param;\n var _options_lazyRoutes_api, _options_lazyRoutes;\n if (options === null || options === void 0 ? void 0 : (_options_lazyRoutes = options.lazyRoutes) === null || _options_lazyRoutes === void 0 ? void 0 : (_options_lazyRoutes_api = _options_lazyRoutes.api) === null || _options_lazyRoutes_api === void 0 ? void 0 : _options_lazyRoutes_api[route2.page]) {\n return await options.lazyRoutes.api[route2.page]();\n }\n var fileName = route2.page.slice(1).replace(/\\[/g, \"_\").replace(/\\]/g, \"_\");\n var apiFile = posix.join(outDir, \"api\", fileName + (apiCJS ? \".cjs\" : \".js\"));\n return await import(toAbsoluteUrl(apiFile));\n },\n async loadMiddleware(route2) {\n var _options_lazyRoutes_middlewares, _options_lazyRoutes;\n if (options === null || options === void 0 ? void 0 : (_options_lazyRoutes = options.lazyRoutes) === null || _options_lazyRoutes === void 0 ? void 0 : (_options_lazyRoutes_middlewares = _options_lazyRoutes.middlewares) === null || _options_lazyRoutes_middlewares === void 0 ? void 0 : _options_lazyRoutes_middlewares[route2.contextKey]) {\n return await options.lazyRoutes.middlewares[route2.contextKey]();\n }\n return await import(toAbsoluteUrl(route2.contextKey));\n },\n async handleLoader(param) {\n var { route: route2, loaderProps } = param;\n var routeFile = route2.routeFile || route2.file;\n var serverPath = toServerOutputPath(route2.file, outDir);\n var loader;\n try {\n var loaderResult = resolveLoaderSync(serverPath, 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\") {\n return null;\n }\n throw err;\n }\n if (!loader) {\n return null;\n }\n var searchSchemas = route2.type === \"ssr\" && loaderSearchSchemaMap.get(routeFile || serverPath);\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)) {\n throw json;\n }\n return `export function loader() { return ${JSON.stringify(json)} }`;\n },\n async handlePage(param) {\n var { route: route2, url, loaderProps } = param;\n var _$buildInfo = routeToBuildInfo[route2.file];\n if (route2.type === \"ssr\") {\n if (!_$buildInfo) {\n console.error(`Error in route`, route2);\n throw new Error(`No buildinfo found for ${url}, route: ${route2.file}, in keys:\n ${Object.keys(routeToBuildInfo).join(\"\\n \")}`);\n }\n try {\n var _globalThis___vxrnresetState, _globalThis;\n var layoutRoutes = route2.layouts || [];\n var layoutLoaderPromises = [];\n var noLoaderResults = [];\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = layoutRoutes[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var layout = _step3.value;\n var serverPath = layout.loaderServerPath || layout.contextKey;\n var cacheKey = layout.contextKey || serverPath || \"\";\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, serverPath, layout.contextKey, loaderProps, true));\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 var pageLoaderPromise = importAndRunLoader(route2.file, _$buildInfo.serverJsPath, route2.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)) {\n return err;\n }\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[nfPath];\n if (nfHtml) {\n try {\n var html = await readFile(join(process.cwd(), `${outDir}/client`, nfHtml), \"utf-8\");\n return new Response(html, {\n headers: {\n \"content-type\": \"text/html\"\n },\n status: 404\n });\n } catch (unused) {\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 _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;\n try {\n var _loop2 = function() {\n var layout2 = _step12.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) {\n setSSRLoaderData(loaderFn, result2.loaderData);\n }\n }\n };\n for (var _iterator12 = layoutRoutes[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) _loop2();\n } catch (err) {\n _didIteratorError12 = true;\n _iteratorError12 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion12 && _iterator12.return != null) {\n _iterator12.return();\n }\n } finally {\n if (_didIteratorError12) {\n throw _iteratorError12;\n }\n }\n }\n var pageLoaderFn = loaderCache.get(route2.file);\n if (pageLoaderFn) {\n setSSRLoaderData(pageLoaderFn, pageResult.loaderData);\n }\n (_globalThis___vxrnresetState = (_globalThis = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState === void 0 ? void 0 : _globalThis___vxrnresetState.call(_globalThis);\n var renderProps = {\n mode: route2.type,\n loaderData,\n loaderProps,\n path: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\",\n preloads: _$buildInfo.criticalPreloads || _$buildInfo.preloads,\n deferredPreloads: _$buildInfo.deferredPreloads,\n css: _$buildInfo.css,\n cssContents: _$buildInfo.cssContents,\n matches\n };\n var _rl = ensureRenderLoaded();\n if (_rl) await _rl;\n var status = route2.isNotFound ? 404 : 200;\n var responseHeaders = route2.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)) {\n return err;\n }\n console.error(`[one] Error rendering SSR route ${route2.file}\n\n${(_ref = err === null || err === void 0 ? void 0 : err[\"stack\"]) !== null && _ref !== void 0 ? _ref : err}\n\nurl: ${url}`);\n }\n } else {\n var layoutRoutes1 = route2.layouts || [];\n var needsSpaShell = route2.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 var serverPath2 = layout2.loaderServerPath || layout2.contextKey;\n return importAndRunLoader(layout2.contextKey, serverPath2, 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 _rl3 = ensureRenderLoaded();\n if (_rl3) await _rl3;\n var rendered1 = await render({\n mode: \"spa-shell\",\n // don't pass loaderData for spa-shell - the page loader runs on client\n // passing {} here would make useLoaderState think data is preloaded\n loaderData: void 0,\n loaderProps,\n path: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\",\n preloads: (_$buildInfo === null || _$buildInfo === void 0 ? void 0 : _$buildInfo.criticalPreloads) || (_$buildInfo === null || _$buildInfo === void 0 ? void 0 : _$buildInfo.preloads),\n deferredPreloads: _$buildInfo === null || _$buildInfo === void 0 ? void 0 : _$buildInfo.deferredPreloads,\n css: _$buildInfo === null || _$buildInfo === void 0 ? void 0 : _$buildInfo.css,\n cssContents: _$buildInfo === null || _$buildInfo === void 0 ? void 0 : _$buildInfo.cssContents,\n matches: matches1\n });\n return new Response(rendered1, {\n headers: htmlHeaders,\n status: route2.isNotFound ? 404 : 200\n });\n } catch (err) {\n var _ref1;\n if (isResponse(err)) {\n return err;\n }\n console.error(`[one] Error rendering spa-shell for ${route2.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(route2.routeKeys).length > 0;\n var routeCleanPath = route2.urlCleanPath.replace(/\\?/g, \"\");\n var notFoundKey = route2.isNotFound ? route2.page.replace(/\\[([^\\]]+)\\]/g, \":$1\") : null;\n var htmlPath = notFoundKey ? routeMap[notFoundKey] : isDynamicRoute ? routeMap[routeCleanPath] || routeMap[url.pathname] : routeMap[url.pathname] || routeMap[_$buildInfo === null || _$buildInfo === void 0 ? void 0 : _$buildInfo.cleanPath];\n if (htmlPath) {\n var html1 = await readStaticHtml(htmlPath, outDir);\n if (html1) {\n var headers = new Headers();\n headers.set(\"content-type\", \"text/html\");\n return new Response(html1, {\n headers,\n status: route2.isNotFound ? 404 : 200\n });\n }\n }\n if (isDynamicRoute) {\n var notFoundRoute = findNearestNotFoundPath(url.pathname);\n var notFoundHtmlPath = routeMap[notFoundRoute];\n if (notFoundHtmlPath) {\n var notFoundHtml = await readStaticHtml(notFoundHtmlPath, outDir);\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 var headers1 = new Headers();\n headers1.set(\"content-type\", \"text/html\");\n return new Response(injectedHtml, {\n headers: headers1,\n status: 404\n });\n }\n }\n return new Response(\"404 Not Found\", {\n status: 404\n });\n }\n }\n }\n };\n function createHonoHandler(route2) {\n var isDynamicOrNotFound = route2.page.endsWith(\"/+not-found\") || Object.keys(route2.routeKeys).length > 0;\n return async function(context, next) {\n try {\n var _route_middlewares;\n var request = context.req.raw;\n if (isDynamicOrNotFound) {\n if (options === null || options === void 0 ? void 0 : options.serveStaticAssets) {\n var staticAssetResponse = await options.serveStaticAssets({\n context\n });\n if (staticAssetResponse) {\n return await runMiddlewares(requestHandlers, request, route2, async function() {\n return staticAssetResponse;\n });\n }\n }\n }\n var reqPath = context.req.path;\n if (reqPath.endsWith(\".js\") || reqPath.endsWith(\".css\")) {\n return next();\n }\n if (route2.type === \"ssr\" && !((_route_middlewares = route2.middlewares) === null || _route_middlewares === void 0 ? void 0 : _route_middlewares.length) && !reqPath.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {\n if (debugRouter) {\n console.info(`[one] \\u26A1 ${reqPath} \\u2192 matched page route: ${route2.page} (ssr)`);\n }\n var pathname = reqPath;\n var rawUrl = request.url;\n var qIdx = rawUrl.indexOf(\"?\");\n var search = qIdx >= 0 ? rawUrl.slice(qIdx) : \"\";\n var params = {};\n var match = route2.compiledRegex.exec(pathname);\n if (match === null || match === void 0 ? void 0 : match.groups) {\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = Object.entries(match.groups)[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var [key, value] = _step3.value;\n var namedKey = route2.routeKeys[key];\n params[namedKey] = value;\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 }\n var loaderProps = {\n path: pathname,\n search,\n subdomain: getSubdomain(getURLfromRequestURL(request)),\n request,\n params\n };\n var url = getURLfromRequestURL(request);\n var response = 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)) {\n return err;\n }\n throw err;\n }\n });\n if (response) {\n if (isResponse(response)) {\n if (isStatusRedirect(response.status)) {\n var location = `${response.headers.get(\"location\") || \"\"}`;\n forwardHeaders(response, context);\n return context.redirect(location, response.status);\n }\n return response;\n }\n return next();\n }\n return next();\n }\n var url1 = getURLfromRequestURL(request);\n var response1 = await (function() {\n if (url1.pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {\n var originalUrl = getPathFromLoaderPath(url1.pathname);\n if (route2.type === \"ssg\" && Object.keys(route2.routeKeys).length > 0) {\n if (!routeMap[originalUrl]) {\n return new Response(make404LoaderJs(originalUrl, \"ssg route not in routeMap\"), {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n }\n var finalUrl = new URL(originalUrl, url1.origin);\n finalUrl.search = url1.search;\n var cleanedRequest = new Request(finalUrl, request);\n return resolveLoaderRoute(requestHandlers, cleanedRequest, finalUrl, route2);\n }\n switch (route2.type) {\n case \"api\": {\n if (debugRouter) {\n console.info(`[one] \\u26A1 ${url1.pathname} \\u2192 matched API route: ${route2.page}`);\n }\n return resolveAPIRoute(requestHandlers, request, url1, route2);\n }\n case \"ssg\":\n case \"spa\":\n case \"ssr\": {\n if (debugRouter) {\n console.info(`[one] \\u26A1 ${url1.pathname} \\u2192 matched page route: ${route2.page} (${route2.type})`);\n }\n return resolvePageRoute(requestHandlers, request, url1, route2);\n }\n }\n })();\n if (response1) {\n if (isResponse(response1)) {\n if (isStatusRedirect(response1.status)) {\n var location1 = `${response1.headers.get(\"location\") || \"\"}`;\n forwardHeaders(response1, context);\n return context.redirect(location1, response1.status);\n }\n if (isAPIRequest.get(request)) {\n try {\n if (!response1.headers.has(\"cache-control\") && !response1.headers.has(\"Cache-Control\")) {\n response1.headers.set(\"cache-control\", \"no-store\");\n }\n return response1;\n } catch (err) {\n console.info(`Error updating cache header on api route \"${context.req.path}\" to no-store, it is ${response1.headers.get(\"cache-control\")}, continue`, err);\n }\n }\n if (!response1.headers.has(\"cache-control\") && !response1.headers.has(\"Cache-Control\")) {\n if (route2.type === \"ssg\" || route2.type === \"spa\") {\n response1.headers.set(\"cache-control\", \"public, s-maxage=60, stale-while-revalidate=120\");\n } else {\n response1.headers.set(\"cache-control\", \"no-cache\");\n }\n }\n return response1;\n }\n return next();\n }\n } catch (err) {\n console.error(` [one] Error handling request: ${err[\"stack\"]}`);\n }\n return next();\n };\n }\n var compiledManifest = compileManifest(buildInfo.manifest);\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = compiledManifest.apiRoutes[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var route = _step1.value;\n app.get(route.urlPath, createHonoHandler(route));\n app.put(route.urlPath, createHonoHandler(route));\n app.post(route.urlPath, createHonoHandler(route));\n app.delete(route.urlPath, createHonoHandler(route));\n app.patch(route.urlPath, createHonoHandler(route));\n app.options(route.urlPath, createHonoHandler(route));\n if (route.urlPath !== route.urlCleanPath) {\n app.get(route.urlCleanPath, createHonoHandler(route));\n app.put(route.urlCleanPath, createHonoHandler(route));\n app.post(route.urlCleanPath, createHonoHandler(route));\n app.delete(route.urlCleanPath, createHonoHandler(route));\n app.patch(route.urlCleanPath, createHonoHandler(route));\n app.options(route.urlCleanPath, createHonoHandler(route));\n }\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 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 route1 = _step2.value;\n app.get(route1.urlPath, createHonoHandler(route1));\n if (route1.urlPath !== route1.urlCleanPath) {\n app.get(route1.urlCleanPath, createHonoHandler(route1));\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 var { preloads, cssPreloads } = buildInfo;\n app.get(\"*\", async function(c, next) {\n if (PRELOAD_JS_POSTFIX_REGEX.test(c.req.path)) {\n if (!preloads[c.req.path]) {\n c.header(\"Content-Type\", \"text/javascript\");\n c.status(200);\n return c.body(``);\n }\n }\n if (CSS_PRELOAD_JS_POSTFIX_REGEX.test(c.req.path)) {\n if (!(cssPreloads === null || cssPreloads === void 0 ? void 0 : cssPreloads[c.req.path])) {\n c.header(\"Content-Type\", \"text/javascript\");\n c.status(200);\n return c.body(`export default Promise.resolve()`);\n }\n }\n if (c.req.path.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {\n var request = c.req.raw;\n var url = getURLfromRequestURL(request);\n var originalUrl = getPathFromLoaderPath(c.req.path);\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = compiledManifest.pageRoutes[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var route2 = _step3.value;\n if (route2.file === \"\") {\n continue;\n }\n if (!route2.compiledRegex.test(originalUrl)) {\n continue;\n }\n if (route2.type === \"ssg\" && Object.keys(route2.routeKeys).length > 0 && !routeMap[originalUrl]) {\n c.header(\"Content-Type\", \"text/javascript\");\n c.status(200);\n return c.body(make404LoaderJs(originalUrl, \"ssg route not in routeMap\"));\n }\n var loaderRoute = {\n ...route2,\n routeFile: route2.file,\n // preserve original for lazy route lookup\n file: route2.loaderServerPath || c.req.path\n };\n var finalUrl = new URL(originalUrl, url.origin);\n finalUrl.search = url.search;\n var cleanedRequest = new Request(finalUrl, request);\n try {\n var resolved = await resolveLoaderRoute(requestHandlers, cleanedRequest, finalUrl, loaderRoute);\n return resolved;\n } catch (err) {\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ERR_MODULE_NOT_FOUND\") {\n c.header(\"Content-Type\", \"text/javascript\");\n c.status(200);\n return c.body(`export function loader() { return undefined }`);\n }\n console.error(`Error running loader: ${err}`);\n return next();\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 }\n return next();\n });\n}\nexport {\n oneServe\n};\n//# sourceMappingURL=oneServe.js.map\n"],"mappings":"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"}
|
|
@@ -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":"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"}
|
|
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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"}
|