one 1.10.6 → 1.11.0

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 (828) hide show
  1. package/dist/cjs/Root.cjs +11 -2
  2. package/dist/cjs/Root.js +5 -2
  3. package/dist/cjs/Root.js.map +1 -1
  4. package/dist/cjs/Root.native.js +18 -18
  5. package/dist/cjs/Root.native.js.map +1 -1
  6. package/dist/cjs/babel-plugins/inline-one-server-url.cjs +41 -0
  7. package/dist/cjs/babel-plugins/inline-one-server-url.js +34 -0
  8. package/dist/cjs/babel-plugins/inline-one-server-url.js.map +6 -0
  9. package/dist/cjs/babel-plugins/inline-one-server-url.native.js +48 -0
  10. package/dist/cjs/babel-plugins/inline-one-server-url.native.js.map +1 -0
  11. package/dist/cjs/cli/build.cjs +88 -29
  12. package/dist/cjs/cli/build.js +85 -28
  13. package/dist/cjs/cli/build.js.map +1 -1
  14. package/dist/cjs/cli/build.native.js +105 -35
  15. package/dist/cjs/cli/build.native.js.map +1 -1
  16. package/dist/cjs/cli/buildPage.cjs +24 -12
  17. package/dist/cjs/cli/buildPage.js +20 -14
  18. package/dist/cjs/cli/buildPage.js.map +1 -1
  19. package/dist/cjs/cli/buildPage.native.js +29 -18
  20. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  21. package/dist/cjs/cli/buildPageWorker.cjs +9 -15
  22. package/dist/cjs/cli/buildPageWorker.js +11 -12
  23. package/dist/cjs/cli/buildPageWorker.js.map +1 -1
  24. package/dist/cjs/cli/buildPageWorker.native.js +5 -16
  25. package/dist/cjs/cli/buildPageWorker.native.js.map +1 -1
  26. package/dist/cjs/cli/patch.cjs +3 -3
  27. package/dist/cjs/cli/patch.js +3 -3
  28. package/dist/cjs/cli/patch.js.map +1 -1
  29. package/dist/cjs/cli/patch.native.js +3 -3
  30. package/dist/cjs/cli/patch.native.js.map +1 -1
  31. package/dist/cjs/cli/securityScan.cjs +123 -0
  32. package/dist/cjs/cli/securityScan.js +134 -0
  33. package/dist/cjs/cli/securityScan.js.map +6 -0
  34. package/dist/cjs/cli/securityScan.native.js +205 -0
  35. package/dist/cjs/cli/securityScan.native.js.map +1 -0
  36. package/dist/cjs/cli/workerPool.cjs +4 -3
  37. package/dist/cjs/cli/workerPool.js +3 -3
  38. package/dist/cjs/cli/workerPool.js.map +1 -1
  39. package/dist/cjs/cli/workerPool.native.js +4 -3
  40. package/dist/cjs/cli/workerPool.native.js.map +1 -1
  41. package/dist/cjs/cli.cjs +13 -2
  42. package/dist/cjs/cli.js +12 -2
  43. package/dist/cjs/cli.js.map +1 -1
  44. package/dist/cjs/cli.native.js +13 -2
  45. package/dist/cjs/cli.native.js.map +1 -1
  46. package/dist/cjs/createApp.cjs +130 -64
  47. package/dist/cjs/createApp.js +97 -24
  48. package/dist/cjs/createApp.js.map +1 -1
  49. package/dist/cjs/createHandleRequest.cjs +58 -35
  50. package/dist/cjs/createHandleRequest.js +29 -18
  51. package/dist/cjs/createHandleRequest.js.map +1 -1
  52. package/dist/cjs/createHandleRequest.native.js +66 -41
  53. package/dist/cjs/createHandleRequest.native.js.map +1 -1
  54. package/dist/cjs/daemon/tui.js.map +1 -1
  55. package/dist/cjs/fork/NavigationContainer.cjs +26 -3
  56. package/dist/cjs/fork/NavigationContainer.js +12 -4
  57. package/dist/cjs/fork/NavigationContainer.js.map +1 -1
  58. package/dist/cjs/fork/NavigationContainer.native.js +25 -2
  59. package/dist/cjs/fork/NavigationContainer.native.js.map +1 -1
  60. package/dist/cjs/fork/SSRNavigationContainer.cjs +105 -0
  61. package/dist/cjs/fork/SSRNavigationContainer.js +66 -0
  62. package/dist/cjs/fork/SSRNavigationContainer.js.map +6 -0
  63. package/dist/cjs/fork/SSRNavigationContainer.native.js +119 -0
  64. package/dist/cjs/fork/SSRNavigationContainer.native.js.map +1 -0
  65. package/dist/cjs/fork/getPathFromState.cjs +10 -5
  66. package/dist/cjs/fork/getPathFromState.js +5 -5
  67. package/dist/cjs/fork/getPathFromState.js.map +1 -1
  68. package/dist/cjs/fork/getPathFromState.native.js +10 -5
  69. package/dist/cjs/fork/getPathFromState.native.js.map +1 -1
  70. package/dist/cjs/fork/getStateFromPath-mods.cjs +1 -1
  71. package/dist/cjs/fork/getStateFromPath-mods.js +1 -1
  72. package/dist/cjs/fork/getStateFromPath-mods.js.map +1 -1
  73. package/dist/cjs/fork/getStateFromPath-mods.native.js +1 -1
  74. package/dist/cjs/fork/getStateFromPath-mods.native.js.map +1 -1
  75. package/dist/cjs/fork/navigationThemes.cjs +84 -0
  76. package/dist/cjs/fork/navigationThemes.js +54 -0
  77. package/dist/cjs/fork/navigationThemes.js.map +6 -0
  78. package/dist/cjs/fork/navigationThemes.native.js +87 -0
  79. package/dist/cjs/fork/navigationThemes.native.js.map +1 -0
  80. package/dist/cjs/fork/useLinking.cjs +11 -1
  81. package/dist/cjs/fork/useLinking.js +10 -1
  82. package/dist/cjs/fork/useLinking.js.map +1 -1
  83. package/dist/cjs/fork/useLinking.native.js +1 -1
  84. package/dist/cjs/fork/useLinking.native.js.map +1 -1
  85. package/dist/cjs/getReactNavigationConfig.cjs +3 -1
  86. package/dist/cjs/getReactNavigationConfig.js +2 -2
  87. package/dist/cjs/getReactNavigationConfig.js.map +1 -1
  88. package/dist/cjs/getReactNavigationConfig.native.js +3 -1
  89. package/dist/cjs/getReactNavigationConfig.native.js.map +1 -1
  90. package/dist/cjs/index.cjs +2 -0
  91. package/dist/cjs/index.js +2 -1
  92. package/dist/cjs/index.js.map +1 -1
  93. package/dist/cjs/index.native.js +2 -0
  94. package/dist/cjs/index.native.js.map +1 -1
  95. package/dist/cjs/layouts/stack-utils/StackScreen.cjs +15 -1
  96. package/dist/cjs/layouts/stack-utils/StackScreen.js +27 -1
  97. package/dist/cjs/layouts/stack-utils/StackScreen.js.map +1 -1
  98. package/dist/cjs/layouts/stack-utils/StackScreen.native.js +18 -1
  99. package/dist/cjs/layouts/stack-utils/StackScreen.native.js.map +1 -1
  100. package/dist/cjs/layouts/stack-utils/index.cjs +2 -1
  101. package/dist/cjs/layouts/stack-utils/index.js +2 -1
  102. package/dist/cjs/layouts/stack-utils/index.js.map +1 -1
  103. package/dist/cjs/layouts/stack-utils/index.native.js +2 -1
  104. package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -1
  105. package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +3 -1
  106. package/dist/cjs/metro-config/getViteMetroPluginOptions.js +3 -1
  107. package/dist/cjs/metro-config/getViteMetroPluginOptions.js.map +1 -1
  108. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +3 -1
  109. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  110. package/dist/cjs/reactNavigationImports.cjs +33 -0
  111. package/dist/cjs/reactNavigationImports.js +28 -0
  112. package/dist/cjs/reactNavigationImports.js.map +6 -0
  113. package/dist/cjs/reactNavigationImports.native.js +36 -0
  114. package/dist/cjs/reactNavigationImports.native.js.map +1 -0
  115. package/dist/cjs/reactNavigationImports.server.cjs +51 -0
  116. package/dist/cjs/reactNavigationImports.server.js +42 -0
  117. package/dist/cjs/reactNavigationImports.server.js.map +6 -0
  118. package/dist/cjs/reactNavigationImports.server.native.js +56 -0
  119. package/dist/cjs/reactNavigationImports.server.native.js.map +1 -0
  120. package/dist/cjs/router/findRouteNode.cjs +4 -4
  121. package/dist/cjs/router/findRouteNode.js +4 -4
  122. package/dist/cjs/router/findRouteNode.js.map +1 -1
  123. package/dist/cjs/router/findRouteNode.native.js +4 -4
  124. package/dist/cjs/router/findRouteNode.native.js.map +1 -1
  125. package/dist/cjs/router/isIndexPath.cjs +1 -0
  126. package/dist/cjs/router/isIndexPath.js +2 -0
  127. package/dist/cjs/router/isIndexPath.js.map +1 -1
  128. package/dist/cjs/router/isIndexPath.native.js +3 -2
  129. package/dist/cjs/router/isIndexPath.native.js.map +1 -1
  130. package/dist/cjs/router/linkingConfig.cjs +19 -2
  131. package/dist/cjs/router/linkingConfig.js +18 -2
  132. package/dist/cjs/router/linkingConfig.js.map +1 -1
  133. package/dist/cjs/router/linkingConfig.native.js +21 -2
  134. package/dist/cjs/router/linkingConfig.native.js.map +1 -1
  135. package/dist/cjs/router/router.cjs +30 -24
  136. package/dist/cjs/router/router.js +23 -20
  137. package/dist/cjs/router/router.js.map +2 -2
  138. package/dist/cjs/router/router.native.js +21 -14
  139. package/dist/cjs/router/router.native.js.map +1 -1
  140. package/dist/cjs/router/useInitializeOneRouter.cjs +25 -9
  141. package/dist/cjs/router/useInitializeOneRouter.js +21 -8
  142. package/dist/cjs/router/useInitializeOneRouter.js.map +1 -1
  143. package/dist/cjs/router/useInitializeOneRouter.native.js +23 -7
  144. package/dist/cjs/router/useInitializeOneRouter.native.js.map +1 -1
  145. package/dist/cjs/router/useScreens.cjs +30 -11
  146. package/dist/cjs/router/useScreens.js +47 -21
  147. package/dist/cjs/router/useScreens.js.map +1 -1
  148. package/dist/cjs/router/useScreens.native.js +25 -10
  149. package/dist/cjs/router/useScreens.native.js.map +1 -1
  150. package/dist/cjs/screensFeatureFlags.cjs +37 -0
  151. package/dist/cjs/screensFeatureFlags.js +31 -0
  152. package/dist/cjs/screensFeatureFlags.js.map +6 -0
  153. package/dist/cjs/screensFeatureFlags.native.js +40 -0
  154. package/dist/cjs/screensFeatureFlags.native.js.map +1 -0
  155. package/dist/cjs/serve.cjs +27 -3
  156. package/dist/cjs/serve.js +26 -3
  157. package/dist/cjs/serve.js.map +1 -1
  158. package/dist/cjs/serve.native.js +36 -4
  159. package/dist/cjs/serve.native.js.map +1 -1
  160. package/dist/cjs/server/ServerContextScript.cjs +14 -5
  161. package/dist/cjs/server/ServerContextScript.js +12 -6
  162. package/dist/cjs/server/ServerContextScript.js.map +1 -1
  163. package/dist/cjs/server/ServerContextScript.native.js +18 -6
  164. package/dist/cjs/server/ServerContextScript.native.js.map +1 -1
  165. package/dist/cjs/server/oneServe.cjs +279 -182
  166. package/dist/cjs/server/oneServe.js +105 -30
  167. package/dist/cjs/server/oneServe.js.map +1 -1
  168. package/dist/cjs/server/oneServe.native.js +334 -215
  169. package/dist/cjs/server/oneServe.native.js.map +1 -1
  170. package/dist/cjs/server/ssrLoaderData.cjs +30 -0
  171. package/dist/cjs/server/ssrLoaderData.js +25 -0
  172. package/dist/cjs/server/ssrLoaderData.js.map +6 -0
  173. package/dist/cjs/server/ssrLoaderData.native.js +33 -0
  174. package/dist/cjs/server/ssrLoaderData.native.js.map +1 -0
  175. package/dist/cjs/server-render.cjs +22 -22
  176. package/dist/cjs/server-render.js +11 -15
  177. package/dist/cjs/server-render.js.map +1 -1
  178. package/dist/cjs/server-render.native.js +18 -38
  179. package/dist/cjs/server-render.native.js.map +1 -1
  180. package/dist/cjs/ui/Slot.cjs +1 -0
  181. package/dist/cjs/ui/Slot.js +4 -0
  182. package/dist/cjs/ui/Slot.js.map +1 -1
  183. package/dist/cjs/ui/Slot.native.js +1 -0
  184. package/dist/cjs/ui/Slot.native.js.map +1 -1
  185. package/dist/cjs/ui/TabRouter.cjs +32 -19
  186. package/dist/cjs/ui/TabRouter.js +18 -2
  187. package/dist/cjs/ui/TabRouter.js.map +1 -1
  188. package/dist/cjs/ui/TabRouter.native.js +13 -0
  189. package/dist/cjs/ui/TabRouter.native.js.map +1 -1
  190. package/dist/cjs/ui/TabTrigger.cjs +2 -2
  191. package/dist/cjs/ui/TabTrigger.js +1 -1
  192. package/dist/cjs/ui/TabTrigger.js.map +1 -1
  193. package/dist/cjs/ui/TabTrigger.native.js +2 -2
  194. package/dist/cjs/ui/TabTrigger.native.js.map +1 -1
  195. package/dist/cjs/useLoader.cjs +39 -9
  196. package/dist/cjs/useLoader.js +33 -9
  197. package/dist/cjs/useLoader.js.map +2 -2
  198. package/dist/cjs/useLoader.native.js +48 -11
  199. package/dist/cjs/useLoader.native.js.map +1 -1
  200. package/dist/cjs/utils/isRolldown.cjs +8 -24
  201. package/dist/cjs/utils/isRolldown.js +6 -20
  202. package/dist/cjs/utils/isRolldown.js.map +1 -1
  203. package/dist/cjs/utils/isRolldown.native.js +8 -25
  204. package/dist/cjs/utils/isRolldown.native.js.map +1 -1
  205. package/dist/cjs/utils/removeParams.cjs +52 -0
  206. package/dist/cjs/utils/removeParams.js +40 -0
  207. package/dist/cjs/utils/removeParams.js.map +6 -0
  208. package/dist/cjs/utils/removeParams.native.js +71 -0
  209. package/dist/cjs/utils/removeParams.native.js.map +1 -0
  210. package/dist/cjs/vercel/build/buildVercelOutputDirectory.cjs +7 -5
  211. package/dist/cjs/vercel/build/buildVercelOutputDirectory.js +7 -5
  212. package/dist/cjs/vercel/build/buildVercelOutputDirectory.js.map +1 -1
  213. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js +7 -4
  214. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
  215. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.cjs +2 -2
  216. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js +2 -2
  217. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js.map +1 -1
  218. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js +2 -1
  219. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
  220. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.cjs +3 -2
  221. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js +2 -2
  222. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js.map +1 -1
  223. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js +3 -2
  224. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
  225. package/dist/cjs/views/Navigator.cjs +1 -0
  226. package/dist/cjs/views/Navigator.js +2 -0
  227. package/dist/cjs/views/Navigator.js.map +1 -1
  228. package/dist/cjs/views/Navigator.native.js +1 -0
  229. package/dist/cjs/views/Navigator.native.js.map +1 -1
  230. package/dist/cjs/vite/one-server-only.cjs +6 -3
  231. package/dist/cjs/vite/one-server-only.js +3 -3
  232. package/dist/cjs/vite/one-server-only.js.map +1 -1
  233. package/dist/cjs/vite/one-server-only.native.js +6 -0
  234. package/dist/cjs/vite/one-server-only.native.js.map +1 -1
  235. package/dist/cjs/vite/one.cjs +75 -29
  236. package/dist/cjs/vite/one.js +93 -24
  237. package/dist/cjs/vite/one.js.map +2 -2
  238. package/dist/cjs/vite/one.native.js +143 -34
  239. package/dist/cjs/vite/one.native.js.map +1 -1
  240. package/dist/cjs/vite/plugins/SSRCSSPlugin.js.map +1 -1
  241. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  242. package/dist/cjs/vite/plugins/criticalCSSPlugin.cjs +59 -0
  243. package/dist/cjs/vite/plugins/criticalCSSPlugin.js +52 -0
  244. package/dist/cjs/vite/plugins/criticalCSSPlugin.js.map +6 -0
  245. package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js +78 -0
  246. package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js.map +1 -0
  247. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.cjs +160 -0
  248. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.js +126 -0
  249. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.js.map +6 -0
  250. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js +165 -0
  251. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -0
  252. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +2 -2
  253. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +2 -2
  254. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  255. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +2 -2
  256. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  257. package/dist/cjs/vite/plugins/fixDependenciesPlugin.cjs +2 -8
  258. package/dist/cjs/vite/plugins/fixDependenciesPlugin.js +2 -8
  259. package/dist/cjs/vite/plugins/fixDependenciesPlugin.js.map +1 -1
  260. package/dist/cjs/vite/plugins/fixDependenciesPlugin.native.js +2 -8
  261. package/dist/cjs/vite/plugins/fixDependenciesPlugin.native.js.map +1 -1
  262. package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.cjs +6 -14
  263. package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.js +8 -11
  264. package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.js.map +1 -1
  265. package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js +6 -18
  266. package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js.map +1 -1
  267. package/dist/cjs/vite/plugins/sourceInspectorPlugin.cjs +11 -6
  268. package/dist/cjs/vite/plugins/sourceInspectorPlugin.js +12 -7
  269. package/dist/cjs/vite/plugins/sourceInspectorPlugin.js.map +1 -1
  270. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js +12 -7
  271. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
  272. package/dist/cjs/vite/plugins/warmRoutesPlugin.cjs +98 -0
  273. package/dist/cjs/vite/plugins/warmRoutesPlugin.js +95 -0
  274. package/dist/cjs/vite/plugins/warmRoutesPlugin.js.map +6 -0
  275. package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js +134 -0
  276. package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js.map +1 -0
  277. package/dist/cjs/vite/replaceLoader.cjs +1 -1
  278. package/dist/cjs/vite/replaceLoader.js +1 -1
  279. package/dist/cjs/vite/replaceLoader.js.map +1 -1
  280. package/dist/cjs/vite/replaceLoader.native.js +1 -1
  281. package/dist/cjs/vite/replaceLoader.native.js.map +1 -1
  282. package/dist/cjs/vite/resolveResponse.cjs +20 -8
  283. package/dist/cjs/vite/resolveResponse.js +22 -7
  284. package/dist/cjs/vite/resolveResponse.js.map +1 -1
  285. package/dist/cjs/vite/resolveResponse.native.js +20 -8
  286. package/dist/cjs/vite/resolveResponse.native.js.map +1 -1
  287. package/dist/cjs/vite-auto-warm.cjs +26 -0
  288. package/dist/cjs/vite-auto-warm.js +21 -0
  289. package/dist/cjs/vite-auto-warm.js.map +6 -0
  290. package/dist/cjs/vite-auto-warm.native.js +29 -0
  291. package/dist/cjs/vite-auto-warm.native.js.map +1 -0
  292. package/dist/cjs/vite.cjs +3 -1
  293. package/dist/cjs/vite.js +2 -1
  294. package/dist/cjs/vite.js.map +1 -1
  295. package/dist/cjs/vite.native.js +3 -1
  296. package/dist/cjs/vite.native.js.map +1 -1
  297. package/dist/esm/Root.js +7 -2
  298. package/dist/esm/Root.js.map +1 -1
  299. package/dist/esm/Root.mjs +12 -3
  300. package/dist/esm/Root.mjs.map +1 -1
  301. package/dist/esm/Root.native.js +19 -19
  302. package/dist/esm/Root.native.js.map +1 -1
  303. package/dist/esm/babel-plugins/inline-one-server-url.js +18 -0
  304. package/dist/esm/babel-plugins/inline-one-server-url.js.map +6 -0
  305. package/dist/esm/babel-plugins/inline-one-server-url.mjs +18 -0
  306. package/dist/esm/babel-plugins/inline-one-server-url.mjs.map +1 -0
  307. package/dist/esm/babel-plugins/inline-one-server-url.native.js +22 -0
  308. package/dist/esm/babel-plugins/inline-one-server-url.native.js.map +1 -0
  309. package/dist/esm/cli/build.js +86 -27
  310. package/dist/esm/cli/build.js.map +1 -1
  311. package/dist/esm/cli/build.mjs +87 -28
  312. package/dist/esm/cli/build.mjs.map +1 -1
  313. package/dist/esm/cli/build.native.js +104 -34
  314. package/dist/esm/cli/build.native.js.map +1 -1
  315. package/dist/esm/cli/buildPage.js +20 -13
  316. package/dist/esm/cli/buildPage.js.map +1 -1
  317. package/dist/esm/cli/buildPage.mjs +24 -12
  318. package/dist/esm/cli/buildPage.mjs.map +1 -1
  319. package/dist/esm/cli/buildPage.native.js +29 -18
  320. package/dist/esm/cli/buildPage.native.js.map +1 -1
  321. package/dist/esm/cli/buildPageWorker.js +11 -12
  322. package/dist/esm/cli/buildPageWorker.js.map +1 -1
  323. package/dist/esm/cli/buildPageWorker.mjs +9 -15
  324. package/dist/esm/cli/buildPageWorker.mjs.map +1 -1
  325. package/dist/esm/cli/buildPageWorker.native.js +5 -16
  326. package/dist/esm/cli/buildPageWorker.native.js.map +1 -1
  327. package/dist/esm/cli/patch.js +3 -3
  328. package/dist/esm/cli/patch.js.map +1 -1
  329. package/dist/esm/cli/patch.mjs +3 -3
  330. package/dist/esm/cli/patch.mjs.map +1 -1
  331. package/dist/esm/cli/patch.native.js +3 -3
  332. package/dist/esm/cli/patch.native.js.map +1 -1
  333. package/dist/esm/cli/securityScan.js +119 -0
  334. package/dist/esm/cli/securityScan.js.map +6 -0
  335. package/dist/esm/cli/securityScan.mjs +99 -0
  336. package/dist/esm/cli/securityScan.mjs.map +1 -0
  337. package/dist/esm/cli/securityScan.native.js +178 -0
  338. package/dist/esm/cli/securityScan.native.js.map +1 -0
  339. package/dist/esm/cli/workerPool.js +3 -3
  340. package/dist/esm/cli/workerPool.js.map +1 -1
  341. package/dist/esm/cli/workerPool.mjs +4 -3
  342. package/dist/esm/cli/workerPool.mjs.map +1 -1
  343. package/dist/esm/cli/workerPool.native.js +4 -3
  344. package/dist/esm/cli/workerPool.native.js.map +1 -1
  345. package/dist/esm/cli.js +12 -2
  346. package/dist/esm/cli.js.map +1 -1
  347. package/dist/esm/cli.mjs +13 -2
  348. package/dist/esm/cli.mjs.map +1 -1
  349. package/dist/esm/cli.native.js +13 -2
  350. package/dist/esm/cli.native.js.map +1 -1
  351. package/dist/esm/createApp.js +97 -25
  352. package/dist/esm/createApp.js.map +1 -1
  353. package/dist/esm/createApp.mjs +130 -64
  354. package/dist/esm/createApp.mjs.map +1 -1
  355. package/dist/esm/createHandleRequest.js +29 -18
  356. package/dist/esm/createHandleRequest.js.map +1 -1
  357. package/dist/esm/createHandleRequest.mjs +58 -35
  358. package/dist/esm/createHandleRequest.mjs.map +1 -1
  359. package/dist/esm/createHandleRequest.native.js +66 -41
  360. package/dist/esm/createHandleRequest.native.js.map +1 -1
  361. package/dist/esm/daemon/tui.js.map +1 -1
  362. package/dist/esm/daemon/tui.mjs.map +1 -1
  363. package/dist/esm/fork/NavigationContainer.js +12 -3
  364. package/dist/esm/fork/NavigationContainer.js.map +1 -1
  365. package/dist/esm/fork/NavigationContainer.mjs +26 -3
  366. package/dist/esm/fork/NavigationContainer.mjs.map +1 -1
  367. package/dist/esm/fork/NavigationContainer.native.js +24 -1
  368. package/dist/esm/fork/NavigationContainer.native.js.map +1 -1
  369. package/dist/esm/fork/SSRNavigationContainer.js +55 -0
  370. package/dist/esm/fork/SSRNavigationContainer.js.map +6 -0
  371. package/dist/esm/fork/SSRNavigationContainer.mjs +82 -0
  372. package/dist/esm/fork/SSRNavigationContainer.mjs.map +1 -0
  373. package/dist/esm/fork/SSRNavigationContainer.native.js +93 -0
  374. package/dist/esm/fork/SSRNavigationContainer.native.js.map +1 -0
  375. package/dist/esm/fork/getPathFromState.js +5 -5
  376. package/dist/esm/fork/getPathFromState.js.map +1 -1
  377. package/dist/esm/fork/getPathFromState.mjs +10 -5
  378. package/dist/esm/fork/getPathFromState.mjs.map +1 -1
  379. package/dist/esm/fork/getPathFromState.native.js +11 -6
  380. package/dist/esm/fork/getPathFromState.native.js.map +1 -1
  381. package/dist/esm/fork/getStateFromPath-mods.js +1 -1
  382. package/dist/esm/fork/getStateFromPath-mods.js.map +1 -1
  383. package/dist/esm/fork/getStateFromPath-mods.mjs +1 -1
  384. package/dist/esm/fork/getStateFromPath-mods.mjs.map +1 -1
  385. package/dist/esm/fork/getStateFromPath-mods.native.js +1 -1
  386. package/dist/esm/fork/getStateFromPath-mods.native.js.map +1 -1
  387. package/dist/esm/fork/navigationThemes.js +38 -0
  388. package/dist/esm/fork/navigationThemes.js.map +6 -0
  389. package/dist/esm/fork/navigationThemes.mjs +60 -0
  390. package/dist/esm/fork/navigationThemes.mjs.map +1 -0
  391. package/dist/esm/fork/navigationThemes.native.js +60 -0
  392. package/dist/esm/fork/navigationThemes.native.js.map +1 -0
  393. package/dist/esm/fork/useLinking.js +10 -1
  394. package/dist/esm/fork/useLinking.js.map +1 -1
  395. package/dist/esm/fork/useLinking.mjs +11 -1
  396. package/dist/esm/fork/useLinking.mjs.map +1 -1
  397. package/dist/esm/fork/useLinking.native.js +1 -1
  398. package/dist/esm/fork/useLinking.native.js.map +1 -1
  399. package/dist/esm/getReactNavigationConfig.js +2 -2
  400. package/dist/esm/getReactNavigationConfig.js.map +1 -1
  401. package/dist/esm/getReactNavigationConfig.mjs +3 -1
  402. package/dist/esm/getReactNavigationConfig.mjs.map +1 -1
  403. package/dist/esm/getReactNavigationConfig.native.js +3 -1
  404. package/dist/esm/getReactNavigationConfig.native.js.map +1 -1
  405. package/dist/esm/index.js +2 -0
  406. package/dist/esm/index.js.map +1 -1
  407. package/dist/esm/index.mjs +2 -1
  408. package/dist/esm/index.mjs.map +1 -1
  409. package/dist/esm/index.native.js +2 -1
  410. package/dist/esm/index.native.js.map +1 -1
  411. package/dist/esm/layouts/stack-utils/StackScreen.js +27 -1
  412. package/dist/esm/layouts/stack-utils/StackScreen.js.map +1 -1
  413. package/dist/esm/layouts/stack-utils/StackScreen.mjs +14 -1
  414. package/dist/esm/layouts/stack-utils/StackScreen.mjs.map +1 -1
  415. package/dist/esm/layouts/stack-utils/StackScreen.native.js +17 -1
  416. package/dist/esm/layouts/stack-utils/StackScreen.native.js.map +1 -1
  417. package/dist/esm/layouts/stack-utils/index.js +4 -2
  418. package/dist/esm/layouts/stack-utils/index.js.map +1 -1
  419. package/dist/esm/layouts/stack-utils/index.mjs +2 -2
  420. package/dist/esm/layouts/stack-utils/index.mjs.map +1 -1
  421. package/dist/esm/layouts/stack-utils/index.native.js +2 -2
  422. package/dist/esm/layouts/stack-utils/index.native.js.map +1 -1
  423. package/dist/esm/metro-config/getViteMetroPluginOptions.js +3 -1
  424. package/dist/esm/metro-config/getViteMetroPluginOptions.js.map +1 -1
  425. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +3 -1
  426. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
  427. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +3 -1
  428. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  429. package/dist/esm/reactNavigationImports.js +21 -0
  430. package/dist/esm/reactNavigationImports.js.map +6 -0
  431. package/dist/esm/reactNavigationImports.mjs +3 -0
  432. package/dist/esm/reactNavigationImports.mjs.map +1 -0
  433. package/dist/esm/reactNavigationImports.native.js +3 -0
  434. package/dist/esm/reactNavigationImports.native.js.map +1 -0
  435. package/dist/esm/reactNavigationImports.server.js +32 -0
  436. package/dist/esm/reactNavigationImports.server.js.map +6 -0
  437. package/dist/esm/reactNavigationImports.server.mjs +20 -0
  438. package/dist/esm/reactNavigationImports.server.mjs.map +1 -0
  439. package/dist/esm/reactNavigationImports.server.native.js +22 -0
  440. package/dist/esm/reactNavigationImports.server.native.js.map +1 -0
  441. package/dist/esm/router/findRouteNode.js +4 -4
  442. package/dist/esm/router/findRouteNode.js.map +1 -1
  443. package/dist/esm/router/findRouteNode.mjs +4 -4
  444. package/dist/esm/router/findRouteNode.mjs.map +1 -1
  445. package/dist/esm/router/findRouteNode.native.js +4 -4
  446. package/dist/esm/router/findRouteNode.native.js.map +1 -1
  447. package/dist/esm/router/isIndexPath.js +2 -0
  448. package/dist/esm/router/isIndexPath.js.map +1 -1
  449. package/dist/esm/router/isIndexPath.mjs +1 -0
  450. package/dist/esm/router/isIndexPath.mjs.map +1 -1
  451. package/dist/esm/router/isIndexPath.native.js +3 -2
  452. package/dist/esm/router/isIndexPath.native.js.map +1 -1
  453. package/dist/esm/router/linkingConfig.js +18 -2
  454. package/dist/esm/router/linkingConfig.js.map +1 -1
  455. package/dist/esm/router/linkingConfig.mjs +18 -3
  456. package/dist/esm/router/linkingConfig.mjs.map +1 -1
  457. package/dist/esm/router/linkingConfig.native.js +20 -3
  458. package/dist/esm/router/linkingConfig.native.js.map +1 -1
  459. package/dist/esm/router/router.js +23 -20
  460. package/dist/esm/router/router.js.map +2 -2
  461. package/dist/esm/router/router.mjs +30 -25
  462. package/dist/esm/router/router.mjs.map +1 -1
  463. package/dist/esm/router/router.native.js +21 -15
  464. package/dist/esm/router/router.native.js.map +1 -1
  465. package/dist/esm/router/useInitializeOneRouter.js +21 -7
  466. package/dist/esm/router/useInitializeOneRouter.js.map +1 -1
  467. package/dist/esm/router/useInitializeOneRouter.mjs +23 -8
  468. package/dist/esm/router/useInitializeOneRouter.mjs.map +1 -1
  469. package/dist/esm/router/useInitializeOneRouter.native.js +23 -8
  470. package/dist/esm/router/useInitializeOneRouter.native.js.map +1 -1
  471. package/dist/esm/router/useScreens.js +47 -21
  472. package/dist/esm/router/useScreens.js.map +1 -1
  473. package/dist/esm/router/useScreens.mjs +30 -11
  474. package/dist/esm/router/useScreens.mjs.map +1 -1
  475. package/dist/esm/router/useScreens.native.js +25 -10
  476. package/dist/esm/router/useScreens.native.js.map +1 -1
  477. package/dist/esm/screensFeatureFlags.js +15 -0
  478. package/dist/esm/screensFeatureFlags.js.map +6 -0
  479. package/dist/esm/screensFeatureFlags.mjs +14 -0
  480. package/dist/esm/screensFeatureFlags.mjs.map +1 -0
  481. package/dist/esm/screensFeatureFlags.native.js +14 -0
  482. package/dist/esm/screensFeatureFlags.native.js.map +1 -0
  483. package/dist/esm/serve.js +26 -3
  484. package/dist/esm/serve.js.map +1 -1
  485. package/dist/esm/serve.mjs +27 -3
  486. package/dist/esm/serve.mjs.map +1 -1
  487. package/dist/esm/serve.native.js +36 -4
  488. package/dist/esm/serve.native.js.map +1 -1
  489. package/dist/esm/server/ServerContextScript.js +12 -6
  490. package/dist/esm/server/ServerContextScript.js.map +1 -1
  491. package/dist/esm/server/ServerContextScript.mjs +14 -5
  492. package/dist/esm/server/ServerContextScript.mjs.map +1 -1
  493. package/dist/esm/server/ServerContextScript.native.js +18 -6
  494. package/dist/esm/server/ServerContextScript.native.js.map +1 -1
  495. package/dist/esm/server/oneServe.js +105 -29
  496. package/dist/esm/server/oneServe.js.map +1 -1
  497. package/dist/esm/server/oneServe.mjs +279 -182
  498. package/dist/esm/server/oneServe.mjs.map +1 -1
  499. package/dist/esm/server/oneServe.native.js +334 -215
  500. package/dist/esm/server/oneServe.native.js.map +1 -1
  501. package/dist/esm/server/ssrLoaderData.js +9 -0
  502. package/dist/esm/server/ssrLoaderData.js.map +6 -0
  503. package/dist/esm/server/ssrLoaderData.mjs +6 -0
  504. package/dist/esm/server/ssrLoaderData.mjs.map +1 -0
  505. package/dist/esm/server/ssrLoaderData.native.js +6 -0
  506. package/dist/esm/server/ssrLoaderData.native.js.map +1 -0
  507. package/dist/esm/server-render.js +11 -15
  508. package/dist/esm/server-render.js.map +1 -1
  509. package/dist/esm/server-render.mjs +21 -22
  510. package/dist/esm/server-render.mjs.map +1 -1
  511. package/dist/esm/server-render.native.js +17 -38
  512. package/dist/esm/server-render.native.js.map +1 -1
  513. package/dist/esm/ui/Slot.js +4 -0
  514. package/dist/esm/ui/Slot.js.map +1 -1
  515. package/dist/esm/ui/Slot.mjs +1 -0
  516. package/dist/esm/ui/Slot.mjs.map +1 -1
  517. package/dist/esm/ui/Slot.native.js +1 -0
  518. package/dist/esm/ui/Slot.native.js.map +1 -1
  519. package/dist/esm/ui/TabRouter.js +18 -2
  520. package/dist/esm/ui/TabRouter.js.map +1 -1
  521. package/dist/esm/ui/TabRouter.mjs +32 -19
  522. package/dist/esm/ui/TabRouter.mjs.map +1 -1
  523. package/dist/esm/ui/TabRouter.native.js +13 -0
  524. package/dist/esm/ui/TabRouter.native.js.map +1 -1
  525. package/dist/esm/ui/TabTrigger.js +1 -1
  526. package/dist/esm/ui/TabTrigger.js.map +1 -1
  527. package/dist/esm/ui/TabTrigger.mjs +2 -2
  528. package/dist/esm/ui/TabTrigger.mjs.map +1 -1
  529. package/dist/esm/ui/TabTrigger.native.js +2 -2
  530. package/dist/esm/ui/TabTrigger.native.js.map +1 -1
  531. package/dist/esm/useLoader.js +37 -8
  532. package/dist/esm/useLoader.js.map +1 -1
  533. package/dist/esm/useLoader.mjs +38 -9
  534. package/dist/esm/useLoader.mjs.map +1 -1
  535. package/dist/esm/useLoader.native.js +47 -11
  536. package/dist/esm/useLoader.native.js.map +1 -1
  537. package/dist/esm/utils/isRolldown.js +4 -10
  538. package/dist/esm/utils/isRolldown.js.map +1 -1
  539. package/dist/esm/utils/isRolldown.mjs +4 -9
  540. package/dist/esm/utils/isRolldown.mjs.map +1 -1
  541. package/dist/esm/utils/isRolldown.native.js +4 -10
  542. package/dist/esm/utils/isRolldown.native.js.map +1 -1
  543. package/dist/esm/utils/removeParams.js +24 -0
  544. package/dist/esm/utils/removeParams.js.map +6 -0
  545. package/dist/esm/utils/removeParams.mjs +29 -0
  546. package/dist/esm/utils/removeParams.mjs.map +1 -0
  547. package/dist/esm/utils/removeParams.native.js +45 -0
  548. package/dist/esm/utils/removeParams.native.js.map +1 -0
  549. package/dist/esm/vercel/build/buildVercelOutputDirectory.js +7 -5
  550. package/dist/esm/vercel/build/buildVercelOutputDirectory.js.map +1 -1
  551. package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs +7 -5
  552. package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs.map +1 -1
  553. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js +7 -4
  554. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
  555. package/dist/esm/vercel/build/generate/createApiServerlessFunction.js +2 -2
  556. package/dist/esm/vercel/build/generate/createApiServerlessFunction.js.map +1 -1
  557. package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs +2 -2
  558. package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs.map +1 -1
  559. package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js +2 -1
  560. package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
  561. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js +2 -2
  562. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js.map +1 -1
  563. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs +3 -2
  564. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs.map +1 -1
  565. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js +3 -2
  566. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
  567. package/dist/esm/views/Navigator.js +2 -0
  568. package/dist/esm/views/Navigator.js.map +1 -1
  569. package/dist/esm/views/Navigator.mjs +1 -0
  570. package/dist/esm/views/Navigator.mjs.map +1 -1
  571. package/dist/esm/views/Navigator.native.js +1 -0
  572. package/dist/esm/views/Navigator.native.js.map +1 -1
  573. package/dist/esm/vite/one-server-only.js +3 -3
  574. package/dist/esm/vite/one-server-only.js.map +1 -1
  575. package/dist/esm/vite/one-server-only.mjs +6 -3
  576. package/dist/esm/vite/one-server-only.mjs.map +1 -1
  577. package/dist/esm/vite/one-server-only.native.js +4 -1
  578. package/dist/esm/vite/one-server-only.native.js.map +1 -1
  579. package/dist/esm/vite/one.js +94 -24
  580. package/dist/esm/vite/one.js.map +1 -1
  581. package/dist/esm/vite/one.mjs +75 -29
  582. package/dist/esm/vite/one.mjs.map +1 -1
  583. package/dist/esm/vite/one.native.js +143 -34
  584. package/dist/esm/vite/one.native.js.map +1 -1
  585. package/dist/esm/vite/plugins/SSRCSSPlugin.js.map +1 -1
  586. package/dist/esm/vite/plugins/SSRCSSPlugin.mjs.map +1 -1
  587. package/dist/esm/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  588. package/dist/esm/vite/plugins/criticalCSSPlugin.js +36 -0
  589. package/dist/esm/vite/plugins/criticalCSSPlugin.js.map +6 -0
  590. package/dist/esm/vite/plugins/criticalCSSPlugin.mjs +34 -0
  591. package/dist/esm/vite/plugins/criticalCSSPlugin.mjs.map +1 -0
  592. package/dist/esm/vite/plugins/criticalCSSPlugin.native.js +50 -0
  593. package/dist/esm/vite/plugins/criticalCSSPlugin.native.js.map +1 -0
  594. package/dist/esm/vite/plugins/criticalCSSPlugin.test.js +107 -0
  595. package/dist/esm/vite/plugins/criticalCSSPlugin.test.js.map +6 -0
  596. package/dist/esm/vite/plugins/criticalCSSPlugin.test.mjs +139 -0
  597. package/dist/esm/vite/plugins/criticalCSSPlugin.test.mjs.map +1 -0
  598. package/dist/esm/vite/plugins/criticalCSSPlugin.test.native.js +141 -0
  599. package/dist/esm/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -0
  600. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +2 -2
  601. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  602. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +2 -2
  603. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  604. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +2 -2
  605. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  606. package/dist/esm/vite/plugins/fixDependenciesPlugin.js +3 -9
  607. package/dist/esm/vite/plugins/fixDependenciesPlugin.js.map +1 -1
  608. package/dist/esm/vite/plugins/fixDependenciesPlugin.mjs +3 -9
  609. package/dist/esm/vite/plugins/fixDependenciesPlugin.mjs.map +1 -1
  610. package/dist/esm/vite/plugins/fixDependenciesPlugin.native.js +3 -9
  611. package/dist/esm/vite/plugins/fixDependenciesPlugin.native.js.map +1 -1
  612. package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.js +8 -11
  613. package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.js.map +1 -1
  614. package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.mjs +6 -14
  615. package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.mjs.map +1 -1
  616. package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js +6 -18
  617. package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js.map +1 -1
  618. package/dist/esm/vite/plugins/sourceInspectorPlugin.js +12 -7
  619. package/dist/esm/vite/plugins/sourceInspectorPlugin.js.map +1 -1
  620. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs +11 -6
  621. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs.map +1 -1
  622. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js +12 -7
  623. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
  624. package/dist/esm/vite/plugins/warmRoutesPlugin.js +80 -0
  625. package/dist/esm/vite/plugins/warmRoutesPlugin.js.map +6 -0
  626. package/dist/esm/vite/plugins/warmRoutesPlugin.mjs +74 -0
  627. package/dist/esm/vite/plugins/warmRoutesPlugin.mjs.map +1 -0
  628. package/dist/esm/vite/plugins/warmRoutesPlugin.native.js +107 -0
  629. package/dist/esm/vite/plugins/warmRoutesPlugin.native.js.map +1 -0
  630. package/dist/esm/vite/replaceLoader.js +1 -1
  631. package/dist/esm/vite/replaceLoader.js.map +1 -1
  632. package/dist/esm/vite/replaceLoader.mjs +1 -1
  633. package/dist/esm/vite/replaceLoader.mjs.map +1 -1
  634. package/dist/esm/vite/replaceLoader.native.js +1 -1
  635. package/dist/esm/vite/replaceLoader.native.js.map +1 -1
  636. package/dist/esm/vite/resolveResponse.js +23 -7
  637. package/dist/esm/vite/resolveResponse.js.map +1 -1
  638. package/dist/esm/vite/resolveResponse.mjs +21 -9
  639. package/dist/esm/vite/resolveResponse.mjs.map +1 -1
  640. package/dist/esm/vite/resolveResponse.native.js +21 -9
  641. package/dist/esm/vite/resolveResponse.native.js.map +1 -1
  642. package/dist/esm/vite-auto-warm.js +5 -0
  643. package/dist/esm/vite-auto-warm.js.map +6 -0
  644. package/dist/esm/vite-auto-warm.mjs +3 -0
  645. package/dist/esm/vite-auto-warm.mjs.map +1 -0
  646. package/dist/esm/vite-auto-warm.native.js +3 -0
  647. package/dist/esm/vite-auto-warm.native.js.map +1 -0
  648. package/dist/esm/vite.js +2 -0
  649. package/dist/esm/vite.js.map +1 -1
  650. package/dist/esm/vite.mjs +2 -1
  651. package/dist/esm/vite.mjs.map +1 -1
  652. package/dist/esm/vite.native.js +2 -1
  653. package/dist/esm/vite.native.js.map +1 -1
  654. package/package.json +44 -35
  655. package/src/Root.tsx +17 -13
  656. package/src/babel-plugins/inline-one-server-url.ts +26 -0
  657. package/src/cli/build.ts +130 -28
  658. package/src/cli/buildPage.ts +46 -20
  659. package/src/cli/buildPageWorker.ts +6 -18
  660. package/src/cli/patch.ts +3 -3
  661. package/src/cli/securityScan.ts +189 -0
  662. package/src/cli/workerPool.ts +5 -5
  663. package/src/cli.ts +11 -0
  664. package/src/createApp.tsx +165 -56
  665. package/src/createHandleRequest.ts +75 -18
  666. package/src/daemon/tui.ts +3 -3
  667. package/src/fork/NavigationContainer.tsx +38 -16
  668. package/src/fork/SSRNavigationContainer.tsx +94 -0
  669. package/src/fork/getPathFromState.ts +15 -5
  670. package/src/fork/getStateFromPath-mods.ts +1 -1
  671. package/src/fork/useLinking.native.ts +15 -13
  672. package/src/fork/useLinking.ts +22 -1
  673. package/src/getReactNavigationConfig.ts +3 -0
  674. package/src/index.ts +1 -0
  675. package/src/interfaces/router.ts +2 -3
  676. package/src/layouts/stack-utils/StackScreen.tsx +47 -0
  677. package/src/layouts/stack-utils/index.tsx +1 -0
  678. package/src/metro-config/getViteMetroPluginOptions.ts +2 -0
  679. package/src/router/findRouteNode.ts +4 -4
  680. package/src/router/isIndexPath.ts +4 -0
  681. package/src/router/linkingConfig.ts +53 -2
  682. package/src/router/router.ts +71 -45
  683. package/src/router/useInitializeOneRouter.ts +47 -15
  684. package/src/router/useScreens.tsx +56 -20
  685. package/src/screensFeatureFlags.ts +23 -0
  686. package/src/serve.ts +65 -5
  687. package/src/server/ServerContextScript.tsx +15 -8
  688. package/src/server/oneServe.ts +184 -47
  689. package/src/server/ssrLoaderData.ts +8 -0
  690. package/src/server-render.tsx +25 -28
  691. package/src/ui/Slot.tsx +7 -0
  692. package/src/ui/TabRouter.tsx +18 -0
  693. package/src/ui/TabTrigger.tsx +3 -0
  694. package/src/useLoader.ts +69 -11
  695. package/src/utils/isRolldown.ts +4 -14
  696. package/src/utils/removeParams.ts +40 -0
  697. package/src/vercel/build/buildVercelOutputDirectory.ts +12 -7
  698. package/src/vercel/build/generate/createApiServerlessFunction.ts +3 -2
  699. package/src/vercel/build/generate/createSsrServerlessFunction.ts +3 -2
  700. package/src/views/Navigator.tsx +4 -0
  701. package/src/vite/one-server-only.native.ts +3 -0
  702. package/src/vite/one-server-only.tsx +13 -5
  703. package/src/vite/one.ts +134 -28
  704. package/src/vite/plugins/SSRCSSPlugin.ts +2 -2
  705. package/src/vite/plugins/criticalCSSPlugin.test.ts +166 -0
  706. package/src/vite/plugins/criticalCSSPlugin.ts +74 -0
  707. package/src/vite/plugins/fileSystemRouterPlugin.tsx +3 -2
  708. package/src/vite/plugins/fixDependenciesPlugin.ts +7 -19
  709. package/src/vite/plugins/removeReactNativeWebAnimatedPlugin.ts +10 -17
  710. package/src/vite/plugins/sourceInspectorPlugin.ts +28 -23
  711. package/src/vite/plugins/warmRoutesPlugin.ts +156 -0
  712. package/src/vite/replaceLoader.ts +2 -1
  713. package/src/vite/resolveResponse.ts +25 -9
  714. package/src/vite/types.ts +54 -10
  715. package/src/vite-auto-warm.ts +1 -0
  716. package/src/vite.ts +1 -0
  717. package/types/Root.d.ts.map +1 -1
  718. package/types/babel-plugins/inline-one-server-url.d.ts +10 -0
  719. package/types/babel-plugins/inline-one-server-url.d.ts.map +1 -0
  720. package/types/cli/build.d.ts.map +1 -1
  721. package/types/cli/buildPage.d.ts +1 -1
  722. package/types/cli/buildPage.d.ts.map +1 -1
  723. package/types/cli/securityScan.d.ts +16 -0
  724. package/types/cli/securityScan.d.ts.map +1 -0
  725. package/types/cli/workerPool.d.ts +2 -1
  726. package/types/cli/workerPool.d.ts.map +1 -1
  727. package/types/createApp.d.ts +2 -1
  728. package/types/createApp.d.ts.map +1 -1
  729. package/types/createHandleRequest.d.ts +2 -1
  730. package/types/createHandleRequest.d.ts.map +1 -1
  731. package/types/fork/NavigationContainer.d.ts.map +1 -1
  732. package/types/fork/SSRNavigationContainer.d.ts +16 -0
  733. package/types/fork/SSRNavigationContainer.d.ts.map +1 -0
  734. package/types/fork/getPathFromState.d.ts.map +1 -1
  735. package/types/fork/navigationThemes.d.ts.map +1 -0
  736. package/types/fork/useLinking.d.ts.map +1 -1
  737. package/types/fork/useLinking.native.d.ts.map +1 -1
  738. package/types/getReactNavigationConfig.d.ts.map +1 -1
  739. package/types/index.d.ts +1 -0
  740. package/types/index.d.ts.map +1 -1
  741. package/types/interfaces/router.d.ts +2 -1
  742. package/types/interfaces/router.d.ts.map +1 -1
  743. package/types/layouts/Stack.d.ts +15 -11
  744. package/types/layouts/Stack.d.ts.map +1 -1
  745. package/types/layouts/Tabs.d.ts +15 -11
  746. package/types/layouts/Tabs.d.ts.map +1 -1
  747. package/types/layouts/stack-utils/StackScreen.d.ts +2 -0
  748. package/types/layouts/stack-utils/StackScreen.d.ts.map +1 -1
  749. package/types/layouts/stack-utils/index.d.ts +1 -1
  750. package/types/layouts/stack-utils/index.d.ts.map +1 -1
  751. package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -1
  752. package/types/reactNavigationImports.d.ts.map +1 -0
  753. package/types/reactNavigationImports.server.d.ts.map +1 -0
  754. package/types/router/isIndexPath.d.ts.map +1 -1
  755. package/types/router/linkingConfig.d.ts +10 -0
  756. package/types/router/linkingConfig.d.ts.map +1 -1
  757. package/types/router/router.d.ts +8 -3
  758. package/types/router/router.d.ts.map +1 -1
  759. package/types/router/useInitializeOneRouter.d.ts +1 -0
  760. package/types/router/useInitializeOneRouter.d.ts.map +1 -1
  761. package/types/router/useScreens.d.ts.map +1 -1
  762. package/types/screensFeatureFlags.d.ts +2 -0
  763. package/types/screensFeatureFlags.d.ts.map +1 -0
  764. package/types/serve.d.ts +2 -0
  765. package/types/serve.d.ts.map +1 -1
  766. package/types/server/ServerContextScript.d.ts.map +1 -1
  767. package/types/server/oneServe.d.ts.map +1 -1
  768. package/types/server/ssrLoaderData.d.ts +3 -0
  769. package/types/server/ssrLoaderData.d.ts.map +1 -0
  770. package/types/server-render.d.ts +10 -7
  771. package/types/server-render.d.ts.map +1 -1
  772. package/types/ui/Slot.d.ts.map +1 -1
  773. package/types/ui/TabRouter.d.ts.map +1 -1
  774. package/types/ui/TabTrigger.d.ts.map +1 -1
  775. package/types/useLoader.d.ts +1 -0
  776. package/types/useLoader.d.ts.map +1 -1
  777. package/types/utils/isRolldown.d.ts +1 -1
  778. package/types/utils/isRolldown.d.ts.map +1 -1
  779. package/types/utils/removeParams.d.ts +8 -0
  780. package/types/utils/removeParams.d.ts.map +1 -0
  781. package/types/vercel/build/buildVercelOutputDirectory.d.ts +2 -2
  782. package/types/vercel/build/buildVercelOutputDirectory.d.ts.map +1 -1
  783. package/types/vercel/build/generate/createApiServerlessFunction.d.ts +1 -1
  784. package/types/vercel/build/generate/createApiServerlessFunction.d.ts.map +1 -1
  785. package/types/vercel/build/generate/createSsrServerlessFunction.d.ts.map +1 -1
  786. package/types/views/Navigator.d.ts.map +1 -1
  787. package/types/vite/one-server-only.d.ts.map +1 -1
  788. package/types/vite/one-server-only.native.d.ts +3 -0
  789. package/types/vite/one-server-only.native.d.ts.map +1 -1
  790. package/types/vite/one.d.ts.map +1 -1
  791. package/types/vite/plugins/criticalCSSPlugin.d.ts +12 -0
  792. package/types/vite/plugins/criticalCSSPlugin.d.ts.map +1 -0
  793. package/types/vite/plugins/criticalCSSPlugin.test.d.ts +2 -0
  794. package/types/vite/plugins/criticalCSSPlugin.test.d.ts.map +1 -0
  795. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
  796. package/types/vite/plugins/fixDependenciesPlugin.d.ts.map +1 -1
  797. package/types/vite/plugins/removeReactNativeWebAnimatedPlugin.d.ts.map +1 -1
  798. package/types/vite/plugins/sourceInspectorPlugin.d.ts.map +1 -1
  799. package/types/vite/plugins/warmRoutesPlugin.d.ts +17 -0
  800. package/types/vite/plugins/warmRoutesPlugin.d.ts.map +1 -0
  801. package/types/vite/replaceLoader.d.ts.map +1 -1
  802. package/types/vite/resolveResponse.d.ts +2 -2
  803. package/types/vite/resolveResponse.d.ts.map +1 -1
  804. package/types/vite/types.d.ts +51 -10
  805. package/types/vite/types.d.ts.map +1 -1
  806. package/types/vite-auto-warm.d.ts +2 -0
  807. package/types/vite-auto-warm.d.ts.map +1 -0
  808. package/types/vite.d.ts +1 -0
  809. package/types/vite.d.ts.map +1 -1
  810. package/vendor/react-dom/package.json +1 -1
  811. package/dist/cjs/cli/easPrebuild.cjs +0 -117
  812. package/dist/cjs/cli/easPrebuild.js +0 -94
  813. package/dist/cjs/cli/easPrebuild.js.map +0 -6
  814. package/dist/cjs/cli/easPrebuild.native.js +0 -135
  815. package/dist/cjs/cli/easPrebuild.native.js.map +0 -1
  816. package/dist/esm/cli/easPrebuild.js +0 -73
  817. package/dist/esm/cli/easPrebuild.js.map +0 -6
  818. package/dist/esm/cli/easPrebuild.mjs +0 -83
  819. package/dist/esm/cli/easPrebuild.mjs.map +0 -1
  820. package/dist/esm/cli/easPrebuild.native.js +0 -98
  821. package/dist/esm/cli/easPrebuild.native.js.map +0 -1
  822. package/types/cli/easPrebuild.d.ts.map +0 -1
  823. package/types/cli/findClientManifestEntry.d.ts.map +0 -1
  824. package/types/cli/findClientManifestEntry.test.d.ts.map +0 -1
  825. package/types/env.d.ts.map +0 -1
  826. package/types/router/routeMask.d.ts.map +0 -1
  827. package/types/server/PreloadScripts.d.ts.map +0 -1
  828. /package/types/vercel/build/generate/{createSSRServerlessFunction.d.ts → createSsrServerlessFunction.d.ts} +0 -0
