one 1.15.5 → 1.15.7

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 (326) hide show
  1. package/dist/cjs/Root.native.js.map +1 -1
  2. package/dist/cjs/__mocks__/@react-navigation/native-stack.native.js.map +1 -1
  3. package/dist/cjs/__mocks__/expo-linking.native.js.map +1 -1
  4. package/dist/cjs/__mocks__/expo-modules-core.native.js.map +1 -1
  5. package/dist/cjs/__mocks__/react-native-screens.native.js.map +1 -1
  6. package/dist/cjs/babel-plugins/environment-guard.native.js.map +1 -1
  7. package/dist/cjs/babel-plugins/inline-one-server-url.native.js.map +1 -1
  8. package/dist/cjs/babel-plugins/one-router-metro.native.js.map +1 -1
  9. package/dist/cjs/babel-plugins/one-router-metro.test.native.js.map +1 -1
  10. package/dist/cjs/babel-plugins/remove-server-code.native.js.map +1 -1
  11. package/dist/cjs/cli/build.cjs +152 -16
  12. package/dist/cjs/cli/build.native.js +195 -16
  13. package/dist/cjs/cli/build.native.js.map +1 -1
  14. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  15. package/dist/cjs/cli/buildPageWorker.native.js.map +1 -1
  16. package/dist/cjs/cli/checkNodeVersion.native.js.map +1 -1
  17. package/dist/cjs/cli/daemon.native.js.map +1 -1
  18. package/dist/cjs/cli/dev.native.js.map +1 -1
  19. package/dist/cjs/cli/generateRoutes.native.js.map +1 -1
  20. package/dist/cjs/cli/generateSitemap.native.js.map +1 -1
  21. package/dist/cjs/cli/generateSitemap.test.native.js.map +1 -1
  22. package/dist/cjs/cli/label-process.native.js.map +1 -1
  23. package/dist/cjs/cli/main.native.js.map +1 -1
  24. package/dist/cjs/cli/patch.native.js.map +1 -1
  25. package/dist/cjs/cli/prebuild.native.js.map +1 -1
  26. package/dist/cjs/cli/runAndroid.native.js.map +1 -1
  27. package/dist/cjs/cli/runIos.native.js.map +1 -1
  28. package/dist/cjs/cli/securityScan.native.js.map +1 -1
  29. package/dist/cjs/cli/workerPool.native.js.map +1 -1
  30. package/dist/cjs/cli.native.js.map +1 -1
  31. package/dist/cjs/clientLoaderResolver.native.js.map +1 -1
  32. package/dist/cjs/config.native.js.map +1 -1
  33. package/dist/cjs/constants.native.js.map +1 -1
  34. package/dist/cjs/createAPIRoute.native.js.map +1 -1
  35. package/dist/cjs/createHandleRequest.cjs +11 -0
  36. package/dist/cjs/createHandleRequest.native.js +11 -0
  37. package/dist/cjs/createHandleRequest.native.js.map +1 -1
  38. package/dist/cjs/createHandleRequest.test.native.js.map +1 -1
  39. package/dist/cjs/createMiddleware.native.js.map +1 -1
  40. package/dist/cjs/daemon/index.native.js.map +1 -1
  41. package/dist/cjs/daemon/ipc.native.js.map +1 -1
  42. package/dist/cjs/daemon/picker.native.js.map +1 -1
  43. package/dist/cjs/daemon/proxy.native.js.map +1 -1
  44. package/dist/cjs/daemon/registry.native.js.map +1 -1
  45. package/dist/cjs/daemon/server.native.js.map +1 -1
  46. package/dist/cjs/daemon/tui.native.js.map +1 -1
  47. package/dist/cjs/daemon/types.native.js.map +1 -1
  48. package/dist/cjs/daemon/utils.native.js.map +1 -1
  49. package/dist/cjs/devtools/registry.native.js.map +1 -1
  50. package/dist/cjs/drawer.native.js.map +1 -1
  51. package/dist/cjs/fallbackViews/Sitemap.native.js.map +1 -1
  52. package/dist/cjs/fallbackViews/Unmatched.native.js.map +1 -1
  53. package/dist/cjs/fork/NavigationContainer.native.js.map +1 -1
  54. package/dist/cjs/fork/SSRNavigationContainer.native.js.map +1 -1
  55. package/dist/cjs/fork/__tests__/getPathFromState.test.native.js.map +1 -1
  56. package/dist/cjs/fork/__tests__/getStateFromPath.test.native.js.map +1 -1
  57. package/dist/cjs/fork/_shared.native.js.map +1 -1
  58. package/dist/cjs/fork/createMemoryHistory.cjs +7 -0
  59. package/dist/cjs/fork/createMemoryHistory.native.js +10 -0
  60. package/dist/cjs/fork/createMemoryHistory.native.js.map +1 -1
  61. package/dist/cjs/fork/createMemoryHistory.test.cjs +145 -0
  62. package/dist/cjs/fork/createMemoryHistory.test.native.js +179 -0
  63. package/dist/cjs/fork/createMemoryHistory.test.native.js.map +1 -0
  64. package/dist/cjs/fork/extractPathFromURL.native.js.map +1 -1
  65. package/dist/cjs/fork/findFocusedRoute.native.js.map +1 -1
  66. package/dist/cjs/fork/getPathFromState-mods.native.js.map +1 -1
  67. package/dist/cjs/fork/getPathFromState.native.js.map +1 -1
  68. package/dist/cjs/fork/getPathFromState.test.native.js.map +1 -1
  69. package/dist/cjs/fork/getStateFromPath-mods.native.js.map +1 -1
  70. package/dist/cjs/fork/getStateFromPath.native.js.map +1 -1
  71. package/dist/cjs/fork/getStateFromPath.test.native.js.map +1 -1
  72. package/dist/cjs/fork/useThenable.native.js.map +1 -1
  73. package/dist/cjs/fork/validatePathConfig.native.js.map +1 -1
  74. package/dist/cjs/getReactNavigationConfig.native.js.map +1 -1
  75. package/dist/cjs/head/Head.native.js.map +1 -1
  76. package/dist/cjs/head/HeadModule.native.js.map +1 -1
  77. package/dist/cjs/head/index.native.js.map +1 -1
  78. package/dist/cjs/head/types.native.js.map +1 -1
  79. package/dist/cjs/head/url.native.js.map +1 -1
  80. package/dist/cjs/headless-server.native.js.map +1 -1
  81. package/dist/cjs/headless.native.js.map +1 -1
  82. package/dist/cjs/hooks.native.js.map +1 -1
  83. package/dist/cjs/hooks.test.native.js.map +1 -1
  84. package/dist/cjs/href.native.js.map +1 -1
  85. package/dist/cjs/image/getImageData.native.js.map +1 -1
  86. package/dist/cjs/image.native.js.map +1 -1
  87. package/dist/cjs/index.native.js +1 -1
  88. package/dist/cjs/index.native.js.map +1 -1
  89. package/dist/cjs/interfaces/router.native.js.map +1 -1
  90. package/dist/cjs/layouts/Drawer.native.js.map +1 -1
  91. package/dist/cjs/layouts/NativeTabs.native.js.map +1 -1
  92. package/dist/cjs/layouts/Stack.native.js +1 -1
  93. package/dist/cjs/layouts/Stack.native.js.map +1 -1
  94. package/dist/cjs/layouts/Tabs.native.js.map +1 -1
  95. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.native.js.map +1 -1
  96. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.native.js.map +1 -1
  97. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.native.js.map +1 -1
  98. package/dist/cjs/layouts/stack-utils/StackHeaderRight.native.js.map +1 -1
  99. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.native.js.map +1 -1
  100. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.native.js.map +1 -1
  101. package/dist/cjs/layouts/stack-utils/StackScreen.native.js.map +1 -1
  102. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -1
  103. package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -1
  104. package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
  105. package/dist/cjs/link/Link.native.js.map +1 -1
  106. package/dist/cjs/link/Redirect.native.js.map +1 -1
  107. package/dist/cjs/link/href.native.js.map +1 -1
  108. package/dist/cjs/link/path.native.js.map +1 -1
  109. package/dist/cjs/link/prefetchIntent.native.js.map +1 -1
  110. package/dist/cjs/link/prefetchIntent.test.native.js.map +1 -1
  111. package/dist/cjs/link/prefetchViewport.native.js.map +1 -1
  112. package/dist/cjs/link/prefetchViewport.test.native.js.map +1 -1
  113. package/dist/cjs/link/useLinkTo.native.js.map +1 -1
  114. package/dist/cjs/link/useLoadedNavigation.native.js.map +1 -1
  115. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  116. package/dist/cjs/native-tabs.native.js.map +1 -1
  117. package/dist/cjs/notFoundState.native.js.map +1 -1
  118. package/dist/cjs/polyfills-mobile.native.js.map +1 -1
  119. package/dist/cjs/polyfills-server.native.js.map +1 -1
  120. package/dist/cjs/router/FlagsContext.native.js.map +1 -1
  121. package/dist/cjs/router/Route.native.js.map +1 -1
  122. package/dist/cjs/router/RouteInfoContext.native.js.map +1 -1
  123. package/dist/cjs/router/RouterStore.native.js.map +1 -1
  124. package/dist/cjs/router/SpaShellContext.native.js.map +1 -1
  125. package/dist/cjs/router/createRoute.native.js.map +1 -1
  126. package/dist/cjs/router/filterRootHTML.native.js.map +1 -1
  127. package/dist/cjs/router/findRouteNode.native.js.map +1 -1
  128. package/dist/cjs/router/getLinkingConfig.native.js.map +1 -1
  129. package/dist/cjs/router/getNormalizedStatePath.native.js.map +1 -1
  130. package/dist/cjs/router/getRouteInfo.native.js.map +1 -1
  131. package/dist/cjs/router/getRoutes.native.js.map +1 -1
  132. package/dist/cjs/router/getRoutes.test.native.js.map +1 -1
  133. package/dist/cjs/router/glob-patterns.native.js.map +1 -1
  134. package/dist/cjs/router/imperative-api.native.js.map +1 -1
  135. package/dist/cjs/router/interceptRoutes.native.js.map +1 -1
  136. package/dist/cjs/router/isIndexPath.native.js.map +1 -1
  137. package/dist/cjs/router/lastAction.native.js.map +1 -1
  138. package/dist/cjs/router/linkingConfig.native.js.map +1 -1
  139. package/dist/cjs/router/matchers.native.js.map +1 -1
  140. package/dist/cjs/router/matchers.test.native.js.map +1 -1
  141. package/dist/cjs/router/router.native.js.map +1 -1
  142. package/dist/cjs/router/serverLocationContext.native.js.map +1 -1
  143. package/dist/cjs/router/sortRoutes.native.js.map +1 -1
  144. package/dist/cjs/router/useInitializeOneRouter.native.js.map +1 -1
  145. package/dist/cjs/router/useNavigation.native.js.map +1 -1
  146. package/dist/cjs/router/useScreens.cjs +2 -2
  147. package/dist/cjs/router/useScreens.native.js +2 -2
  148. package/dist/cjs/router/useScreens.native.js.map +1 -1
  149. package/dist/cjs/router/useViteRoutes.native.js.map +1 -1
  150. package/dist/cjs/router/utils/getNavigateAction.native.js.map +1 -1
  151. package/dist/cjs/router/utils/getNavigateAction.test.native.js.map +1 -1
  152. package/dist/cjs/screensFeatureFlags.native.js.map +1 -1
  153. package/dist/cjs/serve-worker.native.js.map +1 -1
  154. package/dist/cjs/serve.native.js.map +1 -1
  155. package/dist/cjs/server/ServerContextScript.native.js.map +1 -1
  156. package/dist/cjs/server/createRoutesManifest.native.js.map +1 -1
  157. package/dist/cjs/server/getServerManifest.native.js.map +1 -1
  158. package/dist/cjs/server/getServerManifest.test.native.js.map +1 -1
  159. package/dist/cjs/server/oneServe.native.js.map +1 -1
  160. package/dist/cjs/server/setServerGlobals.native.js.map +1 -1
  161. package/dist/cjs/server/setupBuildOptions.native.js.map +1 -1
  162. package/dist/cjs/server/setupServerGlobals.native.js.map +1 -1
  163. package/dist/cjs/server/ssrLoaderData.native.js.map +1 -1
  164. package/dist/cjs/server/staticHtmlFetcher.native.js.map +1 -1
  165. package/dist/cjs/server/workerHandler.native.js.map +1 -1
  166. package/dist/cjs/server-render.native.js.map +1 -1
  167. package/dist/cjs/skewProtection.native.js.map +1 -1
  168. package/dist/cjs/testing-utils.native.js.map +1 -1
  169. package/dist/cjs/typed-routes/generateRouteTypes.native.js.map +1 -1
  170. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
  171. package/dist/cjs/typed-routes/injectRouteHelpers.native.js.map +1 -1
  172. package/dist/cjs/types.native.js.map +1 -1
  173. package/dist/cjs/ui/Slot.native.js.map +1 -1
  174. package/dist/cjs/ui/TabContext.native.js.map +1 -1
  175. package/dist/cjs/ui/TabList.native.js.map +1 -1
  176. package/dist/cjs/ui/TabRouter.native.js.map +1 -1
  177. package/dist/cjs/ui/TabSlot.native.js.map +1 -1
  178. package/dist/cjs/ui/TabTrigger.native.js.map +1 -1
  179. package/dist/cjs/ui/Tabs.native.js.map +1 -1
  180. package/dist/cjs/ui/common.native.js.map +1 -1
  181. package/dist/cjs/ui/index.native.js.map +1 -1
  182. package/dist/cjs/ui/useComponent.native.js.map +1 -1
  183. package/dist/cjs/useFocusEffect.native.js.map +1 -1
  184. package/dist/cjs/useLoader.native.js.map +1 -1
  185. package/dist/cjs/useMatches.native.js.map +1 -1
  186. package/dist/cjs/useMatches.test.native.js.map +1 -1
  187. package/dist/cjs/useServerHeadInsertion.native.js.map +1 -1
  188. package/dist/cjs/utils/assertIsReady.native.js.map +1 -1
  189. package/dist/cjs/utils/children.native.js.map +1 -1
  190. package/dist/cjs/utils/cleanUrl.native.js.map +1 -1
  191. package/dist/cjs/utils/cleanUrl.test.native.js.map +1 -1
  192. package/dist/cjs/utils/dynamicImport.native.js.map +1 -1
  193. package/dist/cjs/utils/ensureExists.native.js.map +1 -1
  194. package/dist/cjs/utils/evictOldest.native.js.map +1 -1
  195. package/dist/cjs/utils/existsAsync.native.js.map +1 -1
  196. package/dist/cjs/utils/findRootLayout.native.js.map +1 -1
  197. package/dist/cjs/utils/getPageExport.native.js.map +1 -1
  198. package/dist/cjs/utils/getPathnameFromFilePath.native.js.map +1 -1
  199. package/dist/cjs/utils/getPathnameFromFilePath.test.native.js.map +1 -1
  200. package/dist/cjs/utils/getRouterRootFromOneOptions.native.js.map +1 -1
  201. package/dist/cjs/utils/globDir.native.js.map +1 -1
  202. package/dist/cjs/utils/hashString.native.js.map +1 -1
  203. package/dist/cjs/utils/htmlEscape.native.js.map +1 -1
  204. package/dist/cjs/utils/isResponse.native.js.map +1 -1
  205. package/dist/cjs/utils/isRolldown.native.js.map +1 -1
  206. package/dist/cjs/utils/isStatus.native.js.map +1 -1
  207. package/dist/cjs/utils/pLimit.native.js.map +1 -1
  208. package/dist/cjs/utils/promiseWithResolvers.native.js.map +1 -1
  209. package/dist/cjs/utils/rand.native.js.map +1 -1
  210. package/dist/cjs/utils/redirect.native.js.map +1 -1
  211. package/dist/cjs/utils/removeParams.native.js.map +1 -1
  212. package/dist/cjs/utils/removeSearch.native.js.map +1 -1
  213. package/dist/cjs/utils/removeUndefined.native.js.map +1 -1
  214. package/dist/cjs/utils/style.native.js.map +1 -1
  215. package/dist/cjs/utils/toAbsolute.native.js.map +1 -1
  216. package/dist/cjs/utils/trackLoaderDependencies.native.js.map +1 -1
  217. package/dist/cjs/utils/url.native.js.map +1 -1
  218. package/dist/cjs/utils/useConstant.native.js.map +1 -1
  219. package/dist/cjs/utils/watchFile.native.js.map +1 -1
  220. package/dist/cjs/utils/weakKey.native.js.map +1 -1
  221. package/dist/cjs/utils/weakMemo.native.js.map +1 -1
  222. package/dist/cjs/utils/withStaticProperties.native.js.map +1 -1
  223. package/dist/cjs/utils/workerImport.native.js.map +1 -1
  224. package/dist/cjs/validateParams.native.js.map +1 -1
  225. package/dist/cjs/validateSearch.native.js.map +1 -1
  226. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
  227. package/dist/cjs/vercel/build/config/vc-build-output-config-base.native.js.map +1 -1
  228. package/dist/cjs/vercel/build/config/vc-config-base.native.js.map +1 -1
  229. package/dist/cjs/vercel/build/config/vc-package-base.native.js.map +1 -1
  230. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
  231. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
  232. package/dist/cjs/vercel/build/getPathFromRoute.native.js.map +1 -1
  233. package/dist/cjs/views/EmptyRoute.native.js.map +1 -1
  234. package/dist/cjs/views/ErrorBoundary.native.js.map +1 -1
  235. package/dist/cjs/views/LoadProgressBar.native.js.map +1 -1
  236. package/dist/cjs/views/Navigator.native.js.map +1 -1
  237. package/dist/cjs/views/OneStackRouter.native.js.map +1 -1
  238. package/dist/cjs/views/Protected.native.js.map +1 -1
  239. package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
  240. package/dist/cjs/views/Screen.native.js.map +1 -1
  241. package/dist/cjs/views/ScrollBehavior.native.js.map +1 -1
  242. package/dist/cjs/views/SourceInspector.native.js.map +1 -1
  243. package/dist/cjs/views/Try.native.js.map +1 -1
  244. package/dist/cjs/vite/DevHead.native.js.map +1 -1
  245. package/dist/cjs/vite/constants.native.js.map +1 -1
  246. package/dist/cjs/vite/customNodeExternals.native.js.map +1 -1
  247. package/dist/cjs/vite/ensureTsConfig.native.js.map +1 -1
  248. package/dist/cjs/vite/findDepsToOptimize.native.js.map +1 -1
  249. package/dist/cjs/vite/getManifest.native.js.map +1 -1
  250. package/dist/cjs/vite/loadConfig.native.js.map +1 -1
  251. package/dist/cjs/vite/makePluginWebOnly.native.js.map +1 -1
  252. package/dist/cjs/vite/one-server-only.test.native.js.map +1 -1
  253. package/dist/cjs/vite/one.native.js.map +1 -1
  254. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  255. package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
  256. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -1
  257. package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
  258. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
  259. package/dist/cjs/vite/plugins/devtoolsPlugin.native.js.map +1 -1
  260. package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js.map +1 -1
  261. package/dist/cjs/vite/plugins/environmentGuardPlugin.test.native.js.map +1 -1
  262. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +3 -2
  263. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +3 -2
  264. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  265. package/dist/cjs/vite/plugins/fixDependenciesPlugin.native.js.map +1 -1
  266. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  267. package/dist/cjs/vite/plugins/imageDataPlugin.native.js.map +1 -1
  268. package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
  269. package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js.map +1 -1
  270. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
  271. package/dist/cjs/vite/plugins/useDomPlugin.native.js.map +1 -1
  272. package/dist/cjs/vite/plugins/virtualEntryConstants.native.js.map +1 -1
  273. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  274. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
  275. package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js.map +1 -1
  276. package/dist/cjs/vite/replaceLoader.native.js.map +1 -1
  277. package/dist/cjs/vite/resolveResponse.native.js.map +1 -1
  278. package/dist/cjs/vite/types.native.js.map +1 -1
  279. package/dist/cjs/vite-auto-warm.native.js.map +1 -1
  280. package/dist/cjs/vite.native.js.map +1 -1
  281. package/dist/cjs/zero/getQueryKey.native.js.map +1 -1
  282. package/dist/cjs/zero/isZeroQuery.native.js.map +1 -1
  283. package/dist/cjs/zero/resolveQuery.native.js.map +1 -1
  284. package/dist/cjs/zero/subscribeToQuery.native.js.map +1 -1
  285. package/dist/cjs/zero/types.native.js.map +1 -1
  286. package/dist/cjs/zero/useQuery.native.js.map +1 -1
  287. package/dist/cjs/zero/useQueryZero.native.js.map +1 -1
  288. package/dist/cjs/zero.native.js.map +1 -1
  289. package/dist/esm/cli/build.mjs +152 -16
  290. package/dist/esm/cli/build.mjs.map +1 -1
  291. package/dist/esm/cli/build.native.js +195 -16
  292. package/dist/esm/cli/build.native.js.map +1 -1
  293. package/dist/esm/createHandleRequest.mjs +11 -0
  294. package/dist/esm/createHandleRequest.mjs.map +1 -1
  295. package/dist/esm/createHandleRequest.native.js +11 -0
  296. package/dist/esm/createHandleRequest.native.js.map +1 -1
  297. package/dist/esm/fork/createMemoryHistory.mjs +7 -0
  298. package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
  299. package/dist/esm/fork/createMemoryHistory.native.js +10 -0
  300. package/dist/esm/fork/createMemoryHistory.native.js.map +1 -1
  301. package/dist/esm/fork/createMemoryHistory.test.mjs +146 -0
  302. package/dist/esm/fork/createMemoryHistory.test.mjs.map +1 -0
  303. package/dist/esm/fork/createMemoryHistory.test.native.js +177 -0
  304. package/dist/esm/fork/createMemoryHistory.test.native.js.map +1 -0
  305. package/dist/esm/router/useScreens.mjs +2 -2
  306. package/dist/esm/router/useScreens.mjs.map +1 -1
  307. package/dist/esm/router/useScreens.native.js +2 -2
  308. package/dist/esm/router/useScreens.native.js.map +1 -1
  309. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +3 -2
  310. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  311. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +3 -2
  312. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  313. package/package.json +10 -10
  314. package/src/cli/build.ts +193 -16
  315. package/src/createHandleRequest.ts +18 -0
  316. package/src/fork/createMemoryHistory.test.ts +178 -0
  317. package/src/fork/createMemoryHistory.tsx +16 -0
  318. package/src/router/useScreens.tsx +18 -4
  319. package/src/vite/plugins/fileSystemRouterPlugin.tsx +7 -2
  320. package/types/cli/build.d.ts.map +1 -1
  321. package/types/createHandleRequest.d.ts.map +1 -1
  322. package/types/fork/createMemoryHistory.d.ts.map +1 -1
  323. package/types/fork/createMemoryHistory.test.d.ts +2 -0
  324. package/types/fork/createMemoryHistory.test.d.ts.map +1 -0
  325. package/types/router/useScreens.d.ts.map +1 -1
  326. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["path","Readable","debounce","colors","createServerModuleRunner","getSpaHeaderElements","createHandleRequest","getPageExport","getRouterRootFromOneOptions","isResponse","isStatusRedirect","promiseWithResolvers","trackLoaderDependencies","LoaderDataCache","replaceLoader","setServerContext","virtalEntryIdClient","virtualEntryId","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","debugRouter","process","env","ONE_DEBUG_ROUTER","debugLoaderDeps","ONE_DEBUG_LOADER_DEPS","routeTypeColors","ssg","green","ssr","blue","spa","yellow","api","magenta","USE_SERVER_ENV","createFileSystemRouterPlugin","options","preloads","runner","server","loaderFileDependencies","Map","handleRequest","createRequestHandler","renderPromise","_options_router","routerRoot","findNearestNotFoundPath","routeFile2","routeDir2","replace","searchDir2","_i2","_iter2","length","ext2","candidate2","join","mod","import","default","unused","parent2","handlePage","param","route","url","loaderProps","_options_server","loggingEnabled","colorType","type","white","pathname","URL","file","isNotFound","red","dim","slice","console","info","layouts","isSpaShell","some","layout","layoutRenderMode","serverContext","mode","promise","resolve","resolveRender","_globalThis___vxrnresetState","_globalThis","routeFile","clearCache","globalThis","call","exported","runLoaderWithTracking","routeNode","loaderFn","routeId","contextKey","loaderData","tracked","routePath","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","dependencies","iterator","_step","next","done","dep","value","absoluteDep","has","set","Set","watcher","add","get","err","return","result","code","isEnoent","error","matches","pageResult","layoutLoaderPromises","map","layoutFile","layoutExported","loader","layoutResults","Promise","all","params","layoutRoutes","pageRoute","pageLoaderPromise","eval","entry","render","isDynamicRoute","Object","keys","routeKeys","isMissingSsgSlug","generateStaticParams","staticParams","currentParams","sp","every","key","isLoaderEnoent","is404","notFoundRoutePath","routeDir","searchDir","_i","_iter","ext","candidate","notFoundExported","parent","Response","status","headers","renderPath","html","originalPath","notFoundMarker","JSON","stringify","includes","href","title","message","Error","stack","isDuplicateReactError","test","subMessage","handleLoader","param2","route2","url2","loaderProps2","_this","transformedJS","transformRequest","exported2","isDynamicRoute2","staticParams2","currentParams2","isValidSlug","nfPath","loaderData2","nfPath1","platform","searchParams","environment","environments","nativeTransformedJS","handleAPI","loadMiddleware","ignoredRouteFiles","router","name","enforce","apply","config","_ref","_options_optimization","setting","optimization","autoEntriesScanning","manifest","pageRoutes","routesAndLayouts","flatMap","_route_layouts","split","filter","x","startsWith","optimizeDeps","entries","configureServer","serverIn","appDir","cwd","fileWatcherChangeListener","changedPath","absolutePath","addListener","loaderDepChangeListener","routePaths","size","hot","send","event","data","on","middlewares","use","req","res","_req_url","writeHead","end","setHeader","_options_web","redirects","web","host","_loop","redirect","regexStr","source","match","RegExp","destination","forEach","index","permanent","Location","v"],"sources":["../../../../src/vite/plugins/fileSystemRouterPlugin.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["path","Readable","debounce","colors","createServerModuleRunner","getSpaHeaderElements","createHandleRequest","getPageExport","getRouterRootFromOneOptions","isResponse","isStatusRedirect","promiseWithResolvers","trackLoaderDependencies","LoaderDataCache","replaceLoader","setServerContext","virtalEntryIdClient","virtualEntryId","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","debugRouter","process","env","ONE_DEBUG_ROUTER","debugLoaderDeps","ONE_DEBUG_LOADER_DEPS","routeTypeColors","ssg","green","ssr","blue","spa","yellow","api","magenta","USE_SERVER_ENV","createFileSystemRouterPlugin","options","preloads","runner","server","loaderFileDependencies","Map","handleRequest","createRequestHandler","renderPromise","_options_router","routerRoot","findNearestNotFoundPath","routeFile2","routeDir2","replace","searchDir2","_i2","_iter2","length","ext2","candidate2","join","mod","import","default","unused","parent2","handlePage","param","route","url","loaderProps","_options_server","loggingEnabled","colorType","type","white","pathname","URL","file","isNotFound","red","dim","slice","console","info","layouts","isSpaShell","some","layout","layoutRenderMode","serverContext","mode","promise","resolve","resolveRender","_globalThis___vxrnresetState","_globalThis","isGeneratedNotFound","routeFile","clearCache","globalThis","call","exported","runLoaderWithTracking","routeNode","loaderFn","routeId","contextKey","loaderData","tracked","routePath","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","dependencies","iterator","_step","next","done","dep","value","absoluteDep","has","set","Set","watcher","add","get","err","return","result","code","isEnoent","error","matches","pageResult","layoutLoaderPromises","map","layoutFile","layoutExported","loader","layoutResults","Promise","all","params","layoutRoutes","pageRoute","pageLoaderPromise","eval","entry","render","isDynamicRoute","Object","keys","routeKeys","isMissingSsgSlug","generateStaticParams","staticParams","currentParams","sp","every","key","isLoaderEnoent","is404","notFoundRoutePath","routeDir","searchDir","_i","_iter","ext","candidate","notFoundExported","parent","Response","status","headers","renderPath","html","originalPath","notFoundMarker","JSON","stringify","includes","href","title","message","Error","stack","isDuplicateReactError","test","subMessage","handleLoader","param2","route2","url2","loaderProps2","_this","transformedJS","transformRequest","exported2","isDynamicRoute2","staticParams2","currentParams2","isValidSlug","nfPath","loaderData2","nfPath1","platform","searchParams","environment","environments","nativeTransformedJS","handleAPI","loadMiddleware","ignoredRouteFiles","router","name","enforce","apply","config","_ref","_options_optimization","setting","optimization","autoEntriesScanning","manifest","pageRoutes","routesAndLayouts","flatMap","_route_layouts","split","filter","x","startsWith","optimizeDeps","entries","configureServer","serverIn","appDir","cwd","fileWatcherChangeListener","changedPath","absolutePath","addListener","loaderDepChangeListener","routePaths","size","hot","send","event","data","on","middlewares","use","req","res","_req_url","writeHead","end","setHeader","_options_web","redirects","web","host","_loop","redirect","regexStr","source","match","RegExp","destination","forEach","index","permanent","Location","v"],"sources":["../../../../src/vite/plugins/fileSystemRouterPlugin.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "one",
3
- "version": "1.15.5",
3
+ "version": "1.15.7",
4
4
  "license": "BSD-3-Clause",
5
5
  "sideEffects": [
6
6
  "setup.mjs",
@@ -165,17 +165,17 @@
165
165
  "@react-navigation/routers": "~7.5.3",
166
166
  "@swc/core": "^1.14.0",
167
167
  "@ungap/structured-clone": "^1.2.0",
168
- "@vxrn/color-scheme": "1.15.5",
169
- "@vxrn/compiler": "1.15.5",
170
- "@vxrn/resolve": "1.15.5",
171
- "@vxrn/tslib-lite": "1.15.5",
172
- "@vxrn/use-isomorphic-layout-effect": "1.15.5",
173
- "@vxrn/vite-plugin-metro": "1.15.5",
168
+ "@vxrn/color-scheme": "1.15.7",
169
+ "@vxrn/compiler": "1.15.7",
170
+ "@vxrn/resolve": "1.15.7",
171
+ "@vxrn/tslib-lite": "1.15.7",
172
+ "@vxrn/use-isomorphic-layout-effect": "1.15.7",
173
+ "@vxrn/vite-plugin-metro": "1.15.7",
174
174
  "babel-dead-code-elimination": "1.0.10",
175
175
  "babel-plugin-module-resolver": "^5.0.2",
176
176
  "citty": "^0.1.6",
177
177
  "core-js": "^3.38.1",
178
- "create-vxrn": "1.15.5",
178
+ "create-vxrn": "1.15.7",
179
179
  "escape-string-regexp": "^5.0.0",
180
180
  "expo-linking": "~55.0.7",
181
181
  "expo-modules-core": "~55.0.16",
@@ -187,15 +187,15 @@
187
187
  "micromatch": "^4.0.8",
188
188
  "nanoid": "^3.3.7",
189
189
  "oxc-parser": "^0.112.0",
190
- "tsconfig-paths": "^4",
191
190
  "perfect-debounce": "^1.0.0",
192
191
  "picocolors": "^1.0.0",
193
192
  "react-compiler-runtime": "^19.0.0-beta-201e55d-20241215",
194
193
  "react-native-css-interop": "^0.2.1",
195
194
  "ts-pattern": "^5.6.2",
195
+ "tsconfig-paths": "^4",
196
196
  "use-latest-callback": "^0.2.3",
197
197
  "vite": "^8.0.0",
198
- "vxrn": "1.15.5",
198
+ "vxrn": "1.15.7",
199
199
  "ws": "^8.18.0",
200
200
  "xxhashjs": "^0.2.2"
201
201
  },
package/src/cli/build.ts CHANGED
@@ -43,6 +43,187 @@ function normalizeDeploy(
43
43
  return deploy
44
44
  }
45
45
 
46
+ type JsonPrimitive = string | number | boolean | null
47
+ type JsonValue = JsonPrimitive | JsonValue[] | { [key: string]: JsonValue }
48
+
49
+ const GENERATED_CLOUDFLARE_WRANGLER_RULES = [
50
+ { type: 'ESModule', globs: ['./server/**/*.js'], fallthrough: true },
51
+ { type: 'ESModule', globs: ['./api/**/*.js'], fallthrough: true },
52
+ { type: 'ESModule', globs: ['./middlewares/**/*.js'], fallthrough: true },
53
+ { type: 'ESModule', globs: ['./assets/**/*.js'], fallthrough: true },
54
+ ]
55
+
56
+ function isPlainObject(value: unknown): value is Record<string, JsonValue> {
57
+ return !!value && typeof value === 'object' && !Array.isArray(value)
58
+ }
59
+
60
+ function mergeJsonObjects(
61
+ base: Record<string, JsonValue>,
62
+ overrides: Record<string, JsonValue>
63
+ ): Record<string, JsonValue> {
64
+ const merged: Record<string, JsonValue> = { ...base }
65
+
66
+ for (const [key, value] of Object.entries(overrides)) {
67
+ const baseValue = merged[key]
68
+ if (isPlainObject(baseValue) && isPlainObject(value)) {
69
+ merged[key] = mergeJsonObjects(baseValue, value)
70
+ } else {
71
+ merged[key] = value
72
+ }
73
+ }
74
+
75
+ return merged
76
+ }
77
+
78
+ function dedupeJsonValues<T extends JsonValue>(values: T[]): T[] {
79
+ const seen = new Set<string>()
80
+ return values.filter((value) => {
81
+ const key = JSON.stringify(value)
82
+ if (seen.has(key)) return false
83
+ seen.add(key)
84
+ return true
85
+ })
86
+ }
87
+
88
+ function mergeCloudflareCompatibilityFlags(flags: unknown): string[] {
89
+ const userFlags = Array.isArray(flags)
90
+ ? flags.filter((flag): flag is string => typeof flag === 'string')
91
+ : []
92
+
93
+ return dedupeJsonValues<string>(['nodejs_compat', ...userFlags])
94
+ }
95
+
96
+ function mergeCloudflareRules(rules: unknown): JsonValue[] {
97
+ const userRules = Array.isArray(rules)
98
+ ? rules.filter((rule): rule is JsonValue => isPlainObject(rule))
99
+ : []
100
+
101
+ return dedupeJsonValues<JsonValue>([
102
+ ...GENERATED_CLOUDFLARE_WRANGLER_RULES,
103
+ ...userRules,
104
+ ])
105
+ }
106
+
107
+ // minimal JSONC parser: strips line/block comments (string-aware) and trailing
108
+ // commas, then runs JSON.parse. sufficient for small hand-written config files.
109
+ function parseJsonc(text: string): unknown {
110
+ let out = ''
111
+ let i = 0
112
+ let inString = false
113
+ let quote = ''
114
+ while (i < text.length) {
115
+ const ch = text[i]
116
+ const next = text[i + 1]
117
+ if (inString) {
118
+ if (ch === '\\') {
119
+ out += ch + (next ?? '')
120
+ i += 2
121
+ continue
122
+ }
123
+ if (ch === quote) inString = false
124
+ out += ch
125
+ i++
126
+ continue
127
+ }
128
+ if (ch === '"' || ch === "'") {
129
+ inString = true
130
+ quote = ch
131
+ out += ch
132
+ i++
133
+ continue
134
+ }
135
+ if (ch === '/' && next === '/') {
136
+ while (i < text.length && text[i] !== '\n') i++
137
+ continue
138
+ }
139
+ if (ch === '/' && next === '*') {
140
+ i += 2
141
+ while (i < text.length - 1 && !(text[i] === '*' && text[i + 1] === '/')) i++
142
+ i += 2
143
+ continue
144
+ }
145
+ out += ch
146
+ i++
147
+ }
148
+ return JSON.parse(out.replace(/,(\s*[}\]])/g, '$1'))
149
+ }
150
+
151
+ async function loadUserWranglerConfig(
152
+ root: string
153
+ ): Promise<{ path: string; config: Record<string, JsonValue> } | null> {
154
+ const candidateRoots = [...new Set([root, process.cwd()])]
155
+
156
+ for (const candidateRoot of candidateRoots) {
157
+ for (const fileName of ['wrangler.jsonc', 'wrangler.json']) {
158
+ const configPath = join(candidateRoot, fileName)
159
+ if (!(await FSExtra.pathExists(configPath))) {
160
+ continue
161
+ }
162
+
163
+ const contents = await FSExtra.readFile(configPath, 'utf-8')
164
+ let parsed: unknown
165
+ try {
166
+ parsed = parseJsonc(contents)
167
+ } catch (err) {
168
+ throw new Error(
169
+ `Failed to parse ${relative(process.cwd(), configPath)}: ${(err as Error).message}`
170
+ )
171
+ }
172
+
173
+ if (!isPlainObject(parsed)) {
174
+ throw new Error(
175
+ `Expected ${relative(process.cwd(), configPath)} to contain a top-level JSON object`
176
+ )
177
+ }
178
+
179
+ return {
180
+ path: configPath,
181
+ config: parsed,
182
+ }
183
+ }
184
+ }
185
+
186
+ return null
187
+ }
188
+
189
+ function createCloudflareWranglerConfig(
190
+ projectName: string,
191
+ userConfig?: Record<string, JsonValue>
192
+ ): Record<string, JsonValue> {
193
+ const generatedConfig: Record<string, JsonValue> = {
194
+ name: projectName,
195
+ main: 'worker.js',
196
+ compatibility_date: '2024-12-05',
197
+ compatibility_flags: ['nodejs_compat'],
198
+ find_additional_modules: true,
199
+ rules: GENERATED_CLOUDFLARE_WRANGLER_RULES,
200
+ assets: {
201
+ directory: 'client',
202
+ binding: 'ASSETS',
203
+ run_worker_first: true,
204
+ },
205
+ }
206
+
207
+ const mergedConfig = userConfig
208
+ ? mergeJsonObjects(generatedConfig, userConfig)
209
+ : generatedConfig
210
+
211
+ mergedConfig.main = 'worker.js'
212
+ mergedConfig.find_additional_modules = true
213
+ mergedConfig.compatibility_flags = mergeCloudflareCompatibilityFlags(
214
+ mergedConfig.compatibility_flags
215
+ )
216
+ mergedConfig.rules = mergeCloudflareRules(mergedConfig.rules)
217
+ mergedConfig.assets = {
218
+ ...(isPlainObject(mergedConfig.assets) ? mergedConfig.assets : {}),
219
+ directory: 'client',
220
+ binding: 'ASSETS',
221
+ run_worker_first: true,
222
+ }
223
+
224
+ return mergedConfig
225
+ }
226
+
46
227
  // reads package.json name, strips npm scope prefix for use as cloudflare worker name
