one 1.17.11 → 1.18.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 (362) hide show
  1. package/dist/cjs/Root.native.js.map +1 -1
  2. package/dist/cjs/__mocks__/@react-navigation/native-stack.native.js.map +1 -1
  3. package/dist/cjs/__mocks__/expo-linking.native.js.map +1 -1
  4. package/dist/cjs/__mocks__/expo-modules-core.native.js.map +1 -1
  5. package/dist/cjs/__mocks__/react-native-screens.native.js.map +1 -1
  6. package/dist/cjs/babel-plugins/environment-guard.native.js.map +1 -1
  7. package/dist/cjs/babel-plugins/inline-one-server-url.native.js.map +1 -1
  8. package/dist/cjs/babel-plugins/one-router-metro.native.js.map +1 -1
  9. package/dist/cjs/babel-plugins/one-router-metro.test.native.js.map +1 -1
  10. package/dist/cjs/babel-plugins/remove-server-code.native.js.map +1 -1
  11. package/dist/cjs/babel-preset/index.native.js.map +1 -1
  12. package/dist/cjs/babel-preset/index.test.native.js.map +1 -1
  13. package/dist/cjs/babel-preset/integration.test.native.js.map +1 -1
  14. package/dist/cjs/cli/build.cjs +41 -2
  15. package/dist/cjs/cli/build.native.js +50 -2
  16. package/dist/cjs/cli/build.native.js.map +1 -1
  17. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  18. package/dist/cjs/cli/buildPageWorker.native.js.map +1 -1
  19. package/dist/cjs/cli/checkNodeVersion.native.js.map +1 -1
  20. package/dist/cjs/cli/daemon.native.js.map +1 -1
  21. package/dist/cjs/cli/dev.native.js.map +1 -1
  22. package/dist/cjs/cli/generateBundlerConfig.native.js.map +1 -1
  23. package/dist/cjs/cli/generateBundlerConfig.test.native.js.map +1 -1
  24. package/dist/cjs/cli/generateRoutes.native.js.map +1 -1
  25. package/dist/cjs/cli/generateSitemap.native.js.map +1 -1
  26. package/dist/cjs/cli/generateSitemap.test.native.js.map +1 -1
  27. package/dist/cjs/cli/install-error-handlers.native.js.map +1 -1
  28. package/dist/cjs/cli/label-process.native.js.map +1 -1
  29. package/dist/cjs/cli/main.native.js.map +1 -1
  30. package/dist/cjs/cli/patch.native.js.map +1 -1
  31. package/dist/cjs/cli/patch.test.native.js.map +1 -1
  32. package/dist/cjs/cli/prebuild.native.js.map +1 -1
  33. package/dist/cjs/cli/runAndroid.native.js.map +1 -1
  34. package/dist/cjs/cli/runIos.native.js.map +1 -1
  35. package/dist/cjs/cli/securityScan.native.js.map +1 -1
  36. package/dist/cjs/cli/workerPool.native.js.map +1 -1
  37. package/dist/cjs/cli.native.js.map +1 -1
  38. package/dist/cjs/clientLoaderResolver.native.js.map +1 -1
  39. package/dist/cjs/config.native.js.map +1 -1
  40. package/dist/cjs/constants.native.js.map +1 -1
  41. package/dist/cjs/constants.test.native.js.map +1 -1
  42. package/dist/cjs/createAPIRoute.native.js.map +1 -1
  43. package/dist/cjs/createHandleRequest.native.js.map +1 -1
  44. package/dist/cjs/createHandleRequest.test.native.js.map +1 -1
  45. package/dist/cjs/createMiddleware.native.js.map +1 -1
  46. package/dist/cjs/daemon/index.native.js.map +1 -1
  47. package/dist/cjs/daemon/ipc.native.js.map +1 -1
  48. package/dist/cjs/daemon/picker.native.js.map +1 -1
  49. package/dist/cjs/daemon/proxy.native.js.map +1 -1
  50. package/dist/cjs/daemon/registry.native.js.map +1 -1
  51. package/dist/cjs/daemon/server.native.js.map +1 -1
  52. package/dist/cjs/daemon/tui.native.js.map +1 -1
  53. package/dist/cjs/daemon/types.native.js.map +1 -1
  54. package/dist/cjs/daemon/utils.native.js.map +1 -1
  55. package/dist/cjs/devtools/registry.native.js.map +1 -1
  56. package/dist/cjs/drawer.native.js.map +1 -1
  57. package/dist/cjs/fallbackViews/Sitemap.native.js.map +1 -1
  58. package/dist/cjs/fallbackViews/Unmatched.native.js.map +1 -1
  59. package/dist/cjs/fork/NavigationContainer.native.js.map +1 -1
  60. package/dist/cjs/fork/SSRNavigationContainer.native.js.map +1 -1
  61. package/dist/cjs/fork/__tests__/getPathFromState.test.native.js.map +1 -1
  62. package/dist/cjs/fork/__tests__/getStateFromPath.test.native.js.map +1 -1
  63. package/dist/cjs/fork/_shared.native.js.map +1 -1
  64. package/dist/cjs/fork/createMemoryHistory.native.js.map +1 -1
  65. package/dist/cjs/fork/createMemoryHistory.test.native.js.map +1 -1
  66. package/dist/cjs/fork/extractPathFromURL.native.js.map +1 -1
  67. package/dist/cjs/fork/extractPathFromURL.test.native.js.map +1 -1
  68. package/dist/cjs/fork/findFocusedRoute.native.js.map +1 -1
  69. package/dist/cjs/fork/getPathFromState-mods.native.js.map +1 -1
  70. package/dist/cjs/fork/getPathFromState.native.js.map +1 -1
  71. package/dist/cjs/fork/getPathFromState.test.native.js.map +1 -1
  72. package/dist/cjs/fork/getStateFromPath-mods.native.js.map +1 -1
  73. package/dist/cjs/fork/getStateFromPath.native.js.map +1 -1
  74. package/dist/cjs/fork/getStateFromPath.test.native.js.map +1 -1
  75. package/dist/cjs/fork/useThenable.native.js.map +1 -1
  76. package/dist/cjs/fork/validatePathConfig.native.js.map +1 -1
  77. package/dist/cjs/getReactNavigationConfig.native.js.map +1 -1
  78. package/dist/cjs/getURL.native.js +6 -5
  79. package/dist/cjs/getURL.native.js.map +1 -1
  80. package/dist/cjs/getURL.native.test.cjs +26 -0
  81. package/dist/cjs/getURL.native.test.native.js +33 -0
  82. package/dist/cjs/getURL.native.test.native.js.map +1 -0
  83. package/dist/cjs/head/Head.native.js.map +1 -1
  84. package/dist/cjs/head/HeadModule.native.js.map +1 -1
  85. package/dist/cjs/head/index.native.js.map +1 -1
  86. package/dist/cjs/head/types.native.js.map +1 -1
  87. package/dist/cjs/head/url.native.js.map +1 -1
  88. package/dist/cjs/headless-server.native.js.map +1 -1
  89. package/dist/cjs/headless.native.js.map +1 -1
  90. package/dist/cjs/hooks.native.js.map +1 -1
  91. package/dist/cjs/hooks.test.native.js.map +1 -1
  92. package/dist/cjs/href.native.js.map +1 -1
  93. package/dist/cjs/image/getImageData.native.js.map +1 -1
  94. package/dist/cjs/image.native.js.map +1 -1
  95. package/dist/cjs/index.native.js +1 -1
  96. package/dist/cjs/index.native.js.map +1 -1
  97. package/dist/cjs/interfaces/router.native.js.map +1 -1
  98. package/dist/cjs/layouts/Drawer.native.js.map +1 -1
  99. package/dist/cjs/layouts/NativeTabs.native.js.map +1 -1
  100. package/dist/cjs/layouts/Stack.native.js +1 -1
  101. package/dist/cjs/layouts/Stack.native.js.map +1 -1
  102. package/dist/cjs/layouts/Tabs.native.js.map +1 -1
  103. package/dist/cjs/layouts/stack-navigator.native.js.map +1 -1
  104. package/dist/cjs/layouts/stack-utils/StackHeaderBackButton.native.js.map +1 -1
  105. package/dist/cjs/layouts/stack-utils/StackHeaderComponent.native.js.map +1 -1
  106. package/dist/cjs/layouts/stack-utils/StackHeaderLeft.native.js.map +1 -1
  107. package/dist/cjs/layouts/stack-utils/StackHeaderRight.native.js.map +1 -1
  108. package/dist/cjs/layouts/stack-utils/StackHeaderSearchBar.native.js.map +1 -1
  109. package/dist/cjs/layouts/stack-utils/StackHeaderTitle.native.js.map +1 -1
  110. package/dist/cjs/layouts/stack-utils/StackScreen.native.js.map +1 -1
  111. package/dist/cjs/layouts/stack-utils/__tests__/composition.test.native.js.map +1 -1
  112. package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -1
  113. package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
  114. package/dist/cjs/lazyWithRetry.native.js.map +1 -1
  115. package/dist/cjs/link/Link.native.js.map +1 -1
  116. package/dist/cjs/link/Redirect.native.js.map +1 -1
  117. package/dist/cjs/link/getLinking.native.js.map +1 -1
  118. package/dist/cjs/link/href.native.js.map +1 -1
  119. package/dist/cjs/link/path.native.js.map +1 -1
  120. package/dist/cjs/link/prefetchIntent.native.js.map +1 -1
  121. package/dist/cjs/link/prefetchIntent.test.native.js.map +1 -1
  122. package/dist/cjs/link/prefetchViewport.native.js.map +1 -1
  123. package/dist/cjs/link/prefetchViewport.test.native.js.map +1 -1
  124. package/dist/cjs/link/useLinkTo.native.js.map +1 -1
  125. package/dist/cjs/link/useLoadedNavigation.native.js.map +1 -1
  126. package/dist/cjs/metro-config/buildOneMetroResolverOverrides.native.js.map +1 -1
  127. package/dist/cjs/metro-config/getViteMetroPluginOptions.integration.test.native.js.map +1 -1
  128. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +1 -1
  129. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  130. package/dist/cjs/metro-config/withOne.native.js.map +1 -1
  131. package/dist/cjs/metro-config/withOne.test.native.js.map +1 -1
  132. package/dist/cjs/native-tabs.native.js.map +1 -1
  133. package/dist/cjs/notFoundState.native.js.map +1 -1
  134. package/dist/cjs/polyfills-mobile.native.js.map +1 -1
  135. package/dist/cjs/polyfills-server.native.js.map +1 -1
  136. package/dist/cjs/router/FlagsContext.native.js.map +1 -1
  137. package/dist/cjs/router/Route.native.js.map +1 -1
  138. package/dist/cjs/router/RouteInfoContext.native.js.map +1 -1
  139. package/dist/cjs/router/RouterStore.native.js.map +1 -1
  140. package/dist/cjs/router/SpaShellContext.native.js.map +1 -1
  141. package/dist/cjs/router/createRoute.native.js.map +1 -1
  142. package/dist/cjs/router/filterRootHTML.native.js.map +1 -1
  143. package/dist/cjs/router/findRouteNode.native.js.map +1 -1
  144. package/dist/cjs/router/getLinkingConfig.native.js.map +1 -1
  145. package/dist/cjs/router/getLinkingConfig.test.native.js.map +1 -1
  146. package/dist/cjs/router/getNormalizedStatePath.native.js.map +1 -1
  147. package/dist/cjs/router/getRouteInfo.native.js.map +1 -1
  148. package/dist/cjs/router/getRoutes.native.js.map +1 -1
  149. package/dist/cjs/router/getRoutes.test.native.js.map +1 -1
  150. package/dist/cjs/router/glob-patterns.native.js.map +1 -1
  151. package/dist/cjs/router/imperative-api.native.js.map +1 -1
  152. package/dist/cjs/router/interceptRoutes.native.js.map +1 -1
  153. package/dist/cjs/router/isIndexPath.native.js.map +1 -1
  154. package/dist/cjs/router/lastAction.native.js.map +1 -1
  155. package/dist/cjs/router/linkingConfig.native.js.map +1 -1
  156. package/dist/cjs/router/matchers.native.js.map +1 -1
  157. package/dist/cjs/router/matchers.test.native.js.map +1 -1
  158. package/dist/cjs/router/params.native.js.map +1 -1
  159. package/dist/cjs/router/renderingRegistry.native.js.map +1 -1
  160. package/dist/cjs/router/router.native.js.map +1 -1
  161. package/dist/cjs/router/serverLocationContext.native.js.map +1 -1
  162. package/dist/cjs/router/sitemap.native.js.map +1 -1
  163. package/dist/cjs/router/sitemap.test.native.js.map +1 -1
  164. package/dist/cjs/router/sortRoutes.native.js.map +1 -1
  165. package/dist/cjs/router/useInitializeOneRouter.native.js.map +1 -1
  166. package/dist/cjs/router/useNavigation.native.js.map +1 -1
  167. package/dist/cjs/router/useScreens.native.js.map +1 -1
  168. package/dist/cjs/router/useViteRoutes.native.js.map +1 -1
  169. package/dist/cjs/router/utils/getNavigateAction.native.js.map +1 -1
  170. package/dist/cjs/router/utils/getNavigateAction.test.native.js.map +1 -1
  171. package/dist/cjs/router/web/ScreenRenderContext.native.js.map +1 -1
  172. package/dist/cjs/router/web/WebStackNavigator.native.js.map +1 -1
  173. package/dist/cjs/router/web/WebStackView.native.js.map +1 -1
  174. package/dist/cjs/router/web/__tests__/WebStackView.runtime.test.native.js.map +1 -1
  175. package/dist/cjs/router/web/__tests__/WebStackView.test.native.js.map +1 -1
  176. package/dist/cjs/router/web/__tests__/stackStateUtils.test.native.js.map +1 -1
  177. package/dist/cjs/router/web/stackStateUtils.native.js.map +1 -1
  178. package/dist/cjs/screensFeatureFlags.native.js.map +1 -1
  179. package/dist/cjs/serve-worker.native.js.map +1 -1
  180. package/dist/cjs/serve.native.js.map +1 -1
  181. package/dist/cjs/server/ServerContextScript.native.js.map +1 -1
  182. package/dist/cjs/server/createRoutesManifest.native.js.map +1 -1
  183. package/dist/cjs/server/getServerManifest.native.js.map +1 -1
  184. package/dist/cjs/server/getServerManifest.test.native.js.map +1 -1
  185. package/dist/cjs/server/oneServe.native.js.map +1 -1
  186. package/dist/cjs/server/setServerGlobals.native.js.map +1 -1
  187. package/dist/cjs/server/setupBuildOptions.native.js.map +1 -1
  188. package/dist/cjs/server/setupServerGlobals.native.js.map +1 -1
  189. package/dist/cjs/server/ssrLoaderData.native.js.map +1 -1
  190. package/dist/cjs/server/staticHtmlFetcher.native.js.map +1 -1
  191. package/dist/cjs/server/workerHandler.native.js.map +1 -1
  192. package/dist/cjs/server-render.native.js.map +1 -1
  193. package/dist/cjs/skewProtection.native.js.map +1 -1
  194. package/dist/cjs/testing-utils.native.js.map +1 -1
  195. package/dist/cjs/typed-routes/generateRouteTypes.native.js.map +1 -1
  196. package/dist/cjs/typed-routes/generateRouteTypes.test.native.js.map +1 -1
  197. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
  198. package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.test.native.js.map +1 -1
  199. package/dist/cjs/typed-routes/injectRouteHelpers.native.js.map +1 -1
  200. package/dist/cjs/types.native.js.map +1 -1
  201. package/dist/cjs/ui/Slot.native.js.map +1 -1
  202. package/dist/cjs/ui/TabContext.native.js.map +1 -1
  203. package/dist/cjs/ui/TabList.native.js.map +1 -1
  204. package/dist/cjs/ui/TabRouter.native.js.map +1 -1
  205. package/dist/cjs/ui/TabSlot.native.js.map +1 -1
  206. package/dist/cjs/ui/TabTrigger.native.js.map +1 -1
  207. package/dist/cjs/ui/Tabs.native.js.map +1 -1
  208. package/dist/cjs/ui/common.native.js.map +1 -1
  209. package/dist/cjs/ui/index.native.js.map +1 -1
  210. package/dist/cjs/ui/useComponent.native.js.map +1 -1
  211. package/dist/cjs/useFocusEffect.native.js.map +1 -1
  212. package/dist/cjs/useLoader.native.js.map +1 -1
  213. package/dist/cjs/useMatches.native.js.map +1 -1
  214. package/dist/cjs/useMatches.test.native.js.map +1 -1
  215. package/dist/cjs/useServerHeadInsertion.native.js.map +1 -1
  216. package/dist/cjs/utils/assertIsReady.native.js.map +1 -1
  217. package/dist/cjs/utils/buildOutputPointer.native.js.map +1 -1
  218. package/dist/cjs/utils/buildOutputPointer.test.native.js.map +1 -1
  219. package/dist/cjs/utils/children.native.js.map +1 -1
  220. package/dist/cjs/utils/cleanUrl.native.js.map +1 -1
  221. package/dist/cjs/utils/cleanUrl.test.native.js.map +1 -1
  222. package/dist/cjs/utils/dynamicImport.native.js.map +1 -1
  223. package/dist/cjs/utils/dynamicImport.test.native.js.map +1 -1
  224. package/dist/cjs/utils/ensureExists.native.js.map +1 -1
  225. package/dist/cjs/utils/evictOldest.native.js.map +1 -1
  226. package/dist/cjs/utils/existsAsync.native.js.map +1 -1
  227. package/dist/cjs/utils/findRootLayout.native.js.map +1 -1
  228. package/dist/cjs/utils/getPageExport.native.js.map +1 -1
  229. package/dist/cjs/utils/getPathnameFromFilePath.native.js.map +1 -1
  230. package/dist/cjs/utils/getPathnameFromFilePath.test.native.js.map +1 -1
  231. package/dist/cjs/utils/getRouterRootFromOneOptions.native.js.map +1 -1
  232. package/dist/cjs/utils/globDir.native.js.map +1 -1
  233. package/dist/cjs/utils/hashString.native.js.map +1 -1
  234. package/dist/cjs/utils/htmlEscape.native.js.map +1 -1
  235. package/dist/cjs/utils/isResponse.native.js.map +1 -1
  236. package/dist/cjs/utils/isRolldown.native.js.map +1 -1
  237. package/dist/cjs/utils/isStatus.native.js.map +1 -1
  238. package/dist/cjs/utils/pLimit.native.js.map +1 -1
  239. package/dist/cjs/utils/posixPathContract.test.native.js.map +1 -1
  240. package/dist/cjs/utils/promiseWithResolvers.native.js.map +1 -1
  241. package/dist/cjs/utils/rand.native.js.map +1 -1
  242. package/dist/cjs/utils/redirect.native.js.map +1 -1
  243. package/dist/cjs/utils/removeParams.native.js.map +1 -1
  244. package/dist/cjs/utils/removeSearch.native.js.map +1 -1
  245. package/dist/cjs/utils/removeUndefined.native.js.map +1 -1
  246. package/dist/cjs/utils/routeFileWatch.native.js.map +1 -1
  247. package/dist/cjs/utils/routeFileWatch.test.native.js.map +1 -1
  248. package/dist/cjs/utils/style.native.js.map +1 -1
  249. package/dist/cjs/utils/toAbsolute.native.js.map +1 -1
  250. package/dist/cjs/utils/toServerOutputPath.native.js.map +1 -1
  251. package/dist/cjs/utils/toServerOutputPath.test.native.js.map +1 -1
  252. package/dist/cjs/utils/trackLoaderDependencies.native.js.map +1 -1
  253. package/dist/cjs/utils/url.native.js.map +1 -1
  254. package/dist/cjs/utils/useConstant.native.js.map +1 -1
  255. package/dist/cjs/utils/watchFile.native.js.map +1 -1
  256. package/dist/cjs/utils/weakKey.native.js.map +1 -1
  257. package/dist/cjs/utils/weakMemo.native.js.map +1 -1
  258. package/dist/cjs/utils/withStaticProperties.native.js.map +1 -1
  259. package/dist/cjs/utils/workerImport.native.js.map +1 -1
  260. package/dist/cjs/validateParams.native.js.map +1 -1
  261. package/dist/cjs/validateSearch.native.js.map +1 -1
  262. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
  263. package/dist/cjs/vercel/build/config/vc-build-output-config-base.native.js.map +1 -1
  264. package/dist/cjs/vercel/build/config/vc-config-base.native.js.map +1 -1
  265. package/dist/cjs/vercel/build/config/vc-package-base.native.js.map +1 -1
  266. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
  267. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
  268. package/dist/cjs/vercel/build/getPathFromRoute.native.js.map +1 -1
  269. package/dist/cjs/views/EmptyRoute.native.js.map +1 -1
  270. package/dist/cjs/views/ErrorBoundary.native.js.map +1 -1
  271. package/dist/cjs/views/LoadProgressBar.native.js.map +1 -1
  272. package/dist/cjs/views/Navigator.native.js.map +1 -1
  273. package/dist/cjs/views/OneStackRouter.native.js.map +1 -1
  274. package/dist/cjs/views/Protected.native.js.map +1 -1
  275. package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
  276. package/dist/cjs/views/Screen.native.js.map +1 -1
  277. package/dist/cjs/views/ScrollBehavior.native.js.map +1 -1
  278. package/dist/cjs/views/SourceInspector.native.js.map +1 -1
  279. package/dist/cjs/views/Try.native.js.map +1 -1
  280. package/dist/cjs/vite/DevHead.native.js.map +1 -1
  281. package/dist/cjs/vite/constants.native.js.map +1 -1
  282. package/dist/cjs/vite/customNodeExternals.native.js.map +1 -1
  283. package/dist/cjs/vite/ensureTsConfig.native.js.map +1 -1
  284. package/dist/cjs/vite/findDepsToOptimize.native.js.map +1 -1
  285. package/dist/cjs/vite/getManifest.native.js.map +1 -1
  286. package/dist/cjs/vite/getManifest.test.native.js.map +1 -1
  287. package/dist/cjs/vite/loadConfig.native.js.map +1 -1
  288. package/dist/cjs/vite/makePluginWebOnly.native.js.map +1 -1
  289. package/dist/cjs/vite/one-server-only.test.native.js.map +1 -1
  290. package/dist/cjs/vite/one.native.js.map +1 -1
  291. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  292. package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
  293. package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -1
  294. package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js.map +1 -1
  295. package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -1
  296. package/dist/cjs/vite/plugins/devtoolsPlugin.native.js.map +1 -1
  297. package/dist/cjs/vite/plugins/environmentGuardPlugin.cjs +25 -15
  298. package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js +26 -16
  299. package/dist/cjs/vite/plugins/environmentGuardPlugin.native.js.map +1 -1
  300. package/dist/cjs/vite/plugins/environmentGuardPlugin.test.cjs +44 -31
  301. package/dist/cjs/vite/plugins/environmentGuardPlugin.test.native.js +44 -31
  302. package/dist/cjs/vite/plugins/environmentGuardPlugin.test.native.js.map +1 -1
  303. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  304. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -1
  305. package/dist/cjs/vite/plugins/fixDependenciesPlugin.native.js.map +1 -1
  306. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  307. package/dist/cjs/vite/plugins/imageDataPlugin.native.js.map +1 -1
  308. package/dist/cjs/vite/plugins/imageDataPlugin.test.native.js.map +1 -1
  309. package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js.map +1 -1
  310. package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
  311. package/dist/cjs/vite/plugins/sourceInspectorPlugin.test.native.js.map +1 -1
  312. package/dist/cjs/vite/plugins/useDomPlugin.native.js.map +1 -1
  313. package/dist/cjs/vite/plugins/virtualEntryConstants.native.js.map +1 -1
  314. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  315. package/dist/cjs/vite/plugins/virtualEntryPlugin.test.native.js.map +1 -1
  316. package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js.map +1 -1
  317. package/dist/cjs/vite/replaceLoader.native.js.map +1 -1
  318. package/dist/cjs/vite/resolveResponse.native.js.map +1 -1
  319. package/dist/cjs/vite/types.native.js.map +1 -1
  320. package/dist/cjs/vite-auto-warm.native.js.map +1 -1
  321. package/dist/cjs/vite.native.js.map +1 -1
  322. package/dist/cjs/zero/getQueryKey.native.js.map +1 -1
  323. package/dist/cjs/zero/isZeroQuery.native.js.map +1 -1
  324. package/dist/cjs/zero/resolveQuery.native.js.map +1 -1
  325. package/dist/cjs/zero/subscribeToQuery.native.js.map +1 -1
  326. package/dist/cjs/zero/types.native.js.map +1 -1
  327. package/dist/cjs/zero/useQuery.native.js.map +1 -1
  328. package/dist/cjs/zero/useQueryZero.native.js.map +1 -1
  329. package/dist/cjs/zero.native.js.map +1 -1
  330. package/dist/esm/cli/build.mjs +41 -2
  331. package/dist/esm/cli/build.mjs.map +1 -1
  332. package/dist/esm/cli/build.native.js +50 -2
  333. package/dist/esm/cli/build.native.js.map +1 -1
  334. package/dist/esm/getURL.native.js +6 -5
  335. package/dist/esm/getURL.native.js.map +1 -1
  336. package/dist/esm/getURL.native.test.js +27 -0
  337. package/dist/esm/getURL.native.test.js.map +6 -0
  338. package/dist/esm/getURL.native.test.mjs +27 -0
  339. package/dist/esm/getURL.native.test.mjs.map +1 -0
  340. package/dist/esm/getURL.native.test.native.js +31 -0
  341. package/dist/esm/getURL.native.test.native.js.map +1 -0
  342. package/dist/esm/vite/plugins/environmentGuardPlugin.mjs +25 -15
  343. package/dist/esm/vite/plugins/environmentGuardPlugin.mjs.map +1 -1
  344. package/dist/esm/vite/plugins/environmentGuardPlugin.native.js +26 -16
  345. package/dist/esm/vite/plugins/environmentGuardPlugin.native.js.map +1 -1
  346. package/dist/esm/vite/plugins/environmentGuardPlugin.test.mjs +44 -31
  347. package/dist/esm/vite/plugins/environmentGuardPlugin.test.mjs.map +1 -1
  348. package/dist/esm/vite/plugins/environmentGuardPlugin.test.native.js +44 -31
  349. package/dist/esm/vite/plugins/environmentGuardPlugin.test.native.js.map +1 -1
  350. package/env.d.ts +2 -0
  351. package/package.json +10 -10
  352. package/src/cli/build.ts +58 -1
  353. package/src/getURL.native.test.ts +33 -0
  354. package/src/getURL.native.ts +9 -7
  355. package/src/vite/plugins/environmentGuardPlugin.test.ts +58 -33
  356. package/src/vite/plugins/environmentGuardPlugin.ts +50 -20
  357. package/types/cli/build.d.ts.map +1 -1
  358. package/types/getURL.native.d.ts.map +1 -1
  359. package/types/getURL.native.test.d.ts +2 -0
  360. package/types/getURL.native.test.d.ts.map +1 -0
  361. package/types/vite/plugins/environmentGuardPlugin.d.ts +16 -4
  362. package/types/vite/plugins/environmentGuardPlugin.d.ts.map +1 -1