@@ -0,0 +1,40 @@
1
+ import type { NavigationState, PartialState } from '@react-navigation/native'
2
+
3
+ type AnyState = NavigationState | PartialState<NavigationState>
4
+
5
+ /**
6
+ * removes specified params from all routes at every nesting level of a navigation state
7
+ */
8
+ export function removeParams<T extends AnyState>(state: T, paramNames: string[]): T {
9
+ if (!state?.routes) return state
10
+
11
+ return {
12
+ ...state,
13
+ routes: state.routes.map((route) => {
14
+ let newRoute = route
15
+
16
+ if (route.params) {
17
+ const filtered = { ...route.params }
18
+ let changed = false
19
+ for (const name of paramNames) {
20
+ if (name in filtered) {
21
+ delete (filtered as Record<string, unknown>)[name]
22
+ changed = true
23
+ }
24
+ }
25
+ if (changed) {
26
+ newRoute = { ...newRoute, params: filtered }
27
+ }
28
+ }
29
+
30
+ if (route.state) {
31
+ const newState = removeParams(route.state as AnyState, paramNames)
32
+ if (newState !== route.state) {
33
+ newRoute = { ...newRoute, state: newState as any }
34
+ }
35
+ }
36
+
37
+ return newRoute
38
+ }),
39
+ } as T
40
+ }
@@ -1,7 +1,7 @@
1
1
  import { join, resolve } from 'node:path'
