one 1.1.380 → 1.1.382

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 (329) hide show
  1. package/dist/cjs/Route.js.map +1 -1
  2. package/dist/cjs/Route.native.js.map +1 -1
  3. package/dist/cjs/cli/build.cjs +104 -71
  4. package/dist/cjs/cli/build.js +83 -43
  5. package/dist/cjs/cli/build.js.map +2 -2
  6. package/dist/cjs/cli/build.native.js +164 -69
  7. package/dist/cjs/cli/build.native.js.map +2 -2
  8. package/dist/cjs/cli/{run.cjs → dev.cjs} +7 -8
  9. package/dist/cjs/cli/{run.js → dev.js} +7 -8
  10. package/dist/cjs/cli/dev.js.map +6 -0
  11. package/dist/cjs/cli/{run.native.js → dev.native.js} +8 -9
  12. package/dist/cjs/cli/dev.native.js.map +6 -0
  13. package/dist/cjs/cli/main.cjs +2 -2
  14. package/dist/cjs/cli/main.js +2 -2
  15. package/dist/cjs/cli/main.native.js +2 -2
  16. package/dist/cjs/cli/main.native.js.map +1 -1
  17. package/dist/cjs/cli.cjs +3 -7
  18. package/dist/cjs/cli.js +2 -6
  19. package/dist/cjs/cli.js.map +2 -2
  20. package/dist/cjs/cli.native.js +2 -6
  21. package/dist/cjs/cli.native.js.map +2 -2
  22. package/dist/cjs/constants.cjs +3 -1
  23. package/dist/cjs/constants.js +2 -1
  24. package/dist/cjs/constants.js.map +1 -1
  25. package/dist/cjs/constants.native.js +3 -1
  26. package/dist/cjs/constants.native.js.map +2 -2
  27. package/dist/cjs/createHandleRequest.cjs +124 -87
  28. package/dist/cjs/createHandleRequest.js +129 -81
  29. package/dist/cjs/createHandleRequest.js.map +1 -1
  30. package/dist/cjs/createHandleRequest.native.js +153 -96
  31. package/dist/cjs/createHandleRequest.native.js.map +2 -2
  32. package/dist/cjs/createMiddleware.cjs +28 -0
  33. package/dist/cjs/createMiddleware.js +23 -0
  34. package/dist/cjs/createMiddleware.js.map +6 -0
  35. package/dist/cjs/createMiddleware.native.js +28 -0
  36. package/dist/cjs/createMiddleware.native.js.map +6 -0
  37. package/dist/cjs/getRoutes.cjs +11 -18
  38. package/dist/cjs/getRoutes.js +13 -19
  39. package/dist/cjs/getRoutes.js.map +1 -1
  40. package/dist/cjs/getRoutes.native.js +20 -26
  41. package/dist/cjs/getRoutes.native.js.map +2 -2
  42. package/dist/cjs/index.cjs +2 -0
  43. package/dist/cjs/index.js +2 -1
  44. package/dist/cjs/index.js.map +1 -1
  45. package/dist/cjs/index.native.js +3 -1
  46. package/dist/cjs/index.native.js.map +1 -1
  47. package/dist/cjs/router/router.js.map +1 -1
  48. package/dist/cjs/router/router.native.js.map +1 -1
  49. package/dist/cjs/serve-worker.cjs +5 -3
  50. package/dist/cjs/serve-worker.js +3 -3
  51. package/dist/cjs/serve-worker.js.map +1 -1
  52. package/dist/cjs/serve-worker.native.js +3 -3
  53. package/dist/cjs/serve-worker.native.js.map +2 -2
  54. package/dist/cjs/serve.cjs +12 -14
  55. package/dist/cjs/serve.js +12 -13
  56. package/dist/cjs/serve.js.map +1 -1
  57. package/dist/cjs/serve.native.js +12 -13
  58. package/dist/cjs/serve.native.js.map +2 -2
  59. package/dist/cjs/server/createRoutesManifest.js.map +1 -1
  60. package/dist/cjs/server/createRoutesManifest.native.js.map +1 -1
  61. package/dist/cjs/server/getServerManifest.cjs +7 -2
  62. package/dist/cjs/server/getServerManifest.js +7 -2
  63. package/dist/cjs/server/getServerManifest.js.map +1 -1
  64. package/dist/cjs/server/getServerManifest.native.js +23 -3
  65. package/dist/cjs/server/getServerManifest.native.js.map +2 -2
  66. package/dist/cjs/server/oneServe.cjs +82 -83
  67. package/dist/cjs/server/oneServe.js +95 -110
  68. package/dist/cjs/server/oneServe.js.map +2 -2
  69. package/dist/cjs/server/oneServe.native.js +101 -87
  70. package/dist/cjs/server/oneServe.native.js.map +2 -2
  71. package/dist/cjs/utils/getHonoPath.cjs +28 -0
  72. package/dist/cjs/utils/getHonoPath.js +23 -0
  73. package/dist/cjs/utils/getHonoPath.js.map +6 -0
  74. package/dist/cjs/utils/getHonoPath.native.js +28 -0
  75. package/dist/cjs/utils/getHonoPath.native.js.map +6 -0
  76. package/dist/cjs/utils/toAbsolute.cjs +27 -0
  77. package/dist/cjs/utils/toAbsolute.js +22 -0
  78. package/dist/cjs/utils/toAbsolute.js.map +6 -0
  79. package/dist/cjs/utils/toAbsolute.native.js +28 -0
  80. package/dist/cjs/utils/toAbsolute.native.js.map +6 -0
  81. package/dist/cjs/vite/one.cjs +7 -5
  82. package/dist/cjs/vite/one.js +7 -4
  83. package/dist/cjs/vite/one.js.map +1 -1
  84. package/dist/cjs/vite/one.native.js +8 -5
  85. package/dist/cjs/vite/one.native.js.map +2 -2
  86. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +7 -8
  87. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +8 -9
  88. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  89. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +8 -7
  90. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +2 -2
  91. package/dist/cjs/vite/resolveResponse.cjs +100 -0
  92. package/dist/cjs/vite/resolveResponse.js +79 -0
  93. package/dist/cjs/vite/resolveResponse.js.map +6 -0
  94. package/dist/cjs/vite/resolveResponse.native.js +94 -0
  95. package/dist/cjs/vite/resolveResponse.native.js.map +6 -0
  96. package/dist/cjs/vite/{headers.cjs → server.cjs} +5 -5
  97. package/dist/cjs/vite/{headers.js → server.js} +6 -6
  98. package/dist/cjs/vite/{headers.js.map → server.js.map} +2 -2
  99. package/dist/cjs/vite/{headers.native.js → server.native.js} +7 -7
  100. package/dist/cjs/vite/{headers.native.js.map → server.native.js.map} +3 -3
  101. package/dist/cjs/vite/types.native.js.map +1 -1
  102. package/dist/cjs/vite.cjs +2 -2
  103. package/dist/cjs/vite.js +2 -2
  104. package/dist/cjs/vite.js.map +1 -1
  105. package/dist/cjs/vite.native.js +3 -3
  106. package/dist/cjs/vite.native.js.map +1 -1
  107. package/dist/esm/Route.js.map +1 -1
  108. package/dist/esm/Route.mjs.map +1 -1
  109. package/dist/esm/Route.native.js.map +1 -1
  110. package/dist/esm/cli/build.js +81 -40
  111. package/dist/esm/cli/build.js.map +1 -1
  112. package/dist/esm/cli/build.mjs +101 -68
  113. package/dist/esm/cli/build.mjs.map +1 -1
  114. package/dist/esm/cli/build.native.js +163 -67
  115. package/dist/esm/cli/build.native.js.map +2 -2
  116. package/dist/esm/cli/{run.js → dev.js} +4 -5
  117. package/dist/esm/cli/dev.js.map +6 -0
  118. package/dist/esm/cli/{run.mjs → dev.mjs} +5 -6
  119. package/dist/esm/cli/dev.mjs.map +1 -0
  120. package/dist/esm/cli/{run.native.js → dev.native.js} +4 -5
  121. package/dist/esm/cli/dev.native.js.map +6 -0
  122. package/dist/esm/cli/main.js +2 -2
  123. package/dist/esm/cli/main.mjs +2 -2
  124. package/dist/esm/cli/main.mjs.map +1 -1
  125. package/dist/esm/cli/main.native.js +2 -2
  126. package/dist/esm/cli/main.native.js.map +1 -1
  127. package/dist/esm/cli.js +2 -6
  128. package/dist/esm/cli.js.map +2 -2
  129. package/dist/esm/cli.mjs +3 -7
  130. package/dist/esm/cli.mjs.map +1 -1
  131. package/dist/esm/cli.native.js +2 -6
  132. package/dist/esm/cli.native.js.map +2 -2
  133. package/dist/esm/constants.js +2 -1
  134. package/dist/esm/constants.js.map +1 -1
  135. package/dist/esm/constants.mjs +3 -2
  136. package/dist/esm/constants.mjs.map +1 -1
  137. package/dist/esm/constants.native.js +2 -1
  138. package/dist/esm/constants.native.js.map +2 -2
  139. package/dist/esm/createHandleRequest.js +130 -81
  140. package/dist/esm/createHandleRequest.js.map +1 -1
  141. package/dist/esm/createHandleRequest.mjs +118 -86
  142. package/dist/esm/createHandleRequest.mjs.map +1 -1
  143. package/dist/esm/createHandleRequest.native.js +148 -95
  144. package/dist/esm/createHandleRequest.native.js.map +2 -2
  145. package/dist/esm/createMiddleware.js +7 -0
  146. package/dist/esm/createMiddleware.js.map +6 -0
  147. package/dist/esm/createMiddleware.mjs +5 -0
  148. package/dist/esm/createMiddleware.mjs.map +1 -0
  149. package/dist/esm/createMiddleware.native.js +7 -0
  150. package/dist/esm/createMiddleware.native.js.map +6 -0
  151. package/dist/esm/getRoutes.js +13 -19
  152. package/dist/esm/getRoutes.js.map +1 -1
  153. package/dist/esm/getRoutes.mjs +12 -18
  154. package/dist/esm/getRoutes.mjs.map +1 -1
  155. package/dist/esm/getRoutes.native.js +20 -25
  156. package/dist/esm/getRoutes.native.js.map +2 -2
  157. package/dist/esm/index.js +2 -0
  158. package/dist/esm/index.js.map +1 -1
  159. package/dist/esm/index.mjs +2 -1
  160. package/dist/esm/index.mjs.map +1 -1
  161. package/dist/esm/index.native.js +2 -0
  162. package/dist/esm/index.native.js.map +2 -2
  163. package/dist/esm/router/router.js.map +1 -1
  164. package/dist/esm/router/router.mjs.map +1 -1
  165. package/dist/esm/router/router.native.js.map +1 -1
  166. package/dist/esm/serve-worker.js +3 -2
  167. package/dist/esm/serve-worker.js.map +1 -1
  168. package/dist/esm/serve-worker.mjs +4 -2
  169. package/dist/esm/serve-worker.mjs.map +1 -1
  170. package/dist/esm/serve-worker.native.js +3 -2
  171. package/dist/esm/serve-worker.native.js.map +2 -2
  172. package/dist/esm/serve.js +12 -13
  173. package/dist/esm/serve.js.map +1 -1
  174. package/dist/esm/serve.mjs +12 -14
  175. package/dist/esm/serve.mjs.map +1 -1
  176. package/dist/esm/serve.native.js +12 -13
  177. package/dist/esm/serve.native.js.map +2 -2
  178. package/dist/esm/server/createRoutesManifest.js.map +1 -1
  179. package/dist/esm/server/createRoutesManifest.mjs.map +1 -1
  180. package/dist/esm/server/createRoutesManifest.native.js.map +1 -1
  181. package/dist/esm/server/getServerManifest.js +7 -2
  182. package/dist/esm/server/getServerManifest.js.map +1 -1
  183. package/dist/esm/server/getServerManifest.mjs +7 -2
  184. package/dist/esm/server/getServerManifest.mjs.map +1 -1
  185. package/dist/esm/server/getServerManifest.native.js +23 -3
  186. package/dist/esm/server/getServerManifest.native.js.map +2 -2
  187. package/dist/esm/server/oneServe.js +100 -110
  188. package/dist/esm/server/oneServe.js.map +1 -1
  189. package/dist/esm/server/oneServe.mjs +82 -83
  190. package/dist/esm/server/oneServe.mjs.map +1 -1
  191. package/dist/esm/server/oneServe.native.js +106 -87
  192. package/dist/esm/server/oneServe.native.js.map +2 -2
  193. package/dist/esm/utils/getHonoPath.js +7 -0
  194. package/dist/esm/utils/getHonoPath.js.map +6 -0
  195. package/dist/esm/utils/getHonoPath.mjs +5 -0
  196. package/dist/esm/utils/getHonoPath.mjs.map +1 -0
  197. package/dist/esm/utils/getHonoPath.native.js +7 -0
  198. package/dist/esm/utils/getHonoPath.native.js.map +6 -0
  199. package/dist/esm/utils/toAbsolute.js +6 -0
  200. package/dist/esm/utils/toAbsolute.js.map +6 -0
  201. package/dist/esm/utils/toAbsolute.mjs +4 -0
  202. package/dist/esm/utils/toAbsolute.mjs.map +1 -0
  203. package/dist/esm/utils/toAbsolute.native.js +8 -0
  204. package/dist/esm/utils/toAbsolute.native.js.map +6 -0
  205. package/dist/esm/vite/one.js +8 -5
  206. package/dist/esm/vite/one.js.map +1 -1
  207. package/dist/esm/vite/one.mjs +7 -5
  208. package/dist/esm/vite/one.mjs.map +1 -1
  209. package/dist/esm/vite/one.native.js +9 -6
  210. package/dist/esm/vite/one.native.js.map +2 -2
  211. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +7 -9
  212. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  213. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +7 -8
  214. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  215. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +7 -7
  216. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +2 -2
  217. package/dist/esm/vite/resolveResponse.js +64 -0
  218. package/dist/esm/vite/resolveResponse.js.map +6 -0
  219. package/dist/esm/vite/resolveResponse.mjs +76 -0
  220. package/dist/esm/vite/resolveResponse.mjs.map +1 -0
  221. package/dist/esm/vite/resolveResponse.native.js +73 -0
  222. package/dist/esm/vite/resolveResponse.native.js.map +6 -0
  223. package/dist/esm/vite/{headers.js → server.js} +3 -3
  224. package/dist/esm/vite/{headers.js.map → server.js.map} +2 -2
  225. package/dist/esm/vite/{headers.mjs → server.mjs} +3 -3
  226. package/dist/esm/vite/server.mjs.map +1 -0
  227. package/dist/esm/vite/{headers.native.js → server.native.js} +3 -3
  228. package/dist/esm/vite/{headers.native.js.map → server.native.js.map} +3 -3
  229. package/dist/esm/vite.js +2 -2
  230. package/dist/esm/vite.js.map +1 -1
  231. package/dist/esm/vite.mjs +2 -2
  232. package/dist/esm/vite.mjs.map +1 -1
  233. package/dist/esm/vite.native.js +2 -2
  234. package/dist/esm/vite.native.js.map +2 -2
  235. package/package.json +14 -13
  236. package/src/Route.tsx +2 -0
  237. package/src/cli/build.ts +113 -54
  238. package/src/cli/{run.ts → dev.ts} +1 -2
  239. package/src/cli/main.ts +2 -2
  240. package/src/cli.ts +2 -6
  241. package/src/constants.ts +2 -1
  242. package/src/createHandleRequest.ts +210 -126
  243. package/src/createMiddleware.ts +14 -0
  244. package/src/getRoutes.ts +27 -41
  245. package/src/index.ts +3 -0
  246. package/src/router/router.ts +1 -0
  247. package/src/serve-worker.ts +7 -2
  248. package/src/serve.ts +13 -14
  249. package/src/server/createRoutesManifest.ts +7 -0
  250. package/src/server/getServerManifest.ts +16 -0
  251. package/src/server/oneServe.ts +144 -150
  252. package/src/types.ts +0 -4
  253. package/src/utils/getHonoPath.ts +17 -0
  254. package/src/utils/toAbsolute.ts +3 -0
  255. package/src/vite/one.ts +17 -6
  256. package/src/vite/plugins/fileSystemRouterPlugin.tsx +8 -15
  257. package/src/vite/resolveResponse.ts +93 -0
  258. package/src/vite/{headers.native.ts → server.native.ts} +1 -1
  259. package/src/vite/{headers.ts → server.ts} +1 -1
  260. package/src/vite/types.ts +14 -8
  261. package/src/vite.ts +1 -1
  262. package/types/Route.d.ts +2 -0
  263. package/types/Route.d.ts.map +1 -1
  264. package/types/cli/build.d.ts.map +1 -1
  265. package/types/cli/{run.d.ts → dev.d.ts} +2 -2
  266. package/types/cli/{run.d.ts.map → dev.d.ts.map} +1 -1
  267. package/types/constants.d.ts +1 -0
  268. package/types/constants.d.ts.map +1 -1
  269. package/types/createHandleRequest.d.ts +19 -6
  270. package/types/createHandleRequest.d.ts.map +1 -1
  271. package/types/createMiddleware.d.ts +12 -0
  272. package/types/createMiddleware.d.ts.map +1 -0
  273. package/types/getRoutes.d.ts +0 -3
  274. package/types/getRoutes.d.ts.map +1 -1
  275. package/types/index.d.ts +1 -0
  276. package/types/index.d.ts.map +1 -1
  277. package/types/layouts/Drawer.d.ts +2 -2
  278. package/types/layouts/Stack.d.ts +2 -2
  279. package/types/layouts/Tabs.d.ts +2 -2
  280. package/types/router/router.d.ts.map +1 -1
  281. package/types/serve-worker.d.ts +2 -1
  282. package/types/serve-worker.d.ts.map +1 -1
  283. package/types/serve.d.ts.map +1 -1
  284. package/types/server/createRoutesManifest.d.ts +6 -0
  285. package/types/server/createRoutesManifest.d.ts.map +1 -1
  286. package/types/server/getServerManifest.d.ts +2 -0
  287. package/types/server/getServerManifest.d.ts.map +1 -1
  288. package/types/server/oneServe.d.ts +1 -2
  289. package/types/server/oneServe.d.ts.map +1 -1
  290. package/types/types.d.ts +0 -2
  291. package/types/types.d.ts.map +1 -1
  292. package/types/utils/getHonoPath.d.ts +2 -0
  293. package/types/utils/getHonoPath.d.ts.map +1 -0
  294. package/types/utils/toAbsolute.d.ts +2 -0
  295. package/types/utils/toAbsolute.d.ts.map +1 -0
  296. package/types/vite/one.d.ts.map +1 -1
  297. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
  298. package/types/vite/resolveResponse.d.ts +3 -0
  299. package/types/vite/resolveResponse.d.ts.map +1 -0
  300. package/types/vite/{headers.d.ts → server.d.ts} +2 -2
  301. package/types/vite/server.d.ts.map +1 -0
  302. package/types/vite/{headers.native.d.ts → server.native.d.ts} +2 -2
  303. package/types/vite/server.native.d.ts.map +1 -0
  304. package/types/vite/types.d.ts +13 -7
  305. package/types/vite/types.d.ts.map +1 -1
  306. package/types/vite.d.ts +1 -1
  307. package/types/vite.d.ts.map +1 -1
  308. package/dist/cjs/cli/run.js.map +0 -6
  309. package/dist/cjs/cli/run.native.js.map +0 -6
  310. package/dist/cjs/vite/resolveAPIRequest.cjs +0 -90
  311. package/dist/cjs/vite/resolveAPIRequest.js +0 -71
  312. package/dist/cjs/vite/resolveAPIRequest.js.map +0 -6
  313. package/dist/cjs/vite/resolveAPIRequest.native.js +0 -84
  314. package/dist/cjs/vite/resolveAPIRequest.native.js.map +0 -6
  315. package/dist/esm/cli/run.js.map +0 -6
  316. package/dist/esm/cli/run.mjs.map +0 -1
  317. package/dist/esm/cli/run.native.js.map +0 -6
  318. package/dist/esm/vite/headers.mjs.map +0 -1
  319. package/dist/esm/vite/resolveAPIRequest.js +0 -56
  320. package/dist/esm/vite/resolveAPIRequest.js.map +0 -6
  321. package/dist/esm/vite/resolveAPIRequest.mjs +0 -67
  322. package/dist/esm/vite/resolveAPIRequest.mjs.map +0 -1
  323. package/dist/esm/vite/resolveAPIRequest.native.js +0 -64
  324. package/dist/esm/vite/resolveAPIRequest.native.js.map +0 -6
  325. package/src/vite/resolveAPIRequest.ts +0 -86
  326. package/types/vite/headers.d.ts.map +0 -1
  327. package/types/vite/headers.native.d.ts.map +0 -1
  328. package/types/vite/resolveAPIRequest.d.ts +0 -2
  329. package/types/vite/resolveAPIRequest.d.ts.map +0 -1
