one 2.11.5 → 2.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) 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/cli-dev-memory.cjs +43 -0
  15. package/dist/cjs/cli-dev-memory.native.cjs +84 -0
  16. package/dist/cjs/cli-dev-memory.native.js +86 -0
  17. package/dist/cjs/cli-dev-memory.native.js.map +1 -0
  18. package/dist/cjs/headless-server.cjs +2 -5
  19. package/dist/cjs/headless-server.native.cjs +2 -5
  20. package/dist/cjs/headless-server.native.js +2 -5
  21. package/dist/cjs/headless-server.native.js.map +1 -1
  22. package/dist/cjs/platform/audio/index.cjs +83 -76
  23. package/dist/cjs/platform/audio/index.native.cjs +2 -2
  24. package/dist/cjs/platform/audio/index.native.js +2 -2
  25. package/dist/cjs/platform/audio/index.native.js.map +1 -1
  26. package/dist/cjs/platform/audio/nowPlaying.cjs +126 -0
  27. package/dist/cjs/platform/audio/nowPlaying.native.cjs +160 -0
  28. package/dist/cjs/platform/audio/nowPlaying.native.js +162 -0
  29. package/dist/cjs/platform/audio/nowPlaying.native.js.map +1 -0
  30. package/dist/cjs/platform/audio/player.cjs +15 -0
  31. package/dist/cjs/platform/audio/player.native.cjs +14 -0
  32. package/dist/cjs/platform/audio/player.native.js +14 -0
  33. package/dist/cjs/platform/audio/player.native.js.map +1 -1
  34. package/dist/cjs/platform/audio/unavailable.cjs +1 -1
  35. package/dist/cjs/platform/audio/unavailable.native.cjs +1 -1
  36. package/dist/cjs/platform/audio/unavailable.native.js +1 -1
  37. package/dist/cjs/platform/audio/unavailable.native.js.map +1 -1
  38. package/dist/cjs/serve-worker.cjs +0 -3
  39. package/dist/cjs/serve-worker.native.cjs +0 -3
  40. package/dist/cjs/serve-worker.native.js +0 -3
  41. package/dist/cjs/serve-worker.native.js.map +1 -1
  42. package/dist/cjs/server/oneServe.cjs +0 -6
  43. package/dist/cjs/server/oneServe.native.cjs +0 -6
  44. package/dist/cjs/server/oneServe.native.js +0 -6
  45. package/dist/cjs/server/oneServe.native.js.map +1 -1
  46. package/dist/cjs/server/workerHandler.cjs +12 -10
  47. package/dist/cjs/server/workerHandler.native.cjs +14 -10
  48. package/dist/cjs/server/workerHandler.native.js +14 -10
  49. package/dist/cjs/server/workerHandler.native.js.map +1 -1
  50. package/dist/cjs/vite/plugins/workerdDevPlugin.cjs +33 -37
  51. package/dist/cjs/vite/plugins/workerdDevPlugin.native.cjs +33 -37
  52. package/dist/cjs/vite/plugins/workerdDevPlugin.native.js +33 -37
  53. package/dist/cjs/vite/plugins/workerdDevPlugin.native.js.map +1 -1
  54. package/dist/esm/cli/build.mjs +31 -33
  55. package/dist/esm/cli/build.mjs.map +1 -1
  56. package/dist/esm/cli/build.native.js +31 -33
  57. package/dist/esm/cli/build.native.js.map +1 -1
  58. package/dist/esm/cli/buildPage.mjs +11 -7
  59. package/dist/esm/cli/buildPage.mjs.map +1 -1
  60. package/dist/esm/cli/buildPage.native.js +11 -7
  61. package/dist/esm/cli/buildPage.native.js.map +1 -1
  62. package/dist/esm/cli/buildPageWorker.mjs +1 -1
  63. package/dist/esm/cli/buildPageWorker.mjs.map +1 -1
  64. package/dist/esm/cli/buildPageWorker.native.js +1 -1
  65. package/dist/esm/cli/buildPageWorker.native.js.map +1 -1
  66. package/dist/esm/cli-dev-memory.mjs +23 -0
  67. package/dist/esm/cli-dev-memory.mjs.map +1 -0
  68. package/dist/esm/cli-dev-memory.native.js +62 -0
  69. package/dist/esm/cli-dev-memory.native.js.map +1 -0
  70. package/dist/esm/headless-server.mjs +2 -3
  71. package/dist/esm/headless-server.mjs.map +1 -1
  72. package/dist/esm/headless-server.native.js +2 -3
  73. package/dist/esm/headless-server.native.js.map +1 -1
  74. package/dist/esm/platform/audio/index.mjs +83 -76
  75. package/dist/esm/platform/audio/index.mjs.map +1 -1
  76. package/dist/esm/platform/audio/index.native.js +2 -2
  77. package/dist/esm/platform/audio/index.native.js.map +1 -1
  78. package/dist/esm/platform/audio/nowPlaying.mjs +102 -0
  79. package/dist/esm/platform/audio/nowPlaying.mjs.map +1 -0
  80. package/dist/esm/platform/audio/nowPlaying.native.js +134 -0
  81. package/dist/esm/platform/audio/nowPlaying.native.js.map +1 -0
  82. package/dist/esm/platform/audio/player.mjs +15 -0
  83. package/dist/esm/platform/audio/player.mjs.map +1 -1
  84. package/dist/esm/platform/audio/player.native.js +14 -0
  85. package/dist/esm/platform/audio/player.native.js.map +1 -1
  86. package/dist/esm/platform/audio/unavailable.mjs +1 -1
  87. package/dist/esm/platform/audio/unavailable.mjs.map +1 -1
  88. package/dist/esm/platform/audio/unavailable.native.js +1 -1
  89. package/dist/esm/platform/audio/unavailable.native.js.map +1 -1
  90. package/dist/esm/serve-worker.mjs +1 -2
  91. package/dist/esm/serve-worker.mjs.map +1 -1
  92. package/dist/esm/serve-worker.native.js +1 -2
  93. package/dist/esm/serve-worker.native.js.map +1 -1
  94. package/dist/esm/server/oneServe.mjs +0 -6
  95. package/dist/esm/server/oneServe.mjs.map +1 -1
  96. package/dist/esm/server/oneServe.native.js +0 -6
  97. package/dist/esm/server/oneServe.native.js.map +1 -1
  98. package/dist/esm/server/workerHandler.mjs +12 -10
  99. package/dist/esm/server/workerHandler.mjs.map +1 -1
  100. package/dist/esm/server/workerHandler.native.js +14 -10
  101. package/dist/esm/server/workerHandler.native.js.map +1 -1
  102. package/dist/esm/vite/plugins/workerdDevPlugin.mjs +33 -37
  103. package/dist/esm/vite/plugins/workerdDevPlugin.mjs.map +1 -1
  104. package/dist/esm/vite/plugins/workerdDevPlugin.native.js +33 -37
  105. package/dist/esm/vite/plugins/workerdDevPlugin.native.js.map +1 -1
  106. package/ios/Nitro/HybridOneAudio.swift +309 -96
  107. package/nitrogen/generated/android/c++/JAudioPlayOptions.hpp +61 -0
  108. package/nitrogen/generated/android/c++/JAudioRemoteCommandEvent.hpp +8 -3
  109. package/nitrogen/generated/android/c++/JFunc_void_AudioRemoteCommandEvent.hpp +1 -0
  110. package/nitrogen/generated/android/c++/JHybridOneAudioSpec.cpp +37 -3
  111. package/nitrogen/generated/android/c++/JHybridOneAudioSpec.hpp +3 -1
  112. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/AudioPlayOptions.kt +56 -0
  113. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/AudioRemoteCommandEvent.kt +9 -4
  114. package/nitrogen/generated/android/kotlin/com/margelo/nitro/one/HybridOneAudioSpec.kt +40 -32
  115. package/nitrogen/generated/ios/One-Swift-Cxx-Umbrella.hpp +3 -0
  116. package/nitrogen/generated/ios/c++/HybridOneAudioSpecSwift.hpp +21 -2
  117. package/nitrogen/generated/ios/swift/AudioPlayOptions.swift +60 -0
  118. package/nitrogen/generated/ios/swift/AudioRemoteCommandEvent.swift +19 -1
  119. package/nitrogen/generated/ios/swift/HybridOneAudioSpec.swift +3 -1
  120. package/nitrogen/generated/ios/swift/HybridOneAudioSpec_cxx.swift +70 -32
  121. package/nitrogen/generated/shared/c++/AudioPlayOptions.hpp +87 -0
  122. package/nitrogen/generated/shared/c++/AudioRemoteCommandEvent.hpp +7 -2
  123. package/nitrogen/generated/shared/c++/HybridOneAudioSpec.cpp +2 -0
  124. package/nitrogen/generated/shared/c++/HybridOneAudioSpec.hpp +6 -1
  125. package/package.json +13 -13
  126. package/run.mjs +5 -1
  127. package/src/cli/build.ts +35 -32
  128. package/src/cli/buildPage.test.ts +152 -0
  129. package/src/cli/buildPage.ts +14 -9
  130. package/src/cli/buildPageWorker.ts +2 -1
  131. package/src/cli/workerPool.ts +1 -0
  132. package/src/cli-dev-memory.ts +24 -0
  133. package/src/headless-server.ts +2 -2
  134. package/src/index.ts +1 -0
  135. package/src/platform/audio/index.native.ts +4 -2
  136. package/src/platform/audio/index.ts +102 -74
  137. package/src/platform/audio/nowPlaying.ts +122 -0
  138. package/src/platform/audio/player.native.ts +17 -1
  139. package/src/platform/audio/player.ts +23 -1
  140. package/src/platform/audio/types.ts +6 -1
  141. package/src/platform/audio/unavailable.ts +3 -1
  142. package/src/platform/index.native.ts +1 -0
  143. package/src/platform/index.ts +1 -0
  144. package/src/platform/specs/OneAudio.nitro.ts +11 -1
  145. package/src/serve-worker.ts +2 -3
  146. package/src/server/oneServe.ts +0 -6
  147. package/src/server/workerHandler.ts +34 -18
  148. package/src/vite/plugins/workerdDevPlugin.ts +33 -37
  149. package/src/vite/resolveResponse.ts +2 -2
  150. package/types/cli/build.d.ts.map +1 -1
  151. package/types/cli/buildPage.d.ts +1 -1
  152. package/types/cli/buildPage.d.ts.map +1 -1
  153. package/types/cli/workerPool.d.ts +1 -0
  154. package/types/cli/workerPool.d.ts.map +1 -1
  155. package/types/cli-dev-memory.d.ts +2 -0
  156. package/types/cli-dev-memory.d.ts.map +1 -0
  157. package/types/headless-server.d.ts +3 -3
  158. package/types/headless-server.d.ts.map +1 -1
  159. package/types/index.d.ts +1 -1
  160. package/types/index.d.ts.map +1 -1
  161. package/types/platform/audio/index.d.ts +2 -2
  162. package/types/platform/audio/index.d.ts.map +1 -1
  163. package/types/platform/audio/index.native.d.ts +3 -3
  164. package/types/platform/audio/index.native.d.ts.map +1 -1
  165. package/types/platform/audio/nowPlaying.d.ts +12 -0
  166. package/types/platform/audio/nowPlaying.d.ts.map +1 -0
  167. package/types/platform/audio/player.d.ts +3 -1
  168. package/types/platform/audio/player.d.ts.map +1 -1
  169. package/types/platform/audio/player.native.d.ts +3 -1
  170. package/types/platform/audio/player.native.d.ts.map +1 -1
  171. package/types/platform/audio/types.d.ts +3 -1
  172. package/types/platform/audio/types.d.ts.map +1 -1
  173. package/types/platform/audio/unavailable.d.ts +3 -3
  174. package/types/platform/audio/unavailable.d.ts.map +1 -1
  175. package/types/platform/index.d.ts +1 -1
  176. package/types/platform/index.d.ts.map +1 -1
  177. package/types/platform/index.native.d.ts +1 -1
  178. package/types/platform/index.native.d.ts.map +1 -1
  179. package/types/platform/specs/OneAudio.nitro.d.ts +8 -1
  180. package/types/platform/specs/OneAudio.nitro.d.ts.map +1 -1
  181. package/types/serve-worker.d.ts +3 -3
  182. package/types/serve-worker.d.ts.map +1 -1
  183. package/types/server/oneServe.d.ts.map +1 -1
  184. package/types/server/workerHandler.d.ts +1 -1
  185. package/types/server/workerHandler.d.ts.map +1 -1
  186. package/types/vite/plugins/workerdDevPlugin.d.ts.map +1 -1
  187. package/types/vite/resolveResponse.d.ts +1 -1
  188. package/types/vite/resolveResponse.d.ts.map +1 -1
  189. package/dist/cjs/server/staticHtmlFetcher.cjs +0 -33
  190. package/dist/cjs/server/staticHtmlFetcher.native.cjs +0 -35
  191. package/dist/cjs/server/staticHtmlFetcher.native.js +0 -37
  192. package/dist/cjs/server/staticHtmlFetcher.native.js.map +0 -1
  193. package/dist/esm/server/staticHtmlFetcher.mjs +0 -10
  194. package/dist/esm/server/staticHtmlFetcher.mjs.map +0 -1
  195. package/dist/esm/server/staticHtmlFetcher.native.js +0 -10
  196. package/dist/esm/server/staticHtmlFetcher.native.js.map +0 -1
  197. package/src/server/staticHtmlFetcher.ts +0 -12
  198. package/types/server/staticHtmlFetcher.d.ts +0 -3
  199. package/types/server/staticHtmlFetcher.d.ts.map +0 -1