2
2
 
3
3
  import FSExtra from 'fs-extra'
4
- import type { RollupOutput } from 'rollup'
4
+ import type { RolldownOutput } from 'rolldown'
5
5
  import { isMatching, P } from 'ts-pattern'
6
6
  import type { One } from '../../vite/types'
7
7
  import { vercelBuildOutputConfigBase } from './config/vc-build-output-config-base'
@@ -22,13 +22,15 @@ async function moveAllFiles(src: string, dest: string) {
22
22
  }
23
23
 
24
24
  function getMiddlewaresByNamedRegex(buildInfoForWriting: One.BuildInfo) {
25
+ const outDir = buildInfoForWriting.outDir || 'dist'
26
+ const prefix = `${outDir}/middlewares/`
25
27
  return buildInfoForWriting.manifest.allRoutes
26
28
  .filter((r) => r.middlewares && r.middlewares.length > 0)
27
29
  .map((r) => [
28
30
  r.namedRegex,
29
31
  r.middlewares!.map((m) =>
30
- m.contextKey.startsWith('dist/middlewares/')
31
- ? m.contextKey.substring('dist/middlewares/'.length)
32
+ m.contextKey.startsWith(prefix)
33
+ ? m.contextKey.substring(prefix.length)
32
34
  : m.contextKey
33
35
  ),
34
36
  ])
@@ -42,12 +44,14 @@ export const buildVercelOutputDirectory = async ({
42
44
  oneOptionsRoot,
43
45
  postBuildLogs,
44
46
  }: {
45
- apiOutput: RollupOutput | null
47
+ apiOutput: RolldownOutput | null
46
48
  buildInfoForWriting: One.BuildInfo
47
49
  clientDir: string
48
50
  oneOptionsRoot: string
49
51
  postBuildLogs: string[]
50
52
  }) => {
53
+ const outDir = buildInfoForWriting.outDir || 'dist'
54
+
51
55
  // clean the vercel output directory to avoid stale files from previous builds
52
56
  const vercelOutputDir = resolve(join(oneOptionsRoot, '.vercel/output'))
53
57
  if (existsSync(vercelOutputDir)) {
@@ -73,7 +77,8 @@ export const buildVercelOutputDirectory = async ({
73
77
  route,
74
78
  compiledRoute.code,
75
79
  oneOptionsRoot,
76
- postBuildLogs
80
+ postBuildLogs,
81
+ outDir
77
82
  )
78
83
  } else {
79
84
  console.warn(
@@ -112,7 +117,7 @@ export const buildVercelOutputDirectory = async ({
112
117
  }
113
118
  }
114
119
 
115
- const distMiddlewareDir = resolve(join(oneOptionsRoot, 'dist', 'middlewares'))
120
+ const distMiddlewareDir = resolve(join(oneOptionsRoot, outDir, 'middlewares'))
116
121
  if (existsSync(distMiddlewareDir)) {
117
122
  const vercelMiddlewareDir = resolve(
118
123
  join(oneOptionsRoot, '.vercel/output/functions/_middleware.func')
@@ -122,7 +127,7 @@ export const buildVercelOutputDirectory = async ({
122
127
  `[one.build][vercel] copying middlewares from ${distMiddlewareDir} to ${vercelMiddlewareDir}`
123
128
  )
124
129
  await moveAllFiles(
125
- resolve(join(oneOptionsRoot, 'dist', 'middlewares')),
130
+ resolve(join(oneOptionsRoot, outDir, 'middlewares')),
126
131
  vercelMiddlewareDir
127
132
  )
128
133
  const vercelMiddlewarePackageJsonFilePath = resolve(
@@ -18,7 +18,8 @@ export async function createApiServerlessFunction(
18
18
  route: RouteInfo<string>,
19
19
  code: string,
20
20
  oneOptionsRoot: string,
21
- postBuildLogs: string[]
21
+ postBuildLogs: string[],
22
+ outDir = 'dist'
22
23
  ) {
23
24
  try {
24
25
  const path = getPathFromRoute(route, { includeIndex: true })
@@ -45,7 +46,7 @@ export async function createApiServerlessFunction(
45
46
  postBuildLogs.push(
46
47
  `[one.build][vercel.createSsrServerlessFunction] copy shared assets to ${distAssetsFolder}`
47
48
  )
48
- const sourceAssetsFolder = resolve(join(oneOptionsRoot, 'dist', 'api', 'assets'))
49
+ const sourceAssetsFolder = resolve(join(oneOptionsRoot, outDir, 'api', 'assets'))
49
50
  if (await FSExtra.pathExists(sourceAssetsFolder)) {
50
51
  await fs.copy(sourceAssetsFolder, distAssetsFolder)
51
52
  }
@@ -23,7 +23,8 @@ export async function createSsrServerlessFunction(
23
23
  )
24
24
  await fs.ensureDir(funcFolder)
25
25
 
26
- const distServerFrom = resolve(join(oneOptionsRoot, 'dist', 'server'))
26
+ const outDir = buildInfo.outDir || 'dist'
27
+ const distServerFrom = resolve(join(oneOptionsRoot, outDir, 'server'))
27
28
  const distServerTo = resolve(join(funcFolder, 'server'))
28
29
  await fs.ensureDir(distServerTo)
29
30
  postBuildLogs.push(
@@ -118,7 +119,7 @@ export async function createSsrServerlessFunction(
118
119
  route = buildInfoConfig.default.routeToBuildInfo[routeName];
119
120
  }
120
121
 
121
- const exported = await import(route.serverJsPath.replace('dist/','../'))
122
+ const exported = await import(route.serverJsPath.replace('${outDir}/','../'))
122
123
  const loaderData = await exported.loader?.(loaderProps)
123
124
 
124
125
  // For loader requests, return the loader data as a JavaScript module
@@ -240,6 +240,10 @@ export function useSlot() {
240
240
  return null
241
241
  }
242
242
 
243
+ if (!state.routes) {
244
+ return null
245
+ }
246
+
243
247
  const current = state.routes[state.index]
244
248
 
245
249
  if (!current) {
@@ -2,7 +2,10 @@ export const requestAsyncLocalStore = null
2
2
  export const asyncHeadersCache = new WeakMap()
3
3
  export async function setResponseHeaders(cb) {}
4
4
  export function mergeHeaders(onto, from) {}
5
+ export function ensureAsyncLocalID() {}
6
+ export async function runWithAsyncLocalContext(cb) {}
5
7
  export function setServerContext() {}
6
8
  export function setServerData() {}
9
+ export function getServerContext() {}
7
10
  export function useServerContext() {}
8
11
  export function getServerData() {}
@@ -47,8 +47,12 @@ export async function runWithAsyncLocalContext<A>(
47
47
 
48
48
  export async function setResponseHeaders(cb: (headers: Headers) => void) {
49
49
  const id = ensureAsyncLocalID()
50
- const headers = asyncHeadersCache.get(id) ?? new Headers()
51
- asyncHeadersCache.set(id, headers)
50
+ // read from globalThis to work in bundled middleware where module-level
51
+ // vars may be lazily initialized by the bundler (rolldown __esmMin)
52
+ const cache: WeakMap<any, Headers> =
53
+ globalThis['__vxrnasyncHeadersCache'] ?? asyncHeadersCache
54
+ const headers = cache.get(id) ?? new Headers()
55
+ cache.set(id, headers)
52
56
  cb(headers)
53
57
  }
54
58
 
@@ -76,9 +80,13 @@ export function ensureAsyncLocalID() {
76
80
  // since Vercel ultimately deploys to AWS Lambda, which does not have this issue
77
81
  // The Error you willl see is something like this:
78
82
  // Error: Internal One error, no AsyncLocalStorage id! at ensureAsyncLocalID (file:///var/task/server/_virtual_one-entry.js:37411:64)
79
- const id = process.env.VERCEL
80
- ? globalThis[GLOBAL_ID_KEY]
81
- : requestAsyncLocalStore?.getStore()
83
+
84
+ // read from globalThis to work in bundled middleware where module-level
85
+ // vars may be lazily initialized by the bundler (rolldown __esmMin)
86
+ const globalIdKey = GLOBAL_ID_KEY || '__oneGlobalContextId'
87
+ const store = requestAsyncLocalStore ?? globalThis['__vxrnrequestAsyncLocalStore']
88
+
89
+ const id = process.env.VERCEL ? globalThis[globalIdKey] : store?.getStore()
82
90
 
83
91
  if (!id) {
84
92
  throw new Error(`Internal One error, no AsyncLocalStorage id!`)
package/src/vite/one.ts CHANGED
@@ -6,9 +6,9 @@ import {
6
6
  getPlatformEnvDefine,
7
7
  } from '@vxrn/vite-plugin-metro'
8
8
  import events from 'node:events'
9
+ import { existsSync, readFileSync } from 'node:fs'
9
10
  import path from 'node:path'
10
11
  import { type Plugin, type PluginOption } from 'vite'
11
- import tsconfigPaths from 'vite-tsconfig-paths'
12
12
  import { autoDepOptimizePlugin, getOptionsFilled, loadEnv } from 'vxrn'
13
13
  import vxrnVitePlugin from 'vxrn/vite-plugin'
14
14
  import { CACHE_KEY } from '../constants'
@@ -22,6 +22,7 @@ import { createDevtoolsPlugin } from './plugins/devtoolsPlugin'
22
22
  import { createFileSystemRouterPlugin } from './plugins/fileSystemRouterPlugin'
23
23
  import { fixDependenciesPlugin } from './plugins/fixDependenciesPlugin'
24
24
  import { generateFileSystemRouteTypesPlugin } from './plugins/generateFileSystemRouteTypesPlugin'
25
+ import { criticalCSSPlugin } from './plugins/criticalCSSPlugin'
25
26
  import { imageDataPlugin } from './plugins/imageDataPlugin'
26
27
  import { sourceInspectorPlugin } from './plugins/sourceInspectorPlugin'
27
28
  import { SSRCSSPlugin } from './plugins/SSRCSSPlugin'
@@ -169,6 +170,8 @@ export function one(options: One.PluginOptions = {}): PluginOption {
169
170
 
170
171
  environmentGuardPlugin(options.environmentGuards),
171
172
 
173
+ criticalCSSPlugin(),
174
+
172
175
  imageDataPlugin(),
173
176
 
174
177
  {
@@ -217,36 +220,131 @@ export function one(options: One.PluginOptions = {}): PluginOption {
217
220
  ? []
218
221
  : [
219
222
  (() => {
220
- const pathsConfig = options.config?.tsConfigPaths
221
- const skipDotDirs = (dir: string) => {
222
- const name = dir.split('/').pop() || ''
223
- return name.startsWith('.')
223
+ // vite 8's native resolve.tsconfigPaths works for client but fetchModule
224
+ // hardcodes tsconfigPaths: false for SSR, so we also resolve via resolveId
225
+ type PathMapping = { prefix: string; replacement: string; wildcard: boolean }
226
+ let mappings: PathMapping[] = []
227
+
228
+ function loadMappings(resolvedRoot: string) {
229
+ try {
230
+ const configPath = path.resolve(resolvedRoot, 'tsconfig.json')
231
+ if (!existsSync(configPath)) return
232
+ const raw = readFileSync(configPath, 'utf-8')
233
+ // strip single-line and multi-line comments for JSON.parse
234
+ const stripped = raw.replace(
235
+ /\\"|"(?:\\"|[^"])*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g,
236
+ (m, g) => (g ? '' : m)
237
+ )
238
+ const config = JSON.parse(stripped)
239
+ const paths = config?.compilerOptions?.paths
240
+ const baseUrl = config?.compilerOptions?.baseUrl || '.'
241
+ if (!paths) return
242
+ for (const [pattern, targets] of Object.entries(
243
+ paths as Record<string, string[]>
244
+ )) {
245
+ const target = targets[0]
246
+ if (!target) continue
247
+ if (pattern.endsWith('/*')) {
248
+ const resolved = path.resolve(
249
+ resolvedRoot,
250
+ baseUrl,
251
+ target.slice(0, -1)
252
+ )
253
+ mappings.push({
254
+ prefix: pattern.slice(0, -1),
255
+ replacement: resolved.endsWith('/') ? resolved : resolved + '/',
256
+ wildcard: true,
257
+ })
258
+ } else {
259
+ mappings.push({
260
+ prefix: pattern,
261
+ replacement: path.resolve(resolvedRoot, baseUrl, target),
262
+ wildcard: false,
263
+ })
264
+ }
265
+ }
266
+ } catch {}
224
267
  }
225
268
 
226
- const tsPathsPlugin = tsconfigPaths({
227
- projectDiscovery: 'eager',
228
- ignoreConfigErrors: true,
229
- skip: skipDotDirs,
230
- ...(pathsConfig && typeof pathsConfig === 'object' ? pathsConfig : {}),
231
- })
232
-
233
269
  return {
234
- ...tsPathsPlugin,
235
- // let vite aliases (e.g. react-native → react-native-web) resolve first
236
- enforce: undefined,
237
- // parallel viteBuild() calls share this plugin, so the second
238
- // build's buildStart can fire before configResolved initializes
239
- // tsconfigResolvers swallow the error since buildStart only
240
- // resets caches which isn't needed for parallel builds
241
- buildStart() {
242
- try {
243
- return tsPathsPlugin.buildStart?.call(this)
244
- } catch {}
270
+ name: 'one:tsconfig-paths',
271
+ enforce: 'pre',
272
+
273
+ config() {
274
+ return {
275
+ resolve: { tsconfigPaths: true },
276
+ }
245
277
  },
246
- }
278
+
279
+ configResolved(config) {
280
+ if (mappings.length === 0) {
281
+ loadMappings(config.root)
282
+ }
283
+ },
284
+
285
+ resolveId(source: string) {
286
+ const jsExts = [
287
+ '.ts',
288
+ '.tsx',
289
+ '.js',
290
+ '.jsx',
291
+ '.mts',
292
+ '.mjs',
293
+ '.cjs',
294
+ '.cts',
295
+ ]
296
+ for (const m of mappings) {
297
+ let candidate: string | undefined
298
+ if (m.wildcard) {
299
+ if (source.startsWith(m.prefix)) {
300
+ candidate = m.replacement + source.slice(m.prefix.length)
301
+ }
302
+ } else if (source === m.prefix) {
303
+ candidate = m.replacement
304
+ }
305
+ if (!candidate) continue
306
+ // already has a js/ts extension
307
+ if (jsExts.includes(path.extname(candidate))) return candidate
308
+ // try appending extensions
309
+ for (const e of jsExts) {
310
+ if (existsSync(candidate + e)) return candidate + e
311
+ }
312
+ // try /index
313
+ for (const e of jsExts) {
314
+ if (existsSync(candidate + '/index' + e))
315
+ return candidate + '/index' + e
316
+ }
317
+ return candidate
318
+ }
319
+ },
320
+ } satisfies Plugin
247
321
  })(),
248
322
  ]),
249
323
 
324
+ {
325
+ // rolldown fails on deep react-native/Libraries/* imports during dep pre-bundling.
326
+ // these are native-only paths that don't exist in react-native-web.
327
+ name: 'one:redirect-rn-deep-imports',
328
+ enforce: 'pre',
329
+
330
+ resolveId(source) {
331
+ if (this.environment?.name === 'client' || this.environment?.name === 'ssr') {
332
+ if (
333
+ source.startsWith('react-native/Libraries/') ||
334
+ /react-native-web(-lite)?\/.*\/Libraries\//.test(source)
335
+ ) {
336
+ return '\0rn-empty-module'
337
+ }
338
+ }
339
+ },
340
+
341
+ load(id) {
342
+ if (id === '\0rn-empty-module') {
343
+ return 'export default {}; export {};'
344
+ }
345
+ },
346
+ } satisfies Plugin,
347
+
250
348
  {
251
349
  name: 'one-aliases',
252
350
  enforce: 'pre',
@@ -520,9 +618,19 @@ export function one(options: One.PluginOptions = {}): PluginOption {
520
618
  options.router?.experimental?.preventLayoutRemounting,
521
619
  }
522
620
 
621
+ // source inspector must come before clientTreeShakePlugin so line numbers
622
+ // are computed from original source (tree-shaking removes loader code, shifting lines)
623
+ const inspectorPlugins = (() => {
624
+ const devtools = options.devtools ?? true
625
+ const inspector =
626
+ devtools === true || (devtools !== false && (devtools.inspector ?? true))
627
+ return inspector ? sourceInspectorPlugin() : []
628
+ })()
629
+
523
630
  return [
524
631
  ...vxrnPlugins,
525
632
  ...devAndProdPlugins,
633
+ ...inspectorPlugins,
526
634
  ...nativeWebDevAndProdPlugsin,
527
635
 
528
636
  /**
@@ -532,7 +640,7 @@ export function one(options: One.PluginOptions = {}): PluginOption {
532
640
 
533
641
  generateFileSystemRouteTypesPlugin(options),
534
642
 
535
- fixDependenciesPlugin(options.deps),
643
+ fixDependenciesPlugin(options.patches),
536
644
 
537
645
  createVirtualEntry({
538
646
  ...options,
@@ -565,13 +673,11 @@ export function one(options: One.PluginOptions = {}): PluginOption {
565
673
  ...(() => {
566
674
  const devtools = options.devtools ?? true
567
675
  const includeUI = devtools !== false
568
- const inspector =
569
- devtools === true || (devtools !== false && (devtools.inspector ?? true))
570
676
  return [
571
677
  // always include devtools plugin for refresh preamble (required for HMR)
572
678
  createDevtoolsPlugin({ includeUI }),
573
- ...(inspector ? sourceInspectorPlugin() : []),
574
679
  ]
575
680
  })(),
576
681
  ]
577
682
  }
683
+ // vite 8
@@ -118,7 +118,7 @@ export async function collectStyle(server: ViteDevServer, entries: string[]) {
118
118
  filename: 'code.css',
119
119
  code: codeOut,
120
120
  ...server.config.css.lightningcss,
121
- }).code.toString()
121
+ } as any).code.toString()
122
122
 
123
123
  return [prefix, processed]
124
124
  } catch (err) {
@@ -138,7 +138,7 @@ export async function collectStyle(server: ViteDevServer, entries: string[]) {
138
138
  filename: 'code.css',
139
139
  code: codeOut,
140
140
  ...server.config.css.lightningcss,
141
- }).code.toString()
141
+ } as any).code.toString()
142
142
  } catch (err) {
143
143
  console.error(` [one] Error post-processing merged CSS, leaving un-processed`)
144
144
  }
@@ -0,0 +1,166 @@
1
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
2
+
3
+ describe('criticalCSSPlugin', () => {
4
+ beforeEach(() => {
5
+ vi.resetModules()
6
+ })
7
+
8
+ afterEach(() => {
9
+ vi.clearAllMocks()
10
+ })
11
+
12
+ describe('resolveId', () => {
13
+ it('should return null for non-inline CSS imports', async () => {
14
+ const { criticalCSSPlugin } = await import('./criticalCSSPlugin')
15
+ const plugin = criticalCSSPlugin()
16
+
17
+ ;(plugin.configResolved as any)({ root: '/project' })
18
+
19
+ const result = await (plugin.resolveId as any).call(
20
+ { resolve: vi.fn() },
21
+ './styles.css',
22
+ '/project/src/App.tsx'
23
+ )
24
+ expect(result).toBeNull()
25
+ })
26
+
27
+ it('should return null for non-css imports', async () => {
28
+ const { criticalCSSPlugin } = await import('./criticalCSSPlugin')
29
+ const plugin = criticalCSSPlugin()
30
+
31
+ ;(plugin.configResolved as any)({ root: '/project' })
32
+
33
+ const result = await (plugin.resolveId as any).call(
34
+ { resolve: vi.fn() },
35
+ './data.json',
36
+ '/project/src/App.tsx'
37
+ )
38
+ expect(result).toBeNull()
39
+ })
40
+
41
+ it('should resolve .inline.css and track it', async () => {
42
+ const { criticalCSSPlugin } = await import('./criticalCSSPlugin')
43
+ const plugin = criticalCSSPlugin()
44
+
45
+ ;(plugin.configResolved as any)({ root: '/project' })
46
+
47
+ const mockResolve = vi.fn().mockResolvedValue({
48
+ id: '/project/src/styles.inline.css',
49
+ })
50
+
51
+ const result = await (plugin.resolveId as any).call(
52
+ { resolve: mockResolve },
53
+ './styles.inline.css',
54
+ '/project/src/App.tsx'
55
+ )
56
+
57
+ expect(mockResolve).toHaveBeenCalledWith(
58
+ './styles.inline.css',
59
+ '/project/src/App.tsx',
60
+ { skipSelf: true }
61
+ )
62
+
63
+ expect(result).toEqual({ id: '/project/src/styles.inline.css' })
64
+ })
65
+
66
+ it('should track inline CSS source paths', async () => {
67
+ const { criticalCSSPlugin, getCriticalCSSSources } =
68
+ await import('./criticalCSSPlugin')
69
+ const plugin = criticalCSSPlugin()
70
+
71
+ ;(plugin.configResolved as any)({ root: '/project' })
72
+
73
+ const mockResolve = vi.fn().mockResolvedValue({
74
+ id: '/project/src/layout.inline.css',
75
+ })
76
+
77
+ await (plugin.resolveId as any).call(
78
+ { resolve: mockResolve },
79
+ './layout.inline.css',
80
+ '/project/src/App.tsx'
81
+ )
82
+
83
+ const sources = getCriticalCSSSources()
84
+ expect(sources.has('src/layout.inline.css')).toBe(true)
85
+ })
86
+
87
+ it('should return null when resolve fails', async () => {
88
+ const { criticalCSSPlugin } = await import('./criticalCSSPlugin')
89
+ const plugin = criticalCSSPlugin()
90
+
91
+ ;(plugin.configResolved as any)({ root: '/project' })
92
+
93
+ const mockResolve = vi.fn().mockResolvedValue(null)
94
+
95
+ const result = await (plugin.resolveId as any).call(
96
+ { resolve: mockResolve },
97
+ './nonexistent.inline.css',
98
+ '/project/src/App.tsx'
99
+ )
100
+
101
+ expect(result).toBeNull()
102
+ })
103
+ })
104
+
105
+ describe('getCriticalCSSOutputPaths', () => {
106
+ it('should map inline CSS source to output paths via manifest', async () => {
107
+ const { criticalCSSPlugin, getCriticalCSSSources, getCriticalCSSOutputPaths } =
108
+ await import('./criticalCSSPlugin')
109
+ const plugin = criticalCSSPlugin()
110
+
111
+ ;(plugin.configResolved as any)({ root: '/project' })
112
+
113
+ const mockResolve = vi.fn().mockResolvedValue({
114
+ id: '/project/app/layout.inline.css',
115
+ })
116
+ await (plugin.resolveId as any).call(
117
+ { resolve: mockResolve },
118
+ './layout.inline.css',
119
+ '/project/app/_layout.tsx'
120
+ )
121
+
122
+ const manifest = {
123
+ 'app/layout.inline.css': {
124
+ file: 'assets/layout-abc123.css',
125
+ src: 'app/layout.inline.css',
126
+ },
127
+ 'app/_layout.tsx': {
128
+ file: 'assets/layout-def456.js',
129
+ css: ['assets/layout-abc123.css'],
130
+ imports: [],
131
+ name: '_layout',
132
+ },
133
+ }
134
+
135
+ const outputPaths = getCriticalCSSOutputPaths(manifest as any)
136
+ expect(outputPaths.has('/assets/layout-abc123.css')).toBe(true)
137
+ })
138
+
139
+ it('should return empty set when no inline CSS exists', async () => {
140
+ const { getCriticalCSSOutputPaths } = await import('./criticalCSSPlugin')
141
+
142
+ const manifest = {
143
+ 'app/styles.css': {
144
+ file: 'assets/styles-abc.css',
145
+ },
146
+ }
147
+
148
+ const outputPaths = getCriticalCSSOutputPaths(manifest as any)
149
+ expect(outputPaths).toBeDefined()
150
+ })
151
+ })
152
+
153
+ describe('plugin metadata', () => {
154
+ it('should have correct name', async () => {
155
+ const { criticalCSSPlugin } = await import('./criticalCSSPlugin')
156
+ const plugin = criticalCSSPlugin()
157
+ expect(plugin.name).toBe('one:critical-css')
158
+ })
159
+
160
+ it('should enforce pre', async () => {
161
+ const { criticalCSSPlugin } = await import('./criticalCSSPlugin')
162
+ const plugin = criticalCSSPlugin()
163
+ expect(plugin.enforce).toBe('pre')
164
+ })
165
+ })
166
+ })