@@ -55,14 +55,32 @@ function getServerManifest(route) {
55
55
  throw _iteratorError;
56
56
  }
57
57
  }
58
- var apiRoutes = [], pageRoutes = [], _iteratorNormalCompletion1 = !0, _didIteratorError1 = !1, _iteratorError1 = void 0;
58
+ var apiRoutes = [], middlewareRoutes = [], pageRoutes = [], addedMiddlewares = {}, _iteratorNormalCompletion1 = !0, _didIteratorError1 = !1, _iteratorError1 = void 0;
59
59
  try {
60
60
  for (var _iterator1 = flat[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
61
- var [path1, node] = _step1.value;
61
+ var [path1, node] = _step1.value, _node_middlewares;
62
62
  if (node.type === "api") {
63
63
  apiRoutes.push(getGeneratedNamedRouteRegex(path1, node));
64
64
  continue;
65
65
  }
66
+ if (!((_node_middlewares = node.middlewares) === null || _node_middlewares === void 0) && _node_middlewares.length) {
67
+ var _iteratorNormalCompletion2 = !0, _didIteratorError2 = !1, _iteratorError2 = void 0;
68
+ try {
69
+ for (var _iterator2 = node.middlewares[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
70
+ var middleware = _step2.value;
71
+ addedMiddlewares[middleware.contextKey] || (addedMiddlewares[middleware.contextKey] = !0, middlewareRoutes.push(getGeneratedNamedRouteRegex(path1, middleware)));
72
+ }
73
+ } catch (err) {
74
+ _didIteratorError2 = !0, _iteratorError2 = err;
75
+ } finally {
76
+ try {
77
+ !_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
78
+ } finally {
79
+ if (_didIteratorError2)
80
+ throw _iteratorError2;
81
+ }
82
+ }
83
+ }
66
84
  pageRoutes.push(getGeneratedNamedRouteRegex(path1, node));
67
85
  }
68
86
  } catch (err) {
@@ -77,6 +95,7 @@ function getServerManifest(route) {
77
95
  }
78
96
  return {
79
97
  apiRoutes,
98
+ middlewareRoutes,
80
99
  pageRoutes
81
100
  };
82
101
  }
@@ -95,7 +114,8 @@ function getNamedRouteRegex(normalizedRoute, node) {
95
114
  type: node.type,
96
115
  namedRegex: result.namedRegex,
97
116
  routeKeys: result.routeKeys,
98
- layouts: node.layouts
117
+ layouts: node.layouts,
118
+ middlewares: node.middlewares
99
119
  };
100
120
  }
101
121
  function buildGetSafeRouteKey() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/server/Users/n8/one/packages/one/src/server/getServerManifest.ts"],
4
- "mappings": "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",
5
- "names": ["getContextKey", "matchGroupName", "sortRoutes", "isNotFoundRoute", "route", "Boolean", "dynamic", "length", "notFound", "getServerManifest", "getFlatNodes", "layouts", "children", "flatMap", "child", "key", "type", "contextKey", "replace", "parentSegments", "startsWith", "flat", "sort", "a", "b", "reverse", "pathToRoute", "path", "console", "warn", "apiRoutes", "pageRoutes", "node", "push", "getGeneratedNamedRouteRegex", "normalizedRoute", "getNamedRouteRegex", "generated", "isNotFound", "result", "getNamedRegex", "file", "page", "namedRegex", "routeKeys", "buildGetSafeRouteKey", "currentCharCode", "currentLength", "incrementNext", "i", "String", "fromCharCode", "removeTrailingSlash", "segments", "slice", "split", "getSafeRouteKey", "routeSegments", "map", "segment", "index", "test", "name", "optional", "repeat", "parseParam", "cleanedKey", "invalidKey", "Number", "isNaN", "parseInt", "insideParensRegex", "groupName", "group", "trim", "filter", "optionalSegment", "escapeStringRegexp", "join", "insideBracketsRegex", "tripleDotRegex", "replaceRegex", "hasRegExpRegex", "str", "param"]
4
+ "mappings": "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",
5
+ "names": ["getContextKey", "matchGroupName", "sortRoutes", "isNotFoundRoute", "route", "Boolean", "dynamic", "length", "notFound", "getServerManifest", "getFlatNodes", "layouts", "children", "flatMap", "child", "key", "type", "contextKey", "replace", "parentSegments", "startsWith", "flat", "sort", "a", "b", "reverse", "pathToRoute", "path", "console", "warn", "apiRoutes", "middlewareRoutes", "pageRoutes", "addedMiddlewares", "node", "push", "getGeneratedNamedRouteRegex", "middlewares", "middleware", "normalizedRoute", "getNamedRouteRegex", "generated", "isNotFound", "result", "getNamedRegex", "file", "page", "namedRegex", "routeKeys", "buildGetSafeRouteKey", "currentCharCode", "currentLength", "incrementNext", "i", "String", "fromCharCode", "removeTrailingSlash", "segments", "slice", "split", "getSafeRouteKey", "routeSegments", "map", "segment", "index", "test", "name", "optional", "repeat", "parseParam", "cleanedKey", "invalidKey", "Number", "isNaN", "parseInt", "insideParensRegex", "groupName", "group", "trim", "filter", "optionalSegment", "escapeStringRegexp", "join", "insideBracketsRegex", "tripleDotRegex", "replaceRegex", "hasRegExpRegex", "str", "param"]
6
6
  }
