one 1.2.57 → 1.2.59

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 (612) hide show
  1. package/dist/cjs/cli/build.cjs +3 -1
  2. package/dist/cjs/cli/build.js +1 -1
  3. package/dist/cjs/cli/build.js.map +1 -1
  4. package/dist/cjs/cli/build.native.js +13 -12
  5. package/dist/cjs/cli/build.native.js.map +1 -1
  6. package/dist/cjs/cli/buildPage.cjs +1 -1
  7. package/dist/cjs/cli/buildPage.js +1 -1
  8. package/dist/cjs/cli/buildPage.native.js +2 -2
  9. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  10. package/dist/cjs/cli/dev.cjs +4 -4
  11. package/dist/cjs/cli/dev.js +4 -4
  12. package/dist/cjs/cli/dev.js.map +1 -1
  13. package/dist/cjs/cli/dev.native.js +4 -4
  14. package/dist/cjs/cli/dev.native.js.map +1 -1
  15. package/dist/cjs/cli/generateRoutes.cjs +1 -1
  16. package/dist/cjs/cli/generateRoutes.js +1 -1
  17. package/dist/cjs/cli/generateRoutes.native.js +1 -1
  18. package/dist/cjs/cli/generateRoutes.native.js.map +1 -1
  19. package/dist/cjs/cli/generateSitemap.native.js +7 -7
  20. package/dist/cjs/cli/generateSitemap.native.js.map +1 -1
  21. package/dist/cjs/config.native.js +2 -2
  22. package/dist/cjs/config.native.js.map +1 -1
  23. package/dist/cjs/constants.native.js +1 -1
  24. package/dist/cjs/constants.native.js.map +1 -1
  25. package/dist/cjs/createApp.cjs +2 -1
  26. package/dist/cjs/createApp.js +2 -2
  27. package/dist/cjs/createApp.js.map +1 -1
  28. package/dist/cjs/createHandleRequest.test.js +3 -1
  29. package/dist/cjs/createHandleRequest.test.js.map +1 -1
  30. package/dist/cjs/createHandleRequest.test.native.js.map +1 -1
  31. package/dist/cjs/devtools/registry.cjs +30 -0
  32. package/dist/cjs/devtools/registry.js +25 -0
  33. package/dist/cjs/devtools/registry.js.map +6 -0
  34. package/dist/cjs/devtools/registry.native.js +33 -0
  35. package/dist/cjs/devtools/registry.native.js.map +1 -0
  36. package/dist/cjs/fork/NavigationContainer.native.js +5 -5
  37. package/dist/cjs/fork/NavigationContainer.native.js.map +1 -1
  38. package/dist/cjs/fork/createMemoryHistory.cjs +20 -9
  39. package/dist/cjs/fork/createMemoryHistory.js +22 -4
  40. package/dist/cjs/fork/createMemoryHistory.js.map +1 -1
  41. package/dist/cjs/fork/createMemoryHistory.native.js +22 -11
  42. package/dist/cjs/fork/createMemoryHistory.native.js.map +1 -1
  43. package/dist/cjs/fork/extractPathFromURL.native.js +8 -8
  44. package/dist/cjs/fork/extractPathFromURL.native.js.map +1 -1
  45. package/dist/cjs/fork/findFocusedRoute.native.js +2 -3
  46. package/dist/cjs/fork/findFocusedRoute.native.js.map +1 -1
  47. package/dist/cjs/fork/getPathFromState-mods.native.js +2 -3
  48. package/dist/cjs/fork/getPathFromState-mods.native.js.map +1 -1
  49. package/dist/cjs/fork/getStateFromPath-mods.native.js +3 -3
  50. package/dist/cjs/fork/getStateFromPath-mods.native.js.map +1 -1
  51. package/dist/cjs/fork/useLinking.cjs +11 -5
  52. package/dist/cjs/fork/useLinking.js +6 -6
  53. package/dist/cjs/fork/useLinking.js.map +1 -1
  54. package/dist/cjs/fork/useLinking.native.js.map +1 -1
  55. package/dist/cjs/head/url.native.js +2 -3
  56. package/dist/cjs/head/url.native.js.map +1 -1
  57. package/dist/cjs/hooks.js.map +1 -1
  58. package/dist/cjs/hooks.native.js.map +1 -1
  59. package/dist/cjs/index.cjs +17 -1
  60. package/dist/cjs/index.js +12 -2
  61. package/dist/cjs/index.js.map +1 -1
  62. package/dist/cjs/index.native.js +17 -1
  63. package/dist/cjs/index.native.js.map +1 -1
  64. package/dist/cjs/layouts/withLayoutContext.cjs +34 -15
  65. package/dist/cjs/layouts/withLayoutContext.js +29 -13
  66. package/dist/cjs/layouts/withLayoutContext.js.map +1 -1
  67. package/dist/cjs/layouts/withLayoutContext.native.js +42 -19
  68. package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
  69. package/dist/cjs/link/Link.cjs +5 -2
  70. package/dist/cjs/link/Link.js +3 -2
  71. package/dist/cjs/link/Link.js.map +1 -1
  72. package/dist/cjs/link/Link.native.js +6 -1
  73. package/dist/cjs/link/Link.native.js.map +1 -1
  74. package/dist/cjs/link/href.native.js +2 -2
  75. package/dist/cjs/link/href.native.js.map +1 -1
  76. package/dist/cjs/link/useLinkTo.cjs +11 -3
  77. package/dist/cjs/link/useLinkTo.js +6 -3
  78. package/dist/cjs/link/useLinkTo.js.map +1 -1
  79. package/dist/cjs/link/useLinkTo.native.js +11 -3
  80. package/dist/cjs/link/useLinkTo.native.js.map +1 -1
  81. package/dist/cjs/router/Route.js.map +1 -1
  82. package/dist/cjs/router/Route.native.js.map +1 -1
  83. package/dist/cjs/router/findRouteNode.cjs +70 -0
  84. package/dist/cjs/router/findRouteNode.js +72 -0
  85. package/dist/cjs/router/findRouteNode.js.map +6 -0
  86. package/dist/cjs/router/findRouteNode.native.js +104 -0
  87. package/dist/cjs/router/findRouteNode.native.js.map +1 -0
  88. package/dist/cjs/router/getRoutes.native.js +3 -3
  89. package/dist/cjs/router/getRoutes.native.js.map +1 -1
  90. package/dist/cjs/router/router.cjs +160 -11
  91. package/dist/cjs/router/router.js +142 -7
  92. package/dist/cjs/router/router.js.map +2 -2
  93. package/dist/cjs/router/router.native.js +247 -67
  94. package/dist/cjs/router/router.native.js.map +1 -1
  95. package/dist/cjs/router/useNavigation.js.map +1 -1
  96. package/dist/cjs/router/useNavigation.native.js.map +1 -1
  97. package/dist/cjs/router/useScreens.cjs +1 -1
  98. package/dist/cjs/router/useScreens.js +1 -1
  99. package/dist/cjs/router/useScreens.js.map +1 -1
  100. package/dist/cjs/router/useScreens.native.js +6 -3
  101. package/dist/cjs/router/useScreens.native.js.map +1 -1
  102. package/dist/cjs/router/utils/getNavigateAction.native.js +2 -4
  103. package/dist/cjs/router/utils/getNavigateAction.native.js.map +1 -1
  104. package/dist/cjs/server/oneServe.js.map +1 -1
  105. package/dist/cjs/server/oneServe.native.js +4 -4
  106. package/dist/cjs/server/oneServe.native.js.map +1 -1
  107. package/dist/cjs/server/setupBuildOptions.native.js +1 -1
  108. package/dist/cjs/server/setupBuildOptions.native.js.map +1 -1
  109. package/dist/cjs/ui/common.native.js +6 -5
  110. package/dist/cjs/ui/common.native.js.map +1 -1
  111. package/dist/cjs/useBlocker.cjs +158 -0
  112. package/dist/cjs/useBlocker.js +145 -0
  113. package/dist/cjs/useBlocker.js.map +6 -0
  114. package/dist/cjs/useBlocker.native.js +89 -0
  115. package/dist/cjs/useBlocker.native.js.map +1 -0
  116. package/dist/cjs/useFocusEffect.cjs +2 -2
  117. package/dist/cjs/useFocusEffect.js +2 -2
  118. package/dist/cjs/useFocusEffect.js.map +1 -1
  119. package/dist/cjs/useFocusEffect.native.js +2 -2
  120. package/dist/cjs/useFocusEffect.native.js.map +1 -1
  121. package/dist/cjs/useLoader.cjs +69 -3
  122. package/dist/cjs/useLoader.js +57 -4
  123. package/dist/cjs/useLoader.js.map +2 -2
  124. package/dist/cjs/useLoader.native.js +90 -6
  125. package/dist/cjs/useLoader.native.js.map +1 -1
  126. package/dist/cjs/useScrollGroup.cjs +37 -0
  127. package/dist/cjs/useScrollGroup.js +30 -0
  128. package/dist/cjs/useScrollGroup.js.map +6 -0
  129. package/dist/cjs/useScrollGroup.native.js +29 -0
  130. package/dist/cjs/useScrollGroup.native.js.map +1 -0
  131. package/dist/cjs/validateParams.cjs +80 -0
  132. package/dist/cjs/validateParams.js +84 -0
  133. package/dist/cjs/validateParams.js.map +6 -0
  134. package/dist/cjs/validateParams.native.js +180 -0
  135. package/dist/cjs/validateParams.native.js.map +1 -0
  136. package/dist/cjs/validateSearch.cjs +104 -0
  137. package/dist/cjs/validateSearch.js +99 -0
  138. package/dist/cjs/validateSearch.js.map +6 -0
  139. package/dist/cjs/validateSearch.native.js +202 -0
  140. package/dist/cjs/validateSearch.native.js.map +1 -0
  141. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js +2 -2
  142. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
  143. package/dist/cjs/views/ErrorBoundary.cjs +293 -10
  144. package/dist/cjs/views/ErrorBoundary.js +328 -8
  145. package/dist/cjs/views/ErrorBoundary.js.map +2 -2
  146. package/dist/cjs/views/ErrorBoundary.native.js +159 -4
  147. package/dist/cjs/views/ErrorBoundary.native.js.map +1 -1
  148. package/dist/cjs/views/Navigator.cjs +10 -3
  149. package/dist/cjs/views/Navigator.js +11 -3
  150. package/dist/cjs/views/Navigator.js.map +1 -1
  151. package/dist/cjs/views/Navigator.native.js +15 -6
  152. package/dist/cjs/views/Navigator.native.js.map +1 -1
  153. package/dist/cjs/views/Protected.cjs +36 -0
  154. package/dist/cjs/views/Protected.js +27 -0
  155. package/dist/cjs/views/Protected.js.map +6 -0
  156. package/dist/cjs/views/Protected.native.js +44 -0
  157. package/dist/cjs/views/Protected.native.js.map +1 -0
  158. package/dist/cjs/views/RootErrorBoundary.cjs +193 -8
  159. package/dist/cjs/views/RootErrorBoundary.js +213 -8
  160. package/dist/cjs/views/RootErrorBoundary.js.map +1 -1
  161. package/dist/cjs/views/RootErrorBoundary.native.js +192 -8
  162. package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
  163. package/dist/cjs/views/ScrollBehavior.cjs +49 -11
  164. package/dist/cjs/views/ScrollBehavior.js +47 -11
  165. package/dist/cjs/views/ScrollBehavior.js.map +1 -1
  166. package/dist/cjs/views/ScrollBehavior.native.js +68 -10
  167. package/dist/cjs/views/ScrollBehavior.native.js.map +1 -1
  168. package/dist/cjs/views/SourceInspector.cjs +28 -0
  169. package/dist/cjs/views/SourceInspector.js +23 -0
  170. package/dist/cjs/views/SourceInspector.js.map +6 -0
  171. package/dist/cjs/views/SourceInspector.native.js +32 -0
  172. package/dist/cjs/views/SourceInspector.native.js.map +1 -0
  173. package/dist/cjs/views/Try.cjs +40 -7
  174. package/dist/cjs/views/Try.js +38 -4
  175. package/dist/cjs/views/Try.js.map +1 -1
  176. package/dist/cjs/views/Try.native.js +42 -7
  177. package/dist/cjs/views/Try.native.js.map +1 -1
  178. package/dist/cjs/vite/DevHead.cjs +797 -43
  179. package/dist/cjs/vite/DevHead.js +802 -51
  180. package/dist/cjs/vite/DevHead.js.map +1 -1
  181. package/dist/cjs/vite/DevHead.native.js +783 -1
  182. package/dist/cjs/vite/DevHead.native.js.map +1 -1
  183. package/dist/cjs/vite/one.cjs +7 -1
  184. package/dist/cjs/vite/one.js +7 -2
  185. package/dist/cjs/vite/one.js.map +1 -1
  186. package/dist/cjs/vite/one.native.js +17 -7
  187. package/dist/cjs/vite/one.native.js.map +1 -1
  188. package/dist/cjs/vite/plugins/SSRCSSPlugin.cjs +44 -4
  189. package/dist/cjs/vite/plugins/SSRCSSPlugin.js +48 -4
  190. package/dist/cjs/vite/plugins/SSRCSSPlugin.js.map +1 -1
  191. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js +62 -5
  192. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  193. package/dist/cjs/vite/plugins/clientTreeShakePlugin.cjs +34 -15
  194. package/dist/cjs/vite/plugins/clientTreeShakePlugin.js +24 -3
  195. package/dist/cjs/vite/plugins/clientTreeShakePlugin.js.map +1 -1
  196. package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js +55 -19
  197. package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
  198. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.cjs +129 -0
  199. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.js +129 -0
  200. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.js.map +6 -0
  201. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js +140 -0
  202. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -0
  203. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +6 -3
  204. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  205. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +3 -3
  206. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  207. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.cjs +5 -1
  208. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js +11 -6
  209. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
  210. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +1 -0
  211. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  212. package/dist/cjs/vite/plugins/sourceInspectorPlugin.cjs +155 -0
  213. package/dist/cjs/vite/plugins/sourceInspectorPlugin.js +148 -0
  214. package/dist/cjs/vite/plugins/sourceInspectorPlugin.js.map +6 -0
  215. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js +231 -0
  216. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -0
  217. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +25 -6
  218. package/dist/cjs/vite/plugins/virtualEntryPlugin.js +16 -6
  219. package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
  220. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +26 -7
  221. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  222. package/dist/esm/cli/build.js +1 -1
  223. package/dist/esm/cli/build.js.map +1 -1
  224. package/dist/esm/cli/build.mjs +3 -1
  225. package/dist/esm/cli/build.mjs.map +1 -1
  226. package/dist/esm/cli/build.native.js +13 -12
  227. package/dist/esm/cli/build.native.js.map +1 -1
  228. package/dist/esm/cli/buildPage.js +1 -1
  229. package/dist/esm/cli/buildPage.mjs +1 -1
  230. package/dist/esm/cli/buildPage.mjs.map +1 -1
  231. package/dist/esm/cli/buildPage.native.js +2 -2
  232. package/dist/esm/cli/buildPage.native.js.map +1 -1
  233. package/dist/esm/cli/dev.js +4 -4
  234. package/dist/esm/cli/dev.js.map +1 -1
  235. package/dist/esm/cli/dev.mjs +4 -4
  236. package/dist/esm/cli/dev.mjs.map +1 -1
  237. package/dist/esm/cli/dev.native.js +4 -4
  238. package/dist/esm/cli/dev.native.js.map +1 -1
  239. package/dist/esm/cli/generateRoutes.js +1 -1
  240. package/dist/esm/cli/generateRoutes.mjs +1 -1
  241. package/dist/esm/cli/generateRoutes.mjs.map +1 -1
  242. package/dist/esm/cli/generateRoutes.native.js +1 -1
  243. package/dist/esm/cli/generateRoutes.native.js.map +1 -1
  244. package/dist/esm/cli/generateSitemap.native.js +7 -7
  245. package/dist/esm/cli/generateSitemap.native.js.map +1 -1
  246. package/dist/esm/config.native.js +2 -2
  247. package/dist/esm/config.native.js.map +1 -1
  248. package/dist/esm/constants.native.js +2 -2
  249. package/dist/esm/constants.native.js.map +1 -1
  250. package/dist/esm/createApp.js +2 -2
  251. package/dist/esm/createApp.js.map +1 -1
  252. package/dist/esm/createApp.mjs +2 -1
  253. package/dist/esm/createApp.mjs.map +1 -1
  254. package/dist/esm/createHandleRequest.test.js +3 -1
  255. package/dist/esm/createHandleRequest.test.js.map +1 -1
  256. package/dist/esm/createHandleRequest.test.mjs.map +1 -1
  257. package/dist/esm/createHandleRequest.test.native.js.map +1 -1
  258. package/dist/esm/devtools/registry.js +9 -0
  259. package/dist/esm/devtools/registry.js.map +6 -0
  260. package/dist/esm/devtools/registry.mjs +6 -0
  261. package/dist/esm/devtools/registry.mjs.map +1 -0
  262. package/dist/esm/devtools/registry.native.js +6 -0
  263. package/dist/esm/devtools/registry.native.js.map +1 -0
  264. package/dist/esm/fork/NavigationContainer.native.js +5 -5
  265. package/dist/esm/fork/NavigationContainer.native.js.map +1 -1
  266. package/dist/esm/fork/createMemoryHistory.js +22 -4
  267. package/dist/esm/fork/createMemoryHistory.js.map +1 -1
  268. package/dist/esm/fork/createMemoryHistory.mjs +20 -9
  269. package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
  270. package/dist/esm/fork/createMemoryHistory.native.js +22 -11
  271. package/dist/esm/fork/createMemoryHistory.native.js.map +1 -1
  272. package/dist/esm/fork/extractPathFromURL.native.js +8 -8
  273. package/dist/esm/fork/extractPathFromURL.native.js.map +1 -1
  274. package/dist/esm/fork/findFocusedRoute.native.js +2 -3
  275. package/dist/esm/fork/findFocusedRoute.native.js.map +1 -1
  276. package/dist/esm/fork/getPathFromState-mods.native.js +2 -3
  277. package/dist/esm/fork/getPathFromState-mods.native.js.map +1 -1
  278. package/dist/esm/fork/getStateFromPath-mods.native.js +3 -3
  279. package/dist/esm/fork/getStateFromPath-mods.native.js.map +1 -1
  280. package/dist/esm/fork/useLinking.js +6 -5
  281. package/dist/esm/fork/useLinking.js.map +1 -1
  282. package/dist/esm/fork/useLinking.mjs +11 -5
  283. package/dist/esm/fork/useLinking.mjs.map +1 -1
  284. package/dist/esm/fork/useLinking.native.js.map +1 -1
  285. package/dist/esm/head/url.native.js +2 -3
  286. package/dist/esm/head/url.native.js.map +1 -1
  287. package/dist/esm/hooks.js.map +1 -1
  288. package/dist/esm/hooks.mjs.map +1 -1
  289. package/dist/esm/hooks.native.js.map +1 -1
  290. package/dist/esm/index.js +30 -2
  291. package/dist/esm/index.js.map +1 -1
  292. package/dist/esm/index.mjs +8 -2
  293. package/dist/esm/index.mjs.map +1 -1
  294. package/dist/esm/index.native.js +8 -2
  295. package/dist/esm/index.native.js.map +1 -1
  296. package/dist/esm/layouts/withLayoutContext.js +30 -12
  297. package/dist/esm/layouts/withLayoutContext.js.map +1 -1
  298. package/dist/esm/layouts/withLayoutContext.mjs +34 -15
  299. package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
  300. package/dist/esm/layouts/withLayoutContext.native.js +42 -19
  301. package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
  302. package/dist/esm/link/Link.js +3 -2
  303. package/dist/esm/link/Link.js.map +1 -1
  304. package/dist/esm/link/Link.mjs +5 -2
  305. package/dist/esm/link/Link.mjs.map +1 -1
  306. package/dist/esm/link/Link.native.js +6 -1
  307. package/dist/esm/link/Link.native.js.map +1 -1
  308. package/dist/esm/link/href.native.js +2 -2
  309. package/dist/esm/link/href.native.js.map +1 -1
  310. package/dist/esm/link/useLinkTo.js +6 -3
  311. package/dist/esm/link/useLinkTo.js.map +1 -1
  312. package/dist/esm/link/useLinkTo.mjs +11 -3
  313. package/dist/esm/link/useLinkTo.mjs.map +1 -1
  314. package/dist/esm/link/useLinkTo.native.js +11 -3
  315. package/dist/esm/link/useLinkTo.native.js.map +1 -1
  316. package/dist/esm/router/Route.js.map +1 -1
  317. package/dist/esm/router/Route.mjs.map +1 -1
  318. package/dist/esm/router/Route.native.js.map +1 -1
  319. package/dist/esm/router/findRouteNode.js +56 -0
  320. package/dist/esm/router/findRouteNode.js.map +6 -0
  321. package/dist/esm/router/findRouteNode.mjs +44 -0
  322. package/dist/esm/router/findRouteNode.mjs.map +1 -0
  323. package/dist/esm/router/findRouteNode.native.js +75 -0
  324. package/dist/esm/router/findRouteNode.native.js.map +1 -0
  325. package/dist/esm/router/getRoutes.native.js +3 -3
  326. package/dist/esm/router/getRoutes.native.js.map +1 -1
  327. package/dist/esm/router/router.js +154 -6
  328. package/dist/esm/router/router.js.map +1 -1
  329. package/dist/esm/router/router.mjs +151 -10
  330. package/dist/esm/router/router.mjs.map +1 -1
  331. package/dist/esm/router/router.native.js +238 -66
  332. package/dist/esm/router/router.native.js.map +1 -1
  333. package/dist/esm/router/useNavigation.js.map +1 -1
  334. package/dist/esm/router/useNavigation.mjs.map +1 -1
  335. package/dist/esm/router/useNavigation.native.js.map +1 -1
  336. package/dist/esm/router/useScreens.js +1 -1
  337. package/dist/esm/router/useScreens.js.map +1 -1
  338. package/dist/esm/router/useScreens.mjs +1 -1
  339. package/dist/esm/router/useScreens.mjs.map +1 -1
  340. package/dist/esm/router/useScreens.native.js +6 -3
  341. package/dist/esm/router/useScreens.native.js.map +1 -1
  342. package/dist/esm/router/utils/getNavigateAction.native.js +2 -4
  343. package/dist/esm/router/utils/getNavigateAction.native.js.map +1 -1
  344. package/dist/esm/server/oneServe.js.map +1 -1
  345. package/dist/esm/server/oneServe.mjs.map +1 -1
  346. package/dist/esm/server/oneServe.native.js +4 -4
  347. package/dist/esm/server/oneServe.native.js.map +1 -1
  348. package/dist/esm/server/setupBuildOptions.native.js +1 -1
  349. package/dist/esm/server/setupBuildOptions.native.js.map +1 -1
  350. package/dist/esm/ui/common.native.js +6 -5
  351. package/dist/esm/ui/common.native.js.map +1 -1
  352. package/dist/esm/useBlocker.js +122 -0
  353. package/dist/esm/useBlocker.js.map +6 -0
  354. package/dist/esm/useBlocker.mjs +123 -0
  355. package/dist/esm/useBlocker.mjs.map +1 -0
  356. package/dist/esm/useBlocker.native.js +51 -0
  357. package/dist/esm/useBlocker.native.js.map +1 -0
  358. package/dist/esm/useFocusEffect.js +2 -2
  359. package/dist/esm/useFocusEffect.js.map +1 -1
  360. package/dist/esm/useFocusEffect.mjs +2 -2
  361. package/dist/esm/useFocusEffect.mjs.map +1 -1
  362. package/dist/esm/useFocusEffect.native.js +2 -2
  363. package/dist/esm/useFocusEffect.native.js.map +1 -1
  364. package/dist/esm/useLoader.js +57 -3
  365. package/dist/esm/useLoader.js.map +2 -2
  366. package/dist/esm/useLoader.mjs +69 -4
  367. package/dist/esm/useLoader.mjs.map +1 -1
  368. package/dist/esm/useLoader.native.js +90 -7
  369. package/dist/esm/useLoader.native.js.map +1 -1
  370. package/dist/esm/useScrollGroup.js +16 -0
  371. package/dist/esm/useScrollGroup.js.map +6 -0
  372. package/dist/esm/useScrollGroup.mjs +14 -0
  373. package/dist/esm/useScrollGroup.mjs.map +1 -0
  374. package/dist/esm/useScrollGroup.native.js +3 -0
  375. package/dist/esm/useScrollGroup.native.js.map +1 -0
  376. package/dist/esm/validateParams.js +68 -0
  377. package/dist/esm/validateParams.js.map +6 -0
  378. package/dist/esm/validateParams.mjs +54 -0
  379. package/dist/esm/validateParams.mjs.map +1 -0
  380. package/dist/esm/validateParams.native.js +151 -0
  381. package/dist/esm/validateParams.native.js.map +1 -0
  382. package/dist/esm/validateSearch.js +83 -0
  383. package/dist/esm/validateSearch.js.map +6 -0
  384. package/dist/esm/validateSearch.mjs +77 -0
  385. package/dist/esm/validateSearch.mjs.map +1 -0
  386. package/dist/esm/validateSearch.native.js +172 -0
  387. package/dist/esm/validateSearch.native.js.map +1 -0
  388. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js +2 -2
  389. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
  390. package/dist/esm/views/ErrorBoundary.js +325 -7
  391. package/dist/esm/views/ErrorBoundary.js.map +2 -2
  392. package/dist/esm/views/ErrorBoundary.mjs +289 -6
  393. package/dist/esm/views/ErrorBoundary.mjs.map +1 -1
  394. package/dist/esm/views/ErrorBoundary.native.js +159 -4
  395. package/dist/esm/views/ErrorBoundary.native.js.map +1 -1
  396. package/dist/esm/views/Navigator.js +11 -2
  397. package/dist/esm/views/Navigator.js.map +1 -1
  398. package/dist/esm/views/Navigator.mjs +10 -3
  399. package/dist/esm/views/Navigator.mjs.map +1 -1
  400. package/dist/esm/views/Navigator.native.js +15 -6
  401. package/dist/esm/views/Navigator.native.js.map +1 -1
  402. package/dist/esm/views/Protected.js +14 -0
  403. package/dist/esm/views/Protected.js.map +6 -0
  404. package/dist/esm/views/Protected.mjs +11 -0
  405. package/dist/esm/views/Protected.mjs.map +1 -0
  406. package/dist/esm/views/Protected.native.js +16 -0
  407. package/dist/esm/views/Protected.native.js.map +1 -0
  408. package/dist/esm/views/RootErrorBoundary.js +214 -7
  409. package/dist/esm/views/RootErrorBoundary.js.map +1 -1
  410. package/dist/esm/views/RootErrorBoundary.mjs +192 -7
  411. package/dist/esm/views/RootErrorBoundary.mjs.map +1 -1
  412. package/dist/esm/views/RootErrorBoundary.native.js +191 -7
  413. package/dist/esm/views/RootErrorBoundary.native.js.map +1 -1
  414. package/dist/esm/views/ScrollBehavior.js +47 -11
  415. package/dist/esm/views/ScrollBehavior.js.map +1 -1
  416. package/dist/esm/views/ScrollBehavior.mjs +48 -11
  417. package/dist/esm/views/ScrollBehavior.mjs.map +1 -1
  418. package/dist/esm/views/ScrollBehavior.native.js +67 -10
  419. package/dist/esm/views/ScrollBehavior.native.js.map +1 -1
  420. package/dist/esm/views/SourceInspector.js +7 -0
  421. package/dist/esm/views/SourceInspector.js.map +6 -0
  422. package/dist/esm/views/SourceInspector.mjs +5 -0
  423. package/dist/esm/views/SourceInspector.mjs.map +1 -0
  424. package/dist/esm/views/SourceInspector.native.js +6 -0
  425. package/dist/esm/views/SourceInspector.native.js.map +1 -0
  426. package/dist/esm/views/Try.js +38 -4
  427. package/dist/esm/views/Try.js.map +1 -1
  428. package/dist/esm/views/Try.mjs +40 -7
  429. package/dist/esm/views/Try.mjs.map +1 -1
  430. package/dist/esm/views/Try.native.js +42 -7
  431. package/dist/esm/views/Try.native.js.map +1 -1
  432. package/dist/esm/vite/DevHead.js +802 -51
  433. package/dist/esm/vite/DevHead.js.map +1 -1
  434. package/dist/esm/vite/DevHead.mjs +797 -43
  435. package/dist/esm/vite/DevHead.mjs.map +1 -1
  436. package/dist/esm/vite/DevHead.native.js +782 -0
  437. package/dist/esm/vite/DevHead.native.js.map +1 -1
  438. package/dist/esm/vite/one.js +7 -1
  439. package/dist/esm/vite/one.js.map +1 -1
  440. package/dist/esm/vite/one.mjs +7 -1
  441. package/dist/esm/vite/one.mjs.map +1 -1
  442. package/dist/esm/vite/one.native.js +17 -7
  443. package/dist/esm/vite/one.native.js.map +1 -1
  444. package/dist/esm/vite/plugins/SSRCSSPlugin.js +48 -4
  445. package/dist/esm/vite/plugins/SSRCSSPlugin.js.map +1 -1
  446. package/dist/esm/vite/plugins/SSRCSSPlugin.mjs +44 -4
  447. package/dist/esm/vite/plugins/SSRCSSPlugin.mjs.map +1 -1
  448. package/dist/esm/vite/plugins/SSRCSSPlugin.native.js +61 -4
  449. package/dist/esm/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  450. package/dist/esm/vite/plugins/clientTreeShakePlugin.js +24 -3
  451. package/dist/esm/vite/plugins/clientTreeShakePlugin.js.map +1 -1
  452. package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs +34 -15
  453. package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs.map +1 -1
  454. package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js +55 -19
  455. package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
  456. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.js +130 -0
  457. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.js.map +6 -0
  458. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.mjs +130 -0
  459. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.mjs.map +1 -0
  460. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.native.js +138 -0
  461. package/dist/esm/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -0
  462. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +6 -3
  463. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  464. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  465. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +3 -3
  466. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  467. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js +11 -6
  468. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
  469. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs +5 -1
  470. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs.map +1 -1
  471. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +1 -0
  472. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  473. package/dist/esm/vite/plugins/sourceInspectorPlugin.js +126 -0
  474. package/dist/esm/vite/plugins/sourceInspectorPlugin.js.map +6 -0
  475. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs +121 -0
  476. package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs.map +1 -0
  477. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js +194 -0
  478. package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js.map +1 -0
  479. package/dist/esm/vite/plugins/virtualEntryPlugin.js +16 -6
  480. package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
  481. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +25 -6
  482. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  483. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +26 -7
  484. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  485. package/package.json +16 -14
  486. package/src/cli/build.ts +1 -1
  487. package/src/cli/buildPage.ts +1 -1
  488. package/src/cli/dev.ts +4 -4
  489. package/src/cli/generateRoutes.ts +1 -1
  490. package/src/createApp.tsx +11 -1
  491. package/src/createHandleRequest.test.ts +3 -1
  492. package/src/devtools/registry.ts +21 -0
  493. package/src/fork/createMemoryHistory.tsx +43 -11
  494. package/src/fork/useLinking.ts +14 -4
  495. package/src/hooks.tsx +71 -21
  496. package/src/index.ts +34 -1
  497. package/src/interfaces/router.ts +48 -0
  498. package/src/layouts/withLayoutContext.tsx +48 -8
  499. package/src/link/Link.tsx +7 -2
  500. package/src/link/useLinkTo.tsx +7 -3
  501. package/src/router/Route.tsx +32 -3
  502. package/src/router/findRouteNode.ts +127 -0
  503. package/src/router/router.ts +291 -2
  504. package/src/router/useNavigation.ts +12 -3
  505. package/src/router/useScreens.tsx +9 -3
  506. package/src/useBlocker.native.ts +153 -0
  507. package/src/useBlocker.ts +340 -0
  508. package/src/useFocusEffect.ts +18 -5
  509. package/src/useLoader.ts +193 -2
  510. package/src/useScrollGroup.native.ts +7 -0
  511. package/src/useScrollGroup.ts +35 -0
  512. package/src/validateParams.ts +196 -0
  513. package/src/validateSearch.ts +241 -0
  514. package/src/views/ErrorBoundary.tsx +154 -156
  515. package/src/views/ErrorBoundary.web.tsx +321 -0
  516. package/src/views/Navigator.tsx +18 -2
  517. package/src/views/Protected.tsx +62 -0
  518. package/src/views/RootErrorBoundary.tsx +214 -17
  519. package/src/views/ScrollBehavior.tsx +82 -3
  520. package/src/views/SourceInspector.tsx +39 -0
  521. package/src/views/Try.tsx +81 -12
  522. package/src/vite/DevHead.tsx +819 -54
  523. package/src/vite/one.ts +13 -0
  524. package/src/vite/plugins/SSRCSSPlugin.ts +104 -0
  525. package/src/vite/plugins/clientTreeShakePlugin.test.ts +174 -0
  526. package/src/vite/plugins/clientTreeShakePlugin.ts +50 -4
  527. package/src/vite/plugins/fileSystemRouterPlugin.tsx +11 -8
  528. package/src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx +4 -0
  529. package/src/vite/plugins/sourceInspectorPlugin.ts +246 -0
  530. package/src/vite/plugins/virtualEntryPlugin.ts +36 -10
  531. package/src/vite/types.ts +28 -0
  532. package/types/createApp.d.ts +5 -0
  533. package/types/createApp.d.ts.map +1 -1
  534. package/types/devtools/registry.d.ts +15 -0
  535. package/types/devtools/registry.d.ts.map +1 -0
  536. package/types/fork/createMemoryHistory.d.ts +8 -3
  537. package/types/fork/createMemoryHistory.d.ts.map +1 -1
  538. package/types/fork/useLinking.d.ts.map +1 -1
  539. package/types/hooks.d.ts +71 -20
  540. package/types/hooks.d.ts.map +1 -1
  541. package/types/index.d.ts +8 -1
  542. package/types/index.d.ts.map +1 -1
  543. package/types/interfaces/router.d.ts +47 -0
  544. package/types/interfaces/router.d.ts.map +1 -1
  545. package/types/layouts/Drawer.d.ts +15 -11
  546. package/types/layouts/Drawer.d.ts.map +1 -1
  547. package/types/layouts/withLayoutContext.d.ts +2 -1
  548. package/types/layouts/withLayoutContext.d.ts.map +1 -1
  549. package/types/link/Link.d.ts.map +1 -1
  550. package/types/link/useLinkTo.d.ts +1 -0
  551. package/types/link/useLinkTo.d.ts.map +1 -1
  552. package/types/router/Route.d.ts +32 -3
  553. package/types/router/Route.d.ts.map +1 -1
  554. package/types/router/findRouteNode.d.ts +31 -0
  555. package/types/router/findRouteNode.d.ts.map +1 -0
  556. package/types/router/router.d.ts +35 -0
  557. package/types/router/router.d.ts.map +1 -1
  558. package/types/router/useNavigation.d.ts +12 -3
  559. package/types/router/useNavigation.d.ts.map +1 -1
  560. package/types/router/useScreens.d.ts +2 -0
  561. package/types/router/useScreens.d.ts.map +1 -1
  562. package/types/server/oneServe.d.ts.map +1 -1
  563. package/types/ui/TabContext.d.ts +1 -1
  564. package/types/ui/TabContext.d.ts.map +1 -1
  565. package/types/ui/Tabs.d.ts +2 -2
  566. package/types/ui/Tabs.d.ts.map +1 -1
  567. package/types/useBlocker.d.ts +72 -0
  568. package/types/useBlocker.d.ts.map +1 -0
  569. package/types/useBlocker.native.d.ts +60 -0
  570. package/types/useBlocker.native.d.ts.map +1 -0
  571. package/types/useFocusEffect.d.ts +17 -4
  572. package/types/useFocusEffect.d.ts.map +1 -1
  573. package/types/useLoader.d.ts +63 -0
  574. package/types/useLoader.d.ts.map +1 -1
  575. package/types/useScrollGroup.d.ts +18 -0
  576. package/types/useScrollGroup.d.ts.map +1 -0
  577. package/types/useScrollGroup.native.d.ts +6 -0
  578. package/types/useScrollGroup.native.d.ts.map +1 -0
  579. package/types/validateParams.d.ts +85 -0
  580. package/types/validateParams.d.ts.map +1 -0
  581. package/types/validateSearch.d.ts +107 -0
  582. package/types/validateSearch.d.ts.map +1 -0
  583. package/types/views/ErrorBoundary.d.ts +11 -1
  584. package/types/views/ErrorBoundary.d.ts.map +1 -1
  585. package/types/views/ErrorBoundary.web.d.ts +13 -0
  586. package/types/views/ErrorBoundary.web.d.ts.map +1 -0
  587. package/types/views/Navigator.d.ts.map +1 -1
  588. package/types/views/Protected.d.ts +39 -0
  589. package/types/views/Protected.d.ts.map +1 -0
  590. package/types/views/RootErrorBoundary.d.ts +14 -8
  591. package/types/views/RootErrorBoundary.d.ts.map +1 -1
  592. package/types/views/ScrollBehavior.d.ts +8 -0
  593. package/types/views/ScrollBehavior.d.ts.map +1 -1
  594. package/types/views/SourceInspector.d.ts +35 -0
  595. package/types/views/SourceInspector.d.ts.map +1 -0
  596. package/types/views/Try.d.ts +29 -6
  597. package/types/views/Try.d.ts.map +1 -1
  598. package/types/vite/DevHead.d.ts.map +1 -1
  599. package/types/vite/one.d.ts.map +1 -1
  600. package/types/vite/plugins/SSRCSSPlugin.d.ts.map +1 -1
  601. package/types/vite/plugins/clientTreeShakePlugin.d.ts.map +1 -1
  602. package/types/vite/plugins/clientTreeShakePlugin.test.d.ts +2 -0
  603. package/types/vite/plugins/clientTreeShakePlugin.test.d.ts.map +1 -0
  604. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
  605. package/types/vite/plugins/generateFileSystemRouteTypesPlugin.d.ts.map +1 -1
  606. package/types/vite/plugins/sourceInspectorPlugin.d.ts +3 -0
  607. package/types/vite/plugins/sourceInspectorPlugin.d.ts.map +1 -0
  608. package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
  609. package/types/vite/types.d.ts +24 -0
  610. package/types/vite/types.d.ts.map +1 -1
  611. package/types/env.d.ts +0 -66
  612. /package/types/vercel/build/generate/{createSSRServerlessFunction.d.ts → createSsrServerlessFunction.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","SSRCSSPlugin","pluginOpts","server","name","apply","configureServer","server_","middlewares","use","req","res","next","_req_url","url","includes","invalidateModule","code","collectStyle","entries","setHeader","write","end","resolveId","source","_importer","_options","startsWith","load","id","URL","slice","searchParams","has","JSON","stringify","transformIndexHtml","handler","tag","injectTo","attrs","rel","href","type","children","mod","moduleGraph","getModuleById","transform","urls","collectStyleUrls","codes","Promise","all","map","transformRequest","prefix","buffer2","Buffer","from","codeOut2","Uint8Array","buffer","byteOffset","byteLength","processed","filename","config","css","lightningcss","toString","err","console","error","out","flat","filter","Boolean","join","codeOut","visited","Set","traverse","resolveUrl","add","importedModules","childMod"],"sources":["../../../../src/vite/plugins/SSRCSSPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","cssCache","routesPreWarmed","CSS_CACHE_TTL","SSRCSSPlugin","pluginOpts","server","name","apply","configureServer","server_","preWarmRoutes","transformRequest","entries","routeFiles","collectRouteFiles","Promise","all","map","file","catch","process","env","ONE_DEBUG","console","log","length","err","error","watcher","on","middlewares","use","req","res","next","_req_url","url","includes","invalidateModule","now","Date","timestamp","setHeader","write","css","end","code","collectStyle","resolveId","source","_importer","_options","startsWith","load","id","URL","slice","searchParams","has","JSON","stringify","transformIndexHtml","handler","tag","injectTo","attrs","rel","href","type","children","mod","moduleGraph","getModuleById","transform","urls","collectStyleUrls","codes","prefix","buffer2","Buffer","from","codeOut2","Uint8Array","buffer","byteOffset","byteLength","processed","filename","config","lightningcss","toString","out","flat","filter","Boolean","join","codeOut","visited","Set","traverse","resolveUrl","add","importedModules","childMod","e","match","CSS_LANGS_RE","DYNAMIC_IMPORT_RE","_iteratorNormalCompletion","_didIteratorError","_iteratorError"],"sources":["../../../../src/vite/plugins/SSRCSSPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,27 @@ import {
7
7
  findReferencedIdentifiers
8
8
  } from "babel-dead-code-elimination";
9
9
  import { EMPTY_LOADER_STRING } from "../constants";
10
- const traverse = BabelTraverse.default, generate = BabelGenerate.default, clientTreeShakePlugin = () => ({
10
+ const traverse = BabelTraverse.default || BabelTraverse, generate = BabelGenerate.default || BabelGenerate;
11
+ function collectTypeImports(ast) {
12
+ const typeImports = [];
13
+ return traverse(ast, {
14
+ ImportDeclaration(path) {
15
+ path.node.importKind === "type" && typeImports.push(path.node);
16
+ }
17
+ }), typeImports;
18
+ }
19
+ function restoreTypeImports(ast, typeImports) {
20
+ if (typeImports.length === 0) return;
21
+ const existingSources = /* @__PURE__ */ new Set();
22
+ traverse(ast, {
23
+ ImportDeclaration(path) {
24
+ path.node.importKind === "type" && existingSources.add(path.node.source.value);
25
+ }
26
+ });
27
+ for (const typeImport of typeImports)
28
+ existingSources.has(typeImport.source.value) || ast.program.body.unshift(typeImport);
29
+ }
30
+ const clientTreeShakePlugin = () => ({
11
31
  name: "one-client-tree-shake",
12
32
  enforce: "pre",
13
33
  applyToEnvironment(env) {
@@ -62,7 +82,7 @@ async function transformTreeShakeClient(code, id) {
62
82
  } else path.node.declaration && path.node.declaration.type === "VariableDeclaration" && path.node.declaration.declarations.forEach((declarator, index) => {
63
83
  if (declarator.id.type === "Identifier" && (declarator.id.name === "loader" || declarator.id.name === "generateStaticParams")) {
64
84
  const declaration = path.get("declaration.declarations." + index);
65
- Array.isArray(declaration) || (declaration.remove(), removed[declarator.id.name] = !0);
85
+ !Array.isArray(declaration) && declaration && (declaration.remove(), removed[declarator.id.name] = !0);
66
86
  }
67
87
  });
68
88
  }
@@ -78,7 +98,8 @@ async function transformTreeShakeClient(code, id) {
78
98
  const removedFunctions = Object.keys(removed).filter((key) => removed[key]);
79
99
  if (removedFunctions.length)
80
100
  try {
81
- deadCodeElimination(ast, referenced);
101
+ const typeImports = collectTypeImports(ast);
102
+ deadCodeElimination(ast, referenced), restoreTypeImports(ast, typeImports);
82
103
  const out = generate(ast), codeOut = out.code + `
83
104
 
84
105
  ` + removedFunctions.map((key) => key === "loader" ? EMPTY_LOADER_STRING : "export function generateStaticParams() {};").join(`
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/vite/plugins/clientTreeShakePlugin.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -4,21 +4,39 @@ import { parse } from "@babel/parser";
4
4
  import BabelTraverse from "@babel/traverse";
5
5
  import { deadCodeElimination, findReferencedIdentifiers } from "babel-dead-code-elimination";
6
6
  import { EMPTY_LOADER_STRING } from "../constants.mjs";
7
- const traverse = BabelTraverse.default,
8
- generate = BabelGenerate.default,
9
- clientTreeShakePlugin = () => ({
10
- name: "one-client-tree-shake",
11
- enforce: "pre",
12
- applyToEnvironment(env) {
13
- return env.name === "client" || env.name === "ios" || env.name === "android";
14
- },
15
- transform: {
16
- order: "pre",
17
- async handler(code, id, settings) {
18
- return this.environment.name === "ssr" || !/\.(js|jsx|ts|tsx)/.test(extname(id)) || /node_modules/.test(id) ? void 0 : await transformTreeShakeClient(code, id);
19
- }
7
+ const traverse = BabelTraverse.default || BabelTraverse,
8
+ generate = BabelGenerate.default || BabelGenerate;
9
+ function collectTypeImports(ast) {
10
+ const typeImports = [];
11
+ return traverse(ast, {
12
+ ImportDeclaration(path) {
13
+ path.node.importKind === "type" && typeImports.push(path.node);
14
+ }
15
+ }), typeImports;
16
+ }
17
+ function restoreTypeImports(ast, typeImports) {
18
+ if (typeImports.length === 0) return;
19
+ const existingSources = /* @__PURE__ */new Set();
20
+ traverse(ast, {
21
+ ImportDeclaration(path) {
22
+ path.node.importKind === "type" && existingSources.add(path.node.source.value);
20
23
  }
21
24
  });
25
+ for (const typeImport of typeImports) existingSources.has(typeImport.source.value) || ast.program.body.unshift(typeImport);
26
+ }
27
+ const clientTreeShakePlugin = () => ({
28
+ name: "one-client-tree-shake",
29
+ enforce: "pre",
30
+ applyToEnvironment(env) {
31
+ return env.name === "client" || env.name === "ios" || env.name === "android";
32
+ },
33
+ transform: {
34
+ order: "pre",
35
+ async handler(code, id, settings) {
36
+ return this.environment.name === "ssr" || !/\.(js|jsx|ts|tsx)/.test(extname(id)) || /node_modules/.test(id) ? void 0 : await transformTreeShakeClient(code, id);
37
+ }
38
+ }
39
+ });
22
40
  async function transformTreeShakeClient(code, id) {
23
41
  if (!/generateStaticParams|loader/.test(code)) return;
24
42
  let ast;
@@ -54,7 +72,7 @@ async function transformTreeShakeClient(code, id) {
54
72
  } else path.node.declaration && path.node.declaration.type === "VariableDeclaration" && path.node.declaration.declarations.forEach((declarator, index) => {
55
73
  if (declarator.id.type === "Identifier" && (declarator.id.name === "loader" || declarator.id.name === "generateStaticParams")) {
56
74
  const declaration = path.get("declaration.declarations." + index);
57
- Array.isArray(declaration) || (declaration.remove(), removed[declarator.id.name] = !0);
75
+ !Array.isArray(declaration) && declaration && (declaration.remove(), removed[declarator.id.name] = !0);
58
76
  }
59
77
  });
60
78
  }
@@ -66,7 +84,8 @@ async function transformTreeShakeClient(code, id) {
66
84
  }
67
85
  const removedFunctions = Object.keys(removed).filter(key => removed[key]);
68
86
  if (removedFunctions.length) try {
69
- deadCodeElimination(ast, referenced);
87
+ const typeImports = collectTypeImports(ast);
88
+ deadCodeElimination(ast, referenced), restoreTypeImports(ast, typeImports);
70
89
  const out = generate(ast),
71
90
  codeOut = out.code + `
72
91
 
@@ -1 +1 @@
1
- {"version":3,"names":["extname","relative","BabelGenerate","parse","BabelTraverse","deadCodeElimination","findReferencedIdentifiers","EMPTY_LOADER_STRING","traverse","default","generate","clientTreeShakePlugin","name","enforce","applyToEnvironment","env","transform","order","handler","code","id","settings","environment","test","transformTreeShakeClient","ast","sourceType","plugins","error","errorMessage","Error","message","String","console","warn","referenced","removed","loader","generateStaticParams","ExportNamedDeclaration","path","node","declaration","type","functionName","remove","declarations","forEach","declarator","index","get","Array","isArray","removedFunctions","Object","keys","filter","key","length","out","codeOut","map","join","info","process","cwd"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["extname","relative","BabelGenerate","parse","BabelTraverse","deadCodeElimination","findReferencedIdentifiers","EMPTY_LOADER_STRING","traverse","default","generate","collectTypeImports","ast","typeImports","ImportDeclaration","path","node","importKind","push","restoreTypeImports","length","existingSources","Set","add","source","value","typeImport","has","program","body","unshift","clientTreeShakePlugin","name","enforce","applyToEnvironment","env","transform","order","handler","code","id","settings","environment","test","transformTreeShakeClient","sourceType","plugins","error","errorMessage","Error","message","String","console","warn","referenced","removed","loader","generateStaticParams","ExportNamedDeclaration","declaration","type","functionName","remove","declarations","forEach","declarator","index","get","Array","isArray","removedFunctions","Object","keys","filter","key","out","codeOut","map","join","info","process","cwd"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -7,26 +7,61 @@ import { EMPTY_LOADER_STRING } from "../constants.native.js";
7
7
  function _instanceof(left, right) {
8
8
  return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
9
9
  }
10
- var traverse = BabelTraverse.default,
11
- generate = BabelGenerate.default,
12
- clientTreeShakePlugin = function () {
13
- return {
14
- name: "one-client-tree-shake",
15
- enforce: "pre",
16
- applyToEnvironment(env) {
17
- return env.name === "client" || env.name === "ios" || env.name === "android";
18
- },
19
- transform: {
20
- order: "pre",
21
- async handler(code, id, settings) {
22
- if (this.environment.name !== "ssr" && /\.(js|jsx|ts|tsx)/.test(extname(id)) && !/node_modules/.test(id)) {
23
- var out = await transformTreeShakeClient(code, id);
24
- return out;
25
- }
10
+ var traverse = BabelTraverse.default || BabelTraverse,
11
+ generate = BabelGenerate.default || BabelGenerate;
12
+ function collectTypeImports(ast) {
13
+ var typeImports = [];
14
+ return traverse(ast, {
15
+ ImportDeclaration(path) {
16
+ path.node.importKind === "type" && typeImports.push(path.node);
17
+ }
18
+ }), typeImports;
19
+ }
20
+ function restoreTypeImports(ast, typeImports) {
21
+ if (typeImports.length !== 0) {
22
+ var existingSources = /* @__PURE__ */new Set();
23
+ traverse(ast, {
24
+ ImportDeclaration(path) {
25
+ path.node.importKind === "type" && existingSources.add(path.node.source.value);
26
+ }
27
+ });
28
+ var _iteratorNormalCompletion = !0,
29
+ _didIteratorError = !1,
30
+ _iteratorError = void 0;
31
+ try {
32
+ for (var _iterator = typeImports[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
33
+ var typeImport = _step.value;
34
+ existingSources.has(typeImport.source.value) || ast.program.body.unshift(typeImport);
35
+ }
36
+ } catch (err) {
37
+ _didIteratorError = !0, _iteratorError = err;
38
+ } finally {
39
+ try {
40
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
41
+ } finally {
42
+ if (_didIteratorError) throw _iteratorError;
43
+ }
44
+ }
45
+ }
46
+ }
47
+ var clientTreeShakePlugin = function () {
48
+ return {
49
+ name: "one-client-tree-shake",
50
+ enforce: "pre",
51
+ applyToEnvironment(env) {
52
+ return env.name === "client" || env.name === "ios" || env.name === "android";
53
+ },
54
+ transform: {
55
+ order: "pre",
56
+ async handler(code, id, settings) {
57
+ if (this.environment.name !== "ssr" && /\.(js|jsx|ts|tsx)/.test(extname(id)) && !/node_modules/.test(id)) {
58
+ var out = await transformTreeShakeClient(code, id);
59
+ return out;
26
60
  }
27
61
  }
28
- };
62
+ }
29
63
  };
64
+ };
30
65
  async function transformTreeShakeClient(code, id) {
31
66
  if (/generateStaticParams|loader/.test(code)) {
32
67
  var ast;
@@ -62,7 +97,7 @@ async function transformTreeShakeClient(code, id) {
62
97
  } else path.node.declaration && path.node.declaration.type === "VariableDeclaration" && path.node.declaration.declarations.forEach(function (declarator, index) {
63
98
  if (declarator.id.type === "Identifier" && (declarator.id.name === "loader" || declarator.id.name === "generateStaticParams")) {
64
99
  var declaration = path.get("declaration.declarations." + index);
65
- Array.isArray(declaration) || (declaration.remove(), removed[declarator.id.name] = !0);
100
+ !Array.isArray(declaration) && declaration && (declaration.remove(), removed[declarator.id.name] = !0);
66
101
  }
67
102
  });
68
103
  }
@@ -76,7 +111,8 @@ async function transformTreeShakeClient(code, id) {
76
111
  return removed[key];
77
112
  });
78
113
  if (removedFunctions.length) try {
79
- deadCodeElimination(ast, referenced);
114
+ var typeImports = collectTypeImports(ast);
115
+ deadCodeElimination(ast, referenced), restoreTypeImports(ast, typeImports);
80
116
  var out = generate(ast),
81
117
  codeOut = out.code + `
82
118
 
@@ -1 +1 @@
1
- {"version":3,"names":["extname","relative","BabelGenerate","parse","BabelTraverse","deadCodeElimination","findReferencedIdentifiers","EMPTY_LOADER_STRING","_instanceof","left","right","Symbol","hasInstance","traverse","default","generate","clientTreeShakePlugin","name","enforce","applyToEnvironment","env","transform","order","handler","code","id","settings","environment","test","out","transformTreeShakeClient","ast","sourceType","plugins","error","errorMessage","Error","message","String","console","warn","referenced","errorMessage1","removed","loader","generateStaticParams","ExportNamedDeclaration","path","node","declaration","type","functionName","remove","declarations","forEach","declarator","index","get","Array","isArray","errorMessage2","removedFunctions","Object","keys","filter","key","length","codeOut","map","join","info","process","cwd","errorMessage3"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["extname","relative","BabelGenerate","parse","BabelTraverse","deadCodeElimination","findReferencedIdentifiers","EMPTY_LOADER_STRING","_instanceof","left","right","Symbol","hasInstance","traverse","default","generate","collectTypeImports","ast","typeImports","ImportDeclaration","path","node","importKind","push","restoreTypeImports","length","existingSources","Set","add","source","value","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","typeImport","has","program","body","unshift","err","return","clientTreeShakePlugin","name","enforce","applyToEnvironment","env","transform","order","handler","code","id","settings","environment","test","out","transformTreeShakeClient","sourceType","plugins","error","errorMessage","Error","message","String","console","warn","referenced","errorMessage1","removed","loader","generateStaticParams","ExportNamedDeclaration","declaration","type","functionName","remove","declarations","forEach","declarator","index","get","Array","isArray","errorMessage2","removedFunctions","Object","keys","filter","key","codeOut","map"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,130 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { transformTreeShakeClient } from "./clientTreeShakePlugin";
3
+ describe("clientTreeShakePlugin", () => {
4
+ describe("transformTreeShakeClient", () => {
5
+ it("should remove loader export and its imports", async () => {
6
+ const result = await transformTreeShakeClient(`
7
+ import { serverOnlyModule } from 'server-only-pkg'
8
+ import { Text } from 'react-native'
9
+ import { useLoader } from 'one'
10
+
11
+ export function loader() {
12
+ return serverOnlyModule()
13
+ }
14
+
15
+ export default function Page() {
16
+ const data = useLoader(loader)
17
+ return <Text>{data}</Text>
18
+ }
19
+ `, "/app/index.tsx");
20
+ expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg"), expect(result.code).toContain("react-native"), expect(result.code).toContain("one");
21
+ }), it("should remove loader export with dynamic import", async () => {
22
+ const result = await transformTreeShakeClient(`
23
+ import { Text } from 'react-native'
24
+ import { useLoader } from 'one'
25
+
26
+ export async function loader() {
27
+ const { serverFn } = await import('server-only-pkg')
28
+ return serverFn()
29
+ }
30
+
31
+ export default function Page() {
32
+ const data = useLoader(loader)
33
+ return <Text>{data}</Text>
34
+ }
35
+ `, "/app/index.tsx");
36
+ expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg");
37
+ }), it("should remove loader with const arrow function export", async () => {
38
+ const result = await transformTreeShakeClient(`
39
+ import { serverOnlyModule } from 'server-only-pkg'
40
+ import { Text } from 'react-native'
41
+ import { useLoader } from 'one'
42
+
43
+ export const loader = async () => {
44
+ return serverOnlyModule()
45
+ }
46
+
47
+ export default function Page() {
48
+ const data = useLoader(loader)
49
+ return <Text>{data}</Text>
50
+ }
51
+ `, "/app/index.tsx");
52
+ expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg");
53
+ }), it("should handle multiple imports where only some are used in loader", async () => {
54
+ const result = await transformTreeShakeClient(`
55
+ import { serverFn } from 'server-only-pkg'
56
+ import { sharedUtil } from 'shared-pkg'
57
+ import { Text } from 'react-native'
58
+ import { useLoader } from 'one'
59
+
60
+ export function loader() {
61
+ return serverFn()
62
+ }
63
+
64
+ export default function Page() {
65
+ const data = useLoader(loader)
66
+ return <Text>{sharedUtil(data)}</Text>
67
+ }
68
+ `, "/app/index.tsx");
69
+ expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg"), expect(result.code).toContain("shared-pkg");
70
+ }), it("should remove generateStaticParams and its imports", async () => {
71
+ const result = await transformTreeShakeClient(`
72
+ import { getRoutes } from 'server-only-pkg'
73
+ import { Text } from 'react-native'
74
+
75
+ export function generateStaticParams() {
76
+ return getRoutes()
77
+ }
78
+
79
+ export default function Page() {
80
+ return <Text>Hello</Text>
81
+ }
82
+ `, "/app/[slug].tsx");
83
+ expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg");
84
+ }), it("should not transform files without loader or generateStaticParams", async () => {
85
+ const result = await transformTreeShakeClient(`
86
+ import { Text } from 'react-native'
87
+
88
+ export default function Page() {
89
+ return <Text>Hello</Text>
90
+ }
91
+ `, "/app/index.tsx");
92
+ expect(result).toBeUndefined();
93
+ }), it("should preserve type-only imports during tree shaking", async () => {
94
+ const result = await transformTreeShakeClient(`
95
+ import type { SomeType } from 'types-pkg'
96
+ import { serverFn } from 'server-only-pkg'
97
+ import { Text } from 'react-native'
98
+ import { useLoader } from 'one'
99
+
100
+ export function loader(): SomeType {
101
+ return serverFn()
102
+ }
103
+
104
+ export default function Page() {
105
+ const data = useLoader(loader)
106
+ return <Text>{data}</Text>
107
+ }
108
+ `, "/app/index.tsx");
109
+ expect(result).toBeDefined(), expect(result.code).toContain("types-pkg"), expect(result.code).not.toContain("server-only-pkg");
110
+ }), it("should preserve type imports even when used only in loader", async () => {
111
+ const result = await transformTreeShakeClient(`
112
+ import type { APIGuildMember } from '@discordjs/core'
113
+ import { getClient } from 'discord-client'
114
+ import { Text } from 'react-native'
115
+ import { useLoader } from 'one'
116
+
117
+ export function loader(): APIGuildMember {
118
+ return getClient()
119
+ }
120
+
121
+ export default function Page() {
122
+ const data = useLoader(loader)
123
+ return <Text>{JSON.stringify(data)}</Text>
124
+ }
125
+ `, "/app/index.tsx");
126
+ expect(result).toBeDefined(), expect(result.code).toContain("@discordjs/core"), expect(result.code).not.toContain("discord-client");
127
+ });
128
+ });
129
+ });
130
+ //# sourceMappingURL=clientTreeShakePlugin.test.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/vite/plugins/clientTreeShakePlugin.test.ts"],
4
+ "mappings": "AAAA,SAAS,UAAU,QAAQ,UAAU;AACrC,SAAS,gCAAgC;AAEzC,SAAS,yBAAyB,MAAM;AACtC,WAAS,4BAA4B,MAAM;AACzC,OAAG,+CAA+C,YAAY;AAe5D,YAAM,SAAS,MAAM,yBAdR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB,GAEpD,OAAO,OAAQ,IAAI,EAAE,UAAU,cAAc,GAC7C,OAAO,OAAQ,IAAI,EAAE,UAAU,KAAK;AAAA,IACtC,CAAC,GAED,GAAG,mDAAmD,YAAY;AAehE,YAAM,SAAS,MAAM,yBAdR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB;AAAA,IACtD,CAAC,GAED,GAAG,yDAAyD,YAAY;AAetE,YAAM,SAAS,MAAM,yBAdR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB;AAAA,IACtD,CAAC,GAED,GAAG,qEAAqE,YAAY;AAgBlF,YAAM,SAAS,MAAM,yBAfR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAeuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB,GAEpD,OAAO,OAAQ,IAAI,EAAE,UAAU,YAAY;AAAA,IAC7C,CAAC,GAED,GAAG,sDAAsD,YAAY;AAanE,YAAM,SAAS,MAAM,yBAZR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYuC,iBAAiB;AACrE,aAAO,MAAM,EAAE,YAAY,GAC3B,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB;AAAA,IACtD,CAAC,GAED,GAAG,qEAAqE,YAAY;AAQlF,YAAM,SAAS,MAAM,yBAPR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAOuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,cAAc;AAAA,IAC/B,CAAC,GAED,GAAG,yDAAyD,YAAY;AAgBtE,YAAM,SAAS,MAAM,yBAfR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAeuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,UAAU,WAAW,GAE1C,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB;AAAA,IACtD,CAAC,GAED,GAAG,8DAA8D,YAAY;AAgB3E,YAAM,SAAS,MAAM,yBAfR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAeuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,UAAU,iBAAiB,GAEhD,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,gBAAgB;AAAA,IACrD,CAAC;AAAA,EACH,CAAC;AACH,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,130 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { transformTreeShakeClient } from "./clientTreeShakePlugin.mjs";
3
+ describe("clientTreeShakePlugin", () => {
4
+ describe("transformTreeShakeClient", () => {
5
+ it("should remove loader export and its imports", async () => {
6
+ const result = await transformTreeShakeClient(`
7
+ import { serverOnlyModule } from 'server-only-pkg'
8
+ import { Text } from 'react-native'
9
+ import { useLoader } from 'one'
10
+
11
+ export function loader() {
12
+ return serverOnlyModule()
13
+ }
14
+
15
+ export default function Page() {
16
+ const data = useLoader(loader)
17
+ return <Text>{data}</Text>
18
+ }
19
+ `, "/app/index.tsx");
20
+ expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg"), expect(result.code).toContain("react-native"), expect(result.code).toContain("one");
21
+ }), it("should remove loader export with dynamic import", async () => {
22
+ const result = await transformTreeShakeClient(`
23
+ import { Text } from 'react-native'
24
+ import { useLoader } from 'one'
25
+
26
+ export async function loader() {
27
+ const { serverFn } = await import('server-only-pkg')
28
+ return serverFn()
29
+ }
30
+
31
+ export default function Page() {
32
+ const data = useLoader(loader)
33
+ return <Text>{data}</Text>
34
+ }
35
+ `, "/app/index.tsx");
36
+ expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg");
37
+ }), it("should remove loader with const arrow function export", async () => {
38
+ const result = await transformTreeShakeClient(`
39
+ import { serverOnlyModule } from 'server-only-pkg'
40
+ import { Text } from 'react-native'
41
+ import { useLoader } from 'one'
42
+
43
+ export const loader = async () => {
44
+ return serverOnlyModule()
45
+ }
46
+
47
+ export default function Page() {
48
+ const data = useLoader(loader)
49
+ return <Text>{data}</Text>
50
+ }
51
+ `, "/app/index.tsx");
52
+ expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg");
53
+ }), it("should handle multiple imports where only some are used in loader", async () => {
54
+ const result = await transformTreeShakeClient(`
55
+ import { serverFn } from 'server-only-pkg'
56
+ import { sharedUtil } from 'shared-pkg'
57
+ import { Text } from 'react-native'
58
+ import { useLoader } from 'one'
59
+
60
+ export function loader() {
61
+ return serverFn()
62
+ }
63
+
64
+ export default function Page() {
65
+ const data = useLoader(loader)
66
+ return <Text>{sharedUtil(data)}</Text>
67
+ }
68
+ `, "/app/index.tsx");
69
+ expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg"), expect(result.code).toContain("shared-pkg");
70
+ }), it("should remove generateStaticParams and its imports", async () => {
71
+ const result = await transformTreeShakeClient(`
72
+ import { getRoutes } from 'server-only-pkg'
73
+ import { Text } from 'react-native'
74
+
75
+ export function generateStaticParams() {
76
+ return getRoutes()
77
+ }
78
+
79
+ export default function Page() {
80
+ return <Text>Hello</Text>
81
+ }
82
+ `, "/app/[slug].tsx");
83
+ expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg");
84
+ }), it("should not transform files without loader or generateStaticParams", async () => {
85
+ const result = await transformTreeShakeClient(`
86
+ import { Text } from 'react-native'
87
+
88
+ export default function Page() {
89
+ return <Text>Hello</Text>
90
+ }
91
+ `, "/app/index.tsx");
92
+ expect(result).toBeUndefined();
93
+ }), it("should preserve type-only imports during tree shaking", async () => {
94
+ const result = await transformTreeShakeClient(`
95
+ import type { SomeType } from 'types-pkg'
96
+ import { serverFn } from 'server-only-pkg'
97
+ import { Text } from 'react-native'
98
+ import { useLoader } from 'one'
99
+
100
+ export function loader(): SomeType {
101
+ return serverFn()
102
+ }
103
+
104
+ export default function Page() {
105
+ const data = useLoader(loader)
106
+ return <Text>{data}</Text>
107
+ }
108
+ `, "/app/index.tsx");
109
+ expect(result).toBeDefined(), expect(result.code).toContain("types-pkg"), expect(result.code).not.toContain("server-only-pkg");
110
+ }), it("should preserve type imports even when used only in loader", async () => {
111
+ const result = await transformTreeShakeClient(`
112
+ import type { APIGuildMember } from '@discordjs/core'
113
+ import { getClient } from 'discord-client'
114
+ import { Text } from 'react-native'
115
+ import { useLoader } from 'one'
116
+
117
+ export function loader(): APIGuildMember {
118
+ return getClient()
119
+ }
120
+
121
+ export default function Page() {
122
+ const data = useLoader(loader)
123
+ return <Text>{JSON.stringify(data)}</Text>
124
+ }
125
+ `, "/app/index.tsx");
126
+ expect(result).toBeDefined(), expect(result.code).toContain("@discordjs/core"), expect(result.code).not.toContain("discord-client");
127
+ });
128
+ });
129
+ });
130
+ //# sourceMappingURL=clientTreeShakePlugin.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["describe","expect","it","transformTreeShakeClient","result","toBeDefined","code","not","toContain","toBeUndefined"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}