one 1.2.57 → 1.2.58

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 (481) hide show
  1. package/dist/cjs/cli/buildPage.cjs +1 -1
  2. package/dist/cjs/cli/buildPage.js +1 -1
  3. package/dist/cjs/cli/buildPage.native.js +1 -1
  4. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  5. package/dist/cjs/cli/dev.cjs +4 -4
  6. package/dist/cjs/cli/dev.js +4 -4
  7. package/dist/cjs/cli/dev.js.map +1 -1
  8. package/dist/cjs/cli/dev.native.js +4 -4
  9. package/dist/cjs/cli/dev.native.js.map +1 -1
  10. package/dist/cjs/createApp.cjs +2 -1
  11. package/dist/cjs/createApp.js +2 -2
  12. package/dist/cjs/createApp.js.map +1 -1
  13. package/dist/cjs/createHandleRequest.test.js +3 -1
  14. package/dist/cjs/createHandleRequest.test.js.map +1 -1
  15. package/dist/cjs/createHandleRequest.test.native.js.map +1 -1
  16. package/dist/cjs/devtools/registry.cjs +30 -0
  17. package/dist/cjs/devtools/registry.js +25 -0
  18. package/dist/cjs/devtools/registry.js.map +6 -0
  19. package/dist/cjs/devtools/registry.native.js +33 -0
  20. package/dist/cjs/devtools/registry.native.js.map +1 -0
  21. package/dist/cjs/fork/createMemoryHistory.cjs +20 -9
  22. package/dist/cjs/fork/createMemoryHistory.js +22 -4
  23. package/dist/cjs/fork/createMemoryHistory.js.map +1 -1
  24. package/dist/cjs/fork/createMemoryHistory.native.js +20 -9
  25. package/dist/cjs/fork/createMemoryHistory.native.js.map +1 -1
  26. package/dist/cjs/fork/useLinking.cjs +11 -5
  27. package/dist/cjs/fork/useLinking.js +6 -6
  28. package/dist/cjs/fork/useLinking.js.map +1 -1
  29. package/dist/cjs/index.cjs +17 -1
  30. package/dist/cjs/index.js +12 -2
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/index.native.js +17 -1
  33. package/dist/cjs/index.native.js.map +1 -1
  34. package/dist/cjs/layouts/withLayoutContext.cjs +34 -15
  35. package/dist/cjs/layouts/withLayoutContext.js +29 -13
  36. package/dist/cjs/layouts/withLayoutContext.js.map +1 -1
  37. package/dist/cjs/layouts/withLayoutContext.native.js +42 -19
  38. package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
  39. package/dist/cjs/link/Link.cjs +5 -2
  40. package/dist/cjs/link/Link.js +3 -2
  41. package/dist/cjs/link/Link.js.map +1 -1
  42. package/dist/cjs/link/Link.native.js +6 -1
  43. package/dist/cjs/link/Link.native.js.map +1 -1
  44. package/dist/cjs/link/useLinkTo.cjs +11 -3
  45. package/dist/cjs/link/useLinkTo.js +6 -3
  46. package/dist/cjs/link/useLinkTo.js.map +1 -1
  47. package/dist/cjs/link/useLinkTo.native.js +11 -3
  48. package/dist/cjs/link/useLinkTo.native.js.map +1 -1
  49. package/dist/cjs/router/Route.js.map +1 -1
  50. package/dist/cjs/router/Route.native.js.map +1 -1
  51. package/dist/cjs/router/findRouteNode.cjs +70 -0
  52. package/dist/cjs/router/findRouteNode.js +72 -0
  53. package/dist/cjs/router/findRouteNode.js.map +6 -0
  54. package/dist/cjs/router/findRouteNode.native.js +104 -0
  55. package/dist/cjs/router/findRouteNode.native.js.map +1 -0
  56. package/dist/cjs/router/router.cjs +160 -11
  57. package/dist/cjs/router/router.js +142 -7
  58. package/dist/cjs/router/router.js.map +2 -2
  59. package/dist/cjs/router/router.native.js +241 -57
  60. package/dist/cjs/router/router.native.js.map +1 -1
  61. package/dist/cjs/router/useScreens.cjs +1 -1
  62. package/dist/cjs/router/useScreens.js +1 -1
  63. package/dist/cjs/router/useScreens.js.map +1 -1
  64. package/dist/cjs/router/useScreens.native.js +5 -2
  65. package/dist/cjs/router/useScreens.native.js.map +1 -1
  66. package/dist/cjs/server/oneServe.js.map +1 -1
  67. package/dist/cjs/server/oneServe.native.js.map +1 -1
  68. package/dist/cjs/useBlocker.cjs +158 -0
  69. package/dist/cjs/useBlocker.js +145 -0
  70. package/dist/cjs/useBlocker.js.map +6 -0
  71. package/dist/cjs/useBlocker.native.js +89 -0
  72. package/dist/cjs/useBlocker.native.js.map +1 -0
  73. package/dist/cjs/useLoader.cjs +69 -3
  74. package/dist/cjs/useLoader.js +57 -4
  75. package/dist/cjs/useLoader.js.map +2 -2
  76. package/dist/cjs/useLoader.native.js +90 -6
  77. package/dist/cjs/useLoader.native.js.map +1 -1
  78. package/dist/cjs/useScrollGroup.cjs +37 -0
  79. package/dist/cjs/useScrollGroup.js +30 -0
  80. package/dist/cjs/useScrollGroup.js.map +6 -0
  81. package/dist/cjs/useScrollGroup.native.js +29 -0
  82. package/dist/cjs/useScrollGroup.native.js.map +1 -0
  83. package/dist/cjs/validateParams.cjs +80 -0
  84. package/dist/cjs/validateParams.js +84 -0
  85. package/dist/cjs/validateParams.js.map +6 -0
  86. package/dist/cjs/validateParams.native.js +180 -0
  87. package/dist/cjs/validateParams.native.js.map +1 -0
  88. package/dist/cjs/validateSearch.cjs +104 -0
  89. package/dist/cjs/validateSearch.js +99 -0
  90. package/dist/cjs/validateSearch.js.map +6 -0
  91. package/dist/cjs/validateSearch.native.js +202 -0
  92. package/dist/cjs/validateSearch.native.js.map +1 -0
  93. package/dist/cjs/views/ErrorBoundary.cjs +293 -10
  94. package/dist/cjs/views/ErrorBoundary.js +328 -8
  95. package/dist/cjs/views/ErrorBoundary.js.map +2 -2
  96. package/dist/cjs/views/ErrorBoundary.native.js +159 -4
  97. package/dist/cjs/views/ErrorBoundary.native.js.map +1 -1
  98. package/dist/cjs/views/Navigator.cjs +10 -3
  99. package/dist/cjs/views/Navigator.js +7 -3
  100. package/dist/cjs/views/Navigator.js.map +1 -1
  101. package/dist/cjs/views/Navigator.native.js +12 -3
  102. package/dist/cjs/views/Navigator.native.js.map +1 -1
  103. package/dist/cjs/views/Protected.cjs +36 -0
  104. package/dist/cjs/views/Protected.js +27 -0
  105. package/dist/cjs/views/Protected.js.map +6 -0
  106. package/dist/cjs/views/Protected.native.js +44 -0
  107. package/dist/cjs/views/Protected.native.js.map +1 -0
  108. package/dist/cjs/views/RootErrorBoundary.cjs +193 -8
  109. package/dist/cjs/views/RootErrorBoundary.js +213 -8
  110. package/dist/cjs/views/RootErrorBoundary.js.map +1 -1
  111. package/dist/cjs/views/RootErrorBoundary.native.js +192 -8
  112. package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
  113. package/dist/cjs/views/ScrollBehavior.cjs +49 -11
  114. package/dist/cjs/views/ScrollBehavior.js +47 -11
  115. package/dist/cjs/views/ScrollBehavior.js.map +1 -1
  116. package/dist/cjs/views/ScrollBehavior.native.js +68 -10
  117. package/dist/cjs/views/ScrollBehavior.native.js.map +1 -1
  118. package/dist/cjs/views/SourceInspector.cjs +28 -0
  119. package/dist/cjs/views/SourceInspector.js +23 -0
  120. package/dist/cjs/views/SourceInspector.js.map +6 -0
  121. package/dist/cjs/views/SourceInspector.native.js +32 -0
  122. package/dist/cjs/views/SourceInspector.native.js.map +1 -0
  123. package/dist/cjs/views/Try.cjs +40 -7
  124. package/dist/cjs/views/Try.js +38 -4
  125. package/dist/cjs/views/Try.js.map +1 -1
  126. package/dist/cjs/views/Try.native.js +42 -7
  127. package/dist/cjs/views/Try.native.js.map +1 -1
  128. package/dist/cjs/vite/DevHead.cjs +797 -43
  129. package/dist/cjs/vite/DevHead.js +802 -51
  130. package/dist/cjs/vite/DevHead.js.map +1 -1
  131. package/dist/cjs/vite/DevHead.native.js +783 -1
  132. package/dist/cjs/vite/DevHead.native.js.map +1 -1
  133. package/dist/cjs/vite/one.cjs +7 -1
  134. package/dist/cjs/vite/one.js +7 -2
  135. package/dist/cjs/vite/one.js.map +1 -1
  136. package/dist/cjs/vite/one.native.js +11 -1
  137. package/dist/cjs/vite/one.native.js.map +1 -1
  138. package/dist/cjs/vite/plugins/SSRCSSPlugin.cjs +44 -4
  139. package/dist/cjs/vite/plugins/SSRCSSPlugin.js +48 -4
  140. package/dist/cjs/vite/plugins/SSRCSSPlugin.js.map +1 -1
  141. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js +62 -5
  142. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  143. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +6 -3
  144. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  145. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  146. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.cjs +5 -1
  147. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js +11 -6
  148. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
  149. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +1 -0
  150. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  151. package/dist/cjs/vite/plugins/sourceInspectorPlugin.cjs +155 -0
  152. package/dist/cjs/vite/plugins/sourceInspectorPlugin.js +148 -0
  153. package/dist/cjs/vite/plugins/sourceInspectorPlugin.js.map +6 -0
  154. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js +231 -0
  155. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -0
  156. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +25 -6
  157. package/dist/cjs/vite/plugins/virtualEntryPlugin.js +16 -6
  158. package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
  159. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +26 -7
  160. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  161. package/dist/esm/cli/buildPage.js +1 -1
  162. package/dist/esm/cli/buildPage.mjs +1 -1
  163. package/dist/esm/cli/buildPage.mjs.map +1 -1
  164. package/dist/esm/cli/buildPage.native.js +1 -1
  165. package/dist/esm/cli/buildPage.native.js.map +1 -1
  166. package/dist/esm/cli/dev.js +4 -4
  167. package/dist/esm/cli/dev.js.map +1 -1
  168. package/dist/esm/cli/dev.mjs +4 -4
  169. package/dist/esm/cli/dev.mjs.map +1 -1
  170. package/dist/esm/cli/dev.native.js +4 -4
  171. package/dist/esm/cli/dev.native.js.map +1 -1
  172. package/dist/esm/createApp.js +2 -2
  173. package/dist/esm/createApp.js.map +1 -1
  174. package/dist/esm/createApp.mjs +2 -1
  175. package/dist/esm/createApp.mjs.map +1 -1
  176. package/dist/esm/createHandleRequest.test.js +3 -1
  177. package/dist/esm/createHandleRequest.test.js.map +1 -1
  178. package/dist/esm/createHandleRequest.test.mjs.map +1 -1
  179. package/dist/esm/createHandleRequest.test.native.js.map +1 -1
  180. package/dist/esm/devtools/registry.js +9 -0
  181. package/dist/esm/devtools/registry.js.map +6 -0
  182. package/dist/esm/devtools/registry.mjs +6 -0
  183. package/dist/esm/devtools/registry.mjs.map +1 -0
  184. package/dist/esm/devtools/registry.native.js +6 -0
  185. package/dist/esm/devtools/registry.native.js.map +1 -0
  186. package/dist/esm/fork/createMemoryHistory.js +22 -4
  187. package/dist/esm/fork/createMemoryHistory.js.map +1 -1
  188. package/dist/esm/fork/createMemoryHistory.mjs +20 -9
  189. package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
  190. package/dist/esm/fork/createMemoryHistory.native.js +20 -9
  191. package/dist/esm/fork/createMemoryHistory.native.js.map +1 -1
  192. package/dist/esm/fork/useLinking.js +6 -5
  193. package/dist/esm/fork/useLinking.js.map +1 -1
  194. package/dist/esm/fork/useLinking.mjs +11 -5
  195. package/dist/esm/fork/useLinking.mjs.map +1 -1
  196. package/dist/esm/index.js +30 -2
  197. package/dist/esm/index.js.map +1 -1
  198. package/dist/esm/index.mjs +8 -2
  199. package/dist/esm/index.mjs.map +1 -1
  200. package/dist/esm/index.native.js +8 -2
  201. package/dist/esm/index.native.js.map +1 -1
  202. package/dist/esm/layouts/withLayoutContext.js +30 -12
  203. package/dist/esm/layouts/withLayoutContext.js.map +1 -1
  204. package/dist/esm/layouts/withLayoutContext.mjs +34 -15
  205. package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
  206. package/dist/esm/layouts/withLayoutContext.native.js +42 -19
  207. package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
  208. package/dist/esm/link/Link.js +3 -2
  209. package/dist/esm/link/Link.js.map +1 -1
  210. package/dist/esm/link/Link.mjs +5 -2
  211. package/dist/esm/link/Link.mjs.map +1 -1
  212. package/dist/esm/link/Link.native.js +6 -1
  213. package/dist/esm/link/Link.native.js.map +1 -1
  214. package/dist/esm/link/useLinkTo.js +6 -3
  215. package/dist/esm/link/useLinkTo.js.map +1 -1
  216. package/dist/esm/link/useLinkTo.mjs +11 -3
  217. package/dist/esm/link/useLinkTo.mjs.map +1 -1
  218. package/dist/esm/link/useLinkTo.native.js +11 -3
  219. package/dist/esm/link/useLinkTo.native.js.map +1 -1
  220. package/dist/esm/router/Route.js.map +1 -1
  221. package/dist/esm/router/Route.mjs.map +1 -1
  222. package/dist/esm/router/Route.native.js.map +1 -1
  223. package/dist/esm/router/findRouteNode.js +56 -0
  224. package/dist/esm/router/findRouteNode.js.map +6 -0
  225. package/dist/esm/router/findRouteNode.mjs +44 -0
  226. package/dist/esm/router/findRouteNode.mjs.map +1 -0
  227. package/dist/esm/router/findRouteNode.native.js +75 -0
  228. package/dist/esm/router/findRouteNode.native.js.map +1 -0
  229. package/dist/esm/router/router.js +154 -6
  230. package/dist/esm/router/router.js.map +1 -1
  231. package/dist/esm/router/router.mjs +151 -10
  232. package/dist/esm/router/router.mjs.map +1 -1
  233. package/dist/esm/router/router.native.js +232 -56
  234. package/dist/esm/router/router.native.js.map +1 -1
  235. package/dist/esm/router/useScreens.js +1 -1
  236. package/dist/esm/router/useScreens.js.map +1 -1
  237. package/dist/esm/router/useScreens.mjs +1 -1
  238. package/dist/esm/router/useScreens.mjs.map +1 -1
  239. package/dist/esm/router/useScreens.native.js +5 -2
  240. package/dist/esm/router/useScreens.native.js.map +1 -1
  241. package/dist/esm/server/oneServe.js.map +1 -1
  242. package/dist/esm/server/oneServe.mjs.map +1 -1
  243. package/dist/esm/server/oneServe.native.js.map +1 -1
  244. package/dist/esm/useBlocker.js +122 -0
  245. package/dist/esm/useBlocker.js.map +6 -0
  246. package/dist/esm/useBlocker.mjs +123 -0
  247. package/dist/esm/useBlocker.mjs.map +1 -0
  248. package/dist/esm/useBlocker.native.js +51 -0
  249. package/dist/esm/useBlocker.native.js.map +1 -0
  250. package/dist/esm/useLoader.js +57 -3
  251. package/dist/esm/useLoader.js.map +2 -2
  252. package/dist/esm/useLoader.mjs +69 -4
  253. package/dist/esm/useLoader.mjs.map +1 -1
  254. package/dist/esm/useLoader.native.js +90 -7
  255. package/dist/esm/useLoader.native.js.map +1 -1
  256. package/dist/esm/useScrollGroup.js +16 -0
  257. package/dist/esm/useScrollGroup.js.map +6 -0
  258. package/dist/esm/useScrollGroup.mjs +14 -0
  259. package/dist/esm/useScrollGroup.mjs.map +1 -0
  260. package/dist/esm/useScrollGroup.native.js +3 -0
  261. package/dist/esm/useScrollGroup.native.js.map +1 -0
  262. package/dist/esm/validateParams.js +68 -0
  263. package/dist/esm/validateParams.js.map +6 -0
  264. package/dist/esm/validateParams.mjs +54 -0
  265. package/dist/esm/validateParams.mjs.map +1 -0
  266. package/dist/esm/validateParams.native.js +151 -0
  267. package/dist/esm/validateParams.native.js.map +1 -0
  268. package/dist/esm/validateSearch.js +83 -0
  269. package/dist/esm/validateSearch.js.map +6 -0
  270. package/dist/esm/validateSearch.mjs +77 -0
  271. package/dist/esm/validateSearch.mjs.map +1 -0
  272. package/dist/esm/validateSearch.native.js +172 -0
  273. package/dist/esm/validateSearch.native.js.map +1 -0
  274. package/dist/esm/views/ErrorBoundary.js +325 -7
  275. package/dist/esm/views/ErrorBoundary.js.map +2 -2
  276. package/dist/esm/views/ErrorBoundary.mjs +289 -6
  277. package/dist/esm/views/ErrorBoundary.mjs.map +1 -1
  278. package/dist/esm/views/ErrorBoundary.native.js +159 -4
  279. package/dist/esm/views/ErrorBoundary.native.js.map +1 -1
  280. package/dist/esm/views/Navigator.js +7 -2
  281. package/dist/esm/views/Navigator.js.map +1 -1
  282. package/dist/esm/views/Navigator.mjs +10 -3
  283. package/dist/esm/views/Navigator.mjs.map +1 -1
  284. package/dist/esm/views/Navigator.native.js +12 -3
  285. package/dist/esm/views/Navigator.native.js.map +1 -1
  286. package/dist/esm/views/Protected.js +14 -0
  287. package/dist/esm/views/Protected.js.map +6 -0
  288. package/dist/esm/views/Protected.mjs +11 -0
  289. package/dist/esm/views/Protected.mjs.map +1 -0
  290. package/dist/esm/views/Protected.native.js +16 -0
  291. package/dist/esm/views/Protected.native.js.map +1 -0
  292. package/dist/esm/views/RootErrorBoundary.js +214 -7
  293. package/dist/esm/views/RootErrorBoundary.js.map +1 -1
  294. package/dist/esm/views/RootErrorBoundary.mjs +192 -7
  295. package/dist/esm/views/RootErrorBoundary.mjs.map +1 -1
  296. package/dist/esm/views/RootErrorBoundary.native.js +191 -7
  297. package/dist/esm/views/RootErrorBoundary.native.js.map +1 -1
  298. package/dist/esm/views/ScrollBehavior.js +47 -11
  299. package/dist/esm/views/ScrollBehavior.js.map +1 -1
  300. package/dist/esm/views/ScrollBehavior.mjs +48 -11
  301. package/dist/esm/views/ScrollBehavior.mjs.map +1 -1
  302. package/dist/esm/views/ScrollBehavior.native.js +67 -10
  303. package/dist/esm/views/ScrollBehavior.native.js.map +1 -1
  304. package/dist/esm/views/SourceInspector.js +7 -0
  305. package/dist/esm/views/SourceInspector.js.map +6 -0
  306. package/dist/esm/views/SourceInspector.mjs +5 -0
  307. package/dist/esm/views/SourceInspector.mjs.map +1 -0
  308. package/dist/esm/views/SourceInspector.native.js +6 -0
  309. package/dist/esm/views/SourceInspector.native.js.map +1 -0
  310. package/dist/esm/views/Try.js +38 -4
  311. package/dist/esm/views/Try.js.map +1 -1
  312. package/dist/esm/views/Try.mjs +40 -7
  313. package/dist/esm/views/Try.mjs.map +1 -1
  314. package/dist/esm/views/Try.native.js +42 -7
  315. package/dist/esm/views/Try.native.js.map +1 -1
  316. package/dist/esm/vite/DevHead.js +802 -51
  317. package/dist/esm/vite/DevHead.js.map +1 -1
  318. package/dist/esm/vite/DevHead.mjs +797 -43
  319. package/dist/esm/vite/DevHead.mjs.map +1 -1
  320. package/dist/esm/vite/DevHead.native.js +782 -0
  321. package/dist/esm/vite/DevHead.native.js.map +1 -1
  322. package/dist/esm/vite/one.js +7 -1
  323. package/dist/esm/vite/one.js.map +1 -1
  324. package/dist/esm/vite/one.mjs +7 -1
  325. package/dist/esm/vite/one.mjs.map +1 -1
  326. package/dist/esm/vite/one.native.js +11 -1
  327. package/dist/esm/vite/one.native.js.map +1 -1
  328. package/dist/esm/vite/plugins/SSRCSSPlugin.js +48 -4
  329. package/dist/esm/vite/plugins/SSRCSSPlugin.js.map +1 -1
  330. package/dist/esm/vite/plugins/SSRCSSPlugin.mjs +44 -4
  331. package/dist/esm/vite/plugins/SSRCSSPlugin.mjs.map +1 -1
  332. package/dist/esm/vite/plugins/SSRCSSPlugin.native.js +61 -4
  333. package/dist/esm/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  334. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +6 -3
  335. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  336. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  337. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  338. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js +11 -6
  339. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
  340. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs +5 -1
  341. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs.map +1 -1
  342. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +1 -0
  343. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  344. package/dist/esm/vite/plugins/sourceInspectorPlugin.js +126 -0
  345. package/dist/esm/vite/plugins/sourceInspectorPlugin.js.map +6 -0
  346. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs +121 -0
  347. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs.map +1 -0
  348. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js +194 -0
  349. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js.map +1 -0
  350. package/dist/esm/vite/plugins/virtualEntryPlugin.js +16 -6
  351. package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
  352. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +25 -6
  353. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  354. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +26 -7
  355. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  356. package/package.json +11 -9
  357. package/src/cli/buildPage.ts +1 -1
  358. package/src/cli/dev.ts +4 -4
  359. package/src/createApp.tsx +11 -1
  360. package/src/createHandleRequest.test.ts +3 -1
  361. package/src/devtools/registry.ts +21 -0
  362. package/src/fork/createMemoryHistory.tsx +43 -11
  363. package/src/fork/useLinking.ts +14 -4
  364. package/src/index.ts +34 -1
  365. package/src/interfaces/router.ts +48 -0
  366. package/src/layouts/withLayoutContext.tsx +48 -8
  367. package/src/link/Link.tsx +7 -2
  368. package/src/link/useLinkTo.tsx +7 -3
  369. package/src/router/Route.tsx +32 -3
  370. package/src/router/findRouteNode.ts +127 -0
  371. package/src/router/router.ts +286 -2
  372. package/src/router/useScreens.tsx +9 -3
  373. package/src/useBlocker.native.ts +153 -0
  374. package/src/useBlocker.ts +340 -0
  375. package/src/useLoader.ts +139 -1
  376. package/src/useScrollGroup.native.ts +7 -0
  377. package/src/useScrollGroup.ts +44 -0
  378. package/src/validateParams.ts +196 -0
  379. package/src/validateSearch.ts +241 -0
  380. package/src/views/ErrorBoundary.tsx +154 -156
  381. package/src/views/ErrorBoundary.web.tsx +321 -0
  382. package/src/views/Navigator.tsx +14 -2
  383. package/src/views/Protected.tsx +62 -0
  384. package/src/views/RootErrorBoundary.tsx +214 -17
  385. package/src/views/ScrollBehavior.tsx +82 -3
  386. package/src/views/SourceInspector.tsx +39 -0
  387. package/src/views/Try.tsx +81 -12
  388. package/src/vite/DevHead.tsx +819 -54
  389. package/src/vite/one.ts +13 -0
  390. package/src/vite/plugins/SSRCSSPlugin.ts +104 -0
  391. package/src/vite/plugins/fileSystemRouterPlugin.tsx +11 -8
  392. package/src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx +4 -0
  393. package/src/vite/plugins/sourceInspectorPlugin.ts +246 -0
  394. package/src/vite/plugins/virtualEntryPlugin.ts +35 -10
  395. package/src/vite/types.ts +28 -0
  396. package/types/Route.d.ts.map +1 -0
  397. package/types/cleanUrl.d.ts.map +1 -0
  398. package/types/cli/run.d.ts.map +1 -0
  399. package/types/createApp.d.ts +5 -0
  400. package/types/createApp.d.ts.map +1 -1
  401. package/types/createRoute.d.ts.map +1 -0
  402. package/types/devtools/registry.d.ts +15 -0
  403. package/types/devtools/registry.d.ts.map +1 -0
  404. package/types/fork/NavigationContainer.native.d.ts.map +1 -0
  405. package/types/fork/createMemoryHistory.d.ts +8 -3
  406. package/types/fork/createMemoryHistory.d.ts.map +1 -1
  407. package/types/fork/useLinking.d.ts.map +1 -1
  408. package/types/getLinkingConfig.d.ts.map +1 -0
  409. package/types/getRoutes.d.ts.map +1 -0
  410. package/types/imperative-api.d.ts.map +1 -0
  411. package/types/index.d.ts +8 -1
  412. package/types/index.d.ts.map +1 -1
  413. package/types/interfaces/router.d.ts +47 -0
  414. package/types/interfaces/router.d.ts.map +1 -1
  415. package/types/layouts/withLayoutContext.d.ts +2 -1
  416. package/types/layouts/withLayoutContext.d.ts.map +1 -1
  417. package/types/link/Link.d.ts.map +1 -1
  418. package/types/link/useLinkTo.d.ts +1 -0
  419. package/types/link/useLinkTo.d.ts.map +1 -1
  420. package/types/matchers.d.ts.map +1 -0
  421. package/types/platform.d.ts.map +1 -0
  422. package/types/router/Route.d.ts +32 -3
  423. package/types/router/Route.d.ts.map +1 -1
  424. package/types/router/findRouteNode.d.ts +31 -0
  425. package/types/router/findRouteNode.d.ts.map +1 -0
  426. package/types/router/router.d.ts +35 -0
  427. package/types/router/router.d.ts.map +1 -1
  428. package/types/router/useScreens.d.ts +2 -0
  429. package/types/router/useScreens.d.ts.map +1 -1
  430. package/types/server/oneServe.d.ts.map +1 -1
  431. package/types/sortRoutes.d.ts.map +1 -0
  432. package/types/useBlocker.d.ts +72 -0
  433. package/types/useBlocker.d.ts.map +1 -0
  434. package/types/useBlocker.native.d.ts +60 -0
  435. package/types/useBlocker.native.d.ts.map +1 -0
  436. package/types/useLoader.d.ts +10 -0
  437. package/types/useLoader.d.ts.map +1 -1
  438. package/types/useNavigation.d.ts.map +1 -0
  439. package/types/useScreens.d.ts.map +1 -0
  440. package/types/useScrollGroup.d.ts +27 -0
  441. package/types/useScrollGroup.d.ts.map +1 -0
  442. package/types/useScrollGroup.native.d.ts +6 -0
  443. package/types/useScrollGroup.native.d.ts.map +1 -0
  444. package/types/useSearch.d.ts.map +1 -0
  445. package/types/useViteRoutes.d.ts.map +1 -0
  446. package/types/validateParams.d.ts +85 -0
  447. package/types/validateParams.d.ts.map +1 -0
  448. package/types/validateSearch.d.ts +107 -0
  449. package/types/validateSearch.d.ts.map +1 -0
  450. package/types/views/ErrorBoundary.d.ts +11 -1
  451. package/types/views/ErrorBoundary.d.ts.map +1 -1
  452. package/types/views/ErrorBoundary.web.d.ts +13 -0
  453. package/types/views/ErrorBoundary.web.d.ts.map +1 -0
  454. package/types/views/Navigator.d.ts.map +1 -1
  455. package/types/views/Protected.d.ts +39 -0
  456. package/types/views/Protected.d.ts.map +1 -0
  457. package/types/views/RootErrorBoundary.d.ts +14 -8
  458. package/types/views/RootErrorBoundary.d.ts.map +1 -1
  459. package/types/views/ScrollBehavior.d.ts +8 -0
  460. package/types/views/ScrollBehavior.d.ts.map +1 -1
  461. package/types/views/ScrollRestoration.d.ts.map +1 -0
  462. package/types/views/SourceInspector.d.ts +35 -0
  463. package/types/views/SourceInspector.d.ts.map +1 -0
  464. package/types/views/Try.d.ts +29 -6
  465. package/types/views/Try.d.ts.map +1 -1
  466. package/types/vite/DevHead.d.ts.map +1 -1
  467. package/types/vite/build.d.ts.map +1 -0
  468. package/types/vite/headers.d.ts.map +1 -0
  469. package/types/vite/headers.native.d.ts.map +1 -0
  470. package/types/vite/one.d.ts.map +1 -1
  471. package/types/vite/plugins/SSRCSSPlugin.d.ts.map +1 -1
  472. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
  473. package/types/vite/plugins/generateFileSystemRouteTypesPlugin.d.ts.map +1 -1
  474. package/types/vite/plugins/seoPreviewPlugin.d.ts.map +1 -0
  475. package/types/vite/plugins/sourceInspectorPlugin.d.ts +3 -0
  476. package/types/vite/plugins/sourceInspectorPlugin.d.ts.map +1 -0
  477. package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
  478. package/types/vite/resolveAPIRequest.d.ts.map +1 -0
  479. package/types/vite/server.d.ts.map +1 -0
  480. package/types/vite/types.d.ts +24 -0
  481. package/types/vite/types.d.ts.map +1 -1
