one 1.2.20 → 1.2.22-1765155190908

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 (331) hide show
  1. package/dist/cjs/cli/build.cjs +11 -2
  2. package/dist/cjs/cli/build.js +10 -2
  3. package/dist/cjs/cli/build.js.map +1 -1
  4. package/dist/cjs/cli/build.native.js +44 -19
  5. package/dist/cjs/cli/build.native.js.map +1 -1
  6. package/dist/cjs/cli/buildPage.cjs +20 -4
  7. package/dist/cjs/cli/buildPage.js +21 -7
  8. package/dist/cjs/cli/buildPage.js.map +1 -1
  9. package/dist/cjs/cli/buildPage.native.js +38 -6
  10. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  11. package/dist/cjs/createApp.cjs +23 -16
  12. package/dist/cjs/createApp.js +73 -67
  13. package/dist/cjs/createApp.js.map +2 -2
  14. package/dist/cjs/createHandleRequest.cjs +10 -6
  15. package/dist/cjs/createHandleRequest.js +10 -6
  16. package/dist/cjs/createHandleRequest.js.map +1 -1
  17. package/dist/cjs/createHandleRequest.native.js +11 -7
  18. package/dist/cjs/createHandleRequest.native.js.map +1 -1
  19. package/dist/cjs/fork/NavigationContainer.cjs +1 -1
  20. package/dist/cjs/fork/NavigationContainer.js +4 -1
  21. package/dist/cjs/fork/NavigationContainer.js.map +1 -1
  22. package/dist/cjs/fork/NavigationContainer.native.js +1 -1
  23. package/dist/cjs/fork/NavigationContainer.native.js.map +1 -1
  24. package/dist/cjs/fork/createMemoryHistory.cjs +2 -2
  25. package/dist/cjs/fork/createMemoryHistory.js +2 -2
  26. package/dist/cjs/fork/createMemoryHistory.js.map +1 -1
  27. package/dist/cjs/fork/createMemoryHistory.native.js +2 -2
  28. package/dist/cjs/fork/createMemoryHistory.native.js.map +1 -1
  29. package/dist/cjs/fork/extractPathFromURL.cjs +1 -1
  30. package/dist/cjs/fork/extractPathFromURL.js +1 -1
  31. package/dist/cjs/fork/extractPathFromURL.js.map +1 -1
  32. package/dist/cjs/fork/extractPathFromURL.native.js +1 -1
  33. package/dist/cjs/fork/extractPathFromURL.native.js.map +1 -1
  34. package/dist/cjs/fork/getPathFromState-mods.cjs +1 -1
  35. package/dist/cjs/fork/getPathFromState-mods.js +1 -1
  36. package/dist/cjs/fork/getPathFromState-mods.js.map +1 -1
  37. package/dist/cjs/fork/getPathFromState-mods.native.js +1 -1
  38. package/dist/cjs/fork/getPathFromState-mods.native.js.map +1 -1
  39. package/dist/cjs/fork/getStateFromPath-mods.cjs +20 -19
  40. package/dist/cjs/fork/getStateFromPath-mods.js +18 -15
  41. package/dist/cjs/fork/getStateFromPath-mods.js.map +1 -1
  42. package/dist/cjs/fork/getStateFromPath-mods.native.js +19 -18
  43. package/dist/cjs/fork/getStateFromPath-mods.native.js.map +1 -1
  44. package/dist/cjs/fork/getStateFromPath.cjs +1 -1
  45. package/dist/cjs/fork/getStateFromPath.js +1 -1
  46. package/dist/cjs/fork/getStateFromPath.js.map +1 -1
  47. package/dist/cjs/fork/getStateFromPath.native.js +1 -1
  48. package/dist/cjs/fork/getStateFromPath.native.js.map +1 -1
  49. package/dist/cjs/fork/useLinking.cjs +27 -20
  50. package/dist/cjs/fork/useLinking.js +32 -20
  51. package/dist/cjs/fork/useLinking.js.map +2 -2
  52. package/dist/cjs/fork/useLinking.native.js +2 -1
  53. package/dist/cjs/fork/useLinking.native.js.map +1 -1
  54. package/dist/cjs/getReactNavigationConfig.cjs +2 -4
  55. package/dist/cjs/getReactNavigationConfig.js +2 -5
  56. package/dist/cjs/getReactNavigationConfig.js.map +1 -1
  57. package/dist/cjs/getReactNavigationConfig.native.js +2 -4
  58. package/dist/cjs/getReactNavigationConfig.native.js.map +1 -1
  59. package/dist/cjs/hooks.cjs +1 -1
  60. package/dist/cjs/hooks.js +1 -1
  61. package/dist/cjs/hooks.js.map +1 -1
  62. package/dist/cjs/hooks.native.js +4 -1
  63. package/dist/cjs/hooks.native.js.map +1 -1
  64. package/dist/cjs/index.cjs +2 -0
  65. package/dist/cjs/index.js +2 -1
  66. package/dist/cjs/index.js.map +1 -1
  67. package/dist/cjs/index.native.js +2 -0
  68. package/dist/cjs/index.native.js.map +1 -1
  69. package/dist/cjs/router/getRoutes.cjs +4 -5
  70. package/dist/cjs/router/getRoutes.js +2 -2
  71. package/dist/cjs/router/getRoutes.js.map +1 -1
  72. package/dist/cjs/router/getRoutes.native.js +4 -5
  73. package/dist/cjs/router/getRoutes.native.js.map +1 -1
  74. package/dist/cjs/router/matchers.cjs +9 -1
  75. package/dist/cjs/router/matchers.js +4 -1
  76. package/dist/cjs/router/matchers.js.map +1 -1
  77. package/dist/cjs/router/matchers.native.js +10 -2
  78. package/dist/cjs/router/matchers.native.js.map +1 -1
  79. package/dist/cjs/router/matchers.test.cjs +7 -1
  80. package/dist/cjs/router/matchers.test.js +1 -1
  81. package/dist/cjs/router/matchers.test.js.map +1 -1
  82. package/dist/cjs/router/matchers.test.native.js +7 -1
  83. package/dist/cjs/router/matchers.test.native.js.map +1 -1
  84. package/dist/cjs/router/router.cjs +20 -17
  85. package/dist/cjs/router/router.js +24 -21
  86. package/dist/cjs/router/router.js.map +1 -1
  87. package/dist/cjs/router/router.native.js +21 -18
  88. package/dist/cjs/router/router.native.js.map +1 -1
  89. package/dist/cjs/router/useViteRoutes.cjs +57 -17
  90. package/dist/cjs/router/useViteRoutes.js +55 -17
  91. package/dist/cjs/router/useViteRoutes.js.map +2 -2
  92. package/dist/cjs/router/useViteRoutes.native.js +76 -0
  93. package/dist/cjs/router/useViteRoutes.native.js.map +1 -1
  94. package/dist/cjs/router/utils/getNavigateAction.cjs +2 -2
  95. package/dist/cjs/router/utils/getNavigateAction.js +2 -2
  96. package/dist/cjs/router/utils/getNavigateAction.js.map +1 -1
  97. package/dist/cjs/router/utils/getNavigateAction.native.js +2 -2
  98. package/dist/cjs/router/utils/getNavigateAction.native.js.map +1 -1
  99. package/dist/cjs/server/oneServe.cjs +4 -3
  100. package/dist/cjs/server/oneServe.js +6 -3
  101. package/dist/cjs/server/oneServe.js.map +1 -1
  102. package/dist/cjs/server/oneServe.native.js +5 -4
  103. package/dist/cjs/server/oneServe.native.js.map +1 -1
  104. package/dist/cjs/useLoader.cjs +39 -40
  105. package/dist/cjs/useLoader.js +10 -7
  106. package/dist/cjs/useLoader.js.map +1 -1
  107. package/dist/cjs/useLoader.native.js +54 -54
  108. package/dist/cjs/useLoader.native.js.map +1 -1
  109. package/dist/cjs/vite/one.cjs +9 -12
  110. package/dist/cjs/vite/one.js +7 -7
  111. package/dist/cjs/vite/one.js.map +1 -1
  112. package/dist/cjs/vite/one.native.js +10 -15
  113. package/dist/cjs/vite/one.native.js.map +1 -1
  114. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +12 -7
  115. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +11 -7
  116. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  117. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +12 -7
  118. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  119. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +12 -1
  120. package/dist/cjs/vite/plugins/virtualEntryPlugin.js +12 -1
  121. package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
  122. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +12 -1
  123. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  124. package/dist/esm/cli/build.js +10 -2
  125. package/dist/esm/cli/build.js.map +1 -1
  126. package/dist/esm/cli/build.mjs +11 -2
  127. package/dist/esm/cli/build.mjs.map +1 -1
  128. package/dist/esm/cli/build.native.js +44 -19
  129. package/dist/esm/cli/build.native.js.map +1 -1
  130. package/dist/esm/cli/buildPage.js +21 -7
  131. package/dist/esm/cli/buildPage.js.map +1 -1
  132. package/dist/esm/cli/buildPage.mjs +20 -4
  133. package/dist/esm/cli/buildPage.mjs.map +1 -1
  134. package/dist/esm/cli/buildPage.native.js +38 -6
  135. package/dist/esm/cli/buildPage.native.js.map +1 -1
  136. package/dist/esm/createApp.js +73 -66
  137. package/dist/esm/createApp.js.map +2 -2
  138. package/dist/esm/createApp.mjs +23 -16
  139. package/dist/esm/createApp.mjs.map +1 -1
  140. package/dist/esm/createHandleRequest.js +10 -6
  141. package/dist/esm/createHandleRequest.js.map +1 -1
  142. package/dist/esm/createHandleRequest.mjs +10 -6
  143. package/dist/esm/createHandleRequest.mjs.map +1 -1
  144. package/dist/esm/createHandleRequest.native.js +10 -6
  145. package/dist/esm/createHandleRequest.native.js.map +1 -1
  146. package/dist/esm/fork/NavigationContainer.js +4 -1
  147. package/dist/esm/fork/NavigationContainer.js.map +1 -1
  148. package/dist/esm/fork/NavigationContainer.mjs +1 -1
  149. package/dist/esm/fork/NavigationContainer.mjs.map +1 -1
  150. package/dist/esm/fork/NavigationContainer.native.js +1 -1
  151. package/dist/esm/fork/NavigationContainer.native.js.map +1 -1
  152. package/dist/esm/fork/createMemoryHistory.js +2 -2
  153. package/dist/esm/fork/createMemoryHistory.js.map +1 -1
  154. package/dist/esm/fork/createMemoryHistory.mjs +2 -2
  155. package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
  156. package/dist/esm/fork/createMemoryHistory.native.js +2 -2
  157. package/dist/esm/fork/createMemoryHistory.native.js.map +1 -1
  158. package/dist/esm/fork/extractPathFromURL.js +1 -1
  159. package/dist/esm/fork/extractPathFromURL.js.map +1 -1
  160. package/dist/esm/fork/extractPathFromURL.mjs +1 -1
  161. package/dist/esm/fork/extractPathFromURL.mjs.map +1 -1
  162. package/dist/esm/fork/extractPathFromURL.native.js +1 -1
  163. package/dist/esm/fork/extractPathFromURL.native.js.map +1 -1
  164. package/dist/esm/fork/getPathFromState-mods.js +2 -2
  165. package/dist/esm/fork/getPathFromState-mods.js.map +1 -1
  166. package/dist/esm/fork/getPathFromState-mods.mjs +2 -2
  167. package/dist/esm/fork/getPathFromState-mods.mjs.map +1 -1
  168. package/dist/esm/fork/getPathFromState-mods.native.js +2 -2
  169. package/dist/esm/fork/getPathFromState-mods.native.js.map +1 -1
  170. package/dist/esm/fork/getStateFromPath-mods.js +18 -15
  171. package/dist/esm/fork/getStateFromPath-mods.js.map +1 -1
  172. package/dist/esm/fork/getStateFromPath-mods.mjs +20 -19
  173. package/dist/esm/fork/getStateFromPath-mods.mjs.map +1 -1
  174. package/dist/esm/fork/getStateFromPath-mods.native.js +19 -18
  175. package/dist/esm/fork/getStateFromPath-mods.native.js.map +1 -1
  176. package/dist/esm/fork/getStateFromPath.js +1 -1
  177. package/dist/esm/fork/getStateFromPath.js.map +1 -1
  178. package/dist/esm/fork/getStateFromPath.mjs +1 -1
  179. package/dist/esm/fork/getStateFromPath.mjs.map +1 -1
  180. package/dist/esm/fork/getStateFromPath.native.js +1 -1
  181. package/dist/esm/fork/useLinking.js +32 -19
  182. package/dist/esm/fork/useLinking.js.map +1 -1
  183. package/dist/esm/fork/useLinking.mjs +27 -20
  184. package/dist/esm/fork/useLinking.mjs.map +1 -1
  185. package/dist/esm/fork/useLinking.native.js +2 -1
  186. package/dist/esm/fork/useLinking.native.js.map +1 -1
  187. package/dist/esm/getReactNavigationConfig.js +3 -6
  188. package/dist/esm/getReactNavigationConfig.js.map +1 -1
  189. package/dist/esm/getReactNavigationConfig.mjs +3 -5
  190. package/dist/esm/getReactNavigationConfig.mjs.map +1 -1
  191. package/dist/esm/getReactNavigationConfig.native.js +3 -5
  192. package/dist/esm/getReactNavigationConfig.native.js.map +1 -1
  193. package/dist/esm/hooks.js +1 -1
  194. package/dist/esm/hooks.js.map +1 -1
  195. package/dist/esm/hooks.mjs +1 -1
  196. package/dist/esm/hooks.mjs.map +1 -1
  197. package/dist/esm/hooks.native.js +4 -1
  198. package/dist/esm/hooks.native.js.map +1 -1
  199. package/dist/esm/index.js +2 -0
  200. package/dist/esm/index.js.map +1 -1
  201. package/dist/esm/index.mjs +2 -1
  202. package/dist/esm/index.mjs.map +1 -1
  203. package/dist/esm/index.native.js +2 -1
  204. package/dist/esm/index.native.js.map +1 -1
  205. package/dist/esm/router/getRoutes.js +2 -3
  206. package/dist/esm/router/getRoutes.js.map +1 -1
  207. package/dist/esm/router/getRoutes.mjs +5 -6
  208. package/dist/esm/router/getRoutes.mjs.map +1 -1
  209. package/dist/esm/router/getRoutes.native.js +5 -6
  210. package/dist/esm/router/getRoutes.native.js.map +1 -1
  211. package/dist/esm/router/matchers.js +4 -1
  212. package/dist/esm/router/matchers.js.map +1 -1
  213. package/dist/esm/router/matchers.mjs +9 -1
  214. package/dist/esm/router/matchers.mjs.map +1 -1
  215. package/dist/esm/router/matchers.native.js +10 -2
  216. package/dist/esm/router/matchers.native.js.map +1 -1
  217. package/dist/esm/router/matchers.test.js +1 -1
  218. package/dist/esm/router/matchers.test.js.map +1 -1
  219. package/dist/esm/router/matchers.test.mjs +7 -1
  220. package/dist/esm/router/matchers.test.mjs.map +1 -1
  221. package/dist/esm/router/matchers.test.native.js +7 -1
  222. package/dist/esm/router/matchers.test.native.js.map +1 -1
  223. package/dist/esm/router/router.js +24 -20
  224. package/dist/esm/router/router.js.map +1 -1
  225. package/dist/esm/router/router.mjs +20 -18
  226. package/dist/esm/router/router.mjs.map +1 -1
  227. package/dist/esm/router/router.native.js +21 -19
  228. package/dist/esm/router/router.native.js.map +1 -1
  229. package/dist/esm/router/useViteRoutes.js +55 -17
  230. package/dist/esm/router/useViteRoutes.js.map +1 -1
  231. package/dist/esm/router/useViteRoutes.mjs +54 -18
  232. package/dist/esm/router/useViteRoutes.mjs.map +1 -1
  233. package/dist/esm/router/useViteRoutes.native.js +73 -1
  234. package/dist/esm/router/useViteRoutes.native.js.map +1 -1
  235. package/dist/esm/router/utils/getNavigateAction.js +2 -2
  236. package/dist/esm/router/utils/getNavigateAction.js.map +1 -1
  237. package/dist/esm/router/utils/getNavigateAction.mjs +2 -2
  238. package/dist/esm/router/utils/getNavigateAction.mjs.map +1 -1
  239. package/dist/esm/router/utils/getNavigateAction.native.js +2 -2
  240. package/dist/esm/router/utils/getNavigateAction.native.js.map +1 -1
  241. package/dist/esm/server/oneServe.js +6 -3
  242. package/dist/esm/server/oneServe.js.map +1 -1
  243. package/dist/esm/server/oneServe.mjs +4 -3
  244. package/dist/esm/server/oneServe.mjs.map +1 -1
  245. package/dist/esm/server/oneServe.native.js +4 -3
  246. package/dist/esm/server/oneServe.native.js.map +1 -1
  247. package/dist/esm/useLoader.js +10 -8
  248. package/dist/esm/useLoader.js.map +1 -1
  249. package/dist/esm/useLoader.mjs +40 -41
  250. package/dist/esm/useLoader.mjs.map +1 -1
  251. package/dist/esm/useLoader.native.js +55 -55
  252. package/dist/esm/useLoader.native.js.map +1 -1
  253. package/dist/esm/vite/one.js +9 -9
  254. package/dist/esm/vite/one.js.map +1 -1
  255. package/dist/esm/vite/one.mjs +9 -12
  256. package/dist/esm/vite/one.mjs.map +1 -1
  257. package/dist/esm/vite/one.native.js +10 -15
  258. package/dist/esm/vite/one.native.js.map +1 -1
  259. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +11 -7
  260. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  261. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +12 -7
  262. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  263. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +12 -7
  264. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  265. package/dist/esm/vite/plugins/virtualEntryPlugin.js +12 -1
  266. package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
  267. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +12 -1
  268. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  269. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +12 -1
  270. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  271. package/package.json +10 -10
  272. package/src/cli/build.ts +26 -1
  273. package/src/cli/buildPage.ts +28 -5
  274. package/src/createApp.tsx +29 -21
  275. package/src/createHandleRequest.ts +34 -0
  276. package/src/fork/NavigationContainer.tsx +8 -0
  277. package/src/fork/createMemoryHistory.tsx +8 -0
  278. package/src/fork/extractPathFromURL.ts +6 -0
  279. package/src/fork/getPathFromState-mods.ts +2 -7
  280. package/src/fork/getStateFromPath-mods.ts +43 -17
  281. package/src/fork/getStateFromPath.ts +1 -1
  282. package/src/fork/useLinking.native.ts +1 -1
  283. package/src/fork/useLinking.ts +89 -5
  284. package/src/getReactNavigationConfig.ts +7 -9
  285. package/src/hooks.tsx +21 -19
  286. package/src/index.ts +1 -0
  287. package/src/router/getRoutes.ts +3 -6
  288. package/src/router/matchers.test.ts +2 -2
  289. package/src/router/matchers.ts +22 -6
  290. package/src/router/router.ts +39 -26
  291. package/src/router/useViteRoutes.tsx +127 -17
  292. package/src/router/utils/getNavigateAction.ts +3 -2
  293. package/src/server/oneServe.ts +13 -0
  294. package/src/types.ts +1 -0
  295. package/src/useLoader.ts +20 -12
  296. package/src/vite/one.ts +9 -13
  297. package/src/vite/plugins/fileSystemRouterPlugin.tsx +17 -5
  298. package/src/vite/plugins/virtualEntryPlugin.ts +12 -1
  299. package/src/vite/types.ts +2 -0
  300. package/types/cli/build.d.ts.map +1 -1
  301. package/types/cli/buildPage.d.ts +1 -1
  302. package/types/cli/buildPage.d.ts.map +1 -1
  303. package/types/createApp.d.ts.map +1 -1
  304. package/types/createHandleRequest.d.ts.map +1 -1
  305. package/types/fork/NavigationContainer.d.ts.map +1 -1
  306. package/types/fork/createMemoryHistory.d.ts.map +1 -1
  307. package/types/fork/extractPathFromURL.d.ts.map +1 -1
  308. package/types/fork/getStateFromPath-mods.d.ts +7 -10
  309. package/types/fork/getStateFromPath-mods.d.ts.map +1 -1
  310. package/types/fork/useLinking.d.ts.map +1 -1
  311. package/types/getReactNavigationConfig.d.ts.map +1 -1
  312. package/types/hooks.d.ts.map +1 -1
  313. package/types/index.d.ts +1 -0
  314. package/types/index.d.ts.map +1 -1
  315. package/types/router/getRoutes.d.ts.map +1 -1
  316. package/types/router/matchers.d.ts +10 -3
  317. package/types/router/matchers.d.ts.map +1 -1
  318. package/types/router/router.d.ts +3 -2
  319. package/types/router/router.d.ts.map +1 -1
  320. package/types/router/useViteRoutes.d.ts +11 -0
  321. package/types/router/useViteRoutes.d.ts.map +1 -1
  322. package/types/router/utils/getNavigateAction.d.ts.map +1 -1
  323. package/types/server/oneServe.d.ts.map +1 -1
  324. package/types/types.d.ts +1 -0
  325. package/types/types.d.ts.map +1 -1
  326. package/types/useLoader.d.ts.map +1 -1
  327. package/types/vite/one.d.ts.map +1 -1
  328. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
  329. package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
  330. package/types/vite/types.d.ts +1 -0
  331. package/types/vite/types.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["join","FSExtra","constants","getLoaderPath","getPreloadPath","toAbsolute","replaceLoader","_instanceof","left","right","Symbol","hasInstance","readFile","outputFile","buildPage","serverEntry","path","relativeId","params","foundRoute","clientManifestEntry","staticDir","clientDir","builtMiddlewares","serverJsPath","preloads","allCSS","render","getRender","htmlPath","endsWith","removeTrailingSlash","clientJsPath","file","htmlOutPath","preloadPath","loaderPath","loaderData","writeFile","map","preload","exported","loader","_exported_loader","_ref","call","code","withLoader","loaderPartialPath","type","_globalThis___vxrnresetState","_globalThis","loaderProps","globalThis","__vxrnresetState","html","css","mode","getSpaHeaderElements","serverContext","err","errMsg","Error","message","stack","console","error","JSON","stringify","process","exit","middlewares","x","contextKey","cleanPath","routeFile"],"sources":["../../../src/cli/buildPage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["join","FSExtra","constants","getLoaderPath","getPreloadPath","toAbsolute","replaceLoader","_instanceof","left","right","Symbol","hasInstance","readFile","outputFile","buildPage","serverEntry","path","relativeId","params","foundRoute","clientManifestEntry","staticDir","clientDir","builtMiddlewares","serverJsPath","preloads","allCSS","routePreloads","render","getRender","htmlPath","endsWith","removeTrailingSlash","clientJsPath","file","htmlOutPath","preloadPath","loaderPath","loaderData","routeImports","routeRegistrations","routeIndex","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","entries","iterator","_step","next","done","routeKey","bundlePath","value","varName","push","err","return","registrationCalls","map","call","replace","preloadContent","preload","writeFile","exported","loader","_exported_loader","_ref","code","withLoader","loaderPartialPath","type","_globalThis___vxrnresetState","_globalThis","loaderProps","globalThis","__vxrnresetState","html","css","mode","getSpaHeaderElements","serverContext","errMsg","Error","message","stack","console","error","JSON","stringify","process","exit","middlewares","x","contextKey","cleanPath","routeFile"],"sources":["../../../src/cli/buildPage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ import { AppRegistry } from "react-native-web";
5
5
  import { resolveClientLoader } from "./clientLoaderResolver";
6
6
  import { Root } from "./Root";
7
7
  import { render } from "./render";
8
+ import { registerPreloadedRoute } from "./router/useViteRoutes";
8
9
  import { renderToString } from "./server-render";
9
10
  import { getServerHeadInsertions } from "./useServerHeadInsertion";
10
11
  import { ensureExists } from "./utils/ensureExists";
@@ -12,79 +13,85 @@ import { SERVER_CONTEXT_POST_RENDER_STRING } from "./vite/constants";
12
13
  import { getServerContext, setServerContext } from "./vite/one-server-only";
13
14
  import { Fragment, jsx } from "react/jsx-runtime";
14
15
  function createApp(options) {
15
- return import.meta.env.SSR ? {
16
- options,
17
- render: async (props) => {
18
- let { loaderData, loaderProps, css, mode, loaderServerData } = props;
19
- setServerContext({
20
- postRenderData: loaderServerData,
21
- loaderData,
22
- loaderProps,
23
- mode,
24
- css
25
- });
26
- let renderId;
27
- const App = () => /* @__PURE__ */ jsx(
28
- Root,
29
- {
30
- flags: options.flags,
31
- onRenderId: (id) => {
32
- renderId = id;
33
- },
34
- routes: options.routes,
35
- routerRoot: options.routerRoot,
36
- ...props
37
- }
38
- );
39
- AppRegistry.registerComponent("App", () => App);
40
- const Application = AppRegistry.getApplication("App", {}), rootElement = Application.element.props.children;
41
- let html = await renderToString(rootElement, {
42
- preloads: props.preloads
43
- });
44
- try {
45
- const extraHeadElements = [], styleTag = Application.getStyleElement({ nonce: process.env.ONE_NONCE });
46
- styleTag && extraHeadElements.push(styleTag), ensureExists(renderId);
47
- const insertions = getServerHeadInsertions(renderId);
48
- if (insertions)
49
- for (const insertion of insertions) {
50
- const out = insertion();
51
- out && extraHeadElements.push(out);
52
- }
53
- if (extraHeadElements.length) {
54
- const extraHeadHTML = ReactDOMServer.renderToStaticMarkup(
55
- /* @__PURE__ */ jsx(Fragment, { children: extraHeadElements.map((x, i) => cloneElement(x, { key: i })) })
56
- );
57
- extraHeadHTML && (html = html.replace("</head>", `${extraHeadHTML}</head>`));
58
- }
59
- } catch (err) {
60
- if (!`${err}`.includes("sheet is not defined"))
61
- throw err;
62
- }
63
- const postRenderData = getServerContext()?.postRenderData;
64
- return postRenderData && (html = html.replace(
65
- JSON.stringify(SERVER_CONTEXT_POST_RENDER_STRING),
66
- JSON.stringify(postRenderData)
67
- )), html;
68
- }
69
- } : (options.routes[`/${options.routerRoot}/_layout.tsx`]?.()).then(() => {
70
- resolveClientLoader(getServerContext() || {}).then(() => {
71
- render(
72
- /* @__PURE__ */ jsx(
16
+ if (import.meta.env.SSR)
17
+ return {
18
+ options,
19
+ render: async (props) => {
20
+ let { loaderData, loaderProps, css, mode, loaderServerData, routePreloads: routePreloads2 } = props;
21
+ setServerContext({
22
+ postRenderData: loaderServerData,
23
+ loaderData,
24
+ loaderProps,
25
+ mode,
26
+ css,
27
+ routePreloads: routePreloads2
28
+ });
29
+ let renderId;
30
+ const App = () => /* @__PURE__ */ jsx(
73
31
  Root,
74
32
  {
75
- isClient: !0,
76
33
  flags: options.flags,
34
+ onRenderId: (id) => {
35
+ renderId = id;
36
+ },
77
37
  routes: options.routes,
78
38
  routerRoot: options.routerRoot,
79
- path: window.location.href
39
+ ...props
80
40
  }
81
- )
82
- );
83
- }).catch((err) => {
84
- console.error('Error running client loader resolver "onClientLoaderResolve":', err);
85
- });
41
+ );
42
+ AppRegistry.registerComponent("App", () => App);
43
+ const Application = AppRegistry.getApplication("App", {}), rootElement = Application.element.props.children;
44
+ let html = await renderToString(rootElement, {
45
+ preloads: props.preloads
46
+ });
47
+ try {
48
+ const extraHeadElements = [], styleTag = Application.getStyleElement({ nonce: process.env.ONE_NONCE });
49
+ styleTag && extraHeadElements.push(styleTag), ensureExists(renderId);
50
+ const insertions = getServerHeadInsertions(renderId);
51
+ if (insertions)
52
+ for (const insertion of insertions) {
53
+ const out = insertion();
54
+ out && extraHeadElements.push(out);
55
+ }
56
+ if (extraHeadElements.length) {
57
+ const extraHeadHTML = ReactDOMServer.renderToStaticMarkup(
58
+ /* @__PURE__ */ jsx(Fragment, { children: extraHeadElements.map((x, i) => cloneElement(x, { key: i })) })
59
+ );
60
+ extraHeadHTML && (html = html.replace("</head>", `${extraHeadHTML}</head>`));
61
+ }
62
+ } catch (err) {
63
+ if (!`${err}`.includes("sheet is not defined"))
64
+ throw err;
65
+ }
66
+ const postRenderData = getServerContext()?.postRenderData;
67
+ return postRenderData && (html = html.replace(
68
+ JSON.stringify(SERVER_CONTEXT_POST_RENDER_STRING),
69
+ JSON.stringify(postRenderData)
70
+ )), html;
71
+ }
72
+ };
73
+ const serverContext = getServerContext() || {}, routePreloads = serverContext.routePreloads, preloadPromises = routePreloads ? Object.entries(routePreloads).map(async ([routeKey, bundlePath]) => {
74
+ const mod = await import(
75
+ /* @vite-ignore */
76
+ bundlePath
77
+ );
78
+ return registerPreloadedRoute(routeKey, mod), mod;
79
+ }) : [options.routes[`/${options.routerRoot}/_layout.tsx`]?.()];
80
+ return Promise.all(preloadPromises).then(() => resolveClientLoader(serverContext)).then(() => {
81
+ render(
82
+ /* @__PURE__ */ jsx(
83
+ Root,
84
+ {
85
+ isClient: !0,
86
+ flags: options.flags,
87
+ routes: options.routes,
88
+ routerRoot: options.routerRoot,
89
+ path: window.location.href
90
+ }
91
+ )
92
+ );
86
93
  }).catch((err) => {
87
- console.error("Error importing root layout on client", err);
94
+ console.error("Error during client initialization:", err);
88
95
  });
89
96
  }
90
97
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createApp.tsx"],
4
- "mappings": "AAAA,OAAO;AAEP,SAAS,oBAAoB;AAC7B,OAAO,oBAAoB;AAC3B,SAAS,mBAAmB;AAC5B,SAAS,2BAA2B;AACpC,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,SAAS,sBAAsB;AAE/B,SAAS,+BAA+B;AACxC,SAAS,oBAAoB;AAC7B,SAAS,yCAAyC;AAClD,SAAS,kBAAkB,wBAAwB;AA4BvC,SA6CE,UA7CF;AAnBL,SAAS,UAAU,SAAyB;AACjD,SAAI,YAAY,IAAI,MACX;AAAA,IACL;AAAA,IACA,QAAQ,OAAO,UAA0B;AACvC,UAAI,EAAE,YAAY,aAAa,KAAK,MAAM,iBAAiB,IAAI;AAE/D,uBAAiB;AAAA,QACf,gBAAgB;AAAA,QAChB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAED,UAAI;AAEJ,YAAM,MAAM,MAER;AAAA,QAAC;AAAA;AAAA,UACC,OAAO,QAAQ;AAAA,UACf,YAAY,CAAC,OAAO;AAClB,uBAAW;AAAA,UACb;AAAA,UACA,QAAQ,QAAQ;AAAA,UAChB,YAAY,QAAQ;AAAA,UACnB,GAAG;AAAA;AAAA,MACN;AAIJ,kBAAY,kBAAkB,OAAO,MAAM,GAAG;AAG9C,YAAM,cAAc,YAAY,eAAe,OAAO,CAAC,CAAC,GAGlD,cAAc,YAAY,QAAQ,MAAM;AAE9C,UAAI,OAAO,MAAM,eAAe,aAAa;AAAA,QAC3C,UAAU,MAAM;AAAA,MAClB,CAAC;AAED,UAAI;AACF,cAAM,oBAA0C,CAAC,GAE3C,WAAW,YAAY,gBAAgB,EAAE,OAAO,QAAQ,IAAI,UAAU,CAAC;AAC7E,QAAI,YACF,kBAAkB,KAAK,QAAQ,GAGjC,aAAa,QAAQ;AACrB,cAAM,aAAa,wBAAwB,QAAQ;AACnD,YAAI;AACF,qBAAW,aAAa,YAAY;AAClC,kBAAM,MAAM,UAAU;AACtB,YAAI,OACF,kBAAkB,KAAK,GAAG;AAAA,UAE9B;AAGF,YAAI,kBAAkB,QAAQ;AAC5B,gBAAM,gBAAgB,eAAe;AAAA,YACnC,gCAAG,4BAAkB,IAAI,CAAC,GAAG,MAAM,aAAa,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,GAAE;AAAA,UAClE;AAEA,UAAI,kBACF,OAAO,KAAK,QAAQ,WAAW,GAAG,aAAa,SAAS;AAAA,QAE5D;AAAA,MACF,SAAS,KAAK;AAGZ,YAAI,IAAG,GAAG,GAAG,SAAS,sBAAsB;AAG1C,gBAAM;AAAA,MAEV;AAGA,YAAM,iBAAiB,iBAAiB,GAAG;AAE3C,aAAI,mBACF,OAAO,KAAK;AAAA,QACV,KAAK,UAAU,iCAAiC;AAAA,QAChD,KAAK,UAAU,cAAc;AAAA,MAC/B,IAGK;AAAA,IACT;AAAA,EACF,KAIuB,QAAQ,OAAO,IAAI,QAAQ,UAAU,cAAc,IAAI,GAG7E,KAAK,MAAM;AACV,wBAAoB,iBAAiB,KAAK,CAAC,CAAC,EACzC,KAAK,MAAM;AAEV;AAAA,QACE;AAAA,UAAC;AAAA;AAAA,YACC,UAAQ;AAAA,YACR,OAAO,QAAQ;AAAA,YACf,QAAQ,QAAQ;AAAA,YAChB,YAAY,QAAQ;AAAA,YACpB,MAAM,OAAO,SAAS;AAAA;AAAA,QACxB;AAAA,MACF;AAAA,IACF,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,cAAQ,MAAM,iEAAiE,GAAG;AAAA,IACpF,CAAC;AAAA,EACL,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,YAAQ,MAAM,yCAAyC,GAAG;AAAA,EAC5D,CAAC;AACL;",
5
- "names": []
4
+ "mappings": "AAAA,OAAO;AAEP,SAAS,oBAAoB;AAC7B,OAAO,oBAAoB;AAC3B,SAAS,mBAAmB;AAC5B,SAAS,2BAA2B;AACpC,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,SAAS,8BAA8B;AACvC,SAAS,sBAAsB;AAE/B,SAAS,+BAA+B;AACxC,SAAS,oBAAoB;AAC7B,SAAS,yCAAyC;AAClD,SAAS,kBAAkB,wBAAwB;AA6BvC,SA6CE,UA7CF;AApBL,SAAS,UAAU,SAAyB;AACjD,MAAI,YAAY,IAAI;AAClB,WAAO;AAAA,MACL;AAAA,MACA,QAAQ,OAAO,UAA0B;AACvC,YAAI,EAAE,YAAY,aAAa,KAAK,MAAM,kBAAkB,eAAAA,eAAc,IAAI;AAE9E,yBAAiB;AAAA,UACf,gBAAgB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,eAAAA;AAAA,QACF,CAAC;AAED,YAAI;AAEJ,cAAM,MAAM,MAER;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,QAAQ;AAAA,YACf,YAAY,CAAC,OAAO;AAClB,yBAAW;AAAA,YACb;AAAA,YACA,QAAQ,QAAQ;AAAA,YAChB,YAAY,QAAQ;AAAA,YACnB,GAAG;AAAA;AAAA,QACN;AAIJ,oBAAY,kBAAkB,OAAO,MAAM,GAAG;AAG9C,cAAM,cAAc,YAAY,eAAe,OAAO,CAAC,CAAC,GAGlD,cAAc,YAAY,QAAQ,MAAM;AAE9C,YAAI,OAAO,MAAM,eAAe,aAAa;AAAA,UAC3C,UAAU,MAAM;AAAA,QAClB,CAAC;AAED,YAAI;AACF,gBAAM,oBAA0C,CAAC,GAE3C,WAAW,YAAY,gBAAgB,EAAE,OAAO,QAAQ,IAAI,UAAU,CAAC;AAC7E,UAAI,YACF,kBAAkB,KAAK,QAAQ,GAGjC,aAAa,QAAQ;AACrB,gBAAM,aAAa,wBAAwB,QAAQ;AACnD,cAAI;AACF,uBAAW,aAAa,YAAY;AAClC,oBAAM,MAAM,UAAU;AACtB,cAAI,OACF,kBAAkB,KAAK,GAAG;AAAA,YAE9B;AAGF,cAAI,kBAAkB,QAAQ;AAC5B,kBAAM,gBAAgB,eAAe;AAAA,cACnC,gCAAG,4BAAkB,IAAI,CAAC,GAAG,MAAM,aAAa,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,GAAE;AAAA,YAClE;AAEA,YAAI,kBACF,OAAO,KAAK,QAAQ,WAAW,GAAG,aAAa,SAAS;AAAA,UAE5D;AAAA,QACF,SAAS,KAAK;AAGZ,cAAI,IAAG,GAAG,GAAG,SAAS,sBAAsB;AAG1C,kBAAM;AAAA,QAEV;AAGA,cAAM,iBAAiB,iBAAiB,GAAG;AAE3C,eAAI,mBACF,OAAO,KAAK;AAAA,UACV,KAAK,UAAU,iCAAiC;AAAA,UAChD,KAAK,UAAU,cAAc;AAAA,QAC/B,IAGK;AAAA,MACT;AAAA,IACF;AAGF,QAAM,gBAAgB,iBAAiB,KAAK,CAAC,GACvC,gBAAgB,cAAc,eAI9B,kBAAkB,gBACpB,OAAO,QAAQ,aAAa,EAAE,IAAI,OAAO,CAAC,UAAU,UAAU,MAAM;AAClE,UAAM,MAAM,MAAM;AAAA;AAAA,MAA0B;AAAA;AAC5C,kCAAuB,UAAU,GAAG,GAC7B;AAAA,EACT,CAAC,IACD,CAAC,QAAQ,OAAO,IAAI,QAAQ,UAAU,cAAc,IAAI,CAAC;AAE7D,SAAO,QAAQ,IAAI,eAAe,EAC/B,KAAK,MACG,oBAAoB,aAAa,CACzC,EACA,KAAK,MAAM;AACV;AAAA,MACE;AAAA,QAAC;AAAA;AAAA,UACC,UAAQ;AAAA,UACR,OAAO,QAAQ;AAAA,UACf,QAAQ,QAAQ;AAAA,UAChB,YAAY,QAAQ;AAAA,UACpB,MAAM,OAAO,SAAS;AAAA;AAAA,MACxB;AAAA,IACF;AAAA,EACF,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,YAAQ,MAAM,uCAAuC,GAAG;AAAA,EAC1D,CAAC;AACL;",
5
+ "names": ["routePreloads"]
6
6
  }
@@ -5,6 +5,7 @@ import { AppRegistry } from "react-native-web";
5
5
  import { resolveClientLoader } from "./clientLoaderResolver.mjs";
6
6
  import { Root } from "./Root.mjs";
7
7
  import { render } from "./render.mjs";
8
+ import { registerPreloadedRoute } from "./router/useViteRoutes.mjs";
8
9
  import { renderToString } from "./server-render.mjs";
9
10
  import { getServerHeadInsertions } from "./useServerHeadInsertion.mjs";
10
11
  import { ensureExists } from "./utils/ensureExists.mjs";
@@ -12,7 +13,7 @@ import { SERVER_CONTEXT_POST_RENDER_STRING } from "./vite/constants.mjs";
12
13
  import { getServerContext, setServerContext } from "./vite/one-server-only.mjs";
13
14
  import { Fragment, jsx } from "react/jsx-runtime";
14
15
  function createApp(options) {
15
- return import.meta.env.SSR ? {
16
+ if (import.meta.env.SSR) return {
16
17
  options,
17
18
  render: async props => {
18
19
  let {
@@ -20,14 +21,16 @@ function createApp(options) {
20
21
  loaderProps,
21
22
  css,
22
23
  mode,
23
- loaderServerData
24
+ loaderServerData,
25
+ routePreloads: routePreloads2
24
26
  } = props;
25
27
  setServerContext({
26
28
  postRenderData: loaderServerData,
27
29
  loaderData,
28
30
  loaderProps,
29
31
  mode,
30
- css
32
+ css,
33
+ routePreloads: routePreloads2
31
34
  });
32
35
  let renderId;
33
36
  const App = () => /* @__PURE__ */jsx(Root, {
@@ -70,20 +73,24 @@ function createApp(options) {
70
73
  const postRenderData = getServerContext()?.postRenderData;
71
74
  return postRenderData && (html = html.replace(JSON.stringify(SERVER_CONTEXT_POST_RENDER_STRING), JSON.stringify(postRenderData))), html;
72
75
  }
73
- } : (options.routes[`/${options.routerRoot}/_layout.tsx`]?.()).then(() => {
74
- resolveClientLoader(getServerContext() || {}).then(() => {
75
- render(/* @__PURE__ */jsx(Root, {
76
- isClient: !0,
77
- flags: options.flags,
78
- routes: options.routes,
79
- routerRoot: options.routerRoot,
80
- path: window.location.href
81
- }));
82
- }).catch(err => {
83
- console.error('Error running client loader resolver "onClientLoaderResolve":', err);
84
- });
76
+ };
77
+ const serverContext = getServerContext() || {},
78
+ routePreloads = serverContext.routePreloads,
79
+ preloadPromises = routePreloads ? Object.entries(routePreloads).map(async ([routeKey, bundlePath]) => {
80
+ const mod = await import(/* @vite-ignore */
81
+ bundlePath);
82
+ return registerPreloadedRoute(routeKey, mod), mod;
83
+ }) : [options.routes[`/${options.routerRoot}/_layout.tsx`]?.()];
84
+ return Promise.all(preloadPromises).then(() => resolveClientLoader(serverContext)).then(() => {
85
+ render(/* @__PURE__ */jsx(Root, {
86
+ isClient: !0,
87
+ flags: options.flags,
88
+ routes: options.routes,
89
+ routerRoot: options.routerRoot,
90
+ path: window.location.href
91
+ }));
85
92
  }).catch(err => {
86
- console.error("Error importing root layout on client", err);
93
+ console.error("Error during client initialization:", err);
87
94
  });
88
95
  }
89
96
  export { createApp };
@@ -1 +1 @@
1
- {"version":3,"names":["cloneElement","ReactDOMServer","AppRegistry","resolveClientLoader","Root","render","renderToString","getServerHeadInsertions","ensureExists","SERVER_CONTEXT_POST_RENDER_STRING","getServerContext","setServerContext","Fragment","jsx","createApp","options","import","meta","env","SSR","props","loaderData","loaderProps","css","mode","loaderServerData","postRenderData","renderId","App","flags","onRenderId","id","routes","routerRoot","registerComponent","Application","getApplication","rootElement","element","children","html","preloads","extraHeadElements","styleTag","getStyleElement","nonce","process","ONE_NONCE","push","insertions","insertion","out","length","extraHeadHTML","renderToStaticMarkup","map","x","i","key","replace","err","includes","JSON","stringify","then","isClient","path","window","location","href","catch","console","error"],"sources":["../../src/createApp.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["cloneElement","ReactDOMServer","AppRegistry","resolveClientLoader","Root","render","registerPreloadedRoute","renderToString","getServerHeadInsertions","ensureExists","SERVER_CONTEXT_POST_RENDER_STRING","getServerContext","setServerContext","Fragment","jsx","createApp","options","import","meta","env","SSR","props","loaderData","loaderProps","css","mode","loaderServerData","routePreloads","routePreloads2","postRenderData","renderId","App","flags","onRenderId","id","routes","routerRoot","registerComponent","Application","getApplication","rootElement","element","children","html","preloads","extraHeadElements","styleTag","getStyleElement","nonce","process","ONE_NONCE","push","insertions","insertion","out","length","extraHeadHTML","renderToStaticMarkup","map","x","i","key","replace","err","includes","JSON","stringify","serverContext","preloadPromises","Object","entries","routeKey","bundlePath","mod","Promise","all","then","isClient","path","window","location","href","catch","console","error"],"sources":["../../src/createApp.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,27 +3,31 @@ import { getPathFromLoaderPath } from "./utils/cleanUrl";
3
3
  import { isResponse } from "./utils/isResponse";
4
4
  import { getManifest } from "./vite/getManifest";
5
5
  import { resolveAPIEndpoint, resolveResponse } from "./vite/resolveResponse";
6
+ const debugRouter = process.env.ONE_DEBUG_ROUTER;
6
7
  async function runMiddlewares(handlers, request, route, getResponse) {
7
8
  const middlewares = route.middlewares;
8
9
  if (!middlewares?.length)
9
10
  return await getResponse();
10
11
  if (!handlers.loadMiddleware)
11
12
  throw new Error("No middleware handler configured");
13
+ debugRouter && console.info(`[one] \u{1F517} middleware chain (${middlewares.length}) for ${route.page}`);
12
14
  const context = {};
13
15
  async function dispatch(index) {
14
16
  const middlewareModule = middlewares[index];
15
17
  if (!middlewareModule)
16
- return await getResponse();
18
+ return debugRouter && console.info("[one] \u2713 middleware chain complete"), await getResponse();
19
+ debugRouter && console.info(`[one] \u2192 middleware[${index}]: ${middlewareModule.contextKey}`);
17
20
  const exported = (await handlers.loadMiddleware(middlewareModule))?.default;
18
21
  if (!exported)
19
22
  throw new Error(`No valid export found in middleware: ${middlewareModule.contextKey}`);
20
23
  const response = await exported({ request, next: async () => dispatch(index + 1), context });
21
- return response || dispatch(index + 1);
24
+ return response ? (debugRouter && console.info(`[one] \u2190 middleware[${index}] returned early (status: ${response.status})`), response) : dispatch(index + 1);
22
25
  }
23
26
  return dispatch(0);
24
27
  }
25
28
  async function resolveAPIRoute(handlers, request, url, route) {
26
29
  const { pathname } = url, params = getRouteParams(pathname, route);
30
+ debugRouter && console.info(`[one] \u{1F4E1} API ${request.method} ${pathname} \u2192 ${route.file}`, params);
27
31
  try {
28
32
  return resolveAPIEndpoint(
29
33
  () => handlers.handleAPI({
@@ -53,7 +57,7 @@ async function resolveAPIRoute(handlers, request, url, route) {
53
57
  }
54
58
  }
55
59
  async function resolveLoaderRoute(handlers, request, url, route) {
56
- return await runMiddlewares(handlers, request, route, async () => await resolveResponse(async () => {
60
+ return debugRouter && console.info(`[one] \u{1F4E6} loader ${url.pathname} \u2192 ${route.file}`), await runMiddlewares(handlers, request, route, async () => await resolveResponse(async () => {
57
61
  const headers = new Headers();
58
62
  headers.set("Content-Type", "text/javascript");
59
63
  try {
@@ -80,7 +84,7 @@ async function resolveLoaderRoute(handlers, request, url, route) {
80
84
  }
81
85
  async function resolvePageRoute(handlers, request, url, route) {
82
86
  const { pathname, search } = url;
83
- return resolveResponse(async () => await runMiddlewares(handlers, request, route, async () => await handlers.handlePage({
87
+ return debugRouter && console.info(`[one] \u{1F4C4} page ${pathname} \u2192 ${route.file} (${route.type})`), resolveResponse(async () => await runMiddlewares(handlers, request, route, async () => await handlers.handlePage({
84
88
  request,
85
89
  route,
86
90
  url,
@@ -126,7 +130,7 @@ function createHandleRequest(handlers, { routerRoot }) {
126
130
  if (handlers.handleAPI) {
127
131
  const apiRoute = compiledManifest.apiRoutes.find((route) => route.compiledRegex.test(pathname));
128
132
  if (apiRoute)
129
- return await resolveAPIRoute(handlers, request, url, apiRoute);
133
+ return debugRouter && console.info(`[one] \u26A1 ${pathname} \u2192 matched API route: ${apiRoute.page}`), await resolveAPIRoute(handlers, request, url, apiRoute);
130
134
  }
131
135
  if (request.method !== "GET")
132
136
  return null;
@@ -150,7 +154,7 @@ function createHandleRequest(handlers, { routerRoot }) {
150
154
  if (handlers.handlePage) {
151
155
  for (const route of compiledManifest.pageRoutes)
152
156
  if (route.compiledRegex.test(pathname))
153
- return resolvePageRoute(handlers, request, url, route);
157
+ return debugRouter && console.info(`[one] \u26A1 ${pathname} \u2192 matched page route: ${route.page} (${route.type})`), resolvePageRoute(handlers, request, url, route);
154
158
  }
155
159
  return null;
156
160
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createHandleRequest.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -3,14 +3,17 @@ import { getPathFromLoaderPath } from "./utils/cleanUrl.mjs";
3
3
  import { isResponse } from "./utils/isResponse.mjs";
4
4
  import { getManifest } from "./vite/getManifest.mjs";
5
5
  import { resolveAPIEndpoint, resolveResponse } from "./vite/resolveResponse.mjs";
6
+ const debugRouter = process.env.ONE_DEBUG_ROUTER;
6
7
  async function runMiddlewares(handlers, request, route, getResponse) {
7
8
  const middlewares = route.middlewares;
8
9
  if (!middlewares?.length) return await getResponse();
9
10
  if (!handlers.loadMiddleware) throw new Error("No middleware handler configured");
11
+ debugRouter && console.info(`[one] \u{1F517} middleware chain (${middlewares.length}) for ${route.page}`);
10
12
  const context = {};
11
13
  async function dispatch(index) {
12
14
  const middlewareModule = middlewares[index];
13
- if (!middlewareModule) return await getResponse();
15
+ if (!middlewareModule) return debugRouter && console.info("[one] \u2713 middleware chain complete"), await getResponse();
16
+ debugRouter && console.info(`[one] \u2192 middleware[${index}]: ${middlewareModule.contextKey}`);
14
17
  const exported = (await handlers.loadMiddleware(middlewareModule))?.default;
15
18
  if (!exported) throw new Error(`No valid export found in middleware: ${middlewareModule.contextKey}`);
16
19
  const response = await exported({
@@ -18,7 +21,7 @@ async function runMiddlewares(handlers, request, route, getResponse) {
18
21
  next: async () => dispatch(index + 1),
19
22
  context
20
23
  });
21
- return response || dispatch(index + 1);
24
+ return response ? (debugRouter && console.info(`[one] \u2190 middleware[${index}] returned early (status: ${response.status})`), response) : dispatch(index + 1);
22
25
  }
23
26
  return dispatch(0);
24
27
  }
@@ -27,6 +30,7 @@ async function resolveAPIRoute(handlers, request, url, route) {
27
30
  pathname
28
31
  } = url,
29
32
  params = getRouteParams(pathname, route);
33
+ debugRouter && console.info(`[one] \u{1F4E1} API ${request.method} ${pathname} \u2192 ${route.file}`, params);
30
34
  try {
31
35
  return resolveAPIEndpoint(() => handlers.handleAPI({
32
36
  request,
@@ -51,7 +55,7 @@ async function resolveAPIRoute(handlers, request, url, route) {
51
55
  }
52
56
  }
53
57
  async function resolveLoaderRoute(handlers, request, url, route) {
54
- return await runMiddlewares(handlers, request, route, async () => await resolveResponse(async () => {
58
+ return debugRouter && console.info(`[one] \u{1F4E6} loader ${url.pathname} \u2192 ${route.file}`), await runMiddlewares(handlers, request, route, async () => await resolveResponse(async () => {
55
59
  const headers = new Headers();
56
60
  headers.set("Content-Type", "text/javascript");
57
61
  try {
@@ -80,7 +84,7 @@ async function resolvePageRoute(handlers, request, url, route) {
80
84
  pathname,
81
85
  search
82
86
  } = url;
83
- return resolveResponse(async () => await runMiddlewares(handlers, request, route, async () => await handlers.handlePage({
87
+ return debugRouter && console.info(`[one] \u{1F4C4} page ${pathname} \u2192 ${route.file} (${route.type})`), resolveResponse(async () => await runMiddlewares(handlers, request, route, async () => await handlers.handlePage({
84
88
  request,
85
89
  route,
86
90
  url,
@@ -128,7 +132,7 @@ function createHandleRequest(handlers, {
128
132
  if (pathname === "/__vxrnhmr" || pathname.startsWith("/@")) return null;
129
133
  if (handlers.handleAPI) {
130
134
  const apiRoute = compiledManifest.apiRoutes.find(route => route.compiledRegex.test(pathname));
131
- if (apiRoute) return await resolveAPIRoute(handlers, request, url, apiRoute);
135
+ if (apiRoute) return debugRouter && console.info(`[one] \u26A1 ${pathname} \u2192 matched API route: ${apiRoute.page}`), await resolveAPIRoute(handlers, request, url, apiRoute);
132
136
  }
133
137
  if (request.method !== "GET") return null;
134
138
  if (handlers.handleLoader && pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)) {
@@ -147,7 +151,7 @@ function createHandleRequest(handlers, {
147
151
  }), Response.error();
148
152
  }
149
153
  if (handlers.handlePage) {
150
- for (const route of compiledManifest.pageRoutes) if (route.compiledRegex.test(pathname)) return resolvePageRoute(handlers, request, url, route);
154
+ for (const route of compiledManifest.pageRoutes) if (route.compiledRegex.test(pathname)) return debugRouter && console.info(`[one] \u26A1 ${pathname} \u2192 matched page route: ${route.page} (${route.type})`), resolvePageRoute(handlers, request, url, route);
151
155
  }
152
156
  return null;
153
157
  }
@@ -1 +1 @@
1
- {"version":3,"names":["LOADER_JS_POSTFIX_UNCACHED","getPathFromLoaderPath","isResponse","getManifest","resolveAPIEndpoint","resolveResponse","runMiddlewares","handlers","request","route","getResponse","middlewares","length","loadMiddleware","Error","context","dispatch","index","middlewareModule","exported","default","contextKey","response","next","resolveAPIRoute","url","pathname","params","getRouteParams","handleAPI","loaderProps","path","search","err","process","env","NODE_ENV","console","error","resolveLoaderRoute","headers","Headers","set","loaderResponse","handleLoader","type","getLoaderParams","Response","resolvePageRoute","handlePage","getURLfromRequestURL","urlString","URL","get","compileRouteRegex","compiledRegex","RegExp","namedRegex","compileManifest","manifest","pageRoutes","map","apiRoutes","createHandleRequest","routerRoot","compiledManifest","handler","startsWith","apiRoute","find","test","method","endsWith","originalUrl","file","finalUrl","origin","cleanedRequest","Request","routes","config","match","exec","groups","key","value","Object","entries","namedKey","routeKeys","fromEntries"],"sources":["../../src/createHandleRequest.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["LOADER_JS_POSTFIX_UNCACHED","getPathFromLoaderPath","isResponse","getManifest","resolveAPIEndpoint","resolveResponse","debugRouter","process","env","ONE_DEBUG_ROUTER","runMiddlewares","handlers","request","route","getResponse","middlewares","length","loadMiddleware","Error","console","info","page","context","dispatch","index","middlewareModule","contextKey","exported","default","response","next","status","resolveAPIRoute","url","pathname","params","getRouteParams","method","file","handleAPI","loaderProps","path","search","err","NODE_ENV","error","resolveLoaderRoute","headers","Headers","set","loaderResponse","handleLoader","type","getLoaderParams","Response","resolvePageRoute","handlePage","getURLfromRequestURL","urlString","URL","get","compileRouteRegex","compiledRegex","RegExp","namedRegex","compileManifest","manifest","pageRoutes","map","apiRoutes","createHandleRequest","routerRoot","compiledManifest","handler","startsWith","apiRoute","find","test","endsWith","originalUrl","finalUrl","origin","cleanedRequest","Request","routes","config","match","exec","groups","key","value","Object","entries","namedKey","routeKeys","fromEntries"],"sources":["../../src/createHandleRequest.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,15 +3,18 @@ import { getPathFromLoaderPath } from "./utils/cleanUrl.native.js";
3
3
  import { isResponse } from "./utils/isResponse.native.js";
4
4
  import { getManifest } from "./vite/getManifest.native.js";
5
5
  import { resolveAPIEndpoint, resolveResponse } from "./vite/resolveResponse.native.js";
6
+ var debugRouter = process.env.ONE_DEBUG_ROUTER;
6
7
  async function runMiddlewares(handlers, request, route, getResponse) {
7
8
  var middlewares = route.middlewares;
8
9
  if (!middlewares?.length) return await getResponse();
9
10
  if (!handlers.loadMiddleware) throw new Error("No middleware handler configured");
11
+ debugRouter && console.info(`[one] \u{1F517} middleware chain (${middlewares.length}) for ${route.page}`);
10
12
  var context = {};
11
13
  async function dispatch(index) {
12
14
  var _this,
13
15
  middlewareModule = middlewares[index];
14
- if (!middlewareModule) return await getResponse();
16
+ if (!middlewareModule) return debugRouter && console.info("[one] \u2713 middleware chain complete"), await getResponse();
17
+ debugRouter && console.info(`[one] \u2192 middleware[${index}]: ${middlewareModule.contextKey}`);
15
18
  var exported = (_this = await handlers.loadMiddleware(middlewareModule)) === null || _this === void 0 ? void 0 : _this.default;
16
19
  if (!exported) throw new Error(`No valid export found in middleware: ${middlewareModule.contextKey}`);
17
20
  var next = async function () {
@@ -22,7 +25,7 @@ async function runMiddlewares(handlers, request, route, getResponse) {
22
25
  next,
23
26
  context
24
27
  });
25
- return response || dispatch(index + 1);
28
+ return response ? (debugRouter && console.info(`[one] \u2190 middleware[${index}] returned early (status: ${response.status})`), response) : dispatch(index + 1);
26
29
  }
27
30
  return dispatch(0);
28
31
  }
@@ -31,6 +34,7 @@ async function resolveAPIRoute(handlers, request, url, route) {
31
34
  pathname
32
35
  } = url,
33
36
  params = getRouteParams(pathname, route);
37
+ debugRouter && console.info(`[one] \u{1F4E1} API ${request.method} ${pathname} \u2192 ${route.file}`, params);
34
38
  try {
35
39
  return resolveAPIEndpoint(function () {
36
40
  return handlers.handleAPI({
@@ -57,7 +61,7 @@ async function resolveAPIRoute(handlers, request, url, route) {
57
61
  }
58
62
  }
59
63
  async function resolveLoaderRoute(handlers, request, url, route) {
60
- return await runMiddlewares(handlers, request, route, async function () {
64
+ return debugRouter && console.info(`[one] \u{1F4E6} loader ${url.pathname} \u2192 ${route.file}`), await runMiddlewares(handlers, request, route, async function () {
61
65
  return await resolveResponse(async function () {
62
66
  var headers = new Headers();
63
67
  headers.set("Content-Type", "text/javascript");
@@ -88,7 +92,7 @@ async function resolvePageRoute(handlers, request, url, route) {
88
92
  pathname,
89
93
  search
90
94
  } = url;
91
- return resolveResponse(async function () {
95
+ return debugRouter && console.info(`[one] \u{1F4C4} page ${pathname} \u2192 ${route.file} (${route.type})`), resolveResponse(async function () {
92
96
  var resolved = await runMiddlewares(handlers, request, route, async function () {
93
97
  return await handlers.handlePage({
94
98
  request,
@@ -144,7 +148,7 @@ function createHandleRequest(handlers, param) {
144
148
  var apiRoute = compiledManifest.apiRoutes.find(function (route2) {
145
149
  return route2.compiledRegex.test(pathname);
146
150
  });
147
- if (apiRoute) return await resolveAPIRoute(handlers, request, url, apiRoute);
151
+ if (apiRoute) return debugRouter && console.info(`[one] \u26A1 ${pathname} \u2192 matched API route: ${apiRoute.page}`), await resolveAPIRoute(handlers, request, url, apiRoute);
148
152
  }
149
153
  if (request.method !== "GET") return null;
150
154
  if (handlers.handleLoader) {
@@ -188,7 +192,7 @@ function createHandleRequest(handlers, param) {
188
192
  try {
189
193
  for (var _iterator1 = compiledManifest.pageRoutes[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
190
194
  var route1 = _step1.value;
191
- if (route1.compiledRegex.test(pathname)) return resolvePageRoute(handlers, request, url, route1);
195
+ if (route1.compiledRegex.test(pathname)) return debugRouter && console.info(`[one] \u26A1 ${pathname} \u2192 matched page route: ${route1.page} (${route1.type})`), resolvePageRoute(handlers, request, url, route1);
192
196
  }
193
197
  } catch (err) {
194
198
  _didIteratorError1 = !0, _iteratorError1 = err;