47
228
  async function getCloudflareProjectName(root: string): Promise<string> {
48
229
  try {
@@ -1244,25 +1425,21 @@ export default {
1244
1425
  // Use jsonc for wrangler config (recommended for new projects)
1245
1426
  // Use assets with run_worker_first so all requests go through worker (enables middleware on SSG pages)
1246
1427
  const projectName = await getCloudflareProjectName(options.root)
1428
+ const userWranglerConfig = await loadUserWranglerConfig(options.root)
1429
+ const wranglerConfig = createCloudflareWranglerConfig(
1430
+ projectName,
1431
+ userWranglerConfig?.config
1432
+ )
1433
+
1434
+ if (userWranglerConfig) {
1435
+ console.info(
1436
+ ` [cloudflare] Merging ${relative(options.root, userWranglerConfig.path)} into ${outDir}/wrangler.jsonc`
1437
+ )
1438
+ }
1247
1439
 
1248
- const wranglerConfig = `{
1249
- "name": ${JSON.stringify(projectName)},
1250
- "main": "worker.js",
1251
- "compatibility_date": "2024-12-05",
1252
- "compatibility_flags": ["nodejs_compat"],
1253
- "find_additional_modules": true,
1254
- "rules": [
1255
- { "type": "ESModule", "globs": ["./server/**/*.js"], "fallthrough": true },
1256
- { "type": "ESModule", "globs": ["./api/**/*.js"], "fallthrough": true },
1257
- { "type": "ESModule", "globs": ["./middlewares/**/*.js"], "fallthrough": true },
1258
- { "type": "ESModule", "globs": ["./assets/**/*.js"], "fallthrough": true }
1259
- ],
1260
- "assets": { "directory": "client", "binding": "ASSETS", "run_worker_first": true }
1261
- }
1262
- `
1263
1440
  await FSExtra.writeFile(
1264
1441
  join(options.root, outDir, 'wrangler.jsonc'),
1265
- wranglerConfig
1442
+ `${JSON.stringify(wranglerConfig, null, 2)}\n`
1266
1443
  )
1267
1444
 
1268
1445
  postBuildLogs.push(`Cloudflare worker bundled at ${outDir}/worker.js`)
@@ -483,6 +483,24 @@ export function createHandleRequest(
483
483
  continue
484
484
  }
485
485
 
486
+ // static-looking probes (sourcemaps, .well-known, favicons) that
487
+ // only match the auto-generated placeholder +not-found (route.file
488
+ // is '' — no user-defined +not-found page exists) should get a bare
489
+ // 404 rather than a full SSR render. browser devtools & crawlers
490
+ // want a status code, not an HTML shell, and rendering the layout
491
+ // tree for every probe is wasteful.
492
+ if (looksLikeStaticFile && route.file === '') {
493
+ if (debugRouter) {
494
+ console.info(
495
+ `[one] ⚡ ${pathname} → 404 for probe path (no +not-found defined)`
496
+ )
497
+ }
498
+ return new Response(null, {
499
+ status: 404,
500
+ headers: { 'Content-Type': 'text/plain' },
501
+ })
502
+ }
503
+
486
504
  if (debugRouter) {
487
505
  console.info(
488
506
  `[one] ⚡ ${pathname} → matched page route: ${route.page} (${route.type})`
@@ -0,0 +1,178 @@
1
+ import { afterEach, beforeEach, expect, test } from 'vitest'
2
+
3
+ import { createMemoryHistory } from './createMemoryHistory'
4
+
5
+ // Minimal window mock to exercise createMemoryHistory without jsdom.
6
+ // The module reads `window.history.state`, calls `pushState`/`replaceState`,
7
+ // listens for `popstate`, reads `location.hash`, and touches `window.document.title`.
8
+ type Entry = { state: any; path: string }
9
+
10
+ type DomMock = {
11
+ firePopState: (delta: number) => void
12
+ entries: Entry[]
13
+ getCursor: () => number
14
+ }
15
+
16
+ let dom: DomMock
17
+
18
+ function setupDomMock(initialPath = '/'): DomMock {
19
+ const entries: Entry[] = [{ state: null, path: initialPath }]
20
+ let cursor = 0
21
+ const listeners: Array<(ev: any) => void> = []
22
+
23
+ const mockHistory: any = {
24
+ get state() {
25
+ return entries[cursor].state
26
+ },
27
+ pushState(state: any, _title: string, url: string) {
28
+ entries.length = cursor + 1
29
+ entries.push({ state, path: url })
30
+ cursor = entries.length - 1
31
+ },
32
+ replaceState(state: any, _title: string, url: string) {
33
+ entries[cursor] = { state, path: url }
34
+ },
35
+ go() {
36
+ // not exercised in these tests; the real code path triggers popstate via
37
+ // a fake event instead
38
+ },
39
+ get length() {
40
+ return entries.length
41
+ },
42
+ }
43
+
44
+ const mockLocation: any = {
45
+ get pathname() {
46
+ const p = entries[cursor].path
47
+ return p.split('?')[0].split('#')[0]
48
+ },
49
+ get search() {
50
+ const p = entries[cursor].path
51
+ const q = p.indexOf('?')
52
+ if (q === -1) return ''
53
+ return p.slice(q).split('#')[0]
54
+ },
55
+ get hash() {
56
+ const p = entries[cursor].path
57
+ const h = p.indexOf('#')
58
+ return h === -1 ? '' : p.slice(h)
59
+ },
60
+ }
61
+
62
+ const mockDocument: any = { title: '' }
63
+
64
+ const mockWindow: any = {
65
+ history: mockHistory,
66
+ location: mockLocation,
67
+ document: mockDocument,
68
+ addEventListener(type: string, handler: any) {
69
+ if (type === 'popstate') listeners.push(handler)
70
+ },
71
+ removeEventListener(type: string, handler: any) {
72
+ if (type === 'popstate') {
73
+ const i = listeners.indexOf(handler)
74
+ if (i > -1) listeners.splice(i, 1)
75
+ }
76
+ },
77
+ }
78
+
79
+ ;(globalThis as any).window = mockWindow
80
+ ;(globalThis as any).location = mockLocation
81
+ ;(globalThis as any).document = mockDocument
82
+
83
+ return {
84
+ entries,
85
+ getCursor: () => cursor,
86
+ firePopState: (delta: number) => {
87
+ const next = cursor + delta
88
+ if (next < 0 || next >= entries.length) return
89
+ cursor = next
90
+ for (const l of listeners.slice()) l({ state: entries[cursor].state })
91
+ },
92
+ }
93
+ }
94
+
95
+ function teardownDomMock() {
96
+ delete (globalThis as any).window
97
+ delete (globalThis as any).location
98
+ delete (globalThis as any).document
99
+ }
100
+
101
+ // Minimal NavigationState-shaped objects. createMemoryHistory treats `state`
102
+ // opaquely — it only stores it on HistoryRecord.state — so we just need stable
103
+ // object identity to prove the correct record is returned.
104
+ const stackState = (routeNames: string[], index: number) =>
105
+ ({
106
+ key: 'stack-root',
107
+ index,
108
+ routeNames,
109
+ routes: routeNames.map((name) => ({ key: `${name}-k`, name })),
110
+ stale: false,
111
+ type: 'stack',
112
+ }) as any
113
+
114
+ beforeEach(() => {
115
+ dom = setupDomMock()
116
+ })
117
+ afterEach(() => {
118
+ teardownDomMock()
119
+ })
120
+
121
+ test('browser back then forward restores the pushed stack (regression for external-popstate index drift)', () => {
122
+ const history = createMemoryHistory()
123
+
124
+ // Step 0: initial load at '/', state = [index]
125
+ const s0 = stackState(['index'], 0)
126
+ history.replace({ path: '/', state: s0 })
127
+ expect(history.index).toBe(0)
128
+
129
+ // Step 1: router.push('/todo/abc'), state = [index, todo]
130
+ const s1 = stackState(['index', 'todo'], 1)
131
+ history.push({ path: '/todo/abc', state: s1 })
132
+ expect(history.index).toBe(1)
133
+ expect(history.get(1)?.state).toBe(s1)
134
+
135
+ // Step 2: simulate the runtime sequence on browser back:
136
+ // a) popstate fires externally
137
+ // b) useLinking's listen callback reads history.index + history.get(index),
138
+ // then does navigation.resetRoot(record.state). That triggers
139
+ // onStateChange, which (because path === pendingPath) calls
140
+ // history.replace({path:'/', state: s0}).
141
+ //
142
+ // The bug: createMemoryHistory's closure `index` is NOT updated by external
143
+ // popstate, so history.replace writes to items[staleIndex] — overwriting
144
+ // the '/todo/abc' record we just navigated away from.
145
+ const popStateLog: Array<{ path: string; recordPath?: string; recordState: any }> = []
146
+ const unlisten = history.listen(() => {
147
+ const idx = history.index
148
+ const rec = history.get(idx)
149
+ popStateLog.push({
150
+ path: (globalThis as any).window.location.pathname,
151
+ recordPath: rec?.path,
152
+ recordState: rec?.state,
153
+ })
154
+ // emulate useLinking's post-resetRoot replace (same path, same state)
155
+ history.replace({ path: '/', state: s0 })
156
+ })
157
+
158
+ dom.firePopState(-1) // browser back
159
+
160
+ // Listener saw the correct stored record for '/'
161
+ expect(popStateLog).toHaveLength(1)
162
+ expect(popStateLog[0].recordPath).toBe('/')
163
+ expect(popStateLog[0].recordState).toBe(s0)
164
+
165
+ // Step 3: browser forward. The critical assertion: the '/todo/abc' record
166
+ // should still be intact with the full state s1.
167
+ dom.firePopState(1)
168
+
169
+ expect(popStateLog).toHaveLength(2)
170
+ expect(popStateLog[1].recordPath).toBe('/todo/abc')
171
+ // This is the line that fails without the fix: record.state would have been
172
+ // overwritten to s0 during step 2's stale-index history.replace, or the id
173
+ // lookup would miss entirely and return items[0].
174
+ expect(popStateLog[1].recordState).toBe(s1)
175
+ expect(history.index).toBe(1)
176
+
177
+ unlisten()
178
+ })
@@ -298,6 +298,22 @@ export function createMemoryHistory() {
298
298
  return
299
299
  }
300
300
 
301
+ // @modified - Sync closure `index` with window.history.state on external
302
+ // back/forward navigation. Without this, the closure `index` stays stale
303
+ // after browser back/forward, and any subsequent push/replace writes to
304
+ // the wrong slot in `items`, corrupting the stored navigation state.
305
+ // Specifically: after back, onStateChange calls history.replace, which
306
+ // writes to `items[closureIndex]` — if closureIndex still points at the
307
+ // entry we just navigated away from, we overwrite it and lose the
308
+ // forward entry's state, so forward can't restore the real stack.
309
+ const popId = window.history.state?.id
310
+ if (popId) {
311
+ const foundIndex = items.findIndex((item) => item.id === popId)
312
+ if (foundIndex > -1) {
313
+ index = foundIndex
314
+ }
315
+ }
316
+
301
317
  listener()
302
318
  }
303
319
 
@@ -436,9 +436,20 @@ export function getQualifiedRouteComponent(value: RouteNode) {
436
436
  const wrapSuspense = (children: any) => {
437
437
  if (process.env.TAMAGUI_TARGET === 'native') {
438
438
  // native opt-out: set native.suspendRoutes to false in your one() config
439
- // useful for JS-driven animations (e.g. SOI) where the null fallback
440
- // causes a blank flash before the route component mounts
441
- if (process.env.ONE_SUSPEND_ROUTES_NATIVE === '0') {
439
+ // OR set globalThis.__ONE_DISABLE_SUSPENSE_ROUTES__ = true at runtime
440
+ // (the env var is used at the consuming app's build time, the runtime
441
+ // flag is for environments like sootsim that need to disable it after
442
+ // one has already been bundled).
443
+ //
444
+ // useful for JS-driven animations (e.g. sootsim canvas renderer) where
445
+ // the rAF-driven stack push animation dominates the main thread and
446
+ // React 18 defers the suspense subtree commit until rAF stops, which
447
+ // means the new route content is null for the entire enter animation
448
+ // (user sees only the drop shadow with no card content).
449
+ if (
450
+ process.env.ONE_SUSPEND_ROUTES_NATIVE === '0' ||
451
+ (globalThis as any).__ONE_DISABLE_SUSPENSE_ROUTES__ === true
452
+ ) {
442
453
  return children
443
454
  }
444
455
  return <Suspense fallback={null}>{children}</Suspense>
@@ -447,7 +458,10 @@ export function getQualifiedRouteComponent(value: RouteNode) {
447
458
  // web opt-in: set web.suspendRoutes to true in your one() config
448
459
  // off by default because suspense causes flickers on web during nav
449
460
  // since react navigation doesn't properly respect startTransition
450
- if (process.env.ONE_SUSPEND_ROUTES === '1') {
461
+ if (
462
+ process.env.ONE_SUSPEND_ROUTES === '1' &&
463
+ (globalThis as any).__ONE_DISABLE_SUSPENSE_ROUTES__ !== true
464
+ ) {
451
465
  return <Suspense fallback={null}>{children}</Suspense>
452
466
  }
453
467
  return children
@@ -120,12 +120,17 @@ export function createFileSystemRouterPlugin(options: One.PluginOptions): Plugin
120
120
  renderPromise = promise
121
121
 
122
122
  try {
123
- const routeFile = path.join(routerRoot, route.file)
123
+ // route.file is '' for the auto-generated placeholder +not-found
124
+ // route that getRoutes.ts injects when no user-defined one exists.
125
+ // path.join(routerRoot, '') would resolve to routerRoot ('app'),
126
+ // so we must branch on route.file, not the joined path.
127
+ const isGeneratedNotFound = route.file === ''
128
+ const routeFile = isGeneratedNotFound ? '' : path.join(routerRoot, route.file)
124
129
  runner.clearCache()
125
130
 
126
131
  globalThis['__vxrnresetState']?.()
127
132
 
128
- const exported = routeFile === '' ? {} : await runner.import(routeFile)
133
+ const exported = isGeneratedNotFound ? {} : await runner.import(routeFile)
129
134
 
130
135
  // helper to run a loader and track dependencies
131
136
  async function runLoaderWithTracking(