@@ -1,7 +1,12 @@
1
- import { join } from "node:path";
1
+ import { extname, join } from "node:path";
2
2
  import { getServerEntry } from "vxrn/serve";
3
- async function oneServe(oneOptions, vxrnOptions, buildInfo, app, serveStatic = !0) {
4
- const { createHandleRequest } = await import("../createHandleRequest"), { isResponse } = await import("../utils/isResponse"), { isStatusRedirect } = await import("../utils/isStatus"), { resolveAPIRequest } = await import("../vite/resolveAPIRequest"), isAPIRequest = /* @__PURE__ */ new WeakMap(), root = vxrnOptions.root || ".", redirects = oneOptions.web?.redirects;
3
+ import { getPathFromLoaderPath } from "../cleanUrl";
4
+ import { LOADER_JS_POSTFIX_UNCACHED } from "../constants";
5
+ import { compileManifest, getURLfromRequestURL } from "../createHandleRequest";
6
+ import { toAbsolute } from "../utils/toAbsolute";
7
+ import { default as FSExtra } from "fs-extra";
8
+ async function oneServe(oneOptions, buildInfo, app, serveStatic = !0) {
9
+ const { resolveAPIRoute, resolveLoaderRoute, resolvePageRoute } = await import("../createHandleRequest"), { isResponse } = await import("../utils/isResponse"), { isStatusRedirect } = await import("../utils/isStatus"), isAPIRequest = /* @__PURE__ */ new WeakMap(), redirects = oneOptions.web?.redirects;
5
10
  if (redirects)
6
11
  for (const redirect of redirects)
7
12
  app.get(redirect.source, (context) => {
@@ -13,123 +18,108 @@ async function oneServe(oneOptions, vxrnOptions, buildInfo, app, serveStatic = !
13
18
  });
14
19
  if (!buildInfo)
15
20
  throw new Error("No build info found, have you run build?");
16
- const { routeMap, builtRoutes } = buildInfo, routeToBuildInfo = {};
17
- for (const route of builtRoutes) {
18
- routeToBuildInfo[route.cleanPath] = route;
19
- const bracketRoutePath = route.cleanPath.split("/").map((part) => part[0] === ":" ? `[${part.slice(1)}]` : part).join("/");
20
- routeToBuildInfo[bracketRoutePath] = route;
21
- }
22
- const serverOptions = {
21
+ const { routeToBuildInfo, routeMap } = buildInfo, serverOptions = {
23
22
  ...oneOptions,
24
- root
25
- }, render = (await import(getServerEntry(serverOptions))).default.render, apiCJS = oneOptions.build?.api?.outputFormat === "cjs", handleRequest = createHandleRequest(
26
- {},
27
- {
28
- async handleAPI({ route, request, loaderProps }) {
29
- const apiFile = join(
30
- process.cwd(),
31
- "dist",
32
- "api",
33
- route.page.replace("[", "_").replace("]", "_") + (apiCJS ? ".cjs" : ".js")
34
- );
35
- return isAPIRequest.set(request, !0), resolveAPIRequest(
36
- async () => {
37
- try {
38
- return await import(apiFile);
39
- } catch (err) {
40
- return console.error(`
41
- [one] Error importing API route at ${apiFile}:
42
-
43
- ${err}
44
-
45
- If this is an import error, you can likely fix this by adding this dependency to
46
- the "optimizeDeps.include" array in your vite.config.ts.
47
-
48
- \u{1F41E} For a better error message run "node" and enter:
49
-
50
- import('${apiFile}')
51
-
52
- `), {};
53
- }
54
- },
55
- request,
56
- loaderProps?.params || {}
57
- );
58
- },
59
- async handleSSR({ route, url, loaderProps }) {
60
- if (route.type === "ssr") {
61
- const buildInfo2 = routeToBuildInfo[route.page];
62
- if (!buildInfo2)
63
- throw new Error(
64
- `No buildinfo found for ${url}, route: ${route.page}, in keys: ${Object.keys(routeToBuildInfo)}`
65
- );
66
- try {
67
- const loaderData = await (await import(buildInfo2.serverJsPath)).loader?.(loaderProps), preloads = buildInfo2.preloads, headers = new Headers();
68
- return headers.set("content-type", "text/html"), new Response(
69
- await render({
70
- loaderData,
71
- loaderProps,
72
- path: loaderProps?.path || "/",
73
- preloads
74
- }),
75
- {
76
- headers
77
- }
78
- );
79
- } catch (err) {
80
- console.error(`[one] Error rendering SSR route ${route.page}
23
+ root: "."
24
+ }, render = (await import(getServerEntry(serverOptions))).default.render, apiCJS = oneOptions.build?.api?.outputFormat === "cjs", requestHandlers = {
25
+ async handleAPI({ route }) {
26
+ return await import(join(
27
+ process.cwd(),
28
+ "dist",
29
+ "api",
30
+ route.page.replace("[", "_").replace("]", "_") + (apiCJS ? ".cjs" : ".js")
31
+ ));
32
+ },
33
+ async loadMiddleware(route) {
34
+ return await import(toAbsolute(route.contextKey));
35
+ },
36
+ async handlePage({ route, url, loaderProps }) {
37
+ if (route.type === "ssr") {
38
+ const buildInfo2 = routeToBuildInfo[route.page];
39
+ if (!buildInfo2)
40
+ throw new Error(
41
+ `No buildinfo found for ${url}, route: ${route.page}, in keys: ${Object.keys(routeToBuildInfo)}`
42
+ );
43
+ try {
44
+ const loaderData = await (await import(toAbsolute(buildInfo2.serverJsPath))).loader?.(loaderProps), preloads = buildInfo2.preloads, headers = new Headers();
45
+ headers.set("content-type", "text/html");
46
+ const rendered = await render({
47
+ loaderData,
48
+ loaderProps,
49
+ path: loaderProps?.path || "/",
50
+ preloads
51
+ });
52
+ return new Response(rendered, {
53
+ headers,
54
+ status: route.isNotFound ? 404 : 200
55
+ });
56
+ } catch (err) {
57
+ console.error(`[one] Error rendering SSR route ${route.page}
81
58
 
82
- ${err?.stack ?? err}
59
+ ${err?.stack ?? err}
83
60
 
84
- url: ${url}`);
85
- }
61
+ url: ${url}`);
86
62
  }
63
+ } else if (routeMap[route.honoPath]) {
64
+ const html = await FSExtra.readFile(
65
+ join("dist/client", routeMap[route.honoPath]),
66
+ "utf-8"
67
+ ), headers = new Headers();
68
+ return headers.set("content-type", "text/html"), new Response(html, { headers, status: route.isNotFound ? 404 : 200 });
87
69
  }
88
70
  }
89
- ), htmlFiles = {};
90
- if (serveStatic) {
91
- const { readFile } = await import("node:fs/promises");
92
- for (const key in routeMap)
93
- routeToBuildInfo[key]?.type !== "ssr" && (htmlFiles[key] = await readFile(join("dist/client", routeMap[key]), "utf-8"));
94
- }
95
- app.use(async (context, next) => {
96
- const html = htmlFiles[context.req.path];
97
- if (html)
98
- return context.html(html);
99
- try {
100
- const request = context.req.raw, response = await handleRequest.handler(request);
101
- if (response) {
102
- if (isResponse(response)) {
103
- if (isStatusRedirect(response.status)) {
104
- const location = `${response.headers.get("location") || ""}`;
105
- return response.headers.forEach((value, key) => {
106
- context.header(key, value);
107
- }), context.redirect(location, response.status);
71
+ };
72
+ function createHonoHandler(route) {
73
+ return async (context, next) => {
74
+ if (extname(context.req.path))
75
+ return await next();
76
+ try {
77
+ const request = context.req.raw, url = getURLfromRequestURL(request), response = await (() => {
78
+ if (url.pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {
79
+ const originalUrl = getPathFromLoaderPath(url.pathname), finalUrl = new URL(originalUrl, url.origin);
80
+ return resolveLoaderRoute(requestHandlers, request, finalUrl, route);
108
81
  }
109
- if (isAPIRequest.get(request))
110
- try {
111
- response.headers.set("Cache-Control", "no-store");
112
- } catch (err) {
113
- console.info(
114
- `Error udpating cache header on api route "${context.req.path}" to no-store, it is ${response.headers.get("cache-control")}, continue`,
115
- err
116
- );
82
+ switch (route.type) {
83
+ case "api":
84
+ return resolveAPIRoute(requestHandlers, request, url, route);
85
+ case "ssg":
86
+ case "spa":
87
+ case "ssr":
88
+ return resolvePageRoute(requestHandlers, request, url, route);
89
+ }
90
+ })();
91
+ if (response) {
92
+ if (isResponse(response)) {
93
+ if (isStatusRedirect(response.status)) {
94
+ const location = `${response.headers.get("location") || ""}`;
95
+ return response.headers.forEach((value, key) => {
96
+ context.header(key, value);
97
+ }), context.redirect(location, response.status);
117
98
  }
118
- return response;
99
+ if (isAPIRequest.get(request))
100
+ try {
101
+ return response.headers.set("Cache-Control", "no-store"), response;
102
+ } catch (err) {
103
+ console.info(
104
+ `Error udpating cache header on api route "${context.req.path}" to no-store, it is ${response.headers.get("cache-control")}, continue`,
105
+ err
106
+ );
107
+ }
108
+ return response;
109
+ }
110
+ return await next();
119
111
  }
120
- return context.json(
121
- response,
122
- 200,
123
- isAPIRequest.get(request) ? {
124
- "Cache-Control": "no-store"
125
- } : void 0
126
- );
112
+ } catch (err) {
113
+ console.error(` [one] Error handling request: ${err.stack}`);
127
114
  }
128
- } catch (err) {
129
- console.error(` [one] Error handling request: ${err.stack}`);
130
- }
131
- await next();
132
- });
115
+ return await next();
116
+ };
117
+ }
118
+ const compiledManifest = compileManifest(buildInfo.manifest);
119
+ for (const route of compiledManifest.apiRoutes)
120
+ app.get(route.honoPath, createHonoHandler(route)), app.put(route.honoPath, createHonoHandler(route)), app.post(route.honoPath, createHonoHandler(route)), app.delete(route.honoPath, createHonoHandler(route)), app.patch(route.honoPath, createHonoHandler(route));
121
+ for (const route of compiledManifest.pageRoutes)
122
+ console.log("add", route.honoPath), app.get(route.honoPath, createHonoHandler(route));
133
123
  }
134
124
  export {
135
125
  oneServe
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/server/oneServe.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["buildInfo"]
6
6
  }
@@ -1,8 +1,15 @@
1
- import { join } from "node:path";
1
+ import { extname, join } from "node:path";
2
2
  import { getServerEntry } from "vxrn/serve";
3
- async function oneServe(oneOptions, vxrnOptions, buildInfo, app, serveStatic = !0) {
3
+ import { getPathFromLoaderPath } from "../cleanUrl.mjs";
4
+ import { LOADER_JS_POSTFIX_UNCACHED } from "../constants.mjs";
5
+ import { compileManifest, getURLfromRequestURL } from "../createHandleRequest.mjs";
6
+ import { toAbsolute } from "../utils/toAbsolute.mjs";
7
+ import { default as FSExtra } from "fs-extra";
8
+ async function oneServe(oneOptions, buildInfo, app, serveStatic = !0) {
4
9
  const {
5
- createHandleRequest
10
+ resolveAPIRoute,
11
+ resolveLoaderRoute,
12
+ resolvePageRoute
6
13
  } = await import("../createHandleRequest.mjs"),
7
14
  {
8
15
  isResponse
@@ -10,11 +17,7 @@ async function oneServe(oneOptions, vxrnOptions, buildInfo, app, serveStatic = !
10
17
  {
11
18
  isStatusRedirect
12
19
  } = await import("../utils/isStatus.mjs"),
13
- {
14
- resolveAPIRequest
15
- } = await import("../vite/resolveAPIRequest.mjs"),
16
20
  isAPIRequest = /* @__PURE__ */new WeakMap(),
17
- root = vxrnOptions.root || ".",
18
21
  redirects = oneOptions.web?.redirects;
19
22
  if (redirects) for (const redirect of redirects) app.get(redirect.source, context => {
20
23
  const destinationUrl = redirect.destination.replace(/:\w+/g, param => {
@@ -25,49 +28,25 @@ async function oneServe(oneOptions, vxrnOptions, buildInfo, app, serveStatic = !
25
28
  });
26
29
  if (!buildInfo) throw new Error("No build info found, have you run build?");
27
30
  const {
28
- routeMap,
29
- builtRoutes
31
+ routeToBuildInfo,
32
+ routeMap
30
33
  } = buildInfo,
31
- routeToBuildInfo = {};
32
- for (const route of builtRoutes) {
33
- routeToBuildInfo[route.cleanPath] = route;
34
- const bracketRoutePath = route.cleanPath.split("/").map(part => part[0] === ":" ? `[${part.slice(1)}]` : part).join("/");
35
- routeToBuildInfo[bracketRoutePath] = route;
36
- }
37
- const serverOptions = {
34
+ serverOptions = {
38
35
  ...oneOptions,
39
- root
36
+ root: "."
40
37
  },
41
38
  render = (await import(getServerEntry(serverOptions))).default.render,
42
39
  apiCJS = oneOptions.build?.api?.outputFormat === "cjs",
43
- handleRequest = createHandleRequest({}, {
40
+ requestHandlers = {
44
41
  async handleAPI({
45
- route,
46
- request,
47
- loaderProps
42
+ route
48
43
  }) {
49
- const apiFile = join(process.cwd(), "dist", "api", route.page.replace("[", "_").replace("]", "_") + (apiCJS ? ".cjs" : ".js"));
50
- return isAPIRequest.set(request, !0), resolveAPIRequest(async () => {
51
- try {
52
- return await import(apiFile);
53
- } catch (err) {
54
- return console.error(`
55
- [one] Error importing API route at ${apiFile}:
56
-
57
- ${err}
58
-
59
- If this is an import error, you can likely fix this by adding this dependency to
60
- the "optimizeDeps.include" array in your vite.config.ts.
61
-
62
- \u{1F41E} For a better error message run "node" and enter:
63
-
64
- import('${apiFile}')
65
-
66
- `), {};
67
- }
68
- }, request, loaderProps?.params || {});
44
+ return await import(join(process.cwd(), "dist", "api", route.page.replace("[", "_").replace("]", "_") + (apiCJS ? ".cjs" : ".js")));
45
+ },
46
+ async loadMiddleware(route) {
47
+ return await import(toAbsolute(route.contextKey));
69
48
  },
70
- async handleSSR({
49
+ async handlePage({
71
50
  route,
72
51
  url,
73
52
  loaderProps
@@ -76,64 +55,84 @@ async function oneServe(oneOptions, vxrnOptions, buildInfo, app, serveStatic = !
76
55
  const buildInfo2 = routeToBuildInfo[route.page];
77
56
  if (!buildInfo2) throw new Error(`No buildinfo found for ${url}, route: ${route.page}, in keys: ${Object.keys(routeToBuildInfo)}`);
78
57
  try {
79
- const loaderData = await (await import(buildInfo2.serverJsPath)).loader?.(loaderProps),
58
+ const loaderData = await (await import(toAbsolute(buildInfo2.serverJsPath))).loader?.(loaderProps),
80
59
  preloads = buildInfo2.preloads,
81
60
  headers = new Headers();
82
- return headers.set("content-type", "text/html"), new Response(await render({
61
+ headers.set("content-type", "text/html");
62
+ const rendered = await render({
83
63
  loaderData,
84
64
  loaderProps,
85
65
  path: loaderProps?.path || "/",
86
66
  preloads
87
- }), {
88
- headers
67
+ });
68
+ return new Response(rendered, {
69
+ headers,
70
+ status: route.isNotFound ? 404 : 200
89
71
  });
90
72
  } catch (err) {
91
73
  console.error(`[one] Error rendering SSR route ${route.page}
92
74
 
93
- ${err?.stack ?? err}
75
+ ${err?.stack ?? err}
94
76
 
95
- url: ${url}`);
77
+ url: ${url}`);
96
78
  }
79
+ } else if (routeMap[route.honoPath]) {
80
+ const html = await FSExtra.readFile(join("dist/client", routeMap[route.honoPath]), "utf-8"),
81
+ headers = new Headers();
82
+ return headers.set("content-type", "text/html"), new Response(html, {
83
+ headers,
84
+ status: route.isNotFound ? 404 : 200
85
+ });
97
86
  }
98
87
  }
99
- }),
100
- htmlFiles = {};
101
- if (serveStatic) {
102
- const {
103
- readFile
104
- } = await import("node:fs/promises");
105
- for (const key in routeMap) routeToBuildInfo[key]?.type !== "ssr" && (htmlFiles[key] = await readFile(join("dist/client", routeMap[key]), "utf-8"));
106
- }
107
- app.use(async (context, next) => {
108
- const html = htmlFiles[context.req.path];
109
- if (html) return context.html(html);
110
- try {
111
- const request = context.req.raw,
112
- response = await handleRequest.handler(request);
113
- if (response) {
114
- if (isResponse(response)) {
115
- if (isStatusRedirect(response.status)) {
116
- const location = `${response.headers.get("location") || ""}`;
117
- return response.headers.forEach((value, key) => {
118
- context.header(key, value);
119
- }), context.redirect(location, response.status);
88
+ };
89
+ function createHonoHandler(route) {
90
+ return async (context, next) => {
91
+ if (extname(context.req.path)) return await next();
92
+ try {
93
+ const request = context.req.raw,
94
+ url = getURLfromRequestURL(request),
95
+ response = await (() => {
96
+ if (url.pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {
97
+ const originalUrl = getPathFromLoaderPath(url.pathname),
98
+ finalUrl = new URL(originalUrl, url.origin);
99
+ return resolveLoaderRoute(requestHandlers, request, finalUrl, route);
100
+ }
101
+ switch (route.type) {
102
+ case "api":
103
+ return resolveAPIRoute(requestHandlers, request, url, route);
104
+ case "ssg":
105
+ case "spa":
106
+ case "ssr":
107
+ return resolvePageRoute(requestHandlers, request, url, route);
108
+ }
109
+ })();
110
+ if (response) {
111
+ if (isResponse(response)) {
112
+ if (isStatusRedirect(response.status)) {
113
+ const location = `${response.headers.get("location") || ""}`;
114
+ return response.headers.forEach((value, key) => {
115
+ context.header(key, value);
116
+ }), context.redirect(location, response.status);
117
+ }
118
+ if (isAPIRequest.get(request)) try {
119
+ return response.headers.set("Cache-Control", "no-store"), response;
120
+ } catch (err) {
121
+ console.info(`Error udpating cache header on api route "${context.req.path}" to no-store, it is ${response.headers.get("cache-control")}, continue`, err);
122
+ }
123
+ return response;
120
124
  }
121
- if (isAPIRequest.get(request)) try {
122
- response.headers.set("Cache-Control", "no-store");
123
- } catch (err) {
124
- console.info(`Error udpating cache header on api route "${context.req.path}" to no-store, it is ${response.headers.get("cache-control")}, continue`, err);
125
- }
126
- return response;
125
+ return await next();
127
126
  }
128
- return context.json(response, 200, isAPIRequest.get(request) ? {
129
- "Cache-Control": "no-store"
130
- } : void 0);
127
+ } catch (err) {
128
+ console.error(` [one] Error handling request: ${err.stack}`);
131
129
  }
132
- } catch (err) {
133
- console.error(` [one] Error handling request: ${err.stack}`);
134
- }
135
- await next();
136
- });
130
+ return await next();
131
+ };
132
+ }
133
+ const compiledManifest = compileManifest(buildInfo.manifest);
134
+ for (const route of compiledManifest.apiRoutes) app.get(route.honoPath, createHonoHandler(route)), app.put(route.honoPath, createHonoHandler(route)), app.post(route.honoPath, createHonoHandler(route)), app.delete(route.honoPath, createHonoHandler(route)), app.patch(route.honoPath, createHonoHandler(route));
135
+ for (const route of compiledManifest.pageRoutes) console.log("add", route.honoPath), app.get(route.honoPath, createHonoHandler(route));
137
136
  }
138
137
  export { oneServe };
139
138
  //# sourceMappingURL=oneServe.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["join","getServerEntry","oneServe","oneOptions","vxrnOptions","buildInfo","app","serveStatic","createHandleRequest","isResponse","isStatusRedirect","resolveAPIRequest","isAPIRequest","WeakMap","root","redirects","web","redirect","get","source","context","destinationUrl","destination","replace","param","paramName","substring","req","permanent","Error","routeMap","builtRoutes","routeToBuildInfo","route","cleanPath","bracketRoutePath","split","map","part","slice","serverOptions","render","default","apiCJS","build","api","outputFormat","handleRequest","handleAPI","request","loaderProps","apiFile","process","cwd","page","set","err","console","error","params","handleSSR","url","type","buildInfo2","Object","keys","loaderData","serverJsPath","loader","preloads","headers","Headers","Response","path","stack","htmlFiles","readFile","key","use","next","html","raw","response","handler","status","location","forEach","value","header","info","json"],"sources":["../../../src/server/oneServe.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["extname","join","getServerEntry","getPathFromLoaderPath","LOADER_JS_POSTFIX_UNCACHED","compileManifest","getURLfromRequestURL","toAbsolute","default","FSExtra","oneServe","oneOptions","buildInfo","app","serveStatic","resolveAPIRoute","resolveLoaderRoute","resolvePageRoute","isResponse","isStatusRedirect","isAPIRequest","WeakMap","redirects","web","redirect","get","source","context","destinationUrl","destination","replace","param","paramName","substring","req","permanent","Error","routeToBuildInfo","routeMap","serverOptions","root","render","apiCJS","build","api","outputFormat","requestHandlers","handleAPI","route","process","cwd","page","loadMiddleware","contextKey","handlePage","url","loaderProps","type","buildInfo2","Object","keys","loaderData","serverJsPath","loader","preloads","headers","Headers","set","rendered","path","Response","status","isNotFound","err","console","error","stack","honoPath","html","readFile","createHonoHandler","next","request","raw","response","pathname","endsWith","originalUrl","finalUrl","URL","origin","location","forEach","value","key","header","info","compiledManifest","manifest","apiRoutes","put","post","delete","patch","pageRoutes","log"],"sources":["../../../src/server/oneServe.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}