@@ -1,10 +1,33 @@
1
1
  import { useCallback, useSyncExternalStore } from "react";
2
+ import { registerDevtoolsFunction } from "./devtools/registry";
2
3
  import { useParams, usePathname } from "./hooks";
3
4
  import { preloadedLoaderData, preloadingLoader } from "./router/router";
4
5
  import { getLoaderPath } from "./utils/cleanUrl";
5
6
  import { dynamicImport } from "./utils/dynamicImport";
6
7
  import { weakKey } from "./utils/weakKey";
7
8
  import { useServerContext } from "./vite/one-server-only";
9
+ const loaderTimingHistory = [], MAX_TIMING_HISTORY = 50;
10
+ function recordLoaderTiming(entry) {
11
+ process.env.NODE_ENV === "development" && (loaderTimingHistory.unshift(entry), loaderTimingHistory.length > MAX_TIMING_HISTORY && loaderTimingHistory.pop(), typeof window < "u" && (window.dispatchEvent(new CustomEvent("one-loader-timing", { detail: entry })), entry.error && window.dispatchEvent(
12
+ new CustomEvent("one-error", {
13
+ detail: {
14
+ error: {
15
+ message: entry.error,
16
+ name: "LoaderError"
17
+ },
18
+ route: {
19
+ pathname: entry.path
20
+ },
21
+ timestamp: Date.now(),
22
+ type: "loader"
23
+ }
24
+ })
25
+ )));
26
+ }
27
+ function getLoaderTimingHistory() {
28
+ return loaderTimingHistory;
29
+ }
30
+ registerDevtoolsFunction("getLoaderTimingHistory", getLoaderTimingHistory);
8
31
  const loaderState = {}, subscribers = /* @__PURE__ */ new Set();