@@ -8,7 +8,6 @@ import { resolveResponse } from "../vite/resolveResponse.native.js";
8
8
  import { getLoaderSearchSchemas, withLoaderSearchParams } from "../loaderSearchParams.native.js";
9
9
  import { getRouteExportsFromEntry } from "./routeExportsFromEntry.native.js";
10
10
  import { setSSRLoaderData } from "./ssrLoaderData.native.js";
11
- import { getFetchStaticHtml } from "./staticHtmlFetcher.native.js";
12
11
 
13
12
  function _type_of(obj) {
14
13
  "@swc/helpers - typeof";
@@ -97,8 +96,7 @@ function createWorkerHandler(options) {
97
96
  if (logReason) console.error(`[one] 404 loader for ${path}: ${logReason}`);
98
97
  return `export function loader(){return{__oneError:404,__oneErrorMessage:'Not Found',__oneNotFoundPath:${JSON.stringify(nfPath)}}}`;
99
98
  }
100
- async function readStaticHtml(htmlPath) {
101
- var fetchStaticHtml = getFetchStaticHtml();
99
+ async function readStaticHtml(htmlPath, fetchStaticHtml) {
102
100
  if (fetchStaticHtml) return await fetchStaticHtml(htmlPath);
103
101
  if (debugRouter) {
104
102
  console.warn(`[one/worker] no fetchStaticHtml set, cannot read ${htmlPath}`);
@@ -264,7 +262,7 @@ function createWorkerHandler(options) {
264
262
  if (isResponse(json)) throw json;
265
263
  return `export function loader() { return ${JSON.stringify(json)} }`;
266
264
  },
267
- async handlePage(param) {
265
+ async handlePage(param, fetchStaticHtml) {
268
266
  var { route, url, loaderProps } = param;
269
267
  var routeBuildInfo = routeToBuildInfo[route.file];
270
268
  if (route.type === "ssr") {
@@ -327,7 +325,7 @@ function createWorkerHandler(options) {
327
325
  var nfPath = findNearestNotFoundPath((loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || "/");
328
326
  var nfHtml = routeMap === null || routeMap === void 0 ? void 0 : routeMap[nfPath];
329
327
  if (nfHtml) {
330
- var html = await readStaticHtml(nfHtml);
328
+ var html = await readStaticHtml(nfHtml, fetchStaticHtml);
331
329
  if (html) {
332
330
  return new Response(html, {
333
331
  headers: { "content-type": "text/html" },
@@ -473,7 +471,7 @@ url: ${url}`);
473
471
  var notFoundKey = route.isNotFound ? route.page.replace(/\[([^\]]+)\]/g, ":$1") : null;
474
472
  var htmlPath = notFoundKey ? routeMap === null || routeMap === void 0 ? void 0 : routeMap[notFoundKey] : isDynamicRoute ? (routeMap === null || routeMap === void 0 ? void 0 : routeMap[routeCleanPath]) || (routeMap === null || routeMap === void 0 ? void 0 : routeMap[url.pathname]) : (routeMap === null || routeMap === void 0 ? void 0 : routeMap[url.pathname]) || (routeMap === null || routeMap === void 0 ? void 0 : routeMap[routeBuildInfo === null || routeBuildInfo === void 0 ? void 0 : routeBuildInfo.cleanPath]);
475
473
  if (htmlPath) {
476
- var html1 = await readStaticHtml(htmlPath);
474
+ var html1 = await readStaticHtml(htmlPath, fetchStaticHtml);
477
475
  if (html1) {
478
476
  return new Response(html1, {
479
477
  headers: htmlHeaders,
@@ -485,7 +483,7 @@ url: ${url}`);
485
483
  var notFoundRoute = findNearestNotFoundPath(url.pathname);
486
484
  var notFoundHtmlPath = routeMap === null || routeMap === void 0 ? void 0 : routeMap[notFoundRoute];
487
485
  if (notFoundHtmlPath) {
488
- var notFoundHtml = await readStaticHtml(notFoundHtmlPath);
486
+ var notFoundHtml = await readStaticHtml(notFoundHtmlPath, fetchStaticHtml);
489
487
  if (notFoundHtml) {
490
488
  var notFoundMarker = `<script>window.__one404=${JSON.stringify({
491
489
  originalPath: url.pathname,
@@ -518,7 +516,7 @@ url: ${url}`);
518
516
  }
519
517
  return response;
520
518
  }
521
- async function handleRequest(request, env, executionCtx) {
519
+ async function handleRequest(request, env, executionCtx, fetchStaticHtml) {
522
520
  var url = getURLfromRequestURL(request);
523
521
  var pathname = url.pathname;
524
522
  var method = request.method;
@@ -713,7 +711,7 @@ url: ${url}`);
713
711
  route: route2,
714
712
  url,
715
713
  loaderProps
716
- });
714
+ }, fetchStaticHtml);
717
715
  } catch (err) {
718
716
  if (isResponse(err)) return err;
719
717
  throw err;
@@ -725,7 +723,13 @@ url: ${url}`);
725
723
  return { v: null };
726
724
  }
727
725
  try {
728
- var response1 = await resolvePageRoute(requestHandlers, request, url, route2);
726
+ var pageHandlers = {
727
+ ...requestHandlers,
728
+ handlePage: function handlePage(props) {
729
+ return requestHandlers.handlePage(props, fetchStaticHtml);
730
+ }
731
+ };
732
+ var response1 = await resolvePageRoute(pageHandlers, request, url, route2);
729
733
  if (response1 && isResponse(response1)) {
730
734
  return { v: setCacheHeaders(response1, route2, false) };
731
735
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workerHandler.native.js","names":[],"sources":["esm/server/workerHandler.native.js"],"sourcesContent":["import { CSS_PRELOAD_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX_REGEX } from \"../constants\";\nimport { compileManifest, getSubdomain, getURLfromRequestURL, isPageRequestMethod, resolveAPIRoute, resolveLoaderRoute, resolvePageRoute } from \"../createHandleRequest\";\nimport { stripGroupSegmentsFromPath } from \"../router/matchers\";\nimport { getPathFromLoaderPath } from \"../utils/cleanUrl\";\nimport { getRouterRootFromOneOptions } from \"../utils/getRouterRootFromOneOptions\";\nimport { isResponse } from \"../utils/isResponse\";\nimport { resolveResponse } from \"../vite/resolveResponse\";\nimport { getLoaderSearchSchemas, withLoaderSearchParams } from \"../loaderSearchParams\";\nimport { getRouteExportsFromEntry } from \"./routeExportsFromEntry\";\nimport { setSSRLoaderData } from \"./ssrLoaderData\";\nimport { getFetchStaticHtml } from \"./staticHtmlFetcher\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction createWorkerHandler(options) {\n var _oneOptions_web;\n var { oneOptions } = options;\n var disableModuleCache = !!options.disableModuleCache;\n var routerRoot = getRouterRootFromOneOptions(oneOptions);\n var currentLazyRoutes = options.lazyRoutes;\n var compiledManifest = compileManifest(options.buildInfo.manifest);\n var routeToBuildInfo = options.buildInfo.routeToBuildInfo;\n var routeMap = options.buildInfo.routeMap;\n var currentPreloads = options.buildInfo.preloads;\n var currentCssPreloads = options.buildInfo.cssPreloads;\n var debugRouter = process.env.ONE_DEBUG_ROUTER;\n var redirects = (_oneOptions_web = oneOptions.web) === null || _oneOptions_web === void 0 ? void 0 : _oneOptions_web.redirects;\n var compiledRedirects = null;\n if (redirects === null || redirects === void 0 ? void 0 : redirects.length) {\n compiledRedirects = redirects.map(function(r) {\n var regexSource = r.source.replace(/:(\\w+)/g, function(_, name) {\n return `(?<${name}>[^/]+)`;\n });\n return {\n regex: new RegExp(`^${regexSource}$`),\n destination: r.destination,\n permanent: r.permanent || false\n };\n });\n }\n var useStreaming = !process.env.ONE_BUFFERED_SSR;\n var htmlHeaders = {\n \"content-type\": \"text/html\"\n };\n var ssrHtmlHeaders = {\n \"content-type\": \"text/html\",\n \"cache-control\": \"no-cache\"\n };\n var loaderCache = /* @__PURE__ */ new Map();\n var moduleImportCache = /* @__PURE__ */ new Map();\n var loaderCacheFnMap = /* @__PURE__ */ new Map();\n var loaderSearchSchemaMap = /* @__PURE__ */ new Map();\n var pendingLoaderResults = /* @__PURE__ */ new Map();\n var render = null;\n var renderStream = null;\n var renderLoading = null;\n var renderGeneration = 0;\n var entryLoading = null;\n function loadServerEntry() {\n if (!entryLoading) entryLoading = currentLazyRoutes.serverEntry();\n return entryLoading;\n }\n function ensureRenderLoaded() {\n if (render) return;\n if (renderLoading) return renderLoading;\n var gen = ++renderGeneration;\n renderLoading = (async function() {\n var entry = await loadServerEntry();\n if (gen !== renderGeneration) return;\n render = entry.default.render;\n renderStream = entry.default.renderStream || null;\n })();\n return renderLoading;\n }\n function findNearestNotFoundPath(urlPath) {\n var _loop = function() {\n var parent = cur.lastIndexOf(\"/\") > 0 ? cur.slice(0, cur.lastIndexOf(\"/\")) : \"\";\n var candidate = `${parent}/+not-found`;\n if (routeMap ? routeMap[candidate] : compiledManifest.pageRoutes.some(function(route) {\n return route.isNotFound && stripGroupSegmentsFromPath(route.page) === candidate;\n })) {\n return {\n v: candidate\n };\n }\n if (!parent) return \"break\";\n cur = parent;\n };\n var cur = urlPath;\n while (cur) {\n var _ret = _loop();\n if (_type_of(_ret) === \"object\") return _ret.v;\n if (_ret === \"break\") break;\n }\n return \"/+not-found\";\n }\n function make404LoaderJs(path, logReason) {\n var nfPath = findNearestNotFoundPath(path);\n if (logReason) console.error(`[one] 404 loader for ${path}: ${logReason}`);\n return `export function loader(){return{__oneError:404,__oneErrorMessage:'Not Found',__oneNotFoundPath:${JSON.stringify(nfPath)}}}`;\n }\n async function readStaticHtml(htmlPath) {\n var fetchStaticHtml = getFetchStaticHtml();\n if (fetchStaticHtml) return await fetchStaticHtml(htmlPath);\n if (debugRouter) {\n console.warn(`[one/worker] no fetchStaticHtml set, cannot read ${htmlPath}`);\n }\n return null;\n }\n function resolveLoaderSync(lazyKey) {\n var cacheKey = lazyKey || \"\";\n if (!disableModuleCache) {\n var cached = loaderCache.get(cacheKey);\n if (cached !== void 0) return cached;\n }\n return (async function() {\n var _currentLazyRoutes_pages;\n var routeExported;\n if (!disableModuleCache && moduleImportCache.has(cacheKey)) {\n routeExported = moduleImportCache.get(cacheKey);\n } else if ((_currentLazyRoutes_pages = currentLazyRoutes.pages) === null || _currentLazyRoutes_pages === void 0 ? void 0 : _currentLazyRoutes_pages[cacheKey]) {\n routeExported = await currentLazyRoutes.pages[cacheKey]();\n if (!disableModuleCache) moduleImportCache.set(cacheKey, routeExported);\n } else {\n routeExported = lazyKey ? await getRouteExportsFromEntry(await loadServerEntry(), routerRoot, lazyKey) : null;\n if (!routeExported) {\n console.warn(`[one/worker] no lazy route for ${cacheKey}`);\n if (!disableModuleCache) loaderCache.set(cacheKey, null);\n return null;\n }\n if (!disableModuleCache) moduleImportCache.set(cacheKey, routeExported);\n }\n var loader = (routeExported === null || routeExported === void 0 ? void 0 : routeExported.loader) || null;\n loaderSearchSchemaMap.set(cacheKey, getLoaderSearchSchemas(routeExported));\n if (!disableModuleCache) {\n var _ref;\n loaderCache.set(cacheKey, loader);\n loaderCacheFnMap.set(cacheKey, (_ref = routeExported === null || routeExported === void 0 ? void 0 : routeExported.loaderCache) !== null && _ref !== void 0 ? _ref : null);\n }\n return loader;\n })();\n }\n async function importAndRunLoader(routeId, lazyKey, requestLoaderProps) {\n var withSearchParams = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n if (!lazyKey) return {\n loaderData: void 0,\n routeId\n };\n var cacheMapKey = lazyKey;\n var loaderProps = requestLoaderProps;\n var validateSearch = function validateSearch2() {\n var schemas = withSearchParams && loaderSearchSchemaMap.get(cacheMapKey);\n if (schemas) loaderProps = withLoaderSearchParams(schemas, requestLoaderProps);\n };\n validateSearch();\n var loaderCacheFn = loaderCacheFnMap.get(cacheMapKey);\n var coalFullKey;\n var coalTtl = 0;\n if (loaderCacheFn) {\n var _ref;\n var cacheResult = loaderCacheFn(loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.params, loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.request);\n var cacheKey = typeof cacheResult === \"string\" ? cacheResult : cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.key;\n coalTtl = typeof cacheResult === \"string\" ? 0 : (_ref = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.ttl) !== null && _ref !== void 0 ? _ref : 0;\n if (cacheKey != null) {\n coalFullKey = routeId + \"\\0\" + cacheKey;\n var existing = pendingLoaderResults.get(coalFullKey);\n if (existing && (!existing.expires || Date.now() < existing.expires)) {\n var loaderData = await existing.promise;\n return {\n loaderData,\n routeId\n };\n }\n }\n }\n try {\n var loaderOrPromise = resolveLoaderSync(lazyKey);\n var loader = loaderOrPromise instanceof Promise ? await loaderOrPromise : loaderOrPromise;\n if (!loader) return {\n loaderData: void 0,\n routeId\n };\n if (loaderProps === requestLoaderProps) validateSearch();\n if (coalFullKey) {\n var promise = loader(loaderProps);\n var entry = {\n promise,\n expires: 0\n };\n pendingLoaderResults.set(coalFullKey, entry);\n promise.then(function() {\n entry.expires = coalTtl > 0 ? Date.now() + coalTtl : 0;\n if (coalTtl <= 0) Promise.resolve().then(function() {\n return pendingLoaderResults.delete(coalFullKey);\n });\n }, function() {\n return pendingLoaderResults.delete(coalFullKey);\n });\n var loaderData1 = await promise;\n return {\n loaderData: loaderData1,\n routeId\n };\n }\n var loaderData2 = await loader(loaderProps);\n return {\n loaderData: loaderData2,\n routeId\n };\n } catch (err) {\n if (isResponse(err)) throw err;\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ENOENT\") return {\n loaderData: void 0,\n routeId,\n isEnoent: true\n };\n console.error(`[one] Error running loader for ${routeId}:`, err);\n return {\n loaderData: void 0,\n routeId\n };\n }\n }\n var requestHandlers = {\n async handleStaticFile() {\n return null;\n },\n async handleAPI(param) {\n var { route } = param;\n if (currentLazyRoutes.api[route.page]) {\n return await currentLazyRoutes.api[route.page]();\n }\n console.warn(`[one/worker] no lazy API route for ${route.page}`);\n return null;\n },\n async loadMiddleware(route) {\n if (currentLazyRoutes.middlewares[route.contextKey]) {\n return await currentLazyRoutes.middlewares[route.contextKey]();\n }\n console.warn(`[one/worker] no lazy middleware for ${route.contextKey}`);\n return null;\n },\n async handleLoader(param) {\n var { route, loaderProps } = param;\n var routeFile = route.routeFile || route.file;\n var loader;\n try {\n var loaderResult = resolveLoaderSync(routeFile);\n loader = loaderResult instanceof Promise ? await loaderResult : loaderResult;\n } catch (err) {\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ERR_MODULE_NOT_FOUND\") return null;\n throw err;\n }\n if (!loader) return null;\n var searchSchemas = route.type === \"ssr\" && loaderSearchSchemaMap.get(routeFile);\n if (searchSchemas) loaderProps = withLoaderSearchParams(searchSchemas, loaderProps);\n var json;\n try {\n json = await loader(loaderProps);\n } catch (err) {\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ENOENT\") {\n return make404LoaderJs((loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\", `ENOENT ${(err === null || err === void 0 ? void 0 : err.path) || err}`);\n }\n throw err;\n }\n if (isResponse(json)) throw json;\n return `export function loader() { return ${JSON.stringify(json)} }`;\n },\n async handlePage(param) {\n var { route, url, loaderProps } = param;\n var routeBuildInfo = routeToBuildInfo[route.file];\n if (route.type === \"ssr\") {\n if (!routeBuildInfo) {\n console.error(`Error in route`, route);\n throw new Error(`No buildinfo found for ${url}, route: ${route.file}, in keys:\n ${Object.keys(routeToBuildInfo).join(\"\\n \")}`);\n }\n try {\n var _globalThis___vxrnresetState, _globalThis;\n var layoutRoutes = route.layouts || [];\n var layoutLoaderPromises = [];\n var noLoaderResults = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = layoutRoutes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var layout = _step.value;\n var cacheKey = layout.contextKey || \"\";\n var cachedLoader = loaderCache.get(cacheKey);\n if (cachedLoader === null) {\n noLoaderResults.push({\n loaderData: void 0,\n routeId: layout.contextKey\n });\n } else {\n layoutLoaderPromises.push(importAndRunLoader(layout.contextKey, layout.contextKey, loaderProps, true));\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var pageLoaderPromise = importAndRunLoader(route.file, route.file, loaderProps, true);\n var layoutResults;\n var pageResult;\n try {\n if (layoutLoaderPromises.length === 0) {\n layoutResults = noLoaderResults;\n pageResult = await pageLoaderPromise;\n } else {\n var [asyncLayoutResults, pr] = await Promise.all([\n Promise.all(layoutLoaderPromises),\n pageLoaderPromise\n ]);\n layoutResults = [\n ...noLoaderResults,\n ...asyncLayoutResults\n ];\n pageResult = pr;\n }\n } catch (err) {\n if (isResponse(err)) return err;\n throw err;\n }\n if (pageResult.isEnoent) {\n var nfPath = findNearestNotFoundPath((loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\");\n var nfHtml = routeMap === null || routeMap === void 0 ? void 0 : routeMap[nfPath];\n if (nfHtml) {\n var html = await readStaticHtml(nfHtml);\n if (html) {\n return new Response(html, {\n headers: {\n \"content-type\": \"text/html\"\n },\n status: 404\n });\n }\n }\n return new Response(\"404 Not Found\", {\n status: 404\n });\n }\n var matchPathname = (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\";\n var matchParams = (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.params) || {};\n var matches = new Array(layoutResults.length + 1);\n for (var i = 0; i < layoutResults.length; i++) {\n var result = layoutResults[i];\n matches[i] = {\n routeId: result.routeId,\n pathname: matchPathname,\n params: matchParams,\n loaderData: result.loaderData\n };\n }\n matches[layoutResults.length] = {\n routeId: pageResult.routeId,\n pathname: matchPathname,\n params: matchParams,\n loaderData: pageResult.loaderData\n };\n var loaderData = pageResult.loaderData;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n var _loop = function() {\n var layout2 = _step1.value;\n var key = layout2.contextKey;\n var loaderFn = loaderCache.get(key);\n if (loaderFn) {\n var result2 = layoutResults.find(function(r) {\n return r.routeId === key;\n });\n if (result2) setSSRLoaderData(loaderFn, result2.loaderData);\n }\n };\n for (var _iterator1 = layoutRoutes[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _loop();\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n var pageLoaderFn = loaderCache.get(route.file);\n if (pageLoaderFn) setSSRLoaderData(pageLoaderFn, pageResult.loaderData);\n (_globalThis___vxrnresetState = (_globalThis = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState === void 0 ? void 0 : _globalThis___vxrnresetState.call(_globalThis);\n var renderProps = {\n mode: route.type,\n loaderData,\n loaderProps,\n path: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\",\n preloads: routeBuildInfo.criticalPreloads || routeBuildInfo.preloads,\n deferredPreloads: routeBuildInfo.deferredPreloads,\n css: routeBuildInfo.css,\n cssContents: routeBuildInfo.cssContents,\n matches\n };\n var _rl = ensureRenderLoaded();\n if (_rl) await _rl;\n var status = route.isNotFound ? 404 : 200;\n var responseHeaders = route.isNotFound ? htmlHeaders : ssrHtmlHeaders;\n if (useStreaming) {\n var stream = await renderStream(renderProps);\n return new Response(stream, {\n headers: responseHeaders,\n status\n });\n }\n var rendered = await render(renderProps);\n return new Response(rendered, {\n headers: responseHeaders,\n status\n });\n } catch (err) {\n var _ref;\n if (isResponse(err)) return err;\n console.error(`[one] Error rendering SSR route ${route.file}\n${(_ref = err === null || err === void 0 ? void 0 : err[\"stack\"]) !== null && _ref !== void 0 ? _ref : err}\nurl: ${url}`);\n return null;\n }\n } else {\n var layoutRoutes1 = route.layouts || [];\n var needsSpaShell = route.type === \"spa\" && layoutRoutes1.some(function(layout2) {\n return layout2.layoutRenderMode === \"ssg\" || layout2.layoutRenderMode === \"ssr\";\n });\n if (needsSpaShell) {\n try {\n var _globalThis___vxrnresetState1, _globalThis1;\n var layoutResults1 = await Promise.all(layoutRoutes1.map(function(layout2) {\n return importAndRunLoader(layout2.contextKey, layout2.contextKey, loaderProps);\n }));\n var matches1 = layoutResults1.map(function(result2) {\n return {\n routeId: result2.routeId,\n pathname: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\",\n params: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.params) || {},\n loaderData: result2.loaderData\n };\n });\n (_globalThis___vxrnresetState1 = (_globalThis1 = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState1 === void 0 ? void 0 : _globalThis___vxrnresetState1.call(_globalThis1);\n var _rl1 = ensureRenderLoaded();\n if (_rl1) await _rl1;\n var spaRouteBuildInfo = routeToBuildInfo[route.file];\n var rendered1 = await render({\n mode: \"spa-shell\",\n loaderData: void 0,\n loaderProps,\n path: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\",\n preloads: (spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.criticalPreloads) || (spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.preloads),\n deferredPreloads: spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.deferredPreloads,\n css: spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.css,\n cssContents: spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.cssContents,\n matches: matches1\n });\n return new Response(rendered1, {\n headers: htmlHeaders,\n status: route.isNotFound ? 404 : 200\n });\n } catch (err) {\n var _ref1;\n if (isResponse(err)) return err;\n console.error(`[one] Error rendering spa-shell for ${route.file}\n${(_ref1 = err === null || err === void 0 ? void 0 : err[\"stack\"]) !== null && _ref1 !== void 0 ? _ref1 : err}\nurl: ${url}`);\n }\n }\n var isDynamicRoute = Object.keys(route.routeKeys).length > 0;\n var routeCleanPath = route.urlCleanPath.replace(/\\?/g, \"\");\n var notFoundKey = route.isNotFound ? route.page.replace(/\\[([^\\]]+)\\]/g, \":$1\") : null;\n var htmlPath = notFoundKey ? routeMap === null || routeMap === void 0 ? void 0 : routeMap[notFoundKey] : isDynamicRoute ? (routeMap === null || routeMap === void 0 ? void 0 : routeMap[routeCleanPath]) || (routeMap === null || routeMap === void 0 ? void 0 : routeMap[url.pathname]) : (routeMap === null || routeMap === void 0 ? void 0 : routeMap[url.pathname]) || (routeMap === null || routeMap === void 0 ? void 0 : routeMap[routeBuildInfo === null || routeBuildInfo === void 0 ? void 0 : routeBuildInfo.cleanPath]);\n if (htmlPath) {\n var html1 = await readStaticHtml(htmlPath);\n if (html1) {\n return new Response(html1, {\n headers: htmlHeaders,\n status: route.isNotFound ? 404 : 200\n });\n }\n }\n if (isDynamicRoute) {\n var notFoundRoute = findNearestNotFoundPath(url.pathname);\n var notFoundHtmlPath = routeMap === null || routeMap === void 0 ? void 0 : routeMap[notFoundRoute];\n if (notFoundHtmlPath) {\n var notFoundHtml = await readStaticHtml(notFoundHtmlPath);\n if (notFoundHtml) {\n var notFoundMarker = `<script>window.__one404=${JSON.stringify({\n originalPath: url.pathname,\n notFoundPath: notFoundRoute\n })}</script>`;\n var injectedHtml = notFoundHtml.includes(\"</head>\") ? notFoundHtml.replace(\"</head>\", `${notFoundMarker}</head>`) : notFoundHtml.replace(\"<body\", `${notFoundMarker}<body`);\n return new Response(injectedHtml, {\n headers: htmlHeaders,\n status: 404\n });\n }\n }\n return new Response(\"404 Not Found\", {\n status: 404\n });\n }\n return null;\n }\n }\n };\n function setCacheHeaders(response, route, isAPI) {\n if (!response.headers.has(\"cache-control\") && !response.headers.has(\"Cache-Control\")) {\n try {\n if (isAPI) {\n response.headers.set(\"cache-control\", \"no-store\");\n } else if (route.type === \"ssg\" || route.type === \"spa\") {\n response.headers.set(\"cache-control\", \"public, s-maxage=60, stale-while-revalidate=120\");\n } else {\n response.headers.set(\"cache-control\", \"no-cache\");\n }\n } catch (unused) {\n }\n }\n return response;\n }\n async function handleRequest(request, env, executionCtx) {\n var url = getURLfromRequestURL(request);\n var pathname = url.pathname;\n var method = request.method;\n if (compiledRedirects) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = compiledRedirects[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var redirect = _step.value;\n var match = redirect.regex.exec(pathname);\n if (match) {\n var destination = redirect.destination;\n if (match.groups) {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = Object.entries(match.groups)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var [name, value] = _step1.value;\n destination = destination.replace(`:${name}`, value);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n if (debugRouter) console.info(`[one] \\u21AA redirect ${pathname} \\u2192 ${destination}`);\n return new Response(null, {\n status: redirect.permanent ? 301 : 302,\n headers: {\n location: new URL(destination, url.origin).toString()\n }\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n if (PRELOAD_JS_POSTFIX_REGEX.test(pathname)) {\n if (!currentPreloads[pathname]) {\n return new Response(\"\", {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n return null;\n }\n if (CSS_PRELOAD_JS_POSTFIX_REGEX.test(pathname)) {\n if (!(currentCssPreloads === null || currentCssPreloads === void 0 ? void 0 : currentCssPreloads[pathname])) {\n return new Response(\"export default Promise.resolve()\", {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n return null;\n }\n if (pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {\n var originalUrl = getPathFromLoaderPath(pathname);\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = compiledManifest.pageRoutes[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var route = _step2.value;\n if (route.file === \"\") continue;\n if (!route.compiledRegex.test(originalUrl)) continue;\n if (route.type === \"ssg\" && Object.keys(route.routeKeys).length > 0 && routeMap && !routeMap[originalUrl]) {\n return new Response(make404LoaderJs(originalUrl, \"ssg route not in routeMap\"), {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n if (route.hasLoader === false) {\n return new Response(\"export function loader() { return undefined }\", {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n var loaderRoute = {\n ...route,\n routeFile: route.file,\n file: route.loaderServerPath || pathname\n };\n var finalUrl = new URL(originalUrl, url.origin);\n finalUrl.search = url.search;\n var cleanedRequest = new Request(finalUrl, request);\n try {\n return await resolveLoaderRoute(requestHandlers, cleanedRequest, finalUrl, loaderRoute);\n } catch (err) {\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ERR_MODULE_NOT_FOUND\") {\n return new Response(\"export function loader() { return undefined }\", {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n console.error(`Error running loader: ${err}`);\n return null;\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return null;\n }\n if (pathname.endsWith(\".js\") || pathname.endsWith(\".css\")) {\n return null;\n }\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = compiledManifest.apiRoutes[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var route1 = _step3.value;\n if (route1.compiledRegex.test(pathname)) {\n if (debugRouter) console.info(`[one] \\u26A1 ${pathname} \\u2192 matched API route: ${route1.page}`);\n var response = await resolveAPIRoute(requestHandlers, request, url, route1, env, executionCtx);\n if (response && isResponse(response)) {\n return setCacheHeaders(response, route1, true);\n }\n return null;\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n if (isPageRequestMethod(method)) {\n var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;\n try {\n var _loop = async function() {\n var route2 = _step4.value;\n var _route_middlewares;\n if (!route2.compiledRegex.test(pathname)) return \"continue\";\n if (debugRouter) {\n console.info(`[one] \\u26A1 ${pathname} \\u2192 matched page route: ${route2.page} (${route2.type})`);\n }\n if (route2.type === \"ssr\" && !((_route_middlewares = route2.middlewares) === null || _route_middlewares === void 0 ? void 0 : _route_middlewares.length)) {\n var params = {};\n var match2 = route2.compiledRegex.exec(pathname);\n if (match2 === null || match2 === void 0 ? void 0 : match2.groups) {\n var _iteratorNormalCompletion5 = true, _didIteratorError5 = false, _iteratorError5 = void 0;\n try {\n for (var _iterator5 = Object.entries(match2.groups)[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var [key, value2] = _step5.value;\n params[route2.routeKeys[key]] = value2;\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5.return != null) {\n _iterator5.return();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n }\n var loaderProps = {\n path: pathname,\n search: url.search,\n subdomain: getSubdomain(url),\n request,\n params\n };\n var response2 = await resolveResponse(async function() {\n try {\n return await requestHandlers.handlePage({\n request,\n route: route2,\n url,\n loaderProps\n });\n } catch (err) {\n if (isResponse(err)) return err;\n throw err;\n }\n });\n if (response2 && isResponse(response2)) {\n return {\n v: setCacheHeaders(response2, route2, false)\n };\n }\n return {\n v: null\n };\n }\n try {\n var response1 = await resolvePageRoute(requestHandlers, request, url, route2);\n if (response1 && isResponse(response1)) {\n return {\n v: setCacheHeaders(response1, route2, false)\n };\n }\n } catch (err) {\n console.error(` [one] Error handling request: ${err[\"stack\"]}`);\n }\n return {\n v: null\n };\n };\n for (var _iterator4 = compiledManifest.pageRoutes[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var _ret = await _loop();\n if (_type_of(_ret) === \"object\") return _ret.v;\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n }\n return null;\n }\n function updateRoutes(newBuildInfo, newLazyRoutes) {\n compiledManifest = compileManifest(newBuildInfo.manifest);\n routeToBuildInfo = newBuildInfo.routeToBuildInfo;\n routeMap = newBuildInfo.routeMap;\n currentPreloads = newBuildInfo.preloads;\n currentCssPreloads = newBuildInfo.cssPreloads;\n if (newLazyRoutes) currentLazyRoutes = newLazyRoutes;\n loaderCache.clear();\n moduleImportCache.clear();\n loaderCacheFnMap.clear();\n loaderSearchSchemaMap.clear();\n pendingLoaderResults.clear();\n render = null;\n renderStream = null;\n renderLoading = null;\n entryLoading = null;\n }\n return {\n handleRequest,\n updateRoutes\n };\n}\nexport {\n createWorkerHandler\n};\n//# sourceMappingURL=workerHandler.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"workerHandler.native.js","names":[],"sources":["esm/server/workerHandler.native.js"],"sourcesContent":["import { CSS_PRELOAD_JS_POSTFIX_REGEX, LOADER_JS_POSTFIX_UNCACHED, PRELOAD_JS_POSTFIX_REGEX } from \"../constants\";\nimport { compileManifest, getSubdomain, getURLfromRequestURL, isPageRequestMethod, resolveAPIRoute, resolveLoaderRoute, resolvePageRoute } from \"../createHandleRequest\";\nimport { stripGroupSegmentsFromPath } from \"../router/matchers\";\nimport { getPathFromLoaderPath } from \"../utils/cleanUrl\";\nimport { getRouterRootFromOneOptions } from \"../utils/getRouterRootFromOneOptions\";\nimport { isResponse } from \"../utils/isResponse\";\nimport { resolveResponse } from \"../vite/resolveResponse\";\nimport { getLoaderSearchSchemas, withLoaderSearchParams } from \"../loaderSearchParams\";\nimport { getRouteExportsFromEntry } from \"./routeExportsFromEntry\";\nimport { setSSRLoaderData } from \"./ssrLoaderData\";\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction createWorkerHandler(options) {\n var _oneOptions_web;\n var { oneOptions } = options;\n var disableModuleCache = !!options.disableModuleCache;\n var routerRoot = getRouterRootFromOneOptions(oneOptions);\n var currentLazyRoutes = options.lazyRoutes;\n var compiledManifest = compileManifest(options.buildInfo.manifest);\n var routeToBuildInfo = options.buildInfo.routeToBuildInfo;\n var routeMap = options.buildInfo.routeMap;\n var currentPreloads = options.buildInfo.preloads;\n var currentCssPreloads = options.buildInfo.cssPreloads;\n var debugRouter = process.env.ONE_DEBUG_ROUTER;\n var redirects = (_oneOptions_web = oneOptions.web) === null || _oneOptions_web === void 0 ? void 0 : _oneOptions_web.redirects;\n var compiledRedirects = null;\n if (redirects === null || redirects === void 0 ? void 0 : redirects.length) {\n compiledRedirects = redirects.map(function(r) {\n var regexSource = r.source.replace(/:(\\w+)/g, function(_, name) {\n return `(?<${name}>[^/]+)`;\n });\n return {\n regex: new RegExp(`^${regexSource}$`),\n destination: r.destination,\n permanent: r.permanent || false\n };\n });\n }\n var useStreaming = !process.env.ONE_BUFFERED_SSR;\n var htmlHeaders = {\n \"content-type\": \"text/html\"\n };\n var ssrHtmlHeaders = {\n \"content-type\": \"text/html\",\n \"cache-control\": \"no-cache\"\n };\n var loaderCache = /* @__PURE__ */ new Map();\n var moduleImportCache = /* @__PURE__ */ new Map();\n var loaderCacheFnMap = /* @__PURE__ */ new Map();\n var loaderSearchSchemaMap = /* @__PURE__ */ new Map();\n var pendingLoaderResults = /* @__PURE__ */ new Map();\n var render = null;\n var renderStream = null;\n var renderLoading = null;\n var renderGeneration = 0;\n var entryLoading = null;\n function loadServerEntry() {\n if (!entryLoading) entryLoading = currentLazyRoutes.serverEntry();\n return entryLoading;\n }\n function ensureRenderLoaded() {\n if (render) return;\n if (renderLoading) return renderLoading;\n var gen = ++renderGeneration;\n renderLoading = (async function() {\n var entry = await loadServerEntry();\n if (gen !== renderGeneration) return;\n render = entry.default.render;\n renderStream = entry.default.renderStream || null;\n })();\n return renderLoading;\n }\n function findNearestNotFoundPath(urlPath) {\n var _loop = function() {\n var parent = cur.lastIndexOf(\"/\") > 0 ? cur.slice(0, cur.lastIndexOf(\"/\")) : \"\";\n var candidate = `${parent}/+not-found`;\n if (routeMap ? routeMap[candidate] : compiledManifest.pageRoutes.some(function(route) {\n return route.isNotFound && stripGroupSegmentsFromPath(route.page) === candidate;\n })) {\n return {\n v: candidate\n };\n }\n if (!parent) return \"break\";\n cur = parent;\n };\n var cur = urlPath;\n while (cur) {\n var _ret = _loop();\n if (_type_of(_ret) === \"object\") return _ret.v;\n if (_ret === \"break\") break;\n }\n return \"/+not-found\";\n }\n function make404LoaderJs(path, logReason) {\n var nfPath = findNearestNotFoundPath(path);\n if (logReason) console.error(`[one] 404 loader for ${path}: ${logReason}`);\n return `export function loader(){return{__oneError:404,__oneErrorMessage:'Not Found',__oneNotFoundPath:${JSON.stringify(nfPath)}}}`;\n }\n async function readStaticHtml(htmlPath, fetchStaticHtml) {\n if (fetchStaticHtml) return await fetchStaticHtml(htmlPath);\n if (debugRouter) {\n console.warn(`[one/worker] no fetchStaticHtml set, cannot read ${htmlPath}`);\n }\n return null;\n }\n function resolveLoaderSync(lazyKey) {\n var cacheKey = lazyKey || \"\";\n if (!disableModuleCache) {\n var cached = loaderCache.get(cacheKey);\n if (cached !== void 0) return cached;\n }\n return (async function() {\n var _currentLazyRoutes_pages;\n var routeExported;\n if (!disableModuleCache && moduleImportCache.has(cacheKey)) {\n routeExported = moduleImportCache.get(cacheKey);\n } else if ((_currentLazyRoutes_pages = currentLazyRoutes.pages) === null || _currentLazyRoutes_pages === void 0 ? void 0 : _currentLazyRoutes_pages[cacheKey]) {\n routeExported = await currentLazyRoutes.pages[cacheKey]();\n if (!disableModuleCache) moduleImportCache.set(cacheKey, routeExported);\n } else {\n routeExported = lazyKey ? await getRouteExportsFromEntry(await loadServerEntry(), routerRoot, lazyKey) : null;\n if (!routeExported) {\n console.warn(`[one/worker] no lazy route for ${cacheKey}`);\n if (!disableModuleCache) loaderCache.set(cacheKey, null);\n return null;\n }\n if (!disableModuleCache) moduleImportCache.set(cacheKey, routeExported);\n }\n var loader = (routeExported === null || routeExported === void 0 ? void 0 : routeExported.loader) || null;\n loaderSearchSchemaMap.set(cacheKey, getLoaderSearchSchemas(routeExported));\n if (!disableModuleCache) {\n var _ref;\n loaderCache.set(cacheKey, loader);\n loaderCacheFnMap.set(cacheKey, (_ref = routeExported === null || routeExported === void 0 ? void 0 : routeExported.loaderCache) !== null && _ref !== void 0 ? _ref : null);\n }\n return loader;\n })();\n }\n async function importAndRunLoader(routeId, lazyKey, requestLoaderProps) {\n var withSearchParams = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n if (!lazyKey) return {\n loaderData: void 0,\n routeId\n };\n var cacheMapKey = lazyKey;\n var loaderProps = requestLoaderProps;\n var validateSearch = function validateSearch2() {\n var schemas = withSearchParams && loaderSearchSchemaMap.get(cacheMapKey);\n if (schemas) loaderProps = withLoaderSearchParams(schemas, requestLoaderProps);\n };\n validateSearch();\n var loaderCacheFn = loaderCacheFnMap.get(cacheMapKey);\n var coalFullKey;\n var coalTtl = 0;\n if (loaderCacheFn) {\n var _ref;\n var cacheResult = loaderCacheFn(loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.params, loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.request);\n var cacheKey = typeof cacheResult === \"string\" ? cacheResult : cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.key;\n coalTtl = typeof cacheResult === \"string\" ? 0 : (_ref = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.ttl) !== null && _ref !== void 0 ? _ref : 0;\n if (cacheKey != null) {\n coalFullKey = routeId + \"\\0\" + cacheKey;\n var existing = pendingLoaderResults.get(coalFullKey);\n if (existing && (!existing.expires || Date.now() < existing.expires)) {\n var loaderData = await existing.promise;\n return {\n loaderData,\n routeId\n };\n }\n }\n }\n try {\n var loaderOrPromise = resolveLoaderSync(lazyKey);\n var loader = loaderOrPromise instanceof Promise ? await loaderOrPromise : loaderOrPromise;\n if (!loader) return {\n loaderData: void 0,\n routeId\n };\n if (loaderProps === requestLoaderProps) validateSearch();\n if (coalFullKey) {\n var promise = loader(loaderProps);\n var entry = {\n promise,\n expires: 0\n };\n pendingLoaderResults.set(coalFullKey, entry);\n promise.then(function() {\n entry.expires = coalTtl > 0 ? Date.now() + coalTtl : 0;\n if (coalTtl <= 0) Promise.resolve().then(function() {\n return pendingLoaderResults.delete(coalFullKey);\n });\n }, function() {\n return pendingLoaderResults.delete(coalFullKey);\n });\n var loaderData1 = await promise;\n return {\n loaderData: loaderData1,\n routeId\n };\n }\n var loaderData2 = await loader(loaderProps);\n return {\n loaderData: loaderData2,\n routeId\n };\n } catch (err) {\n if (isResponse(err)) throw err;\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ENOENT\") return {\n loaderData: void 0,\n routeId,\n isEnoent: true\n };\n console.error(`[one] Error running loader for ${routeId}:`, err);\n return {\n loaderData: void 0,\n routeId\n };\n }\n }\n var requestHandlers = {\n async handleStaticFile() {\n return null;\n },\n async handleAPI(param) {\n var { route } = param;\n if (currentLazyRoutes.api[route.page]) {\n return await currentLazyRoutes.api[route.page]();\n }\n console.warn(`[one/worker] no lazy API route for ${route.page}`);\n return null;\n },\n async loadMiddleware(route) {\n if (currentLazyRoutes.middlewares[route.contextKey]) {\n return await currentLazyRoutes.middlewares[route.contextKey]();\n }\n console.warn(`[one/worker] no lazy middleware for ${route.contextKey}`);\n return null;\n },\n async handleLoader(param) {\n var { route, loaderProps } = param;\n var routeFile = route.routeFile || route.file;\n var loader;\n try {\n var loaderResult = resolveLoaderSync(routeFile);\n loader = loaderResult instanceof Promise ? await loaderResult : loaderResult;\n } catch (err) {\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ERR_MODULE_NOT_FOUND\") return null;\n throw err;\n }\n if (!loader) return null;\n var searchSchemas = route.type === \"ssr\" && loaderSearchSchemaMap.get(routeFile);\n if (searchSchemas) loaderProps = withLoaderSearchParams(searchSchemas, loaderProps);\n var json;\n try {\n json = await loader(loaderProps);\n } catch (err) {\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ENOENT\") {\n return make404LoaderJs((loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\", `ENOENT ${(err === null || err === void 0 ? void 0 : err.path) || err}`);\n }\n throw err;\n }\n if (isResponse(json)) throw json;\n return `export function loader() { return ${JSON.stringify(json)} }`;\n },\n async handlePage(param, fetchStaticHtml) {\n var { route, url, loaderProps } = param;\n var routeBuildInfo = routeToBuildInfo[route.file];\n if (route.type === \"ssr\") {\n if (!routeBuildInfo) {\n console.error(`Error in route`, route);\n throw new Error(`No buildinfo found for ${url}, route: ${route.file}, in keys:\n ${Object.keys(routeToBuildInfo).join(\"\\n \")}`);\n }\n try {\n var _globalThis___vxrnresetState, _globalThis;\n var layoutRoutes = route.layouts || [];\n var layoutLoaderPromises = [];\n var noLoaderResults = [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = layoutRoutes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var layout = _step.value;\n var cacheKey = layout.contextKey || \"\";\n var cachedLoader = loaderCache.get(cacheKey);\n if (cachedLoader === null) {\n noLoaderResults.push({\n loaderData: void 0,\n routeId: layout.contextKey\n });\n } else {\n layoutLoaderPromises.push(importAndRunLoader(layout.contextKey, layout.contextKey, loaderProps, true));\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var pageLoaderPromise = importAndRunLoader(route.file, route.file, loaderProps, true);\n var layoutResults;\n var pageResult;\n try {\n if (layoutLoaderPromises.length === 0) {\n layoutResults = noLoaderResults;\n pageResult = await pageLoaderPromise;\n } else {\n var [asyncLayoutResults, pr] = await Promise.all([\n Promise.all(layoutLoaderPromises),\n pageLoaderPromise\n ]);\n layoutResults = [\n ...noLoaderResults,\n ...asyncLayoutResults\n ];\n pageResult = pr;\n }\n } catch (err) {\n if (isResponse(err)) return err;\n throw err;\n }\n if (pageResult.isEnoent) {\n var nfPath = findNearestNotFoundPath((loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\");\n var nfHtml = routeMap === null || routeMap === void 0 ? void 0 : routeMap[nfPath];\n if (nfHtml) {\n var html = await readStaticHtml(nfHtml, fetchStaticHtml);\n if (html) {\n return new Response(html, {\n headers: {\n \"content-type\": \"text/html\"\n },\n status: 404\n });\n }\n }\n return new Response(\"404 Not Found\", {\n status: 404\n });\n }\n var matchPathname = (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\";\n var matchParams = (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.params) || {};\n var matches = new Array(layoutResults.length + 1);\n for (var i = 0; i < layoutResults.length; i++) {\n var result = layoutResults[i];\n matches[i] = {\n routeId: result.routeId,\n pathname: matchPathname,\n params: matchParams,\n loaderData: result.loaderData\n };\n }\n matches[layoutResults.length] = {\n routeId: pageResult.routeId,\n pathname: matchPathname,\n params: matchParams,\n loaderData: pageResult.loaderData\n };\n var loaderData = pageResult.loaderData;\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n var _loop = function() {\n var layout2 = _step1.value;\n var key = layout2.contextKey;\n var loaderFn = loaderCache.get(key);\n if (loaderFn) {\n var result2 = layoutResults.find(function(r) {\n return r.routeId === key;\n });\n if (result2) setSSRLoaderData(loaderFn, result2.loaderData);\n }\n };\n for (var _iterator1 = layoutRoutes[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _loop();\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n var pageLoaderFn = loaderCache.get(route.file);\n if (pageLoaderFn) setSSRLoaderData(pageLoaderFn, pageResult.loaderData);\n (_globalThis___vxrnresetState = (_globalThis = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState === void 0 ? void 0 : _globalThis___vxrnresetState.call(_globalThis);\n var renderProps = {\n mode: route.type,\n loaderData,\n loaderProps,\n path: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\",\n preloads: routeBuildInfo.criticalPreloads || routeBuildInfo.preloads,\n deferredPreloads: routeBuildInfo.deferredPreloads,\n css: routeBuildInfo.css,\n cssContents: routeBuildInfo.cssContents,\n matches\n };\n var _rl = ensureRenderLoaded();\n if (_rl) await _rl;\n var status = route.isNotFound ? 404 : 200;\n var responseHeaders = route.isNotFound ? htmlHeaders : ssrHtmlHeaders;\n if (useStreaming) {\n var stream = await renderStream(renderProps);\n return new Response(stream, {\n headers: responseHeaders,\n status\n });\n }\n var rendered = await render(renderProps);\n return new Response(rendered, {\n headers: responseHeaders,\n status\n });\n } catch (err) {\n var _ref;\n if (isResponse(err)) return err;\n console.error(`[one] Error rendering SSR route ${route.file}\n${(_ref = err === null || err === void 0 ? void 0 : err[\"stack\"]) !== null && _ref !== void 0 ? _ref : err}\nurl: ${url}`);\n return null;\n }\n } else {\n var layoutRoutes1 = route.layouts || [];\n var needsSpaShell = route.type === \"spa\" && layoutRoutes1.some(function(layout2) {\n return layout2.layoutRenderMode === \"ssg\" || layout2.layoutRenderMode === \"ssr\";\n });\n if (needsSpaShell) {\n try {\n var _globalThis___vxrnresetState1, _globalThis1;\n var layoutResults1 = await Promise.all(layoutRoutes1.map(function(layout2) {\n return importAndRunLoader(layout2.contextKey, layout2.contextKey, loaderProps);\n }));\n var matches1 = layoutResults1.map(function(result2) {\n return {\n routeId: result2.routeId,\n pathname: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\",\n params: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.params) || {},\n loaderData: result2.loaderData\n };\n });\n (_globalThis___vxrnresetState1 = (_globalThis1 = globalThis)[\"__vxrnresetState\"]) === null || _globalThis___vxrnresetState1 === void 0 ? void 0 : _globalThis___vxrnresetState1.call(_globalThis1);\n var _rl1 = ensureRenderLoaded();\n if (_rl1) await _rl1;\n var spaRouteBuildInfo = routeToBuildInfo[route.file];\n var rendered1 = await render({\n mode: \"spa-shell\",\n loaderData: void 0,\n loaderProps,\n path: (loaderProps === null || loaderProps === void 0 ? void 0 : loaderProps.path) || \"/\",\n preloads: (spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.criticalPreloads) || (spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.preloads),\n deferredPreloads: spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.deferredPreloads,\n css: spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.css,\n cssContents: spaRouteBuildInfo === null || spaRouteBuildInfo === void 0 ? void 0 : spaRouteBuildInfo.cssContents,\n matches: matches1\n });\n return new Response(rendered1, {\n headers: htmlHeaders,\n status: route.isNotFound ? 404 : 200\n });\n } catch (err) {\n var _ref1;\n if (isResponse(err)) return err;\n console.error(`[one] Error rendering spa-shell for ${route.file}\n${(_ref1 = err === null || err === void 0 ? void 0 : err[\"stack\"]) !== null && _ref1 !== void 0 ? _ref1 : err}\nurl: ${url}`);\n }\n }\n var isDynamicRoute = Object.keys(route.routeKeys).length > 0;\n var routeCleanPath = route.urlCleanPath.replace(/\\?/g, \"\");\n var notFoundKey = route.isNotFound ? route.page.replace(/\\[([^\\]]+)\\]/g, \":$1\") : null;\n var htmlPath = notFoundKey ? routeMap === null || routeMap === void 0 ? void 0 : routeMap[notFoundKey] : isDynamicRoute ? (routeMap === null || routeMap === void 0 ? void 0 : routeMap[routeCleanPath]) || (routeMap === null || routeMap === void 0 ? void 0 : routeMap[url.pathname]) : (routeMap === null || routeMap === void 0 ? void 0 : routeMap[url.pathname]) || (routeMap === null || routeMap === void 0 ? void 0 : routeMap[routeBuildInfo === null || routeBuildInfo === void 0 ? void 0 : routeBuildInfo.cleanPath]);\n if (htmlPath) {\n var html1 = await readStaticHtml(htmlPath, fetchStaticHtml);\n if (html1) {\n return new Response(html1, {\n headers: htmlHeaders,\n status: route.isNotFound ? 404 : 200\n });\n }\n }\n if (isDynamicRoute) {\n var notFoundRoute = findNearestNotFoundPath(url.pathname);\n var notFoundHtmlPath = routeMap === null || routeMap === void 0 ? void 0 : routeMap[notFoundRoute];\n if (notFoundHtmlPath) {\n var notFoundHtml = await readStaticHtml(notFoundHtmlPath, fetchStaticHtml);\n if (notFoundHtml) {\n var notFoundMarker = `<script>window.__one404=${JSON.stringify({\n originalPath: url.pathname,\n notFoundPath: notFoundRoute\n })}</script>`;\n var injectedHtml = notFoundHtml.includes(\"</head>\") ? notFoundHtml.replace(\"</head>\", `${notFoundMarker}</head>`) : notFoundHtml.replace(\"<body\", `${notFoundMarker}<body`);\n return new Response(injectedHtml, {\n headers: htmlHeaders,\n status: 404\n });\n }\n }\n return new Response(\"404 Not Found\", {\n status: 404\n });\n }\n return null;\n }\n }\n };\n function setCacheHeaders(response, route, isAPI) {\n if (!response.headers.has(\"cache-control\") && !response.headers.has(\"Cache-Control\")) {\n try {\n if (isAPI) {\n response.headers.set(\"cache-control\", \"no-store\");\n } else if (route.type === \"ssg\" || route.type === \"spa\") {\n response.headers.set(\"cache-control\", \"public, s-maxage=60, stale-while-revalidate=120\");\n } else {\n response.headers.set(\"cache-control\", \"no-cache\");\n }\n } catch (unused) {\n }\n }\n return response;\n }\n async function handleRequest(request, env, executionCtx, fetchStaticHtml) {\n var url = getURLfromRequestURL(request);\n var pathname = url.pathname;\n var method = request.method;\n if (compiledRedirects) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = compiledRedirects[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var redirect = _step.value;\n var match = redirect.regex.exec(pathname);\n if (match) {\n var destination = redirect.destination;\n if (match.groups) {\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = Object.entries(match.groups)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var [name, value] = _step1.value;\n destination = destination.replace(`:${name}`, value);\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n if (debugRouter) console.info(`[one] \\u21AA redirect ${pathname} \\u2192 ${destination}`);\n return new Response(null, {\n status: redirect.permanent ? 301 : 302,\n headers: {\n location: new URL(destination, url.origin).toString()\n }\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n if (PRELOAD_JS_POSTFIX_REGEX.test(pathname)) {\n if (!currentPreloads[pathname]) {\n return new Response(\"\", {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n return null;\n }\n if (CSS_PRELOAD_JS_POSTFIX_REGEX.test(pathname)) {\n if (!(currentCssPreloads === null || currentCssPreloads === void 0 ? void 0 : currentCssPreloads[pathname])) {\n return new Response(\"export default Promise.resolve()\", {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n return null;\n }\n if (pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {\n var originalUrl = getPathFromLoaderPath(pathname);\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = compiledManifest.pageRoutes[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var route = _step2.value;\n if (route.file === \"\") continue;\n if (!route.compiledRegex.test(originalUrl)) continue;\n if (route.type === \"ssg\" && Object.keys(route.routeKeys).length > 0 && routeMap && !routeMap[originalUrl]) {\n return new Response(make404LoaderJs(originalUrl, \"ssg route not in routeMap\"), {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n if (route.hasLoader === false) {\n return new Response(\"export function loader() { return undefined }\", {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n var loaderRoute = {\n ...route,\n routeFile: route.file,\n file: route.loaderServerPath || pathname\n };\n var finalUrl = new URL(originalUrl, url.origin);\n finalUrl.search = url.search;\n var cleanedRequest = new Request(finalUrl, request);\n try {\n return await resolveLoaderRoute(requestHandlers, cleanedRequest, finalUrl, loaderRoute);\n } catch (err) {\n if ((err === null || err === void 0 ? void 0 : err.code) === \"ERR_MODULE_NOT_FOUND\") {\n return new Response(\"export function loader() { return undefined }\", {\n headers: {\n \"Content-Type\": \"text/javascript\"\n }\n });\n }\n console.error(`Error running loader: ${err}`);\n return null;\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return null;\n }\n if (pathname.endsWith(\".js\") || pathname.endsWith(\".css\")) {\n return null;\n }\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = compiledManifest.apiRoutes[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var route1 = _step3.value;\n if (route1.compiledRegex.test(pathname)) {\n if (debugRouter) console.info(`[one] \\u26A1 ${pathname} \\u2192 matched API route: ${route1.page}`);\n var response = await resolveAPIRoute(requestHandlers, request, url, route1, env, executionCtx);\n if (response && isResponse(response)) {\n return setCacheHeaders(response, route1, true);\n }\n return null;\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n if (isPageRequestMethod(method)) {\n var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;\n try {\n var _loop = async function() {\n var route2 = _step4.value;\n var _route_middlewares;\n if (!route2.compiledRegex.test(pathname)) return \"continue\";\n if (debugRouter) {\n console.info(`[one] \\u26A1 ${pathname} \\u2192 matched page route: ${route2.page} (${route2.type})`);\n }\n if (route2.type === \"ssr\" && !((_route_middlewares = route2.middlewares) === null || _route_middlewares === void 0 ? void 0 : _route_middlewares.length)) {\n var params = {};\n var match2 = route2.compiledRegex.exec(pathname);\n if (match2 === null || match2 === void 0 ? void 0 : match2.groups) {\n var _iteratorNormalCompletion5 = true, _didIteratorError5 = false, _iteratorError5 = void 0;\n try {\n for (var _iterator5 = Object.entries(match2.groups)[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var [key, value2] = _step5.value;\n params[route2.routeKeys[key]] = value2;\n }\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5.return != null) {\n _iterator5.return();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n }\n var loaderProps = {\n path: pathname,\n search: url.search,\n subdomain: getSubdomain(url),\n request,\n params\n };\n var response2 = await resolveResponse(async function() {\n try {\n return await requestHandlers.handlePage({\n request,\n route: route2,\n url,\n loaderProps\n }, fetchStaticHtml);\n } catch (err) {\n if (isResponse(err)) return err;\n throw err;\n }\n });\n if (response2 && isResponse(response2)) {\n return {\n v: setCacheHeaders(response2, route2, false)\n };\n }\n return {\n v: null\n };\n }\n try {\n var pageHandlers = {\n ...requestHandlers,\n handlePage: function handlePage(props) {\n return requestHandlers.handlePage(props, fetchStaticHtml);\n }\n };\n var response1 = await resolvePageRoute(pageHandlers, request, url, route2);\n if (response1 && isResponse(response1)) {\n return {\n v: setCacheHeaders(response1, route2, false)\n };\n }\n } catch (err) {\n console.error(` [one] Error handling request: ${err[\"stack\"]}`);\n }\n return {\n v: null\n };\n };\n for (var _iterator4 = compiledManifest.pageRoutes[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var _ret = await _loop();\n if (_type_of(_ret) === \"object\") return _ret.v;\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n }\n return null;\n }\n function updateRoutes(newBuildInfo, newLazyRoutes) {\n compiledManifest = compileManifest(newBuildInfo.manifest);\n routeToBuildInfo = newBuildInfo.routeToBuildInfo;\n routeMap = newBuildInfo.routeMap;\n currentPreloads = newBuildInfo.preloads;\n currentCssPreloads = newBuildInfo.cssPreloads;\n if (newLazyRoutes) currentLazyRoutes = newLazyRoutes;\n loaderCache.clear();\n moduleImportCache.clear();\n loaderCacheFnMap.clear();\n loaderSearchSchemaMap.clear();\n pendingLoaderResults.clear();\n render = null;\n renderStream = null;\n renderLoading = null;\n entryLoading = null;\n }\n return {\n handleRequest,\n updateRoutes\n };\n}\nexport {\n createWorkerHandler\n};\n//# sourceMappingURL=workerHandler.js.map\n"],"mappings":"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"}
@@ -121,7 +121,7 @@ function generateWorkerdDevEntryModule(args) {
121
121
  }
122
122
  }
123
123
 
124
- import { serve, setFetchStaticHtml } from 'one/serve-worker'
124
+ import { serve } from 'one/serve-worker'
125
125
 
126
126
  const lazyRoutes = {
127
127
  serverEntry: () => import(${JSON.stringify(virtualEntryId)}),
@@ -152,50 +152,46 @@ export default {
152
152
  server = await serve(buildInfo, lazyRoutes, { disableModuleCache: true })
153
153
  }
154
154
 
155
- if (env && env.ASSETS) {
156
- setFetchStaticHtml(async (path) => {
157
- try {
158
- const assetUrl = new URL(request.url)
159
- assetUrl.pathname = path
160
- const assetResponse = await env.ASSETS.fetch(new Request(assetUrl))
161
- if (assetResponse && assetResponse.ok) {
162
- return await assetResponse.text()
163
- }
164
- } catch {}
165
- return null
166
- })
167
- }
168
-
169
- try {
170
- const response = await server.fetch(request, env, ctx)
171
-
172
- if (!response || response.status === 404) {
173
- if (env && env.ASSETS) {
155
+ const fetchStaticHtml = env && env.ASSETS
156
+ ? async (path) => {
174
157
  try {
175
- const assetResponse = await env.ASSETS.fetch(request)
176
- if (assetResponse && assetResponse.status !== 404) {
177
- return assetResponse
158
+ const assetUrl = new URL(request.url)
159
+ assetUrl.pathname = path
160
+ const assetResponse = await env.ASSETS.fetch(new Request(assetUrl))
161
+ if (assetResponse && assetResponse.ok) {
162
+ return await assetResponse.text()
178
163
  }
179
164
  } catch {}
165
+ return null
180
166
  }
181
- }
167
+ : undefined
182
168
 
183
- if (!response) {
184
- if (request.method === 'GET' || request.method === 'HEAD') {
185
- return new Response(
186
- '<!DOCTYPE html><html><head>' +
187
- ${JSON.stringify(spaPreloadScripts)} +
188
- '</head></html>',
189
- { headers: { 'content-type': 'text/html' } }
190
- )
191
- }
192
- return new Response('Not Found', { status: 404 })
169
+ const response = await server.fetch(request, env, ctx, fetchStaticHtml)
170
+
171
+ if (!response || response.status === 404) {
172
+ if (env && env.ASSETS) {
173
+ try {
174
+ const assetResponse = await env.ASSETS.fetch(request)
175
+ if (assetResponse && assetResponse.status !== 404) {
176
+ return assetResponse
177
+ }
178
+ } catch {}
193
179
  }
180
+ }
194
181
 
195
- return response
196
- } finally {
197
- setFetchStaticHtml(null)
182
+ if (!response) {
183
+ if (request.method === 'GET' || request.method === 'HEAD') {
184
+ return new Response(
185
+ '<!DOCTYPE html><html><head>' +
186
+ ${JSON.stringify(spaPreloadScripts)} +
187
+ '</head></html>',
188
+ { headers: { 'content-type': 'text/html' } }
189
+ )
190
+ }
191
+ return new Response('Not Found', { status: 404 })
198
192
  }
193
+
194
+ return response
199
195
  }
200
196
  }
201
197
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"workerdDevPlugin.js","names":[],"sources":["esm/vite/plugins/workerdDevPlugin.js"],"sourcesContent":["import { mkdirSync, writeFileSync } from \"node:fs\";\nimport { join, resolve } from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\nimport { resolvePath } from \"@vxrn/resolve\";\nimport { cloudflare } from \"@cloudflare/vite-plugin\";\nimport { getPlatformEnvDefine } from \"@vxrn/utils\";\nimport { exactRegex } from \"rolldown/filter\";\nimport { CACHE_KEY } from \"../../constants\";\nimport { virtalEntryIdClient, virtualEntryId } from \"./virtualEntryConstants\";\nimport { getManifest } from \"../getManifest\";\nimport { getRouterRootFromOneOptions } from \"../../utils/getRouterRootFromOneOptions\";\nimport { absorbedPackageAliases } from \"../../utils/absorbedPackages\";\nimport {\n createCloudflareWranglerConfig,\n getCloudflareProjectNameSync,\n loadUserWranglerConfigSync,\n shouldEnableWorkerdDev\n} from \"../cloudflareWranglerConfig\";\nconst workerdDevEntryId = \"virtual:one-workerd-dev-entry\";\nconst resolvedWorkerdDevEntryId = `\\0${workerdDevEntryId}`;\nconst WORKERD_DEV_DIR = \"node_modules/.one-workerd-dev\";\nfunction serveOnly(plugin) {\n const existing = plugin.apply;\n return {\n ...plugin,\n apply(config, env) {\n if (env.command !== \"serve\") return false;\n if (typeof existing === \"function\") return existing(config, env);\n if (existing === \"build\") return false;\n return true;\n }\n };\n}\nfunction toImportHref(root, routerRoot, routeFile) {\n const rel = routeFile.replace(/^\\.\\//, \"\");\n return pathToFileURL(resolve(root, routerRoot, rel)).href;\n}\nfunction serializeImportMap(entries) {\n return entries.map(\n ([key, href]) => ` ${JSON.stringify(key)}: () => import(${JSON.stringify(href)})`\n ).join(\",\\n\");\n}\nfunction stripRouteForWorker(route) {\n const { layouts, middlewares, ...rest } = route;\n return {\n ...rest,\n // live-render SSG in dev the same way the node middleware does\n type: route.type === \"ssg\" ? \"ssr\" : route.type,\n layouts: layouts?.map((layout) => ({\n contextKey: layout.contextKey\n })),\n middlewares: middlewares?.map((middleware) => ({\n contextKey: middleware.contextKey\n }))\n };\n}\nfunction stubRouteBuildInfo(route, preloads) {\n const pageType = route.type === \"ssg\" ? \"ssr\" : route.type;\n return {\n type: pageType,\n path: route.page,\n routeFile: route.file,\n middlewares: route.middlewares?.map((middleware) => middleware.contextKey) ?? [],\n preloadPath: \"\",\n cssPreloadPath: \"\",\n loaderPath: \"\",\n cleanPath: route.urlCleanPath || route.page,\n htmlPath: \"\",\n clientJsPath: \"\",\n serverJsPath: \"\",\n params: {},\n preloads,\n css: [],\n layoutCSS: []\n };\n}\nfunction generateWorkerdDevEntryModule(args) {\n const { root, options, routerRoot, routePaths, preloads } = args;\n const manifest = getManifest({\n routerRoot: resolve(root, routerRoot),\n ignoredRouteFiles: options.router?.ignoredRouteFiles,\n routePaths\n });\n if (!manifest) {\n throw new Error(\"[one] workerd dev: no routes manifest\");\n }\n const apiImports = /* @__PURE__ */ new Map();\n const middlewareImports = /* @__PURE__ */ new Map();\n const routeToBuildInfo = {};\n for (const route of manifest.pageRoutes) {\n for (const middleware of route.middlewares || []) {\n if (!middleware.contextKey || middlewareImports.has(middleware.contextKey)) continue;\n middlewareImports.set(\n middleware.contextKey,\n toImportHref(root, routerRoot, middleware.contextKey)\n );\n }\n if (route.file) {\n routeToBuildInfo[route.file] = stubRouteBuildInfo(route, preloads);\n }\n }\n for (const route of manifest.apiRoutes) {\n if (route.file) {\n apiImports.set(route.page, toImportHref(root, routerRoot, route.file));\n }\n for (const middleware of route.middlewares || []) {\n if (!middleware.contextKey || middlewareImports.has(middleware.contextKey)) continue;\n middlewareImports.set(\n middleware.contextKey,\n toImportHref(root, routerRoot, middleware.contextKey)\n );\n }\n }\n const pageRoutes = manifest.pageRoutes.map(stripRouteForWorker);\n const apiRoutes = manifest.apiRoutes.map(stripRouteForWorker);\n const buildInfo = {\n constants: { CACHE_KEY },\n oneOptions: options,\n routeToBuildInfo,\n pathToRoute: {},\n routeMap: {},\n manifest: {\n pageRoutes,\n apiRoutes,\n allRoutes: [...pageRoutes, ...apiRoutes]\n },\n preloads: Object.fromEntries(preloads.map((preload) => [preload, true])),\n cssPreloads: {},\n loaders: {}\n };\n const spaPreloadScripts = preloads.map((preload) => `<script type=\"module\" src=\"${preload}\"></script>`).join(\"\");\n return `if (typeof MessageChannel === 'undefined') {\n globalThis.MessageChannel = class MessageChannel {\n constructor() {\n this.port1 = { postMessage: () => {}, onmessage: null, close: () => {} }\n this.port2 = { postMessage: () => {}, onmessage: null, close: () => {} }\n }\n }\n}\n\nimport { serve, setFetchStaticHtml } from 'one/serve-worker'\n\nconst lazyRoutes = {\n serverEntry: () => import(${JSON.stringify(virtualEntryId)}),\n api: {\n${serializeImportMap([...apiImports])}\n },\n middlewares: {\n${serializeImportMap([...middlewareImports])}\n }\n}\n\nconst buildInfo = ${JSON.stringify(buildInfo)}\n\nlet server\n\nexport default {\n async fetch(request, env, ctx) {\n const url = new URL(request.url)\n const pathname = url.pathname\n\n if (pathname === '/status' || pathname.startsWith('/status?')) {\n return new Response('packager-status:running', {\n headers: { 'content-type': 'text/plain' },\n })\n }\n\n if (!server) {\n server = await serve(buildInfo, lazyRoutes, { disableModuleCache: true })\n }\n\n if (env && env.ASSETS) {\n setFetchStaticHtml(async (path) => {\n try {\n const assetUrl = new URL(request.url)\n assetUrl.pathname = path\n const assetResponse = await env.ASSETS.fetch(new Request(assetUrl))\n if (assetResponse && assetResponse.ok) {\n return await assetResponse.text()\n }\n } catch {}\n return null\n })\n }\n\n try {\n const response = await server.fetch(request, env, ctx)\n\n if (!response || response.status === 404) {\n if (env && env.ASSETS) {\n try {\n const assetResponse = await env.ASSETS.fetch(request)\n if (assetResponse && assetResponse.status !== 404) {\n return assetResponse\n }\n } catch {}\n }\n }\n\n if (!response) {\n if (request.method === 'GET' || request.method === 'HEAD') {\n return new Response(\n '<!DOCTYPE html><html><head>' +\n ${JSON.stringify(spaPreloadScripts)} +\n '</head></html>',\n { headers: { 'content-type': 'text/html' } }\n )\n }\n return new Response('Not Found', { status: 404 })\n }\n\n return response\n } finally {\n setFetchStaticHtml(null)\n }\n }\n}\n`;\n}\nfunction createWorkerdDevPlugins(options, root, routeIndex) {\n if (!shouldEnableWorkerdDev(options.web?.deploy, root)) {\n return [];\n }\n const cacheDir = join(root, WORKERD_DEV_DIR);\n const wranglerInputPath = join(cacheDir, \"_wrangler.input.jsonc\");\n const workerEntryPath = join(cacheDir, \"worker-entry.js\");\n mkdirSync(cacheDir, { recursive: true });\n writeFileSync(\n workerEntryPath,\n `export { default } from ${JSON.stringify(workerdDevEntryId)}\n`\n );\n const userWranglerConfig = loadUserWranglerConfigSync(root);\n const projectName = getCloudflareProjectNameSync(root);\n const wranglerInputConfig = createCloudflareWranglerConfig(\n projectName,\n userWranglerConfig?.config\n );\n wranglerInputConfig.main = \"worker-entry.js\";\n writeFileSync(wranglerInputPath, `${JSON.stringify(wranglerInputConfig, null, 2)}\n`);\n const preloads = options.web?.experimentalBundledDev ? [\"/bundledDevClient.mjs\", \"/assets/_virtual_one-entry.js\"] : [\"/@vite/client\", virtalEntryIdClient];\n const empty = resolvePath(\"@vxrn/utils/empty\", root);\n const absorbed = absorbedPackageAliases(root, \"web\");\n const preparePlugin = {\n name: \"one:workerd-dev-prepare\",\n apply: \"serve\",\n enforce: \"pre\",\n config() {\n return {\n environments: {\n worker: {\n define: {\n ...getPlatformEnvDefine(\"ssr\"),\n \"process.env.TAMAGUI_IS_SERVER\": JSON.stringify(\"1\"),\n \"process.env.TAMAGUI_KEEP_THEMES\": JSON.stringify(\"1\"),\n \"process.env.ONE_CACHE_KEY\": JSON.stringify(CACHE_KEY)\n },\n optimizeDeps: {\n include: [\n \"react\",\n \"react-dom\",\n \"react-dom/client\",\n \"react-dom/server.browser\",\n \"react/jsx-runtime\",\n \"react/jsx-dev-runtime\"\n ]\n },\n build: {\n rolldownOptions: {\n shimMissingExports: true\n }\n }\n }\n }\n };\n },\n // environment resolve options have no alias field; match the production\n // worker aliases with a worker-only resolveId (rolldown cannot parse RN Flow)\n resolveId: {\n filter: {\n id: /^(react-native(\\/|$|-safe-area-context$)|@react-native\\/assets-registry\\/registry$)/\n },\n handler(source) {\n if (this.environment.name !== \"worker\") return;\n if (/^react-native\\/Libraries\\//.test(source)) return empty;\n if (source === \"react-native/asset-registry\" || source === \"@react-native/assets-registry/registry\")\n return resolvePath(\"react-native-web/dist/modules/AssetRegistry\", root);\n if (source === \"react-native/package.json\")\n return resolvePath(\"react-native-web/package.json\", root);\n if (source === \"react-native\") return resolvePath(\"react-native-web\", root);\n if (source in absorbed) return absorbed[source];\n }\n },\n configureServer(server) {\n if (!server.environments.worker) {\n throw new Error(\n `[one] ONE_EXPERIMENTAL_WORKER_DEV=1 is set but @cloudflare/vite-plugin did not register a \"worker\" environment. Expected wrangler config at ${wranglerInputPath}.`\n );\n }\n console.info(\n \"[one] experimental workerd dev enabled (ONE_EXPERIMENTAL_WORKER_DEV=1)\"\n );\n }\n };\n const virtualPlugin = {\n name: \"one:workerd-dev-entry\",\n apply: \"serve\",\n resolveId: {\n filter: { id: exactRegex(workerdDevEntryId) },\n handler(id) {\n if (this.environment.name !== \"worker\") return;\n if (id === workerdDevEntryId) return resolvedWorkerdDevEntryId;\n }\n },\n load: {\n filter: { id: exactRegex(resolvedWorkerdDevEntryId) },\n handler() {\n if (this.environment.name !== \"worker\") return;\n return generateWorkerdDevEntryModule({\n root,\n options,\n routerRoot: getRouterRootFromOneOptions(options),\n routePaths: routeIndex.getPaths(),\n preloads\n });\n }\n },\n hotUpdate({ file }) {\n if (this.environment.name !== \"worker\") return;\n const graph = this.environment.moduleGraph;\n const entry = graph.getModuleById(resolvedWorkerdDevEntryId);\n if (!entry) return;\n const modules = graph.getModulesByFile(file);\n if (!modules?.size) return;\n graph.invalidateModule(entry);\n }\n };\n const cloudflarePlugins = cloudflare({\n configPath: wranglerInputPath,\n viteEnvironment: { name: \"worker\" }\n }).map(serveOnly);\n return [preparePlugin, virtualPlugin, ...cloudflarePlugins];\n}\nexport {\n createWorkerdDevPlugins,\n generateWorkerdDevEntryModule,\n shouldEnableWorkerdDev,\n workerdDevEntryId\n};\n//# sourceMappingURL=workerdDevPlugin.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"workerdDevPlugin.js","names":[],"sources":["esm/vite/plugins/workerdDevPlugin.js"],"sourcesContent":["import { mkdirSync, writeFileSync } from \"node:fs\";\nimport { join, resolve } from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\nimport { resolvePath } from \"@vxrn/resolve\";\nimport { cloudflare } from \"@cloudflare/vite-plugin\";\nimport { getPlatformEnvDefine } from \"@vxrn/utils\";\nimport { exactRegex } from \"rolldown/filter\";\nimport { CACHE_KEY } from \"../../constants\";\nimport { virtalEntryIdClient, virtualEntryId } from \"./virtualEntryConstants\";\nimport { getManifest } from \"../getManifest\";\nimport { getRouterRootFromOneOptions } from \"../../utils/getRouterRootFromOneOptions\";\nimport { absorbedPackageAliases } from \"../../utils/absorbedPackages\";\nimport {\n createCloudflareWranglerConfig,\n getCloudflareProjectNameSync,\n loadUserWranglerConfigSync,\n shouldEnableWorkerdDev\n} from \"../cloudflareWranglerConfig\";\nconst workerdDevEntryId = \"virtual:one-workerd-dev-entry\";\nconst resolvedWorkerdDevEntryId = `\\0${workerdDevEntryId}`;\nconst WORKERD_DEV_DIR = \"node_modules/.one-workerd-dev\";\nfunction serveOnly(plugin) {\n const existing = plugin.apply;\n return {\n ...plugin,\n apply(config, env) {\n if (env.command !== \"serve\") return false;\n if (typeof existing === \"function\") return existing(config, env);\n if (existing === \"build\") return false;\n return true;\n }\n };\n}\nfunction toImportHref(root, routerRoot, routeFile) {\n const rel = routeFile.replace(/^\\.\\//, \"\");\n return pathToFileURL(resolve(root, routerRoot, rel)).href;\n}\nfunction serializeImportMap(entries) {\n return entries.map(\n ([key, href]) => ` ${JSON.stringify(key)}: () => import(${JSON.stringify(href)})`\n ).join(\",\\n\");\n}\nfunction stripRouteForWorker(route) {\n const { layouts, middlewares, ...rest } = route;\n return {\n ...rest,\n // live-render SSG in dev the same way the node middleware does\n type: route.type === \"ssg\" ? \"ssr\" : route.type,\n layouts: layouts?.map((layout) => ({\n contextKey: layout.contextKey\n })),\n middlewares: middlewares?.map((middleware) => ({\n contextKey: middleware.contextKey\n }))\n };\n}\nfunction stubRouteBuildInfo(route, preloads) {\n const pageType = route.type === \"ssg\" ? \"ssr\" : route.type;\n return {\n type: pageType,\n path: route.page,\n routeFile: route.file,\n middlewares: route.middlewares?.map((middleware) => middleware.contextKey) ?? [],\n preloadPath: \"\",\n cssPreloadPath: \"\",\n loaderPath: \"\",\n cleanPath: route.urlCleanPath || route.page,\n htmlPath: \"\",\n clientJsPath: \"\",\n serverJsPath: \"\",\n params: {},\n preloads,\n css: [],\n layoutCSS: []\n };\n}\nfunction generateWorkerdDevEntryModule(args) {\n const { root, options, routerRoot, routePaths, preloads } = args;\n const manifest = getManifest({\n routerRoot: resolve(root, routerRoot),\n ignoredRouteFiles: options.router?.ignoredRouteFiles,\n routePaths\n });\n if (!manifest) {\n throw new Error(\"[one] workerd dev: no routes manifest\");\n }\n const apiImports = /* @__PURE__ */ new Map();\n const middlewareImports = /* @__PURE__ */ new Map();\n const routeToBuildInfo = {};\n for (const route of manifest.pageRoutes) {\n for (const middleware of route.middlewares || []) {\n if (!middleware.contextKey || middlewareImports.has(middleware.contextKey)) continue;\n middlewareImports.set(\n middleware.contextKey,\n toImportHref(root, routerRoot, middleware.contextKey)\n );\n }\n if (route.file) {\n routeToBuildInfo[route.file] = stubRouteBuildInfo(route, preloads);\n }\n }\n for (const route of manifest.apiRoutes) {\n if (route.file) {\n apiImports.set(route.page, toImportHref(root, routerRoot, route.file));\n }\n for (const middleware of route.middlewares || []) {\n if (!middleware.contextKey || middlewareImports.has(middleware.contextKey)) continue;\n middlewareImports.set(\n middleware.contextKey,\n toImportHref(root, routerRoot, middleware.contextKey)\n );\n }\n }\n const pageRoutes = manifest.pageRoutes.map(stripRouteForWorker);\n const apiRoutes = manifest.apiRoutes.map(stripRouteForWorker);\n const buildInfo = {\n constants: { CACHE_KEY },\n oneOptions: options,\n routeToBuildInfo,\n pathToRoute: {},\n routeMap: {},\n manifest: {\n pageRoutes,\n apiRoutes,\n allRoutes: [...pageRoutes, ...apiRoutes]\n },\n preloads: Object.fromEntries(preloads.map((preload) => [preload, true])),\n cssPreloads: {},\n loaders: {}\n };\n const spaPreloadScripts = preloads.map((preload) => `<script type=\"module\" src=\"${preload}\"></script>`).join(\"\");\n return `if (typeof MessageChannel === 'undefined') {\n globalThis.MessageChannel = class MessageChannel {\n constructor() {\n this.port1 = { postMessage: () => {}, onmessage: null, close: () => {} }\n this.port2 = { postMessage: () => {}, onmessage: null, close: () => {} }\n }\n }\n}\n\nimport { serve } from 'one/serve-worker'\n\nconst lazyRoutes = {\n serverEntry: () => import(${JSON.stringify(virtualEntryId)}),\n api: {\n${serializeImportMap([...apiImports])}\n },\n middlewares: {\n${serializeImportMap([...middlewareImports])}\n }\n}\n\nconst buildInfo = ${JSON.stringify(buildInfo)}\n\nlet server\n\nexport default {\n async fetch(request, env, ctx) {\n const url = new URL(request.url)\n const pathname = url.pathname\n\n if (pathname === '/status' || pathname.startsWith('/status?')) {\n return new Response('packager-status:running', {\n headers: { 'content-type': 'text/plain' },\n })\n }\n\n if (!server) {\n server = await serve(buildInfo, lazyRoutes, { disableModuleCache: true })\n }\n\n const fetchStaticHtml = env && env.ASSETS\n ? async (path) => {\n try {\n const assetUrl = new URL(request.url)\n assetUrl.pathname = path\n const assetResponse = await env.ASSETS.fetch(new Request(assetUrl))\n if (assetResponse && assetResponse.ok) {\n return await assetResponse.text()\n }\n } catch {}\n return null\n }\n : undefined\n\n const response = await server.fetch(request, env, ctx, fetchStaticHtml)\n\n if (!response || response.status === 404) {\n if (env && env.ASSETS) {\n try {\n const assetResponse = await env.ASSETS.fetch(request)\n if (assetResponse && assetResponse.status !== 404) {\n return assetResponse\n }\n } catch {}\n }\n }\n\n if (!response) {\n if (request.method === 'GET' || request.method === 'HEAD') {\n return new Response(\n '<!DOCTYPE html><html><head>' +\n ${JSON.stringify(spaPreloadScripts)} +\n '</head></html>',\n { headers: { 'content-type': 'text/html' } }\n )\n }\n return new Response('Not Found', { status: 404 })\n }\n\n return response\n }\n}\n`;\n}\nfunction createWorkerdDevPlugins(options, root, routeIndex) {\n if (!shouldEnableWorkerdDev(options.web?.deploy, root)) {\n return [];\n }\n const cacheDir = join(root, WORKERD_DEV_DIR);\n const wranglerInputPath = join(cacheDir, \"_wrangler.input.jsonc\");\n const workerEntryPath = join(cacheDir, \"worker-entry.js\");\n mkdirSync(cacheDir, { recursive: true });\n writeFileSync(\n workerEntryPath,\n `export { default } from ${JSON.stringify(workerdDevEntryId)}\n`\n );\n const userWranglerConfig = loadUserWranglerConfigSync(root);\n const projectName = getCloudflareProjectNameSync(root);\n const wranglerInputConfig = createCloudflareWranglerConfig(\n projectName,\n userWranglerConfig?.config\n );\n wranglerInputConfig.main = \"worker-entry.js\";\n writeFileSync(wranglerInputPath, `${JSON.stringify(wranglerInputConfig, null, 2)}\n`);\n const preloads = options.web?.experimentalBundledDev ? [\"/bundledDevClient.mjs\", \"/assets/_virtual_one-entry.js\"] : [\"/@vite/client\", virtalEntryIdClient];\n const empty = resolvePath(\"@vxrn/utils/empty\", root);\n const absorbed = absorbedPackageAliases(root, \"web\");\n const preparePlugin = {\n name: \"one:workerd-dev-prepare\",\n apply: \"serve\",\n enforce: \"pre\",\n config() {\n return {\n environments: {\n worker: {\n define: {\n ...getPlatformEnvDefine(\"ssr\"),\n \"process.env.TAMAGUI_IS_SERVER\": JSON.stringify(\"1\"),\n \"process.env.TAMAGUI_KEEP_THEMES\": JSON.stringify(\"1\"),\n \"process.env.ONE_CACHE_KEY\": JSON.stringify(CACHE_KEY)\n },\n optimizeDeps: {\n include: [\n \"react\",\n \"react-dom\",\n \"react-dom/client\",\n \"react-dom/server.browser\",\n \"react/jsx-runtime\",\n \"react/jsx-dev-runtime\"\n ]\n },\n build: {\n rolldownOptions: {\n shimMissingExports: true\n }\n }\n }\n }\n };\n },\n // environment resolve options have no alias field; match the production\n // worker aliases with a worker-only resolveId (rolldown cannot parse RN Flow)\n resolveId: {\n filter: {\n id: /^(react-native(\\/|$|-safe-area-context$)|@react-native\\/assets-registry\\/registry$)/\n },\n handler(source) {\n if (this.environment.name !== \"worker\") return;\n if (/^react-native\\/Libraries\\//.test(source)) return empty;\n if (source === \"react-native/asset-registry\" || source === \"@react-native/assets-registry/registry\")\n return resolvePath(\"react-native-web/dist/modules/AssetRegistry\", root);\n if (source === \"react-native/package.json\")\n return resolvePath(\"react-native-web/package.json\", root);\n if (source === \"react-native\") return resolvePath(\"react-native-web\", root);\n if (source in absorbed) return absorbed[source];\n }\n },\n configureServer(server) {\n if (!server.environments.worker) {\n throw new Error(\n `[one] ONE_EXPERIMENTAL_WORKER_DEV=1 is set but @cloudflare/vite-plugin did not register a \"worker\" environment. Expected wrangler config at ${wranglerInputPath}.`\n );\n }\n console.info(\n \"[one] experimental workerd dev enabled (ONE_EXPERIMENTAL_WORKER_DEV=1)\"\n );\n }\n };\n const virtualPlugin = {\n name: \"one:workerd-dev-entry\",\n apply: \"serve\",\n resolveId: {\n filter: { id: exactRegex(workerdDevEntryId) },\n handler(id) {\n if (this.environment.name !== \"worker\") return;\n if (id === workerdDevEntryId) return resolvedWorkerdDevEntryId;\n }\n },\n load: {\n filter: { id: exactRegex(resolvedWorkerdDevEntryId) },\n handler() {\n if (this.environment.name !== \"worker\") return;\n return generateWorkerdDevEntryModule({\n root,\n options,\n routerRoot: getRouterRootFromOneOptions(options),\n routePaths: routeIndex.getPaths(),\n preloads\n });\n }\n },\n hotUpdate({ file }) {\n if (this.environment.name !== \"worker\") return;\n const graph = this.environment.moduleGraph;\n const entry = graph.getModuleById(resolvedWorkerdDevEntryId);\n if (!entry) return;\n const modules = graph.getModulesByFile(file);\n if (!modules?.size) return;\n graph.invalidateModule(entry);\n }\n };\n const cloudflarePlugins = cloudflare({\n configPath: wranglerInputPath,\n viteEnvironment: { name: \"worker\" }\n }).map(serveOnly);\n return [preparePlugin, virtualPlugin, ...cloudflarePlugins];\n}\nexport {\n createWorkerdDevPlugins,\n generateWorkerdDevEntryModule,\n shouldEnableWorkerdDev,\n workerdDevEntryId\n};\n//# sourceMappingURL=workerdDevPlugin.js.map\n"],"mappings":"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"}
@@ -205,7 +205,7 @@ function generateWorkerdDevEntryModule(args) {
205
205
  }
206
206
  }
207
207
 
208
- import { serve, setFetchStaticHtml } from 'one/serve-worker'
208
+ import { serve } from 'one/serve-worker'
209
209
 
210
210
  const lazyRoutes = {
211
211
  serverEntry: () => import(${JSON.stringify(virtualEntryId)}),
@@ -236,50 +236,46 @@ export default {
236
236
  server = await serve(buildInfo, lazyRoutes, { disableModuleCache: true })
237
237
  }
238
238
 
239
- if (env && env.ASSETS) {
240
- setFetchStaticHtml(async (path) => {
241
- try {
242
- const assetUrl = new URL(request.url)
243
- assetUrl.pathname = path
244
- const assetResponse = await env.ASSETS.fetch(new Request(assetUrl))
245
- if (assetResponse && assetResponse.ok) {
246
- return await assetResponse.text()
247
- }
248
- } catch {}
249
- return null
250
- })
251
- }
252
-
253
- try {
254
- const response = await server.fetch(request, env, ctx)
255
-
256
- if (!response || response.status === 404) {
257
- if (env && env.ASSETS) {
239
+ const fetchStaticHtml = env && env.ASSETS
240
+ ? async (path) => {
258
241
  try {
259
- const assetResponse = await env.ASSETS.fetch(request)
260
- if (assetResponse && assetResponse.status !== 404) {
261
- return assetResponse
242
+ const assetUrl = new URL(request.url)
243
+ assetUrl.pathname = path
244
+ const assetResponse = await env.ASSETS.fetch(new Request(assetUrl))
245
+ if (assetResponse && assetResponse.ok) {
246
+ return await assetResponse.text()
262
247
  }
263
248
  } catch {}
249
+ return null
264
250
  }
265
- }
251
+ : undefined
266
252
 
267
- if (!response) {
268
- if (request.method === 'GET' || request.method === 'HEAD') {
269
- return new Response(
270
- '<!DOCTYPE html><html><head>' +
271
- ${JSON.stringify(spaPreloadScripts)} +
272
- '</head></html>',
273
- { headers: { 'content-type': 'text/html' } }
274
- )
275
- }
276
- return new Response('Not Found', { status: 404 })
253
+ const response = await server.fetch(request, env, ctx, fetchStaticHtml)
254
+
255
+ if (!response || response.status === 404) {
256
+ if (env && env.ASSETS) {
257
+ try {
258
+ const assetResponse = await env.ASSETS.fetch(request)
259
+ if (assetResponse && assetResponse.status !== 404) {
260
+ return assetResponse
261
+ }
262
+ } catch {}
277
263
  }
264
+ }
278
265
 
279
- return response
280
- } finally {
281
- setFetchStaticHtml(null)
266
+ if (!response) {
267
+ if (request.method === 'GET' || request.method === 'HEAD') {
268
+ return new Response(
269
+ '<!DOCTYPE html><html><head>' +
270
+ ${JSON.stringify(spaPreloadScripts)} +
271
+ '</head></html>',
272
+ { headers: { 'content-type': 'text/html' } }
273
+ )
274
+ }
275
+ return new Response('Not Found', { status: 404 })
282
276
  }
277
+
278
+ return response
283
279
  }
284
280
  }
285
281
  `;