@@ -7,21 +7,25 @@ describe("environmentGuardPlugin", () => {
7
7
  expect(resolveEnvironmentGuard("vite", "ssr")).toBeNull();
8
8
  expect(resolveEnvironmentGuard("some-other-pkg", "ios")).toBeNull();
9
9
  });
10
- it("returns virtual id for server-only", () => {
11
- const id = resolveEnvironmentGuard("server-only", "ssr");
12
- expect(id).toBe("\0one-env-guard:server-only:ssr");
10
+ it("returns virtual id for server-only (with consumer)", () => {
11
+ const id = resolveEnvironmentGuard("server-only", "ssr", "server");
12
+ expect(id).toBe("\0one-env-guard:server-only:ssr:server");
13
13
  });
14
- it("returns virtual id for client-only", () => {
15
- const id = resolveEnvironmentGuard("client-only", "client");
16
- expect(id).toBe("\0one-env-guard:client-only:client");
14
+ it("returns virtual id for client-only (with consumer)", () => {
15
+ const id = resolveEnvironmentGuard("client-only", "client", "client");
16
+ expect(id).toBe("\0one-env-guard:client-only:client:client");
17
17
  });
18
18
  it("returns virtual id for native-only", () => {
19
19
  const id = resolveEnvironmentGuard("native-only", "ios");
20
- expect(id).toBe("\0one-env-guard:native-only:ios");
20
+ expect(id).toBe("\0one-env-guard:native-only:ios:unknown");
21
21
  });
22
22
  it("returns virtual id for web-only", () => {
23
23
  const id = resolveEnvironmentGuard("web-only", "client");
24
- expect(id).toBe("\0one-env-guard:web-only:client");
24
+ expect(id).toBe("\0one-env-guard:web-only:client:unknown");
25
+ });
26
+ it("encodes worker consumer for cloudflare deploy", () => {
27
+ const id = resolveEnvironmentGuard("server-only", "worker", "server");
28
+ expect(id).toBe("\0one-env-guard:server-only:worker:server");
25
29
  });
26
30
  });
27
31
  describe("loadEnvironmentGuard", () => {
@@ -29,70 +33,79 @@ describe("environmentGuardPlugin", () => {
29
33
  expect(loadEnvironmentGuard("react")).toBeNull();
30
34
  expect(loadEnvironmentGuard("/some/path.ts")).toBeNull();
31
35
  });
32
- it("server-only: allowed in ssr", () => {
36
+ it("server-only: allowed in any server-consumer env", () => {
37
+ expect(loadEnvironmentGuard("\0one-env-guard:server-only:ssr:server")).toBe("export {}");
38
+ expect(loadEnvironmentGuard("\0one-env-guard:server-only:worker:server")).toBe("export {}");
39
+ expect(loadEnvironmentGuard("\0one-env-guard:server-only:edge:server")).toBe("export {}");
40
+ });
41
+ it("server-only: legacy 2-part form still allowed in ssr", () => {
33
42
  const result = loadEnvironmentGuard("\0one-env-guard:server-only:ssr");
34
43
  expect(result).toBe("export {}");
35
44
  });
36
45
  it("server-only: forbidden in client", () => {
37
- const result = loadEnvironmentGuard("\0one-env-guard:server-only:client");
46
+ const result = loadEnvironmentGuard("\0one-env-guard:server-only:client:client");
38
47
  expect(result).toContain("throw new Error");
39
48
  expect(result).toContain("server-only");
40
49
  expect(result).toContain("client");
41
50
  });
42
51
  it("server-only: forbidden in ios", () => {
43
- const result = loadEnvironmentGuard("\0one-env-guard:server-only:ios");
52
+ const result = loadEnvironmentGuard("\0one-env-guard:server-only:ios:client");
44
53
  expect(result).toContain("throw new Error");
45
54
  });
46
55
  it("server-only: forbidden in android", () => {
47
- const result = loadEnvironmentGuard("\0one-env-guard:server-only:android");
56
+ const result = loadEnvironmentGuard("\0one-env-guard:server-only:android:client");
48
57
  expect(result).toContain("throw new Error");
49
58
  });
50
59
  it("client-only: allowed in client", () => {
60
+ const result = loadEnvironmentGuard("\0one-env-guard:client-only:client:client");
61
+ expect(result).toBe("export {}");
62
+ });
63
+ it("client-only: legacy 2-part form still allowed in client", () => {
51
64
  const result = loadEnvironmentGuard("\0one-env-guard:client-only:client");
52
65
  expect(result).toBe("export {}");
53
66
  });
54
67
  it("client-only: forbidden in ssr", () => {
55
- const result = loadEnvironmentGuard("\0one-env-guard:client-only:ssr");
68
+ const result = loadEnvironmentGuard("\0one-env-guard:client-only:ssr:server");
56
69
  expect(result).toContain("throw new Error");
57
70
  });
58
71
  it("client-only: forbidden in ios", () => {
59
- const result = loadEnvironmentGuard("\0one-env-guard:client-only:ios");
72
+ const result = loadEnvironmentGuard("\0one-env-guard:client-only:ios:server");
60
73
  expect(result).toContain("throw new Error");
61
74
  });
62
75
  it("client-only: forbidden in android", () => {
63
- const result = loadEnvironmentGuard("\0one-env-guard:client-only:android");
76
+ const result = loadEnvironmentGuard("\0one-env-guard:client-only:android:server");
64
77
  expect(result).toContain("throw new Error");
65
78
  });
66
79
  it("native-only: allowed in ios", () => {
67
- const result = loadEnvironmentGuard("\0one-env-guard:native-only:ios");
80
+ const result = loadEnvironmentGuard("\0one-env-guard:native-only:ios:unknown");
68
81
  expect(result).toBe("export {}");
69
82
  });
70
83
  it("native-only: allowed in android", () => {
71
- const result = loadEnvironmentGuard("\0one-env-guard:native-only:android");
84
+ const result = loadEnvironmentGuard("\0one-env-guard:native-only:android:unknown");
72
85
  expect(result).toBe("export {}");
73
86
  });
74
87
  it("native-only: forbidden in client", () => {
75
- const result = loadEnvironmentGuard("\0one-env-guard:native-only:client");
88
+ const result = loadEnvironmentGuard("\0one-env-guard:native-only:client:client");
76
89
  expect(result).toContain("throw new Error");
77
90
  });
78
91
  it("native-only: forbidden in ssr", () => {
79
- const result = loadEnvironmentGuard("\0one-env-guard:native-only:ssr");
92
+ const result = loadEnvironmentGuard("\0one-env-guard:native-only:ssr:server");
80
93
  expect(result).toContain("throw new Error");
81
94
  });
82
95
  it("web-only: allowed in client", () => {
83
- const result = loadEnvironmentGuard("\0one-env-guard:web-only:client");
96
+ const result = loadEnvironmentGuard("\0one-env-guard:web-only:client:client");
84
97
  expect(result).toBe("export {}");
85
98
  });
86
99
  it("web-only: allowed in ssr", () => {
87
- const result = loadEnvironmentGuard("\0one-env-guard:web-only:ssr");
100
+ const result = loadEnvironmentGuard("\0one-env-guard:web-only:ssr:server");
88
101
  expect(result).toBe("export {}");
89
102
  });
90
103
  it("web-only: forbidden in ios", () => {
91
- const result = loadEnvironmentGuard("\0one-env-guard:web-only:ios");
104
+ const result = loadEnvironmentGuard("\0one-env-guard:web-only:ios:unknown");
92
105
  expect(result).toContain("throw new Error");
93
106
  });
94
107
  it("web-only: forbidden in android", () => {
95
- const result = loadEnvironmentGuard("\0one-env-guard:web-only:android");
108
+ const result = loadEnvironmentGuard("\0one-env-guard:web-only:android:unknown");
96
109
  expect(result).toContain("throw new Error");
97
110
  });
98
111
  it("disabled guards always pass", () => {
@@ -102,36 +115,36 @@ describe("environmentGuardPlugin", () => {
102
115
  });
103
116
  describe("options", () => {
104
117
  it("disabled: true makes all guards no-ops", () => {
105
- const id = resolveEnvironmentGuard("client-only", "ssr", {
118
+ const id = resolveEnvironmentGuard("client-only", "ssr", "server", {
106
119
  disabled: true
107
120
  });
108
121
  expect(id).toBe("\0one-env-guard:client-only:disabled");
109
122
  expect(loadEnvironmentGuard(id)).toBe("export {}");
110
123
  });
111
124
  it("disableGuards: disables specific guard types", () => {
112
- const id1 = resolveEnvironmentGuard("client-only", "ssr", {
125
+ const id1 = resolveEnvironmentGuard("client-only", "ssr", "server", {
113
126
  disableGuards: ["client-only"]
114
127
  });
115
128
  expect(id1).toBe("\0one-env-guard:client-only:disabled");
116
- const id2 = resolveEnvironmentGuard("server-only", "client", {
129
+ const id2 = resolveEnvironmentGuard("server-only", "client", "client", {
117
130
  disableGuards: ["client-only"]
118
131
  });
119
- expect(id2).toBe("\0one-env-guard:server-only:client");
132
+ expect(id2).toBe("\0one-env-guard:server-only:client:client");
120
133
  expect(loadEnvironmentGuard(id2)).toContain("throw new Error");
121
134
  });
122
135
  it("disableGuards: can disable multiple guards", () => {
123
- const id1 = resolveEnvironmentGuard("client-only", "ssr", {
136
+ const id1 = resolveEnvironmentGuard("client-only", "ssr", "server", {
124
137
  disableGuards: ["client-only", "server-only"]
125
138
  });
126
139
  expect(id1).toBe("\0one-env-guard:client-only:disabled");
127
- const id2 = resolveEnvironmentGuard("server-only", "client", {
140
+ const id2 = resolveEnvironmentGuard("server-only", "client", "client", {
128
141
  disableGuards: ["client-only", "server-only"]
129
142
  });
130
143
  expect(id2).toBe("\0one-env-guard:server-only:disabled");
131
- const id3 = resolveEnvironmentGuard("native-only", "client", {
144
+ const id3 = resolveEnvironmentGuard("native-only", "client", "client", {
132
145
  disableGuards: ["client-only", "server-only"]
133
146
  });
134
- expect(id3).toBe("\0one-env-guard:native-only:client");
147
+ expect(id3).toBe("\0one-env-guard:native-only:client:client");
135
148
  });
136
149
  });
137
150
  });
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","it","resolveEnvironmentGuard","loadEnvironmentGuard","toBeNull","id","toBe","result","toContain","disabled","id1","disableGuards","id2","id3"],"sources":["../../../../src/vite/plugins/environmentGuardPlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","it","resolveEnvironmentGuard","loadEnvironmentGuard","toBeNull","id","toBe","result","toContain","disabled","id1","disableGuards","id2","id3"],"sources":["../../../../src/vite/plugins/environmentGuardPlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -7,21 +7,25 @@ describe("environmentGuardPlugin", function () {
7
7
  expect(resolveEnvironmentGuard("vite", "ssr")).toBeNull();
8
8
  expect(resolveEnvironmentGuard("some-other-pkg", "ios")).toBeNull();
9
9
  });
10
- it("returns virtual id for server-only", function () {
11
- var id = resolveEnvironmentGuard("server-only", "ssr");
12
- expect(id).toBe("\0one-env-guard:server-only:ssr");
10
+ it("returns virtual id for server-only (with consumer)", function () {
11
+ var id = resolveEnvironmentGuard("server-only", "ssr", "server");
12
+ expect(id).toBe("\0one-env-guard:server-only:ssr:server");
13
13
  });
14
- it("returns virtual id for client-only", function () {
15
- var id = resolveEnvironmentGuard("client-only", "client");
16
- expect(id).toBe("\0one-env-guard:client-only:client");
14
+ it("returns virtual id for client-only (with consumer)", function () {
15
+ var id = resolveEnvironmentGuard("client-only", "client", "client");
16
+ expect(id).toBe("\0one-env-guard:client-only:client:client");
17
17
  });
18
18
  it("returns virtual id for native-only", function () {
19
19
  var id = resolveEnvironmentGuard("native-only", "ios");
20
- expect(id).toBe("\0one-env-guard:native-only:ios");
20
+ expect(id).toBe("\0one-env-guard:native-only:ios:unknown");
21
21
  });
22
22
  it("returns virtual id for web-only", function () {
23
23
  var id = resolveEnvironmentGuard("web-only", "client");
24
- expect(id).toBe("\0one-env-guard:web-only:client");
24
+ expect(id).toBe("\0one-env-guard:web-only:client:unknown");
25
+ });
26
+ it("encodes worker consumer for cloudflare deploy", function () {
27
+ var id = resolveEnvironmentGuard("server-only", "worker", "server");
28
+ expect(id).toBe("\0one-env-guard:server-only:worker:server");
25
29
  });
26
30
  });
27
31
  describe("loadEnvironmentGuard", function () {
@@ -29,70 +33,79 @@ describe("environmentGuardPlugin", function () {
29
33
  expect(loadEnvironmentGuard("react")).toBeNull();
30
34
  expect(loadEnvironmentGuard("/some/path.ts")).toBeNull();
31
35
  });
32
- it("server-only: allowed in ssr", function () {
36
+ it("server-only: allowed in any server-consumer env", function () {
37
+ expect(loadEnvironmentGuard("\0one-env-guard:server-only:ssr:server")).toBe("export {}");
38
+ expect(loadEnvironmentGuard("\0one-env-guard:server-only:worker:server")).toBe("export {}");
39
+ expect(loadEnvironmentGuard("\0one-env-guard:server-only:edge:server")).toBe("export {}");
40
+ });
41
+ it("server-only: legacy 2-part form still allowed in ssr", function () {
33
42
  var result = loadEnvironmentGuard("\0one-env-guard:server-only:ssr");
34
43
  expect(result).toBe("export {}");
35
44
  });
36
45
  it("server-only: forbidden in client", function () {
37
- var result = loadEnvironmentGuard("\0one-env-guard:server-only:client");
46
+ var result = loadEnvironmentGuard("\0one-env-guard:server-only:client:client");
38
47
  expect(result).toContain("throw new Error");
39
48
  expect(result).toContain("server-only");
40
49
  expect(result).toContain("client");
41
50
  });
42
51
  it("server-only: forbidden in ios", function () {
43
- var result = loadEnvironmentGuard("\0one-env-guard:server-only:ios");
52
+ var result = loadEnvironmentGuard("\0one-env-guard:server-only:ios:client");
44
53
  expect(result).toContain("throw new Error");
45
54
  });
46
55
  it("server-only: forbidden in android", function () {
47
- var result = loadEnvironmentGuard("\0one-env-guard:server-only:android");
56
+ var result = loadEnvironmentGuard("\0one-env-guard:server-only:android:client");
48
57
  expect(result).toContain("throw new Error");
49
58
  });
50
59
  it("client-only: allowed in client", function () {
60
+ var result = loadEnvironmentGuard("\0one-env-guard:client-only:client:client");
61
+ expect(result).toBe("export {}");
62
+ });
63
+ it("client-only: legacy 2-part form still allowed in client", function () {
51
64
  var result = loadEnvironmentGuard("\0one-env-guard:client-only:client");
52
65
  expect(result).toBe("export {}");
53
66
  });
54
67
  it("client-only: forbidden in ssr", function () {
55
- var result = loadEnvironmentGuard("\0one-env-guard:client-only:ssr");
68
+ var result = loadEnvironmentGuard("\0one-env-guard:client-only:ssr:server");
56
69
  expect(result).toContain("throw new Error");
57
70
  });
58
71
  it("client-only: forbidden in ios", function () {
59
- var result = loadEnvironmentGuard("\0one-env-guard:client-only:ios");
72
+ var result = loadEnvironmentGuard("\0one-env-guard:client-only:ios:server");
60
73
  expect(result).toContain("throw new Error");
61
74
  });
62
75
  it("client-only: forbidden in android", function () {
63
- var result = loadEnvironmentGuard("\0one-env-guard:client-only:android");
76
+ var result = loadEnvironmentGuard("\0one-env-guard:client-only:android:server");
64
77
  expect(result).toContain("throw new Error");
65
78
  });
66
79
  it("native-only: allowed in ios", function () {
67
- var result = loadEnvironmentGuard("\0one-env-guard:native-only:ios");
80
+ var result = loadEnvironmentGuard("\0one-env-guard:native-only:ios:unknown");
68
81
  expect(result).toBe("export {}");
69
82
  });
70
83
  it("native-only: allowed in android", function () {
71
- var result = loadEnvironmentGuard("\0one-env-guard:native-only:android");
84
+ var result = loadEnvironmentGuard("\0one-env-guard:native-only:android:unknown");
72
85
  expect(result).toBe("export {}");
73
86
  });
74
87
  it("native-only: forbidden in client", function () {
75
- var result = loadEnvironmentGuard("\0one-env-guard:native-only:client");
88
+ var result = loadEnvironmentGuard("\0one-env-guard:native-only:client:client");
76
89
  expect(result).toContain("throw new Error");
77
90
  });
78
91
  it("native-only: forbidden in ssr", function () {
79
- var result = loadEnvironmentGuard("\0one-env-guard:native-only:ssr");
92
+ var result = loadEnvironmentGuard("\0one-env-guard:native-only:ssr:server");
80
93
  expect(result).toContain("throw new Error");
81
94
  });
82
95
  it("web-only: allowed in client", function () {
83
- var result = loadEnvironmentGuard("\0one-env-guard:web-only:client");
96
+ var result = loadEnvironmentGuard("\0one-env-guard:web-only:client:client");
84
97
  expect(result).toBe("export {}");
85
98
  });
86
99
  it("web-only: allowed in ssr", function () {
87
- var result = loadEnvironmentGuard("\0one-env-guard:web-only:ssr");
100
+ var result = loadEnvironmentGuard("\0one-env-guard:web-only:ssr:server");
88
101
  expect(result).toBe("export {}");
89
102
  });
90
103
  it("web-only: forbidden in ios", function () {
91
- var result = loadEnvironmentGuard("\0one-env-guard:web-only:ios");
104
+ var result = loadEnvironmentGuard("\0one-env-guard:web-only:ios:unknown");
92
105
  expect(result).toContain("throw new Error");
93
106
  });
94
107
  it("web-only: forbidden in android", function () {
95
- var result = loadEnvironmentGuard("\0one-env-guard:web-only:android");
108
+ var result = loadEnvironmentGuard("\0one-env-guard:web-only:android:unknown");
96
109
  expect(result).toContain("throw new Error");
97
110
  });
98
111
  it("disabled guards always pass", function () {
@@ -102,36 +115,36 @@ describe("environmentGuardPlugin", function () {
102
115
  });
103
116
  describe("options", function () {
104
117
  it("disabled: true makes all guards no-ops", function () {
105
- var id = resolveEnvironmentGuard("client-only", "ssr", {
118
+ var id = resolveEnvironmentGuard("client-only", "ssr", "server", {
106
119
  disabled: true
107
120
  });
108
121
  expect(id).toBe("\0one-env-guard:client-only:disabled");
109
122
  expect(loadEnvironmentGuard(id)).toBe("export {}");
110
123
  });
111
124
  it("disableGuards: disables specific guard types", function () {
112
- var id1 = resolveEnvironmentGuard("client-only", "ssr", {
125
+ var id1 = resolveEnvironmentGuard("client-only", "ssr", "server", {
113
126
  disableGuards: ["client-only"]
114
127
  });
115
128
  expect(id1).toBe("\0one-env-guard:client-only:disabled");
116
- var id2 = resolveEnvironmentGuard("server-only", "client", {
129
+ var id2 = resolveEnvironmentGuard("server-only", "client", "client", {
117
130
  disableGuards: ["client-only"]
118
131
  });
119
- expect(id2).toBe("\0one-env-guard:server-only:client");
132
+ expect(id2).toBe("\0one-env-guard:server-only:client:client");
120
133
  expect(loadEnvironmentGuard(id2)).toContain("throw new Error");
121
134
  });
122
135
  it("disableGuards: can disable multiple guards", function () {
123
- var id1 = resolveEnvironmentGuard("client-only", "ssr", {
136
+ var id1 = resolveEnvironmentGuard("client-only", "ssr", "server", {
124
137
  disableGuards: ["client-only", "server-only"]
125
138
  });
126
139
  expect(id1).toBe("\0one-env-guard:client-only:disabled");
127
- var id2 = resolveEnvironmentGuard("server-only", "client", {
140
+ var id2 = resolveEnvironmentGuard("server-only", "client", "client", {
128
141
  disableGuards: ["client-only", "server-only"]
129
142
  });
130
143
  expect(id2).toBe("\0one-env-guard:server-only:disabled");
131
- var id3 = resolveEnvironmentGuard("native-only", "client", {
144
+ var id3 = resolveEnvironmentGuard("native-only", "client", "client", {
132
145
  disableGuards: ["client-only", "server-only"]
133
146
  });
134
- expect(id3).toBe("\0one-env-guard:native-only:client");
147
+ expect(id3).toBe("\0one-env-guard:native-only:client:client");
135
148
  });
136
149
  });
137
150
  });
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","it","resolveEnvironmentGuard","loadEnvironmentGuard","toBeNull","id","toBe","result","toContain","disabled","id1","disableGuards","id2"],"sources":["../../../../src/vite/plugins/environmentGuardPlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","it","resolveEnvironmentGuard","loadEnvironmentGuard","toBeNull","id","toBe","result","toContain","disabled","id1","disableGuards","id2","id3"],"sources":["../../../../src/vite/plugins/environmentGuardPlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/env.d.ts CHANGED
@@ -26,6 +26,8 @@ interface OneEnvVariables {
26
26
  VITE_NATIVE: '' | '1'
27
27
  /** "web" for web builds, "ios" or "android" for native. Matches Expo convention. */
28
28
  EXPO_OS: 'web' | 'ios' | 'android'
29
+ /** "web" for web builds, "native" for native builds. Used by Tamagui and One native route branches. */
30
+ TAMAGUI_TARGET: 'web' | 'native'
29
31
 
30
32
  // React Native (available in native builds)
31
33
  /** The React Native version string */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "one",
3
- "version": "1.17.11",
3
+ "version": "1.18.0",
4
4
  "license": "BSD-3-Clause",
5
5
  "sideEffects": [
6
6
  "setup.mjs",
@@ -186,18 +186,18 @@
186
186
  "@cloudflare/vite-plugin": "^1.33.1",
187
187
  "@swc/core": "^1.14.0",
188
188
  "@ungap/structured-clone": "^1.2.0",
189
- "@vxrn/color-scheme": "1.17.11",
190
- "@vxrn/compiler": "1.17.11",
191
- "@vxrn/resolve": "1.17.11",
192
- "@vxrn/tslib-lite": "1.17.11",
193
- "@vxrn/use-isomorphic-layout-effect": "1.17.11",
194
- "@vxrn/vite-plugin-metro": "1.17.11",
189
+ "@vxrn/color-scheme": "1.18.0",
190
+ "@vxrn/compiler": "1.18.0",
191
+ "@vxrn/resolve": "1.18.0",
192
+ "@vxrn/tslib-lite": "1.18.0",
193
+ "@vxrn/use-isomorphic-layout-effect": "1.18.0",
194
+ "@vxrn/vite-plugin-metro": "1.18.0",
195
195
  "babel-dead-code-elimination": "1.0.10",
196
196
  "babel-plugin-module-resolver": "^5.0.2",
197
197
  "babel-preset-expo": "*",
198
198
  "citty": "^0.1.6",
199
199
  "core-js": "^3.38.1",
200
- "create-vxrn": "1.17.11",
200
+ "create-vxrn": "1.18.0",
201
201
  "escape-string-regexp": "^5.0.0",
202
202
  "expo-linking": "~55.0.7",
203
203
  "expo-modules-core": "~55.0.16",
@@ -217,7 +217,7 @@
217
217
  "tsconfig-paths": "^4",
218
218
  "use-latest-callback": "^0.2.3",
219
219
  "vite": "^8.0.13",
220
- "vxrn": "1.17.11",
220
+ "vxrn": "1.18.0",
221
221
  "ws": "^8.18.0",
222
222
  "xxhashjs": "^0.2.2"
223
223
  },
@@ -266,7 +266,7 @@
266
266
  "@react-navigation/core": "^7.17.2",
267
267
  "@react-navigation/drawer": "~7.9.8",
268
268
  "@react-navigation/native": "~7.2.2",
269
- "@tamagui/build": "2.0.0-rc.40",
269
+ "@tamagui/build": "2.1.0",
270
270
  "react-native-gesture-handler": "~2.30.0",
271
271
  "react-native-reanimated": "~4.2.1",
272
272
  "react-native-safe-area-context": "~5.6.2",
package/src/cli/build.ts CHANGED
@@ -22,6 +22,7 @@ import {
22
22
 
23
23
  import * as constants from '../constants'
24
24
  import { setServerGlobals } from '../server/setServerGlobals'
25
+ import { environmentGuardPlugin } from '../vite/plugins/environmentGuardPlugin'
25
26
  import { writeBuildOutputPointer } from '../utils/buildOutputPointer'
26
27
  import { getPathnameFromFilePath } from '../utils/getPathnameFromFilePath'
27
28
  import { getRouterRootFromOneOptions } from '../utils/getRouterRootFromOneOptions'
@@ -60,6 +61,10 @@ const GENERATED_CLOUDFLARE_WRANGLER_RULES = [
60
61
  { type: 'ESModule', globs: ['./assets/**/*.js'], fallthrough: true },
61
62
  ]
62
63
 
64
+ const CLOUDFLARE_DEPLOY_WRANGLER_RULES = [
65
+ { type: 'ESModule', globs: ['assets/**/*.js', 'assets/**/*.mjs'] },
66
+ ]
67
+
63
68
  function isPlainObject(value: unknown): value is Record<string, JsonValue> {
64
69
  return !!value && typeof value === 'object' && !Array.isArray(value)
65
70
  }
@@ -231,6 +236,46 @@ function createCloudflareWranglerConfig(
231
236
  return mergedConfig
232
237
  }
233
238
 
239
+ function omitEmptyJsonValues(value: JsonValue): JsonValue | undefined {
240
+ if (Array.isArray(value)) {
241
+ const items = value
242
+ .map((item) => omitEmptyJsonValues(item))
243
+ .filter((item): item is JsonValue => item !== undefined)
244
+
245
+ return items.length > 0 ? items : undefined
246
+ }
247
+
248
+ if (isPlainObject(value)) {
249
+ const entries = Object.entries(value)
250
+ .map(([key, item]) => [key, omitEmptyJsonValues(item)] as const)
251
+ .filter((entry): entry is readonly [string, JsonValue] => entry[1] !== undefined)
252
+
253
+ return entries.length > 0 ? Object.fromEntries(entries) : undefined
254
+ }
255
+
256
+ return value
257
+ }
258
+
259
+ async function finalizeCloudflareWranglerDeployConfig(configPath: string) {
260
+ const parsed = JSON.parse(await FSExtra.readFile(configPath, 'utf-8')) as unknown
261
+ if (!isPlainObject(parsed)) {
262
+ throw new Error(
263
+ `Expected ${relative(process.cwd(), configPath)} to contain a JSON object`
264
+ )
265
+ }
266
+
267
+ parsed.rules = CLOUDFLARE_DEPLOY_WRANGLER_RULES
268
+
269
+ const config = omitEmptyJsonValues(parsed)
270
+ if (!isPlainObject(config)) {
271
+ throw new Error(
272
+ `Expected ${relative(process.cwd(), configPath)} to contain deploy config`
273
+ )
274
+ }
275
+
276
+ await FSExtra.writeFile(configPath, `${JSON.stringify(config, null, 2)}\n`)
277
+ }
278
+
234
279
  // reads package.json name, strips npm scope prefix for use as cloudflare worker name
235
280
  async function getCloudflareProjectName(root: string): Promise<string> {
236
281
  try {
@@ -1505,6 +1550,15 @@ export default {
1505
1550
  'process.env.ONE_CACHE_KEY': JSON.stringify(constants.CACHE_KEY),
1506
1551
  },
1507
1552
  plugins: [
1553
+ // the cloudflare worker IS a server, but this build runs with
1554
+ // configFile:false so the user vite.config (where the user-level
1555
+ // `one()` plugin registers environmentGuardPlugin via vite.config)
1556
+ // doesn't apply. register the guard plugin directly here so
1557
+ // `import 'server-only'` resolves to an empty module in the
1558
+ // worker bundle instead of inlining the package's throwing
1559
+ // index.js — which would crash the deployed worker on the first
1560
+ // /api request that loads any server-only-importing module.
1561
+ environmentGuardPlugin(oneOptions.environmentGuards),
1508
1562
  cloudflare({
1509
1563
  configPath: wranglerInputPath,
1510
1564
  viteEnvironment: { name: 'worker' },
@@ -1551,6 +1605,9 @@ export default {
1551
1605
  // Clean up temp file
1552
1606
  await FSExtra.remove(workerSrcPath)
1553
1607
  await FSExtra.remove(wranglerInputPath)
1608
+ await finalizeCloudflareWranglerDeployConfig(
1609
+ join(options.root, outDir, 'worker', 'wrangler.json')
1610
+ )
1554
1611
 
1555
1612
  if (userWranglerConfig) {
1556
1613
  console.info(
@@ -1559,7 +1616,7 @@ export default {
1559
1616
  }
1560
1617
 
1561
1618
  postBuildLogs.push(`Cloudflare worker bundled at ${outDir}/worker/index.js`)
1562
- postBuildLogs.push(`To deploy: cd ${outDir}/worker && wrangler deploy`)
1619
+ postBuildLogs.push(`To deploy: wrangler deploy`)
1563
1620
 
1564
1621
  break
1565
1622
  }
@@ -0,0 +1,33 @@
1
+ import { afterEach, describe, expect, it, vi } from 'vitest'
2
+ import { getDevServer } from './getDevServer'
3
+ import { getURL } from './getURL.native'
4
+
5
+ vi.mock('./getDevServer', () => ({
6
+ getDevServer: vi.fn(() => ({
7
+ url: 'http://metro.local:8081/',
8
+ bundleLoadedFromServer: true,
9
+ })),
10
+ }))
11
+
12
+ const originalServerUrl = process.env.ONE_SERVER_URL
13
+
14
+ afterEach(() => {
15
+ process.env.ONE_SERVER_URL = originalServerUrl
16
+ vi.clearAllMocks()
17
+ })
18
+
19
+ describe('getURL native', () => {
20
+ it('prefers explicit ONE_SERVER_URL in dev', () => {
21
+ process.env.ONE_SERVER_URL = 'https://app.example.com/'
22
+
23
+ expect(getURL()).toBe('https://app.example.com')
24
+ expect(getDevServer).not.toHaveBeenCalled()
25
+ })
26
+
27
+ it('falls back to the dev server when ONE_SERVER_URL is unset', () => {
28
+ delete process.env.ONE_SERVER_URL
29
+
30
+ expect(getURL()).toBe('http://metro.local:8081')
31
+ expect(getDevServer).toHaveBeenCalledTimes(1)
32
+ })
33
+ })
@@ -5,15 +5,17 @@ let hasWarnedOnce = false
5
5
  export function getURL() {
6
6
  let url = process.env.ONE_SERVER_URL
7
7
 
8
+ if (url) {
9
+ return url.replace(/\/+$/, '') // remove trailing slash for consistency with web
10
+ }
11
+
8
12
  if (__DEV__) {
9
13
  // We'll be using the development server in development mode, but we still need to warn the user to set SERVER_URL for things to work in production.
10
- if (!url) {
11
- if (hasWarnedOnce) {
12
- hasWarnedOnce = true
13
- console.warn(
14
- `The ONE_SERVER_URL environment variable is not set. While things will work in development mode as we'll be using your development server, you should still set ONE_SERVER_URL in your .env file for your production builds to work.`
15
- )
16
- }
14
+ if (!hasWarnedOnce) {
15
+ hasWarnedOnce = true
16
+ console.warn(
17
+ `The ONE_SERVER_URL environment variable is not set. While things will work in development mode as we'll be using your development server, you should still set ONE_SERVER_URL in your .env file for your production builds to work.`
18
+ )
17
19
  }
18
20
 
19
21
  const { url: devServerUrl } = getDevServer()