9
32
  function updateState(path, updates) {
10
33
  loaderState[path] = { ...loaderState[path], ...updates }, subscribers.forEach((callback) => {
@@ -24,26 +47,41 @@ function getLoaderState(path, preloadedData2) {
24
47
  }), loaderState[path];
25
48
  }
26
49
  async function refetchLoader(pathname2) {
50
+ const startTime2 = performance.now();
27
51
  updateState(pathname2, {
28
52
  state: "loading",
29
53
  error: null
30
54
  });
31
55
  try {
32
- const cacheBust = `${Date.now()}`, loaderJSUrl2 = getLoaderPath(pathname2, !0, cacheBust), result2 = await (await dynamicImport(loaderJSUrl2)).loader();
56
+ const cacheBust = `${Date.now()}`, loaderJSUrl2 = getLoaderPath(pathname2, !0, cacheBust), moduleLoadStart2 = performance.now(), module2 = await dynamicImport(loaderJSUrl2), moduleLoadTime2 = performance.now() - moduleLoadStart2, executionStart2 = performance.now(), result2 = await module2.loader(), executionTime2 = performance.now() - executionStart2, totalTime2 = performance.now() - startTime2;
33
57
  updateState(pathname2, {
34
58
  data: result2,
35
59
  state: "idle",
36
60
  timestamp: Date.now(),
37
61
  hasLoadedOnce: !0
62
+ }), recordLoaderTiming({
63
+ path: pathname2,
64
+ startTime: startTime2,
65
+ moduleLoadTime: moduleLoadTime2,
66
+ executionTime: executionTime2,
67
+ totalTime: totalTime2,
68
+ source: "refetch"
38
69
  });
39
70
  } catch (err) {
71
+ const totalTime2 = performance.now() - startTime2;
40
72
  throw updateState(pathname2, {
41
73
  error: err,
42
74
  state: "idle"
75
+ }), recordLoaderTiming({
76
+ path: pathname2,
77
+ startTime: startTime2,
78
+ totalTime: totalTime2,
79
+ error: err instanceof Error ? err.message : String(err),
80
+ source: "refetch"
43
81
  }), err;
44
82
  }
45
83
  }
46
- typeof window < "u" && (window.__oneRefetchLoader = refetchLoader);
84
+ process.env.NODE_ENV === "development" && typeof window < "u" && (window.__oneRefetchLoader = refetchLoader);
47
85
  function useLoaderState(loader) {
48
86
  const {
49
87
  loaderProps: loaderPropsFromServerContext,
@@ -88,17 +126,32 @@ function useLoaderState(loader) {
88
126
  loaderStateEntry.promise = promise2;
89
127
  } else {
90
128
  const loadData = async () => {
129
+ const startTime = performance.now();
91
130
  try {
92
- const loaderJSUrl = getLoaderPath(currentPath, !0), module = await dynamicImport(loaderJSUrl), result = await module.loader();
131
+ const loaderJSUrl = getLoaderPath(currentPath, !0), moduleLoadStart = performance.now(), module = await dynamicImport(loaderJSUrl), moduleLoadTime = performance.now() - moduleLoadStart, executionStart = performance.now(), result = await module.loader(), executionTime = performance.now() - executionStart, totalTime = performance.now() - startTime;
93
132
  updateState(currentPath, {
94
133
  data: result,
95
134
  hasLoadedOnce: !0,
96
135
  promise: void 0
136
+ }), recordLoaderTiming({
137
+ path: currentPath,
138
+ startTime,
139
+ moduleLoadTime,
140
+ executionTime,
141
+ totalTime,
142
+ source: "initial"
97
143
  });
98
144
  } catch (err) {
145
+ const totalTime2 = performance.now() - startTime;
99
146
  updateState(currentPath, {
100
147
  error: err,
101
148
  promise: void 0
149
+ }), recordLoaderTiming({
150
+ path: currentPath,
151
+ startTime,
152
+ totalTime: totalTime2,
153
+ error: err instanceof Error ? err.message : String(err),
154
+ source: "initial"
102
155
  });
103
156
  }
104
157
  }, promise = loadData();
@@ -143,6 +196,7 @@ function useAsyncFn(val, props) {
143
196
  return current;
144
197
  }
145
198
  export {
199
+ getLoaderTimingHistory,
146
200
  refetchLoader,
147
201
  useLoader,
148
202
  useLoaderState
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/useLoader.ts"],
4
- "mappings": "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",
5
- "names": ["preloadedData", "pathname", "loaderJSUrl", "result", "promise", "loader", "data"]
4
+ "mappings": "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",
5
+ "names": ["preloadedData", "pathname", "startTime", "loaderJSUrl", "moduleLoadStart", "module", "moduleLoadTime", "executionStart", "result", "executionTime", "totalTime", "promise", "loader", "data"]
6
6
  }
@@ -1,10 +1,34 @@
1
1
  import { useCallback, useSyncExternalStore } from "react";
2
+ import { registerDevtoolsFunction } from "./devtools/registry.mjs";
2
3
  import { useParams, usePathname } from "./hooks.mjs";
3
4
  import { preloadedLoaderData, preloadingLoader } from "./router/router.mjs";
4
5
  import { getLoaderPath } from "./utils/cleanUrl.mjs";
5
6
  import { dynamicImport } from "./utils/dynamicImport.mjs";
6
7
  import { weakKey } from "./utils/weakKey.mjs";
7
8
  import { useServerContext } from "./vite/one-server-only.mjs";
9
+ const loaderTimingHistory = [],
10
+ MAX_TIMING_HISTORY = 50;
11
+ function recordLoaderTiming(entry) {
12
+ process.env.NODE_ENV === "development" && (loaderTimingHistory.unshift(entry), loaderTimingHistory.length > MAX_TIMING_HISTORY && loaderTimingHistory.pop(), typeof window < "u" && (window.dispatchEvent(new CustomEvent("one-loader-timing", {
13
+ detail: entry
14
+ })), entry.error && window.dispatchEvent(new CustomEvent("one-error", {
15
+ detail: {
16
+ error: {
17
+ message: entry.error,
18
+ name: "LoaderError"
19
+ },
20
+ route: {
21
+ pathname: entry.path
22
+ },
23
+ timestamp: Date.now(),
24
+ type: "loader"
25
+ }
26
+ }))));
27
+ }
28
+ function getLoaderTimingHistory() {
29
+ return loaderTimingHistory;
30
+ }
31
+ registerDevtoolsFunction("getLoaderTimingHistory", getLoaderTimingHistory);
8
32
  const loaderState = {},
9
33
  subscribers = /* @__PURE__ */new Set();
10
34
  function updateState(path, updates) {
@@ -28,6 +52,7 @@ function getLoaderState(path, preloadedData2) {
28
52
  }), loaderState[path];
29
53
  }
30
54
  async function refetchLoader(pathname2) {
55
+ const startTime2 = performance.now();
31
56
  updateState(pathname2, {
32
57
  state: "loading",
33
58
  error: null
@@ -35,21 +60,41 @@ async function refetchLoader(pathname2) {
35
60
  try {
36
61
  const cacheBust = `${Date.now()}`,
37
62
  loaderJSUrl2 = getLoaderPath(pathname2, !0, cacheBust),
38
- result2 = await (await dynamicImport(loaderJSUrl2)).loader();
63
+ moduleLoadStart2 = performance.now(),
64
+ module2 = await dynamicImport(loaderJSUrl2),
65
+ moduleLoadTime2 = performance.now() - moduleLoadStart2,
66
+ executionStart2 = performance.now(),
67
+ result2 = await module2.loader(),
68
+ executionTime2 = performance.now() - executionStart2,
69
+ totalTime2 = performance.now() - startTime2;
39
70
  updateState(pathname2, {
40
71
  data: result2,
41
72
  state: "idle",
42
73
  timestamp: Date.now(),
43
74
  hasLoadedOnce: !0
75
+ }), recordLoaderTiming({
76
+ path: pathname2,
77
+ startTime: startTime2,
78
+ moduleLoadTime: moduleLoadTime2,
79
+ executionTime: executionTime2,
80
+ totalTime: totalTime2,
81
+ source: "refetch"
44
82
  });
45
83
  } catch (err) {
84
+ const totalTime2 = performance.now() - startTime2;
46
85
  throw updateState(pathname2, {
47
86
  error: err,
48
87
  state: "idle"
88
+ }), recordLoaderTiming({
89
+ path: pathname2,
90
+ startTime: startTime2,
91
+ totalTime: totalTime2,
92
+ error: err instanceof Error ? err.message : String(err),
93
+ source: "refetch"
49
94
  }), err;
50
95
  }
51
96
  }
52
- typeof window < "u" && (window.__oneRefetchLoader = refetchLoader);
97
+ process.env.NODE_ENV === "development" && typeof window < "u" && (window.__oneRefetchLoader = refetchLoader);
53
98
  function useLoaderState(loader) {
54
99
  const {
55
100
  loaderProps: loaderPropsFromServerContext,
@@ -92,19 +137,39 @@ function useLoaderState(loader) {
92
137
  loaderStateEntry.promise = promise2;
93
138
  } else {
94
139
  const loadData = async () => {
140
+ const startTime = performance.now();
95
141
  try {
96
142
  const loaderJSUrl = getLoaderPath(currentPath, !0),
143
+ moduleLoadStart = performance.now(),
97
144
  module = await dynamicImport(loaderJSUrl),
98
- result = await module.loader();
145
+ moduleLoadTime = performance.now() - moduleLoadStart,
146
+ executionStart = performance.now(),
147
+ result = await module.loader(),
148
+ executionTime = performance.now() - executionStart,
149
+ totalTime = performance.now() - startTime;
99
150
  updateState(currentPath, {
100
151
  data: result,
101
152
  hasLoadedOnce: !0,
102
153
  promise: void 0
154
+ }), recordLoaderTiming({
155
+ path: currentPath,
156
+ startTime,
157
+ moduleLoadTime,
158
+ executionTime,
159
+ totalTime,
160
+ source: "initial"
103
161
  });
104
162
  } catch (err) {
163
+ const totalTime2 = performance.now() - startTime;
105
164
  updateState(currentPath, {
106
165
  error: err,
107
166
  promise: void 0
167
+ }), recordLoaderTiming({
168
+ path: currentPath,
169
+ startTime,
170
+ totalTime: totalTime2,
171
+ error: err instanceof Error ? err.message : String(err),
172
+ source: "initial"
108
173
  });
109
174
  }
110
175
  },
@@ -148,5 +213,5 @@ function useAsyncFn(val, props) {
148
213
  if (current instanceof Promise) throw current;
149
214
  return current;
150
215
  }
151
- export { refetchLoader, useLoader, useLoaderState };
216
+ export { getLoaderTimingHistory, refetchLoader, useLoader, useLoaderState };
152
217
  //# sourceMappingURL=useLoader.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useSyncExternalStore","useParams","usePathname","preloadedLoaderData","preloadingLoader","getLoaderPath","dynamicImport","weakKey","useServerContext","loaderState","subscribers","Set","updateState","path","updates","forEach","callback","subscribe","add","delete","getLoaderState","preloadedData2","data","error","promise","state","hasLoadedOnce","refetchLoader","pathname2","cacheBust","Date","now","loaderJSUrl2","result2","loader","timestamp","err","window","__oneRefetchLoader","useLoaderState","loaderProps","loaderPropsFromServerContext","loaderData","loaderDataFromServerContext","params","pathname","currentPath","replace","useAsyncFn","refetch","serverContextPath","preloadedData","loaderStateEntry","resolvedPreloadData","promise2","then","val","catch","console","loadData","loaderJSUrl","module","result","useLoader","loader2","data2","results","Map","started","props","key","JSON","stringify","get","set","next","Promise","final","current"],"sources":["../../src/useLoader.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useSyncExternalStore","registerDevtoolsFunction","useParams","usePathname","preloadedLoaderData","preloadingLoader","getLoaderPath","dynamicImport","weakKey","useServerContext","loaderTimingHistory","MAX_TIMING_HISTORY","recordLoaderTiming","entry","process","env","NODE_ENV","unshift","length","pop","window","dispatchEvent","CustomEvent","detail","error","message","name","route","pathname","path","timestamp","Date","now","type","getLoaderTimingHistory","loaderState","subscribers","Set","updateState","updates","forEach","callback","subscribe","add","delete","getLoaderState","preloadedData2","data","promise","state","hasLoadedOnce","refetchLoader","pathname2","startTime2","performance","cacheBust","loaderJSUrl2","moduleLoadStart2","module2","moduleLoadTime2","executionStart2","result2","loader","executionTime2","totalTime2","startTime","moduleLoadTime","executionTime","totalTime","source","err","Error","String","__oneRefetchLoader","useLoaderState","loaderProps","loaderPropsFromServerContext","loaderData","loaderDataFromServerContext","params","currentPath","replace","useAsyncFn","refetch","serverContextPath","preloadedData","loaderStateEntry","resolvedPreloadData","promise2","then","val","catch","console","loadData","loaderJSUrl","moduleLoadStart","module","executionStart","result","useLoader","loader2","data2","results","Map","started","props","key","JSON","stringify","get","set","next","Promise","final","current"],"sources":["../../src/useLoader.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import { useCallback, useSyncExternalStore } from "react";
2
+ import { registerDevtoolsFunction } from "./devtools/registry.native.js";
2
3
  import { useParams, usePathname } from "./hooks.native.js";
3
4
  import { preloadedLoaderData, preloadingLoader } from "./router/router.native.js";
4
5
  import { getLoaderPath } from "./utils/cleanUrl.native.js";
@@ -8,6 +9,29 @@ import { useServerContext } from "./vite/one-server-only.native.js";
8
9
  function _instanceof(left, right) {
9
10
  return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
10
11
  }
12
+ var loaderTimingHistory = [],
13
+ MAX_TIMING_HISTORY = 50;
14
+ function recordLoaderTiming(entry) {
15
+ process.env.NODE_ENV === "development" && (loaderTimingHistory.unshift(entry), loaderTimingHistory.length > MAX_TIMING_HISTORY && loaderTimingHistory.pop(), typeof window < "u" && (window.dispatchEvent(new CustomEvent("one-loader-timing", {
16
+ detail: entry
17
+ })), entry.error && window.dispatchEvent(new CustomEvent("one-error", {
18
+ detail: {
19
+ error: {
20
+ message: entry.error,
21
+ name: "LoaderError"
22
+ },
23
+ route: {
24
+ pathname: entry.path
25
+ },
26
+ timestamp: Date.now(),
27
+ type: "loader"
28
+ }
29
+ }))));
30
+ }
31
+ function getLoaderTimingHistory() {
32
+ return loaderTimingHistory;
33
+ }
34
+ registerDevtoolsFunction("getLoaderTimingHistory", getLoaderTimingHistory);
11
35
  var loaderState = {},
12
36
  subscribers = /* @__PURE__ */new Set();
13
37
  function updateState(path, updates) {
@@ -33,6 +57,7 @@ function getLoaderState(path, preloadedData2) {
33
57
  }), loaderState[path];
34
58
  }
35
59
  async function refetchLoader(pathname2) {
60
+ var startTime2 = performance.now();
36
61
  updateState(pathname2, {
37
62
  state: "loading",
38
63
  error: null
@@ -40,22 +65,41 @@ async function refetchLoader(pathname2) {
40
65
  try {
41
66
  var cacheBust = `${Date.now()}`,
42
67
  loaderJSUrl2 = getLoaderPath(pathname2, !0, cacheBust),
68
+ moduleLoadStart2 = performance.now(),
43
69
  module2 = await dynamicImport(loaderJSUrl2),
44
- result2 = await module2.loader();
70
+ moduleLoadTime2 = performance.now() - moduleLoadStart2,
71
+ executionStart2 = performance.now(),
72
+ result2 = await module2.loader(),
73
+ executionTime2 = performance.now() - executionStart2,
74
+ totalTime2 = performance.now() - startTime2;
45
75
  updateState(pathname2, {
46
76
  data: result2,
47
77
  state: "idle",
48
78
  timestamp: Date.now(),
49
79
  hasLoadedOnce: !0
80
+ }), recordLoaderTiming({
81
+ path: pathname2,
82
+ startTime: startTime2,
83
+ moduleLoadTime: moduleLoadTime2,
84
+ executionTime: executionTime2,
85
+ totalTime: totalTime2,
86
+ source: "refetch"
50
87
  });
51
88
  } catch (err) {
89
+ var totalTime1 = performance.now() - startTime2;
52
90
  throw updateState(pathname2, {
53
91
  error: err,
54
92
  state: "idle"
93
+ }), recordLoaderTiming({
94
+ path: pathname2,
95
+ startTime: startTime2,
96
+ totalTime: totalTime1,
97
+ error: _instanceof(err, Error) ? err.message : String(err),
98
+ source: "refetch"
55
99
  }), err;
56
100
  }
57
101
  }
58
- typeof window < "u" && (window.__oneRefetchLoader = refetchLoader);
102
+ process.env.NODE_ENV === "development" && typeof window < "u" && (window.__oneRefetchLoader = refetchLoader);
59
103
  function useLoaderState(loader) {
60
104
  var {
61
105
  loaderProps: loaderPropsFromServerContext,
@@ -108,41 +152,80 @@ function useLoaderState(loader) {
108
152
  loaderStateEntry.promise = promise;
109
153
  } else {
110
154
  var loadData = async function () {
155
+ var startTime = performance.now();
111
156
  try {
112
157
  var loaderJSUrl = getLoaderPath(currentPath, !0),
113
158
  nativeLoaderJSUrl = `${loaderJSUrl}?platform=ios`;
114
159
  try {
115
- var loaderJsCodeResp = await fetch(nativeLoaderJSUrl);
160
+ var moduleLoadStart = performance.now(),
161
+ loaderJsCodeResp = await fetch(nativeLoaderJSUrl);
116
162
  if (!loaderJsCodeResp.ok) throw new Error(`Response not ok: ${loaderJsCodeResp.status}`);
117
163
  var loaderJsCode = await loaderJsCodeResp.text(),
118
- result = eval(`() => { var exports = {}; ${loaderJsCode}; return exports; }`)();
164
+ result = eval(`() => { var exports = {}; ${loaderJsCode}; return exports; }`)(),
165
+ moduleLoadTime = performance.now() - moduleLoadStart;
119
166
  if (typeof result.loader != "function") throw new Error("Loader code isn't exporting a `loader` function");
120
- var data = await result.loader();
167
+ var executionStart = performance.now(),
168
+ data = await result.loader(),
169
+ executionTime = performance.now() - executionStart,
170
+ totalTime = performance.now() - startTime;
121
171
  updateState(currentPath, {
122
172
  data,
123
173
  hasLoadedOnce: !0,
124
174
  promise: void 0
175
+ }), recordLoaderTiming({
176
+ path: currentPath,
177
+ startTime,
178
+ moduleLoadTime,
179
+ executionTime,
180
+ totalTime,
181
+ source: "initial"
125
182
  });
126
183
  return;
127
184
  } catch (e) {
185
+ var totalTime = performance.now() - startTime;
128
186
  updateState(currentPath, {
129
187
  data: {},
130
188
  promise: void 0
189
+ }), recordLoaderTiming({
190
+ path: currentPath,
191
+ startTime,
192
+ totalTime,
193
+ error: _instanceof(e, Error) ? e.message : String(e),
194
+ source: "initial"
131
195
  });
132
196
  return;
133
197
  }
134
198
  var loaderJSUrl = getLoaderPath(currentPath, !0),
199
+ moduleLoadStart = performance.now(),
135
200
  module = await dynamicImport(loaderJSUrl),
136
- result = await module.loader();
201
+ moduleLoadTime = performance.now() - moduleLoadStart,
202
+ executionStart = performance.now(),
203
+ result = await module.loader(),
204
+ executionTime = performance.now() - executionStart,
205
+ totalTime = performance.now() - startTime;
137
206
  updateState(currentPath, {
138
207
  data: result,
139
208
  hasLoadedOnce: !0,
140
209
  promise: void 0
210
+ }), recordLoaderTiming({
211
+ path: currentPath,
212
+ startTime,
213
+ moduleLoadTime,
214
+ executionTime,
215
+ totalTime,
216
+ source: "initial"
141
217
  });
142
218
  } catch (err) {
219
+ var totalTime = performance.now() - startTime;
143
220
  updateState(currentPath, {
144
221
  error: err,
145
222
  promise: void 0
223
+ }), recordLoaderTiming({
224
+ path: currentPath,
225
+ startTime,
226
+ totalTime,
227
+ error: _instanceof(err, Error) ? err.message : String(err),
228
+ source: "initial"
146
229
  });
147
230
  }
148
231
  },
@@ -186,5 +269,5 @@ function useAsyncFn(val, props) {
186
269
  if (_instanceof(current, Promise)) throw current;
187
270
  return current;
188
271
  }
189
- export { refetchLoader, useLoader, useLoaderState };
272
+ export { getLoaderTimingHistory, refetchLoader, useLoader, useLoaderState };
190
273
  //# sourceMappingURL=useLoader.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useSyncExternalStore","useParams","usePathname","preloadedLoaderData","preloadingLoader","getLoaderPath","dynamicImport","weakKey","useServerContext","_instanceof","left","right","Symbol","hasInstance","loaderState","subscribers","Set","updateState","path","updates","forEach","callback","subscribe","add","delete","getLoaderState","preloadedData2","data","error","promise","state","hasLoadedOnce","refetchLoader","pathname2","cacheBust","Date","now","loaderJSUrl2","module2","result2","loader","timestamp","err","window","__oneRefetchLoader","useLoaderState","loaderProps","loaderPropsFromServerContext","loaderData","loaderDataFromServerContext","params","pathname","currentPath","replace","serverData","useAsyncFn","refetch","serverContextPath","preloadedData","loaderStateEntry","resolvedPreloadData","preloadPromise","then","val","catch","console","loadData","loaderJSUrl","nativeLoaderJSUrl","loaderJsCodeResp","fetch","ok","Error","status","loaderJsCode","text","result","eval","e","module"],"sources":["../../src/useLoader.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useSyncExternalStore","registerDevtoolsFunction","useParams","usePathname","preloadedLoaderData","preloadingLoader","getLoaderPath","dynamicImport","weakKey","useServerContext","_instanceof","left","right","Symbol","hasInstance","loaderTimingHistory","MAX_TIMING_HISTORY","recordLoaderTiming","entry","process","env","NODE_ENV","unshift","length","pop","window","dispatchEvent","CustomEvent","detail","error","message","name","route","pathname","path","timestamp","Date","now","type","getLoaderTimingHistory","loaderState","subscribers","Set","updateState","updates","forEach","callback","subscribe","add","delete","getLoaderState","preloadedData2","data","promise","state","hasLoadedOnce","refetchLoader","pathname2","startTime2","performance","cacheBust","loaderJSUrl2","moduleLoadStart2","module2","moduleLoadTime2","executionStart2","result2","loader","executionTime2","totalTime2","startTime","moduleLoadTime","executionTime","totalTime","source","err","totalTime1","Error","String","__oneRefetchLoader","useLoaderState","loaderProps","loaderPropsFromServerContext","loaderData","loaderDataFromServerContext","params","currentPath","replace","serverData","useAsyncFn","refetch","serverContextPath","preloadedData","loaderStateEntry","resolvedPreloadData","preloadPromise","then","val","catch","console","loadData","loaderJSUrl","nativeLoaderJSUrl","moduleLoadStart","loaderJsCodeResp","fetch","ok","status","loaderJsCode","text","result","eval","executionStart","e","module"],"sources":["../../src/useLoader.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ import { useEffect } from "react";
2
+ import { usePathname } from "./hooks";
3
+ import { registerScrollGroup } from "./views/ScrollBehavior";
4
+ function useScrollGroup(groupPath) {
5
+ const pathname = usePathname();
6
+ useEffect(() => {
7
+ const group = groupPath || pathname;
8
+ if (!group) return;
9
+ const normalizedGroup = group.endsWith("/") ? group.slice(0, -1) : group;
10
+ return registerScrollGroup(normalizedGroup);
11
+ }, [groupPath, pathname]);
12
+ }
13
+ export {
14
+ useScrollGroup
15
+ };
16
+ //# sourceMappingURL=useScrollGroup.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/useScrollGroup.ts"],
4
+ "mappings": "AAAA,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,2BAA2B;AA2B7B,SAAS,eAAe,WAAoB;AACjD,QAAM,WAAW,YAAY;AAE7B,YAAU,MAAM;AAEd,UAAM,QAAQ,aAAa;AAE3B,QAAI,CAAC,MAAO;AAGZ,UAAM,kBAAkB,MAAM,SAAS,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,IAAI;AAEnE,WAAO,oBAAoB,eAAe;AAAA,EAC5C,GAAG,CAAC,WAAW,QAAQ,CAAC;AAC1B;",
5
+ "names": []
6
+ }
@@ -0,0 +1,14 @@
1
+ import { useEffect } from "react";
2
+ import { usePathname } from "./hooks.mjs";
3
+ import { registerScrollGroup } from "./views/ScrollBehavior.mjs";
4
+ function useScrollGroup(groupPath) {
5
+ const pathname = usePathname();
6
+ useEffect(() => {
7
+ const group = groupPath || pathname;
8
+ if (!group) return;
9
+ const normalizedGroup = group.endsWith("/") ? group.slice(0, -1) : group;
10
+ return registerScrollGroup(normalizedGroup);
11
+ }, [groupPath, pathname]);
12
+ }
13
+ export { useScrollGroup };
14
+ //# sourceMappingURL=useScrollGroup.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","usePathname","registerScrollGroup","useScrollGroup","groupPath","pathname","group","normalizedGroup","endsWith","slice"],"sources":["../../src/useScrollGroup.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AAC1B,SAASC,WAAA,QAAmB;AAC5B,SAASC,mBAAA,QAA2B;AA2B7B,SAASC,eAAeC,SAAA,EAAoB;EACjD,MAAMC,QAAA,GAAWJ,WAAA,CAAY;EAE7BD,SAAA,CAAU,MAAM;IAEd,MAAMM,KAAA,GAAQF,SAAA,IAAaC,QAAA;IAE3B,IAAI,CAACC,KAAA,EAAO;IAGZ,MAAMC,eAAA,GAAkBD,KAAA,CAAME,QAAA,CAAS,GAAG,IAAIF,KAAA,CAAMG,KAAA,CAAM,GAAG,EAAE,IAAIH,KAAA;IAEnE,OAAOJ,mBAAA,CAAoBK,eAAe;EAC5C,GAAG,CAACH,SAAA,EAAWC,QAAQ,CAAC;AAC1B","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ function useScrollGroup(_groupPath) {}
2
+ export { useScrollGroup };
3
+ //# sourceMappingURL=useScrollGroup.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useScrollGroup","_groupPath"],"sources":["../../src/useScrollGroup.native.ts"],"sourcesContent":[null],"mappings":"AAGW,SAASA,eAAeC,UAAA,EAAY,CAAC","ignoreList":[]}