one 2.11.4 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/android/src/main/java/com/margelo/nitro/one/HybridOneAudio.kt +309 -124
  2. package/dist/cjs/cli/build.cjs +31 -33
  3. package/dist/cjs/cli/build.native.cjs +31 -33
  4. package/dist/cjs/cli/build.native.js +31 -33
  5. package/dist/cjs/cli/build.native.js.map +1 -1
  6. package/dist/cjs/cli/buildPage.cjs +11 -7
  7. package/dist/cjs/cli/buildPage.native.cjs +11 -7
  8. package/dist/cjs/cli/buildPage.native.js +11 -7
  9. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  10. package/dist/cjs/cli/buildPageWorker.cjs +1 -1
  11. package/dist/cjs/cli/buildPageWorker.native.cjs +1 -1
  12. package/dist/cjs/cli/buildPageWorker.native.js +1 -1
  13. package/dist/cjs/cli/buildPageWorker.native.js.map +1 -1
  14. package/dist/cjs/headless-server.cjs +2 -5
  15. package/dist/cjs/headless-server.native.cjs +2 -5
  16. package/dist/cjs/headless-server.native.js +2 -5
  17. package/dist/cjs/headless-server.native.js.map +1 -1
  18. package/dist/cjs/platform/audio/index.cjs +83 -76
  19. package/dist/cjs/platform/audio/index.native.cjs +2 -2
  20. package/dist/cjs/platform/audio/index.native.js +2 -2
  21. package/dist/cjs/platform/audio/index.native.js.map +1 -1
  22. package/dist/cjs/platform/audio/nowPlaying.cjs +126 -0
  23. package/dist/cjs/platform/audio/nowPlaying.native.cjs +160 -0
  24. package/dist/cjs/platform/audio/nowPlaying.native.js +162 -0
  25. package/dist/cjs/platform/audio/nowPlaying.native.js.map +1 -0
  26. package/dist/cjs/platform/audio/player.cjs +15 -0
  27. package/dist/cjs/platform/audio/player.native.cjs +14 -0
  28. package/dist/cjs/platform/audio/player.native.js +14 -0
  29. package/dist/cjs/platform/audio/player.native.js.map +1 -1
  30. package/dist/cjs/platform/audio/unavailable.cjs +1 -1
  31. package/dist/cjs/platform/audio/unavailable.native.cjs +1 -1
  32. package/dist/cjs/platform/audio/unavailable.native.js +1 -1
  33. package/dist/cjs/platform/audio/unavailable.native.js.map +1 -1
  34. package/dist/cjs/platform/location/index.native.cjs +9 -2
  35. package/dist/cjs/platform/location/index.native.js +9 -2
  36. package/dist/cjs/platform/location/index.native.js.map +1 -1
  37. package/dist/cjs/serve-worker.cjs +0 -3
  38. package/dist/cjs/serve-worker.native.cjs +0 -3
  39. package/dist/cjs/serve-worker.native.js +0 -3
  40. package/dist/cjs/serve-worker.native.js.map +1 -1
  41. package/dist/cjs/server/oneServe.cjs +0 -6
  42. package/dist/cjs/server/oneServe.native.cjs +0 -6
  43. package/dist/cjs/server/oneServe.native.js +0 -6
  44. package/dist/cjs/server/oneServe.native.js.map +1 -1
  45. package/dist/cjs/server/workerHandler.cjs +12 -10
  46. package/dist/cjs/server/workerHandler.native.cjs +14 -10
  47. package/dist/cjs/server/workerHandler.native.js +14 -10
  48. package/dist/cjs/server/workerHandler.native.js.map +1 -1
  49. package/dist/cjs/vite/plugins/workerdDevPlugin.cjs +33 -37
  50. package/dist/cjs/vite/plugins/workerdDevPlugin.native.cjs +33 -37
  51. package/dist/cjs/vite/plugins/workerdDevPlugin.native.js +33 -37
  52. package/dist/cjs/vite/plugins/workerdDevPlugin.native.js.map +1 -1
  53. package/dist/esm/cli/build.mjs +31 -33
  54. package/dist/esm/cli/build.mjs.map +1 -1
  55. package/dist/esm/cli/build.native.js +31 -33
  56. package/dist/esm/cli/build.native.js.map +1 -1
  57. package/dist/esm/cli/buildPage.mjs +11 -7
  58. package/dist/esm/cli/buildPage.mjs.map +1 -1
  59. package/dist/esm/cli/buildPage.native.js +11 -7
  60. package/dist/esm/cli/buildPage.native.js.map +1 -1
  61. package/dist/esm/cli/buildPageWorker.mjs +1 -1
  62. package/dist/esm/cli/buildPageWorker.mjs.map +1 -1
  63. package/dist/esm/cli/buildPageWorker.native.js +1 -1
  64. package/dist/esm/cli/buildPageWorker.native.js.map +1 -1
  65. package/dist/esm/headless-server.mjs +2 -3
  66. package/dist/esm/headless-server.mjs.map +1 -1
  67. package/dist/esm/headless-server.native.js +2 -3
  68. package/dist/esm/headless-server.native.js.map +1 -1
  69. package/dist/esm/platform/audio/index.mjs +83 -76
  70. package/dist/esm/platform/audio/index.mjs.map +1 -1
  71. package/dist/esm/platform/audio/index.native.js +2 -2
  72. package/dist/esm/platform/audio/index.native.js.map +1 -1
  73. package/dist/esm/platform/audio/nowPlaying.mjs +102 -0
  74. package/dist/esm/platform/audio/nowPlaying.mjs.map +1 -0
  75. package/dist/esm/platform/audio/nowPlaying.native.js +134 -0
  76. package/dist/esm/platform/audio/nowPlaying.native.js.map +1 -0
  77. package/dist/esm/platform/audio/player.mjs +15 -0
  78. package/dist/esm/platform/audio/player.mjs.map +1 -1
  79. package/dist/esm/platform/audio/player.native.js +14 -0
  80. package/dist/esm/platform/audio/player.native.js.map +1 -1
  81. package/dist/esm/platform/audio/unavailable.mjs +1 -1
  82. package/dist/esm/platform/audio/unavailable.mjs.map +1 -1
  83. package/dist/esm/platform/audio/unavailable.native.js +1 -1
  84. package/dist/esm/platform/audio/unavailable.native.js.map +1 -1
  85. package/dist/esm/platform/location/index.native.js +9 -2
  86. package/dist/esm/platform/location/index.native.js.map +1 -1
  87. package/dist/esm/serve-worker.mjs +1 -2
  88. package/dist/esm/serve-worker.mjs.map +1 -1
  89. package/dist/esm/serve-worker.native.js +1 -2
  90. package/dist/esm/serve-worker.native.js.map +1 -1
  91. package/dist/esm/server/oneServe.mjs +0 -6
  92. package/dist/esm/server/oneServe.mjs.map +1 -1
  93. package/dist/esm/server/oneServe.native.js +0 -6
  94. package/dist/esm/server/oneServe.native.js.map +1 -1
  95. package/dist/esm/server/workerHandler.mjs +12 -10
  96. package/dist/esm/server/workerHandler.mjs.map +1 -1
  97. package/dist/esm/server/workerHandler.native.js +14 -10
  98. package/dist/esm/server/workerHandler.native.js.map +1 -1
  99. package/dist/esm/vite/plugins/workerdDevPlugin.mjs +33 -37
  100. package/dist/esm/vite/plugins/workerdDevPlugin.mjs.map +1 -1
  101. package/dist/esm/vite/plugins/workerdDevPlugin.native.js +33 -37
  102. package/dist/esm/vite/plugins/workerdDevPlugin.native.js.map +1 -1
  103. package/ios/Nitro/HybridOneAudio.swift +309 -96
  104. package/nitrogen/generated/android/c++/JAudioPlayOptions.hpp +61 -0
  105. package/nitrogen/generated/android/c++/JAudioRemoteCommandEvent.hpp +8 -3
  106. package/nitrogen/generated/android/c++/JFunc_void_AudioRemoteCommandEvent.hpp +1 -0
  107. package/nitrogen/generated/android/c++/JHybridOneAudioSpec.cpp +37 -3
  108. package/nitrogen/generated/android/c++/JHybridOneAudioSpec.hpp +3 -1
  109. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/AudioPlayOptions.kt +56 -0
  110. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/AudioRemoteCommandEvent.kt +9 -4
  111. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/HybridOneAudioSpec.kt +40 -32
  112. package/nitrogen/generated/ios/One-Swift-Cxx-Umbrella.hpp +3 -0
  113. package/nitrogen/generated/ios/c++/HybridOneAudioSpecSwift.hpp +21 -2
  114. package/nitrogen/generated/ios/swift/AudioPlayOptions.swift +60 -0
  115. package/nitrogen/generated/ios/swift/AudioRemoteCommandEvent.swift +19 -1
  116. package/nitrogen/generated/ios/swift/HybridOneAudioSpec.swift +3 -1
  117. package/nitrogen/generated/ios/swift/HybridOneAudioSpec_cxx.swift +70 -32
  118. package/nitrogen/generated/shared/c++/AudioPlayOptions.hpp +87 -0
  119. package/nitrogen/generated/shared/c++/AudioRemoteCommandEvent.hpp +7 -2
  120. package/nitrogen/generated/shared/c++/HybridOneAudioSpec.cpp +2 -0
  121. package/nitrogen/generated/shared/c++/HybridOneAudioSpec.hpp +6 -1
  122. package/package.json +16 -16
  123. package/src/cli/build.ts +35 -32
  124. package/src/cli/buildPage.test.ts +152 -0
  125. package/src/cli/buildPage.ts +14 -9
  126. package/src/cli/buildPageWorker.ts +2 -1
  127. package/src/cli/workerPool.ts +1 -0
  128. package/src/headless-server.ts +2 -2
  129. package/src/index.ts +1 -0
  130. package/src/platform/audio/index.native.ts +4 -2
  131. package/src/platform/audio/index.ts +102 -74
  132. package/src/platform/audio/nowPlaying.ts +122 -0
  133. package/src/platform/audio/player.native.ts +17 -1
  134. package/src/platform/audio/player.ts +23 -1
  135. package/src/platform/audio/types.ts +6 -1
  136. package/src/platform/audio/unavailable.ts +3 -1
  137. package/src/platform/index.native.ts +1 -0
  138. package/src/platform/index.ts +1 -0
  139. package/src/platform/location/index.native.ts +14 -3
  140. package/src/platform/specs/OneAudio.nitro.ts +11 -1
  141. package/src/serve-worker.ts +2 -3
  142. package/src/server/oneServe.ts +0 -6
  143. package/src/server/workerHandler.ts +34 -18
  144. package/src/vite/plugins/workerdDevPlugin.ts +33 -37
  145. package/src/vite/resolveResponse.ts +2 -2
  146. package/types/cli/build.d.ts.map +1 -1
  147. package/types/cli/buildPage.d.ts +1 -1
  148. package/types/cli/buildPage.d.ts.map +1 -1
  149. package/types/cli/workerPool.d.ts +1 -0
  150. package/types/cli/workerPool.d.ts.map +1 -1
  151. package/types/headless-server.d.ts +3 -3
  152. package/types/headless-server.d.ts.map +1 -1
  153. package/types/index.d.ts +1 -1
  154. package/types/index.d.ts.map +1 -1
  155. package/types/platform/audio/index.d.ts +2 -2
  156. package/types/platform/audio/index.d.ts.map +1 -1
  157. package/types/platform/audio/index.native.d.ts +3 -3
  158. package/types/platform/audio/index.native.d.ts.map +1 -1
  159. package/types/platform/audio/nowPlaying.d.ts +12 -0
  160. package/types/platform/audio/nowPlaying.d.ts.map +1 -0
  161. package/types/platform/audio/player.d.ts +3 -1
  162. package/types/platform/audio/player.d.ts.map +1 -1
  163. package/types/platform/audio/player.native.d.ts +3 -1
  164. package/types/platform/audio/player.native.d.ts.map +1 -1
  165. package/types/platform/audio/types.d.ts +3 -1
  166. package/types/platform/audio/types.d.ts.map +1 -1
  167. package/types/platform/audio/unavailable.d.ts +3 -3
  168. package/types/platform/audio/unavailable.d.ts.map +1 -1
  169. package/types/platform/index.d.ts +1 -1
  170. package/types/platform/index.d.ts.map +1 -1
  171. package/types/platform/index.native.d.ts +1 -1
  172. package/types/platform/index.native.d.ts.map +1 -1
  173. package/types/platform/location/index.native.d.ts.map +1 -1
  174. package/types/platform/specs/OneAudio.nitro.d.ts +8 -1
  175. package/types/platform/specs/OneAudio.nitro.d.ts.map +1 -1
  176. package/types/serve-worker.d.ts +3 -3
  177. package/types/serve-worker.d.ts.map +1 -1
  178. package/types/server/oneServe.d.ts.map +1 -1
  179. package/types/server/workerHandler.d.ts +1 -1
  180. package/types/server/workerHandler.d.ts.map +1 -1
  181. package/types/vite/plugins/workerdDevPlugin.d.ts.map +1 -1
  182. package/types/vite/resolveResponse.d.ts +1 -1
  183. package/types/vite/resolveResponse.d.ts.map +1 -1
  184. package/dist/cjs/server/staticHtmlFetcher.cjs +0 -33
  185. package/dist/cjs/server/staticHtmlFetcher.native.cjs +0 -35
  186. package/dist/cjs/server/staticHtmlFetcher.native.js +0 -37
  187. package/dist/cjs/server/staticHtmlFetcher.native.js.map +0 -1
  188. package/dist/esm/server/staticHtmlFetcher.mjs +0 -10
  189. package/dist/esm/server/staticHtmlFetcher.mjs.map +0 -1
  190. package/dist/esm/server/staticHtmlFetcher.native.js +0 -10
  191. package/dist/esm/server/staticHtmlFetcher.native.js.map +0 -1
  192. package/src/server/staticHtmlFetcher.ts +0 -12
  193. package/types/server/staticHtmlFetcher.d.ts +0 -3
  194. package/types/server/staticHtmlFetcher.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"oneServe.js","names":[],"sources":["esm/server/oneServe.js"],"sourcesContent":["import { readFile } from \"node:fs/promises\";\nimport { join, posix } from \"node:path\";\nimport {\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 runMiddlewares\n} from \"../createHandleRequest\";\nimport { getPathFromLoaderPath } from \"../utils/cleanUrl\";\nimport { getRouterRootFromOneOptions } from \"../utils/getRouterRootFromOneOptions\";\nimport { toAbsoluteUrl } from \"../utils/toAbsolute\";\nimport { toServerOutputPath } from \"../utils/toServerOutputPath\";\nimport {\n getLoaderSearchSchemas,\n withLoaderSearchParams\n} from \"../loaderSearchParams\";\nimport { getRouteExportsFromEntry } from \"./routeExportsFromEntry\";\nimport { setSSRLoaderData } from \"./ssrLoaderData\";\nimport { getFetchStaticHtml } from \"./staticHtmlFetcher\";\nconst debugRouter = process.env.ONE_DEBUG_ROUTER;\nconst 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 const 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 const setCookies = response.headers.getSetCookie?.();\n if (setCookies?.length) {\n for (const cookie of setCookies) {\n context.header(\"set-cookie\", cookie, { append: true });\n }\n }\n response.headers.forEach((value, key) => {\n if (key === \"set-cookie\") return;\n context.header(key, value);\n });\n}\nasync function readStaticHtml(htmlPath, outDir = \"dist\") {\n const fetchStaticHtml = getFetchStaticHtml();\n if (fetchStaticHtml) {\n const html = await fetchStaticHtml(htmlPath);\n if (html) return html;\n }\n try {\n return await readFile(join(`${outDir}/client`, htmlPath), \"utf-8\");\n } catch {\n return null;\n }\n}\nasync function oneServe(oneOptions, buildInfo, app, options) {\n const outDir = buildInfo.outDir || \"dist\";\n const { resolveAPIRoute, resolveLoaderRoute, resolvePageRoute } = await import(\"../createHandleRequest\");\n const { isResponse } = await import(\"../utils/isResponse\");\n const { isStatusRedirect } = await import(\"../utils/isStatus\");\n const { resolveResponse } = await import(\"../vite/resolveResponse\");\n const isAPIRequest = /* @__PURE__ */ new WeakMap();\n const redirects = oneOptions.web?.redirects;\n if (redirects) {\n for (const redirect of redirects) {\n app.get(redirect.source, (context) => {\n const destinationUrl = redirect.destination.replace(/:\\w+/g, (param) => {\n const 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 }\n if (!buildInfo) {\n throw new Error(`No build info found, have you run build?`);\n }\n const { routeToBuildInfo, routeMap } = buildInfo;\n function findNearestNotFoundPath(urlPath) {\n let cur = urlPath;\n while (cur) {\n const 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 const 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 const serverOptions = {\n ...oneOptions,\n root: \".\"\n };\n const apiCJS = oneOptions.build?.api?.outputFormat === \"cjs\";\n const routerRoot = getRouterRootFromOneOptions(oneOptions);\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 async function importRouteModule(lazyKey, serverPath) {\n if (lazyKey && options?.lazyRoutes?.pages?.[lazyKey]) {\n return await options.lazyRoutes.pages[lazyKey]();\n }\n if (lazyKey) {\n const entry = await loadServerEntry();\n const 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 const cacheKey = lazyKey || serverPath || \"\";\n const cached = loaderCache.get(cacheKey);\n if (cached !== void 0) return cached;\n return (async () => {\n let 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 const loader = routeExported?.loader || null;\n setBounded(loaderCache, cacheKey, loader, MODULE_CACHE_MAX);\n const loaderCacheFn = routeExported?.loaderCache ?? null;\n setBounded(loaderCacheFnMap, cacheKey, loaderCacheFn, MODULE_CACHE_MAX);\n setBounded(\n loaderSearchSchemaMap,\n cacheKey,\n getLoaderSearchSchemas(routeExported),\n MODULE_CACHE_MAX\n );\n return loader;\n })();\n }\n async function importAndRunLoader(routeId, serverPath, lazyKey, requestLoaderProps, withSearchParams = false) {\n if (!serverPath && !lazyKey) {\n return { loaderData: void 0, routeId };\n }\n const cacheMapKey = lazyKey || serverPath || \"\";\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(serverPath, lazyKey);\n const loader = loaderOrPromise instanceof Promise ? await loaderOrPromise : loaderOrPromise;\n if (!loader) {\n return { loaderData: void 0, routeId };\n }\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 },\n () => {\n pendingLoaderResults.delete(coalFullKey);\n }\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)) {\n throw err;\n }\n if (err?.code === \"ENOENT\") {\n return { loaderData: void 0, routeId, isEnoent: true };\n }\n console.error(`[one] Error running loader for ${routeId}:`, err);\n return { loaderData: void 0, routeId };\n }\n }\n let render = null;\n let renderStream = null;\n let renderLoading = null;\n let entryLoading = null;\n function loadServerEntry() {\n if (!entryLoading) {\n entryLoading = options?.lazyRoutes?.serverEntry ? options.lazyRoutes.serverEntry() : import(toAbsoluteUrl(\n `${serverOptions.root}/${outDir}/server/_virtual_one-entry.${typeof oneOptions.build?.server === \"object\" && oneOptions.build.server.outputFormat === \"cjs\" ? \"c\" : \"\"}js`\n ));\n }\n return entryLoading;\n }\n function ensureRenderLoaded() {\n if (render) return;\n if (renderLoading) return renderLoading;\n renderLoading = (async () => {\n const entry = await loadServerEntry();\n render = entry.default.render;\n renderStream = entry.default.renderStream;\n })();\n return renderLoading;\n }\n const clientDir = join(process.cwd(), outDir, \"client\");\n const requestHandlers = {\n async handleStaticFile(filePath) {\n try {\n const fullPath = join(clientDir, filePath);\n const content = await readFile(fullPath, \"utf-8\");\n return new Response(content, {\n headers: { \"Content-Type\": \"text/javascript\" }\n });\n } catch {\n return null;\n }\n },\n async handleAPI({ route }) {\n if (options?.lazyRoutes?.api?.[route.page]) {\n return await options.lazyRoutes.api[route.page]();\n }\n const fileName = route.page.slice(1).replace(/\\[/g, \"_\").replace(/\\]/g, \"_\");\n const apiFile = posix.join(outDir, \"api\", fileName + (apiCJS ? \".cjs\" : \".js\"));\n return await import(toAbsoluteUrl(apiFile));\n },\n async loadMiddleware(route) {\n if (options?.lazyRoutes?.middlewares?.[route.contextKey]) {\n return await options.lazyRoutes.middlewares[route.contextKey]();\n }\n return await import(toAbsoluteUrl(route.contextKey));\n },\n async handleLoader({ route, loaderProps }) {\n const routeFile = route.routeFile || route.file;\n const serverPath = toServerOutputPath(route.file, outDir);\n let loader;\n try {\n const loaderResult = resolveLoaderSync(serverPath, routeFile);\n loader = loaderResult instanceof Promise ? await loaderResult : loaderResult;\n } catch (err) {\n if (err?.code === \"ERR_MODULE_NOT_FOUND\") {\n return null;\n }\n throw err;\n }\n if (!loader) {\n return null;\n }\n const searchSchemas = route.type === \"ssr\" && loaderSearchSchemaMap.get(routeFile || serverPath);\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)) {\n throw json;\n }\n return `export function loader() { return ${JSON.stringify(json)} }`;\n },\n async handlePage({ route, url, loaderProps }) {\n const buildInfo2 = routeToBuildInfo[route.file];\n if (route.type === \"ssr\") {\n if (!buildInfo2) {\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 serverPath = layout.loaderServerPath || layout.contextKey;\n const cacheKey = layout.contextKey || serverPath || \"\";\n const cachedLoader = loaderCache.get(cacheKey);\n if (cachedLoader === null) {\n noLoaderResults.push({ loaderData: void 0, routeId: layout.contextKey });\n } else {\n layoutLoaderPromises.push(\n importAndRunLoader(\n layout.contextKey,\n serverPath,\n layout.contextKey,\n loaderProps,\n true\n )\n );\n }\n }\n const pageLoaderPromise = importAndRunLoader(\n route.file,\n buildInfo2.serverJsPath,\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)) {\n return err;\n }\n throw err;\n }\n if (pageResult.isEnoent) {\n const nfPath = findNearestNotFoundPath(loaderProps?.path || \"/\");\n const nfHtml = routeMap[nfPath];\n if (nfHtml) {\n try {\n const html = await readFile(\n join(process.cwd(), `${outDir}/client`, nfHtml),\n \"utf-8\"\n );\n return new Response(html, {\n headers: { \"content-type\": \"text/html\" },\n status: 404\n });\n } catch {\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) {\n setSSRLoaderData(loaderFn, result.loaderData);\n }\n }\n }\n const pageLoaderFn = loaderCache.get(route.file);\n if (pageLoaderFn) {\n setSSRLoaderData(pageLoaderFn, pageResult.loaderData);\n }\n globalThis[\"__vxrnresetState\"]?.();\n const renderProps = {\n mode: route.type,\n loaderData,\n loaderProps,\n path: loaderProps?.path || \"/\",\n preloads: buildInfo2.criticalPreloads || buildInfo2.preloads,\n deferredPreloads: buildInfo2.deferredPreloads,\n css: buildInfo2.css,\n cssContents: buildInfo2.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, {\n headers: responseHeaders,\n status\n });\n }\n const rendered = await render(renderProps);\n return new Response(rendered, {\n headers: responseHeaders,\n status\n });\n } catch (err) {\n if (isResponse(err)) {\n return err;\n }\n console.error(`[one] Error rendering SSR route ${route.file}\n\n${err?.[\"stack\"] ?? err}\n\nurl: ${url}`);\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((layout) => {\n const serverPath = layout.loaderServerPath || layout.contextKey;\n return importAndRunLoader(\n layout.contextKey,\n serverPath,\n layout.contextKey,\n loaderProps\n );\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 _rl3 = ensureRenderLoaded();\n if (_rl3) await _rl3;\n const rendered = 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?.path || \"/\",\n preloads: buildInfo2?.criticalPreloads || buildInfo2?.preloads,\n deferredPreloads: buildInfo2?.deferredPreloads,\n css: buildInfo2?.css,\n cssContents: buildInfo2?.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)) {\n return err;\n }\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[buildInfo2?.cleanPath];\n if (htmlPath) {\n const html = await readStaticHtml(htmlPath, outDir);\n if (html) {\n const headers = new Headers();\n headers.set(\"content-type\", \"text/html\");\n return new Response(html, {\n headers,\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, outDir);\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 const headers = new Headers();\n headers.set(\"content-type\", \"text/html\");\n return new Response(injectedHtml, {\n headers,\n status: 404\n });\n }\n }\n return new Response(\"404 Not Found\", { status: 404 });\n }\n }\n }\n };\n function createHonoHandler(route) {\n const isDynamicOrNotFound = route.page.endsWith(\"/+not-found\") || Object.keys(route.routeKeys).length > 0;\n return async (context, next) => {\n try {\n const request = context.req.raw;\n if (isDynamicOrNotFound) {\n if (options?.serveStaticAssets) {\n const staticAssetResponse = await options.serveStaticAssets({\n context\n });\n if (staticAssetResponse) {\n return await runMiddlewares(\n requestHandlers,\n request,\n route,\n async () => staticAssetResponse\n );\n }\n }\n }\n const reqPath = context.req.path;\n if (reqPath.endsWith(\".js\") || reqPath.endsWith(\".css\")) {\n return next();\n }\n if (route.type === \"ssr\" && !route.middlewares?.length && !reqPath.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {\n if (debugRouter) {\n console.info(`[one] \\u26A1 ${reqPath} \\u2192 matched page route: ${route.page} (ssr)`);\n }\n const pathname = reqPath;\n const rawUrl = request.url;\n const qIdx = rawUrl.indexOf(\"?\");\n const search = qIdx >= 0 ? rawUrl.slice(qIdx) : \"\";\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 const namedKey = route.routeKeys[key];\n params[namedKey] = value;\n }\n }\n const loaderProps = {\n path: pathname,\n search,\n subdomain: getSubdomain(getURLfromRequestURL(request)),\n request,\n params\n };\n const url2 = getURLfromRequestURL(request);\n const response2 = await resolveResponse(async () => {\n try {\n return await requestHandlers.handlePage({\n request,\n route,\n url: url2,\n loaderProps\n });\n } catch (err) {\n if (isResponse(err)) {\n return err;\n }\n throw err;\n }\n });\n if (response2) {\n if (isResponse(response2)) {\n if (isStatusRedirect(response2.status)) {\n const location = `${response2.headers.get(\"location\") || \"\"}`;\n forwardHeaders(response2, context);\n return context.redirect(location, response2.status);\n }\n return response2;\n }\n return next();\n }\n return next();\n }\n const url = getURLfromRequestURL(request);\n const response = await (() => {\n if (url.pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {\n const originalUrl = getPathFromLoaderPath(url.pathname);\n if (route.type === \"ssg\" && Object.keys(route.routeKeys).length > 0) {\n if (!routeMap[originalUrl]) {\n return new Response(\n make404LoaderJs(originalUrl, \"ssg route not in routeMap\"),\n {\n headers: { \"Content-Type\": \"text/javascript\" }\n }\n );\n }\n }\n const finalUrl = new URL(originalUrl, url.origin);\n finalUrl.search = url.search;\n const cleanedRequest = new Request(finalUrl, request);\n return resolveLoaderRoute(requestHandlers, cleanedRequest, finalUrl, route);\n }\n switch (route.type) {\n case \"api\": {\n if (debugRouter) {\n console.info(\n `[one] \\u26A1 ${url.pathname} \\u2192 matched API route: ${route.page}`\n );\n }\n return resolveAPIRoute(requestHandlers, request, url, route);\n }\n case \"ssg\":\n case \"spa\":\n case \"ssr\": {\n if (debugRouter) {\n console.info(\n `[one] \\u26A1 ${url.pathname} \\u2192 matched page route: ${route.page} (${route.type})`\n );\n }\n return resolvePageRoute(requestHandlers, request, url, route);\n }\n }\n })();\n if (response) {\n if (isResponse(response)) {\n if (isStatusRedirect(response.status)) {\n const location = `${response.headers.get(\"location\") || \"\"}`;\n forwardHeaders(response, context);\n return context.redirect(location, response.status);\n }\n if (isAPIRequest.get(request)) {\n try {\n if (!response.headers.has(\"cache-control\") && !response.headers.has(\"Cache-Control\")) {\n response.headers.set(\"cache-control\", \"no-store\");\n }\n return response;\n } catch (err) {\n console.info(\n `Error updating cache header on api route \"${context.req.path}\" to no-store, it is ${response.headers.get(\"cache-control\")}, continue`,\n err\n );\n }\n }\n if (!response.headers.has(\"cache-control\") && !response.headers.has(\"Cache-Control\")) {\n 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 }\n return response;\n }\n return next();\n }\n } catch (err) {\n console.error(` [one] Error handling request: ${err[\"stack\"]}`);\n }\n return next();\n };\n }\n const compiledManifest = compileManifest(buildInfo.manifest);\n for (const route of compiledManifest.apiRoutes) {\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 for (const route of compiledManifest.pageRoutes) {\n app.get(route.urlPath, createHonoHandler(route));\n if (route.urlPath !== route.urlCleanPath) {\n app.get(route.urlCleanPath, createHonoHandler(route));\n }\n }\n const { preloads, cssPreloads } = buildInfo;\n app.get(\"*\", async (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?.[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 const request = c.req.raw;\n const url = getURLfromRequestURL(request);\n const originalUrl = getPathFromLoaderPath(c.req.path);\n for (const route of compiledManifest.pageRoutes) {\n if (route.file === \"\") {\n continue;\n }\n if (!route.compiledRegex.test(originalUrl)) {\n continue;\n }\n if (route.type === \"ssg\" && Object.keys(route.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 const loaderRoute = {\n ...route,\n routeFile: route.file,\n // preserve original for lazy route lookup\n file: route.loaderServerPath || c.req.path\n };\n const finalUrl = new URL(originalUrl, url.origin);\n finalUrl.search = url.search;\n const cleanedRequest = new Request(finalUrl, request);\n try {\n const resolved = await resolveLoaderRoute(\n requestHandlers,\n cleanedRequest,\n finalUrl,\n loaderRoute\n );\n return resolved;\n } catch (err) {\n if (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 }\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.js","names":[],"sources":["esm/server/oneServe.js"],"sourcesContent":["import { readFile } from \"node:fs/promises\";\nimport { join, posix } from \"node:path\";\nimport {\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 runMiddlewares\n} from \"../createHandleRequest\";\nimport { getPathFromLoaderPath } from \"../utils/cleanUrl\";\nimport { getRouterRootFromOneOptions } from \"../utils/getRouterRootFromOneOptions\";\nimport { toAbsoluteUrl } from \"../utils/toAbsolute\";\nimport { toServerOutputPath } from \"../utils/toServerOutputPath\";\nimport {\n getLoaderSearchSchemas,\n withLoaderSearchParams\n} from \"../loaderSearchParams\";\nimport { getRouteExportsFromEntry } from \"./routeExportsFromEntry\";\nimport { setSSRLoaderData } from \"./ssrLoaderData\";\nconst debugRouter = process.env.ONE_DEBUG_ROUTER;\nconst 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 const 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 const setCookies = response.headers.getSetCookie?.();\n if (setCookies?.length) {\n for (const cookie of setCookies) {\n context.header(\"set-cookie\", cookie, { append: true });\n }\n }\n response.headers.forEach((value, key) => {\n if (key === \"set-cookie\") return;\n context.header(key, value);\n });\n}\nasync function readStaticHtml(htmlPath, outDir = \"dist\") {\n try {\n return await readFile(join(`${outDir}/client`, htmlPath), \"utf-8\");\n } catch {\n return null;\n }\n}\nasync function oneServe(oneOptions, buildInfo, app, options) {\n const outDir = buildInfo.outDir || \"dist\";\n const { resolveAPIRoute, resolveLoaderRoute, resolvePageRoute } = await import(\"../createHandleRequest\");\n const { isResponse } = await import(\"../utils/isResponse\");\n const { isStatusRedirect } = await import(\"../utils/isStatus\");\n const { resolveResponse } = await import(\"../vite/resolveResponse\");\n const isAPIRequest = /* @__PURE__ */ new WeakMap();\n const redirects = oneOptions.web?.redirects;\n if (redirects) {\n for (const redirect of redirects) {\n app.get(redirect.source, (context) => {\n const destinationUrl = redirect.destination.replace(/:\\w+/g, (param) => {\n const 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 }\n if (!buildInfo) {\n throw new Error(`No build info found, have you run build?`);\n }\n const { routeToBuildInfo, routeMap } = buildInfo;\n function findNearestNotFoundPath(urlPath) {\n let cur = urlPath;\n while (cur) {\n const 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 const 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 const serverOptions = {\n ...oneOptions,\n root: \".\"\n };\n const apiCJS = oneOptions.build?.api?.outputFormat === \"cjs\";\n const routerRoot = getRouterRootFromOneOptions(oneOptions);\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 async function importRouteModule(lazyKey, serverPath) {\n if (lazyKey && options?.lazyRoutes?.pages?.[lazyKey]) {\n return await options.lazyRoutes.pages[lazyKey]();\n }\n if (lazyKey) {\n const entry = await loadServerEntry();\n const 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 const cacheKey = lazyKey || serverPath || \"\";\n const cached = loaderCache.get(cacheKey);\n if (cached !== void 0) return cached;\n return (async () => {\n let 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 const loader = routeExported?.loader || null;\n setBounded(loaderCache, cacheKey, loader, MODULE_CACHE_MAX);\n const loaderCacheFn = routeExported?.loaderCache ?? null;\n setBounded(loaderCacheFnMap, cacheKey, loaderCacheFn, MODULE_CACHE_MAX);\n setBounded(\n loaderSearchSchemaMap,\n cacheKey,\n getLoaderSearchSchemas(routeExported),\n MODULE_CACHE_MAX\n );\n return loader;\n })();\n }\n async function importAndRunLoader(routeId, serverPath, lazyKey, requestLoaderProps, withSearchParams = false) {\n if (!serverPath && !lazyKey) {\n return { loaderData: void 0, routeId };\n }\n const cacheMapKey = lazyKey || serverPath || \"\";\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(serverPath, lazyKey);\n const loader = loaderOrPromise instanceof Promise ? await loaderOrPromise : loaderOrPromise;\n if (!loader) {\n return { loaderData: void 0, routeId };\n }\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 },\n () => {\n pendingLoaderResults.delete(coalFullKey);\n }\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)) {\n throw err;\n }\n if (err?.code === \"ENOENT\") {\n return { loaderData: void 0, routeId, isEnoent: true };\n }\n console.error(`[one] Error running loader for ${routeId}:`, err);\n return { loaderData: void 0, routeId };\n }\n }\n let render = null;\n let renderStream = null;\n let renderLoading = null;\n let entryLoading = null;\n function loadServerEntry() {\n if (!entryLoading) {\n entryLoading = options?.lazyRoutes?.serverEntry ? options.lazyRoutes.serverEntry() : import(toAbsoluteUrl(\n `${serverOptions.root}/${outDir}/server/_virtual_one-entry.${typeof oneOptions.build?.server === \"object\" && oneOptions.build.server.outputFormat === \"cjs\" ? \"c\" : \"\"}js`\n ));\n }\n return entryLoading;\n }\n function ensureRenderLoaded() {\n if (render) return;\n if (renderLoading) return renderLoading;\n renderLoading = (async () => {\n const entry = await loadServerEntry();\n render = entry.default.render;\n renderStream = entry.default.renderStream;\n })();\n return renderLoading;\n }\n const clientDir = join(process.cwd(), outDir, \"client\");\n const requestHandlers = {\n async handleStaticFile(filePath) {\n try {\n const fullPath = join(clientDir, filePath);\n const content = await readFile(fullPath, \"utf-8\");\n return new Response(content, {\n headers: { \"Content-Type\": \"text/javascript\" }\n });\n } catch {\n return null;\n }\n },\n async handleAPI({ route }) {\n if (options?.lazyRoutes?.api?.[route.page]) {\n return await options.lazyRoutes.api[route.page]();\n }\n const fileName = route.page.slice(1).replace(/\\[/g, \"_\").replace(/\\]/g, \"_\");\n const apiFile = posix.join(outDir, \"api\", fileName + (apiCJS ? \".cjs\" : \".js\"));\n return await import(toAbsoluteUrl(apiFile));\n },\n async loadMiddleware(route) {\n if (options?.lazyRoutes?.middlewares?.[route.contextKey]) {\n return await options.lazyRoutes.middlewares[route.contextKey]();\n }\n return await import(toAbsoluteUrl(route.contextKey));\n },\n async handleLoader({ route, loaderProps }) {\n const routeFile = route.routeFile || route.file;\n const serverPath = toServerOutputPath(route.file, outDir);\n let loader;\n try {\n const loaderResult = resolveLoaderSync(serverPath, routeFile);\n loader = loaderResult instanceof Promise ? await loaderResult : loaderResult;\n } catch (err) {\n if (err?.code === \"ERR_MODULE_NOT_FOUND\") {\n return null;\n }\n throw err;\n }\n if (!loader) {\n return null;\n }\n const searchSchemas = route.type === \"ssr\" && loaderSearchSchemaMap.get(routeFile || serverPath);\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)) {\n throw json;\n }\n return `export function loader() { return ${JSON.stringify(json)} }`;\n },\n async handlePage({ route, url, loaderProps }) {\n const buildInfo2 = routeToBuildInfo[route.file];\n if (route.type === \"ssr\") {\n if (!buildInfo2) {\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 serverPath = layout.loaderServerPath || layout.contextKey;\n const cacheKey = layout.contextKey || serverPath || \"\";\n const cachedLoader = loaderCache.get(cacheKey);\n if (cachedLoader === null) {\n noLoaderResults.push({ loaderData: void 0, routeId: layout.contextKey });\n } else {\n layoutLoaderPromises.push(\n importAndRunLoader(\n layout.contextKey,\n serverPath,\n layout.contextKey,\n loaderProps,\n true\n )\n );\n }\n }\n const pageLoaderPromise = importAndRunLoader(\n route.file,\n buildInfo2.serverJsPath,\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)) {\n return err;\n }\n throw err;\n }\n if (pageResult.isEnoent) {\n const nfPath = findNearestNotFoundPath(loaderProps?.path || \"/\");\n const nfHtml = routeMap[nfPath];\n if (nfHtml) {\n try {\n const html = await readFile(\n join(process.cwd(), `${outDir}/client`, nfHtml),\n \"utf-8\"\n );\n return new Response(html, {\n headers: { \"content-type\": \"text/html\" },\n status: 404\n });\n } catch {\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) {\n setSSRLoaderData(loaderFn, result.loaderData);\n }\n }\n }\n const pageLoaderFn = loaderCache.get(route.file);\n if (pageLoaderFn) {\n setSSRLoaderData(pageLoaderFn, pageResult.loaderData);\n }\n globalThis[\"__vxrnresetState\"]?.();\n const renderProps = {\n mode: route.type,\n loaderData,\n loaderProps,\n path: loaderProps?.path || \"/\",\n preloads: buildInfo2.criticalPreloads || buildInfo2.preloads,\n deferredPreloads: buildInfo2.deferredPreloads,\n css: buildInfo2.css,\n cssContents: buildInfo2.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, {\n headers: responseHeaders,\n status\n });\n }\n const rendered = await render(renderProps);\n return new Response(rendered, {\n headers: responseHeaders,\n status\n });\n } catch (err) {\n if (isResponse(err)) {\n return err;\n }\n console.error(`[one] Error rendering SSR route ${route.file}\n\n${err?.[\"stack\"] ?? err}\n\nurl: ${url}`);\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((layout) => {\n const serverPath = layout.loaderServerPath || layout.contextKey;\n return importAndRunLoader(\n layout.contextKey,\n serverPath,\n layout.contextKey,\n loaderProps\n );\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 _rl3 = ensureRenderLoaded();\n if (_rl3) await _rl3;\n const rendered = 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?.path || \"/\",\n preloads: buildInfo2?.criticalPreloads || buildInfo2?.preloads,\n deferredPreloads: buildInfo2?.deferredPreloads,\n css: buildInfo2?.css,\n cssContents: buildInfo2?.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)) {\n return err;\n }\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[buildInfo2?.cleanPath];\n if (htmlPath) {\n const html = await readStaticHtml(htmlPath, outDir);\n if (html) {\n const headers = new Headers();\n headers.set(\"content-type\", \"text/html\");\n return new Response(html, {\n headers,\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, outDir);\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 const headers = new Headers();\n headers.set(\"content-type\", \"text/html\");\n return new Response(injectedHtml, {\n headers,\n status: 404\n });\n }\n }\n return new Response(\"404 Not Found\", { status: 404 });\n }\n }\n }\n };\n function createHonoHandler(route) {\n const isDynamicOrNotFound = route.page.endsWith(\"/+not-found\") || Object.keys(route.routeKeys).length > 0;\n return async (context, next) => {\n try {\n const request = context.req.raw;\n if (isDynamicOrNotFound) {\n if (options?.serveStaticAssets) {\n const staticAssetResponse = await options.serveStaticAssets({\n context\n });\n if (staticAssetResponse) {\n return await runMiddlewares(\n requestHandlers,\n request,\n route,\n async () => staticAssetResponse\n );\n }\n }\n }\n const reqPath = context.req.path;\n if (reqPath.endsWith(\".js\") || reqPath.endsWith(\".css\")) {\n return next();\n }\n if (route.type === \"ssr\" && !route.middlewares?.length && !reqPath.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {\n if (debugRouter) {\n console.info(`[one] \\u26A1 ${reqPath} \\u2192 matched page route: ${route.page} (ssr)`);\n }\n const pathname = reqPath;\n const rawUrl = request.url;\n const qIdx = rawUrl.indexOf(\"?\");\n const search = qIdx >= 0 ? rawUrl.slice(qIdx) : \"\";\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 const namedKey = route.routeKeys[key];\n params[namedKey] = value;\n }\n }\n const loaderProps = {\n path: pathname,\n search,\n subdomain: getSubdomain(getURLfromRequestURL(request)),\n request,\n params\n };\n const url2 = getURLfromRequestURL(request);\n const response2 = await resolveResponse(async () => {\n try {\n return await requestHandlers.handlePage({\n request,\n route,\n url: url2,\n loaderProps\n });\n } catch (err) {\n if (isResponse(err)) {\n return err;\n }\n throw err;\n }\n });\n if (response2) {\n if (isResponse(response2)) {\n if (isStatusRedirect(response2.status)) {\n const location = `${response2.headers.get(\"location\") || \"\"}`;\n forwardHeaders(response2, context);\n return context.redirect(location, response2.status);\n }\n return response2;\n }\n return next();\n }\n return next();\n }\n const url = getURLfromRequestURL(request);\n const response = await (() => {\n if (url.pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {\n const originalUrl = getPathFromLoaderPath(url.pathname);\n if (route.type === \"ssg\" && Object.keys(route.routeKeys).length > 0) {\n if (!routeMap[originalUrl]) {\n return new Response(\n make404LoaderJs(originalUrl, \"ssg route not in routeMap\"),\n {\n headers: { \"Content-Type\": \"text/javascript\" }\n }\n );\n }\n }\n const finalUrl = new URL(originalUrl, url.origin);\n finalUrl.search = url.search;\n const cleanedRequest = new Request(finalUrl, request);\n return resolveLoaderRoute(requestHandlers, cleanedRequest, finalUrl, route);\n }\n switch (route.type) {\n case \"api\": {\n if (debugRouter) {\n console.info(\n `[one] \\u26A1 ${url.pathname} \\u2192 matched API route: ${route.page}`\n );\n }\n return resolveAPIRoute(requestHandlers, request, url, route);\n }\n case \"ssg\":\n case \"spa\":\n case \"ssr\": {\n if (debugRouter) {\n console.info(\n `[one] \\u26A1 ${url.pathname} \\u2192 matched page route: ${route.page} (${route.type})`\n );\n }\n return resolvePageRoute(requestHandlers, request, url, route);\n }\n }\n })();\n if (response) {\n if (isResponse(response)) {\n if (isStatusRedirect(response.status)) {\n const location = `${response.headers.get(\"location\") || \"\"}`;\n forwardHeaders(response, context);\n return context.redirect(location, response.status);\n }\n if (isAPIRequest.get(request)) {\n try {\n if (!response.headers.has(\"cache-control\") && !response.headers.has(\"Cache-Control\")) {\n response.headers.set(\"cache-control\", \"no-store\");\n }\n return response;\n } catch (err) {\n console.info(\n `Error updating cache header on api route \"${context.req.path}\" to no-store, it is ${response.headers.get(\"cache-control\")}, continue`,\n err\n );\n }\n }\n if (!response.headers.has(\"cache-control\") && !response.headers.has(\"Cache-Control\")) {\n 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 }\n return response;\n }\n return next();\n }\n } catch (err) {\n console.error(` [one] Error handling request: ${err[\"stack\"]}`);\n }\n return next();\n };\n }\n const compiledManifest = compileManifest(buildInfo.manifest);\n for (const route of compiledManifest.apiRoutes) {\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 for (const route of compiledManifest.pageRoutes) {\n app.get(route.urlPath, createHonoHandler(route));\n if (route.urlPath !== route.urlCleanPath) {\n app.get(route.urlCleanPath, createHonoHandler(route));\n }\n }\n const { preloads, cssPreloads } = buildInfo;\n app.get(\"*\", async (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?.[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 const request = c.req.raw;\n const url = getURLfromRequestURL(request);\n const originalUrl = getPathFromLoaderPath(c.req.path);\n for (const route of compiledManifest.pageRoutes) {\n if (route.file === \"\") {\n continue;\n }\n if (!route.compiledRegex.test(originalUrl)) {\n continue;\n }\n if (route.type === \"ssg\" && Object.keys(route.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 const loaderRoute = {\n ...route,\n routeFile: route.file,\n // preserve original for lazy route lookup\n file: route.loaderServerPath || c.req.path\n };\n const finalUrl = new URL(originalUrl, url.origin);\n finalUrl.search = url.search;\n const cleanedRequest = new Request(finalUrl, request);\n try {\n const resolved = await resolveLoaderRoute(\n requestHandlers,\n cleanedRequest,\n finalUrl,\n loaderRoute\n );\n return resolved;\n } catch (err) {\n if (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 }\n return next();\n });\n}\nexport {\n oneServe\n};\n//# sourceMappingURL=oneServe.js.map\n"],"mappings":"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"}
@@ -9,7 +9,6 @@ import { toServerOutputPath } from "../utils/toServerOutputPath.native.js";
9
9
  import { getLoaderSearchSchemas, withLoaderSearchParams } from "../loaderSearchParams.native.js";
10
10
  import { getRouteExportsFromEntry } from "./routeExportsFromEntry.native.js";
11
11
  import { setSSRLoaderData } from "./ssrLoaderData.native.js";
12
- import { getFetchStaticHtml } from "./staticHtmlFetcher.native.js";
13
12
 
14
13
  var debugRouter = process.env.ONE_DEBUG_ROUTER;
15
14
  var MODULE_CACHE_MAX = 500;
@@ -56,11 +55,6 @@ function forwardHeaders(response, context) {
56
55
  }
57
56
  async function readStaticHtml(htmlPath) {
58
57
  var outDir = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "dist";
59
- var fetchStaticHtml = getFetchStaticHtml();
60
- if (fetchStaticHtml) {
61
- var html = await fetchStaticHtml(htmlPath);
62
- if (html) return html;
63
- }
64
58
  try {
65
59
  return await readFile(join(`${outDir}/client`, htmlPath), "utf-8");
66
60
  } catch (unused) {
@@ -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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"}