one 1.2.46 → 1.2.48
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.
- package/dist/cjs/Root.js +6 -1
- package/dist/cjs/Root.js.map +1 -1
- package/dist/cjs/Root.native.js.map +1 -1
- package/dist/cjs/babel-plugins/one-router-metro.js +4 -1
- package/dist/cjs/babel-plugins/one-router-metro.js.map +1 -1
- package/dist/cjs/babel-plugins/one-router-metro.native.js.map +1 -1
- package/dist/cjs/babel-plugins/remove-server-code.js +3 -1
- package/dist/cjs/babel-plugins/remove-server-code.js.map +1 -1
- package/dist/cjs/babel-plugins/remove-server-code.native.js.map +1 -1
- package/dist/cjs/cli/build.js +31 -8
- package/dist/cjs/cli/build.js.map +1 -1
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/cli/buildPage.cjs +16 -7
- package/dist/cjs/cli/buildPage.js +26 -7
- package/dist/cjs/cli/buildPage.js.map +1 -1
- package/dist/cjs/cli/buildPage.native.js +17 -8
- package/dist/cjs/cli/buildPage.native.js.map +1 -1
- package/dist/cjs/cli/generateRoutes.js +3 -1
- package/dist/cjs/cli/generateRoutes.js.map +1 -1
- package/dist/cjs/cli/generateRoutes.native.js.map +1 -1
- package/dist/cjs/cli/generateSitemap.js.map +1 -1
- package/dist/cjs/cli/generateSitemap.native.js.map +1 -1
- package/dist/cjs/cli/generateSitemap.test.js +14 -4
- package/dist/cjs/cli/generateSitemap.test.js.map +1 -1
- package/dist/cjs/cli/generateSitemap.test.native.js.map +1 -1
- package/dist/cjs/cli/main.js +4 -2
- package/dist/cjs/cli/main.js.map +1 -1
- package/dist/cjs/cli/main.native.js.map +1 -1
- package/dist/cjs/cli/prebuild.js.map +1 -1
- package/dist/cjs/cli/prebuild.native.js.map +1 -1
- package/dist/cjs/clientLoaderResolver.js.map +1 -1
- package/dist/cjs/clientLoaderResolver.native.js.map +1 -1
- package/dist/cjs/config.js +3 -1
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/createApp.js +9 -1
- package/dist/cjs/createApp.js.map +1 -1
- package/dist/cjs/createHandleRequest.js +9 -3
- package/dist/cjs/createHandleRequest.js.map +1 -1
- package/dist/cjs/createHandleRequest.native.js.map +1 -1
- package/dist/cjs/fork/__tests__/getPathFromState.test.js +90 -88
- package/dist/cjs/fork/__tests__/getPathFromState.test.js.map +1 -1
- package/dist/cjs/fork/__tests__/getPathFromState.test.native.js.map +1 -1
- package/dist/cjs/fork/__tests__/getStateFromPath.test.js +163 -86
- package/dist/cjs/fork/__tests__/getStateFromPath.test.js.map +1 -1
- package/dist/cjs/fork/__tests__/getStateFromPath.test.native.js.map +1 -1
- package/dist/cjs/fork/_shared.js.map +1 -1
- package/dist/cjs/fork/_shared.native.js.map +1 -1
- package/dist/cjs/fork/extractPathFromURL.js.map +1 -1
- package/dist/cjs/fork/extractPathFromURL.native.js.map +1 -1
- package/dist/cjs/fork/getPathFromState-mods.js +4 -1
- package/dist/cjs/fork/getPathFromState-mods.js.map +1 -1
- package/dist/cjs/fork/getPathFromState-mods.native.js.map +1 -1
- package/dist/cjs/fork/getPathFromState.js +3 -1
- package/dist/cjs/fork/getPathFromState.js.map +1 -1
- package/dist/cjs/fork/getPathFromState.native.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath-mods.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath-mods.native.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath.js +7 -1
- package/dist/cjs/fork/getStateFromPath.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath.native.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath.test.js +21 -8
- package/dist/cjs/fork/getStateFromPath.test.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath.test.native.js.map +1 -1
- package/dist/cjs/fork/useBackButton.js.map +1 -1
- package/dist/cjs/fork/useDocumentTitle.js +4 -1
- package/dist/cjs/fork/useDocumentTitle.js.map +1 -1
- package/dist/cjs/fork/useLinking.js +4 -1
- package/dist/cjs/fork/useLinking.js.map +1 -1
- package/dist/cjs/fork/validatePathConfig.js.map +1 -1
- package/dist/cjs/fork/validatePathConfig.native.js.map +1 -1
- package/dist/cjs/hooks.js.map +1 -1
- package/dist/cjs/hooks.native.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/layouts/Tabs.js.map +1 -1
- package/dist/cjs/layouts/Tabs.native.js.map +1 -1
- package/dist/cjs/layouts/withLayoutContext.js +10 -8
- package/dist/cjs/layouts/withLayoutContext.js.map +1 -1
- package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
- package/dist/cjs/link/Link.js.map +1 -1
- package/dist/cjs/link/Link.native.js.map +1 -1
- package/dist/cjs/link/linking.js +3 -1
- package/dist/cjs/link/linking.js.map +1 -1
- package/dist/cjs/link/linking.native.js.map +1 -1
- package/dist/cjs/link/useLinkTo.js.map +1 -1
- package/dist/cjs/link/useLinkTo.native.js.map +1 -1
- package/dist/cjs/link/useLoadedNavigation.js.map +1 -1
- package/dist/cjs/link/useLoadedNavigation.native.js.map +1 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +6 -8
- package/dist/cjs/metro-config/getViteMetroPluginOptions.js +8 -10
- package/dist/cjs/metro-config/getViteMetroPluginOptions.js.map +1 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +9 -11
- package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
- package/dist/cjs/polyfills-mobile.cjs +3 -1
- package/dist/cjs/polyfills-mobile.js +2 -1
- package/dist/cjs/polyfills-mobile.js.map +2 -2
- package/dist/cjs/polyfills-mobile.native.js +8 -4
- package/dist/cjs/polyfills-mobile.native.js.map +1 -1
- package/dist/cjs/router/Route.js.map +1 -1
- package/dist/cjs/router/Route.native.js.map +1 -1
- package/dist/cjs/router/RouteInfoContext.js +7 -1
- package/dist/cjs/router/RouteInfoContext.js.map +1 -1
- package/dist/cjs/router/RouteInfoContext.native.js.map +1 -1
- package/dist/cjs/router/filterRootHTML.js.map +1 -1
- package/dist/cjs/router/filterRootHTML.native.js.map +1 -1
- package/dist/cjs/router/getLinkingConfig.js.map +1 -1
- package/dist/cjs/router/getLinkingConfig.native.js.map +1 -1
- package/dist/cjs/router/getNormalizedStatePath.js.map +1 -1
- package/dist/cjs/router/getNormalizedStatePath.native.js.map +1 -1
- package/dist/cjs/router/getRoutes.js +3 -1
- package/dist/cjs/router/getRoutes.js.map +1 -1
- package/dist/cjs/router/getRoutes.native.js.map +1 -1
- package/dist/cjs/router/linkingConfig.js.map +1 -1
- package/dist/cjs/router/linkingConfig.native.js.map +1 -1
- package/dist/cjs/router/matchers.cjs +1 -1
- package/dist/cjs/router/matchers.js +1 -1
- package/dist/cjs/router/matchers.js.map +1 -1
- package/dist/cjs/router/matchers.native.js +1 -1
- package/dist/cjs/router/matchers.native.js.map +1 -1
- package/dist/cjs/router/matchers.test.js +6 -2
- package/dist/cjs/router/matchers.test.js.map +1 -1
- package/dist/cjs/router/matchers.test.native.js.map +1 -1
- package/dist/cjs/router/router.cjs +3 -1
- package/dist/cjs/router/router.js +15 -4
- package/dist/cjs/router/router.js.map +1 -1
- package/dist/cjs/router/router.native.js +7 -3
- package/dist/cjs/router/router.native.js.map +1 -1
- package/dist/cjs/router/useNavigation.js.map +1 -1
- package/dist/cjs/router/useNavigation.native.js.map +1 -1
- package/dist/cjs/router/useScreens.js +13 -11
- package/dist/cjs/router/useScreens.js.map +1 -1
- package/dist/cjs/router/useScreens.native.js.map +1 -1
- package/dist/cjs/router/useViteRoutes.js.map +1 -1
- package/dist/cjs/router/useViteRoutes.native.js.map +1 -1
- package/dist/cjs/router/utils/getNavigateAction.js.map +1 -1
- package/dist/cjs/router/utils/getNavigateAction.native.js.map +1 -1
- package/dist/cjs/server/createRoutesManifest.js.map +1 -1
- package/dist/cjs/server/createRoutesManifest.native.js.map +1 -1
- package/dist/cjs/server/getServerManifest.js +3 -1
- package/dist/cjs/server/getServerManifest.js.map +1 -1
- package/dist/cjs/server/getServerManifest.native.js.map +1 -1
- package/dist/cjs/server/oneServe.cjs +10 -2
- package/dist/cjs/server/oneServe.js +21 -3
- package/dist/cjs/server/oneServe.js.map +1 -1
- package/dist/cjs/server/oneServe.native.js +10 -3
- package/dist/cjs/server/oneServe.native.js.map +1 -1
- package/dist/cjs/server/setupBuildOptions.js.map +1 -1
- package/dist/cjs/server/setupBuildOptions.native.js.map +1 -1
- package/dist/cjs/server/staticHtmlFetcher.js.map +1 -1
- package/dist/cjs/server/staticHtmlFetcher.native.js.map +1 -1
- package/dist/cjs/server-render.js.map +1 -1
- package/dist/cjs/server-render.native.js.map +1 -1
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.js +14 -2
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.js.map +1 -1
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
- package/dist/cjs/typed-routes/injectRouteHelpers.js +4 -1
- package/dist/cjs/typed-routes/injectRouteHelpers.js.map +1 -1
- package/dist/cjs/typed-routes/injectRouteHelpers.native.js.map +1 -1
- package/dist/cjs/ui/Slot.js.map +1 -1
- package/dist/cjs/ui/Slot.native.js.map +1 -1
- package/dist/cjs/ui/TabContext.js +3 -1
- package/dist/cjs/ui/TabContext.js.map +1 -1
- package/dist/cjs/ui/TabContext.native.js.map +1 -1
- package/dist/cjs/ui/TabRouter.js.map +1 -1
- package/dist/cjs/ui/TabRouter.native.js.map +1 -1
- package/dist/cjs/ui/TabTrigger.js +17 -2
- package/dist/cjs/ui/TabTrigger.js.map +1 -1
- package/dist/cjs/ui/TabTrigger.native.js.map +1 -1
- package/dist/cjs/ui/Tabs.js +5 -1
- package/dist/cjs/ui/Tabs.js.map +1 -1
- package/dist/cjs/ui/Tabs.native.js.map +1 -1
- package/dist/cjs/ui/common.js +3 -1
- package/dist/cjs/ui/common.js.map +1 -1
- package/dist/cjs/ui/common.native.js.map +1 -1
- package/dist/cjs/useLoader.js +4 -1
- package/dist/cjs/useLoader.js.map +1 -1
- package/dist/cjs/useLoader.native.js.map +1 -1
- package/dist/cjs/utils/cleanUrl.js.map +1 -1
- package/dist/cjs/utils/cleanUrl.native.js.map +1 -1
- package/dist/cjs/utils/url.js +3 -1
- package/dist/cjs/utils/url.js.map +1 -1
- package/dist/cjs/utils/url.native.js.map +1 -1
- package/dist/cjs/vercel/build/buildVercelOutputDirectory.js +29 -10
- package/dist/cjs/vercel/build/buildVercelOutputDirectory.js.map +1 -1
- package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js +11 -3
- package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js +9 -2
- package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
- package/dist/cjs/vercel/build/getPathFromRoute.js +4 -1
- package/dist/cjs/vercel/build/getPathFromRoute.js.map +1 -1
- package/dist/cjs/vercel/build/getPathFromRoute.native.js.map +1 -1
- package/dist/cjs/views/Navigator.js +16 -8
- package/dist/cjs/views/Navigator.js.map +1 -1
- package/dist/cjs/views/Navigator.native.js.map +1 -1
- package/dist/cjs/views/RootErrorBoundary.js +4 -2
- package/dist/cjs/views/RootErrorBoundary.js.map +1 -1
- package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
- package/dist/cjs/views/Screen.js +4 -1
- package/dist/cjs/views/Screen.js.map +1 -1
- package/dist/cjs/views/Screen.native.js.map +1 -1
- package/dist/cjs/vite/loadConfig.js +6 -2
- package/dist/cjs/vite/loadConfig.js.map +1 -1
- package/dist/cjs/vite/loadConfig.native.js.map +1 -1
- package/dist/cjs/vite/one-server-only.js +3 -1
- package/dist/cjs/vite/one-server-only.js.map +1 -1
- package/dist/cjs/vite/one.js +9 -3
- package/dist/cjs/vite/one.js.map +1 -1
- package/dist/cjs/vite/one.native.js.map +1 -1
- package/dist/cjs/vite/plugins/SSRCSSPlugin.js +5 -1
- package/dist/cjs/vite/plugins/SSRCSSPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.js +8 -2
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +1 -0
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +13 -4
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +1 -0
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +7 -3
- package/dist/cjs/vite/plugins/virtualEntryPlugin.js +16 -5
- package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +5 -2
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/dist/cjs/vite/replaceLoader.js +4 -1
- package/dist/cjs/vite/replaceLoader.js.map +1 -1
- package/dist/cjs/vite/replaceLoader.native.js.map +1 -1
- package/dist/cjs/vite/resolveResponse.js.map +1 -1
- package/dist/cjs/vite/resolveResponse.native.js.map +1 -1
- package/dist/cjs/zero/subscribeToQuery.js.map +1 -1
- package/dist/cjs/zero/subscribeToQuery.native.js.map +1 -1
- package/dist/cjs/zero/useQueryZero.js +3 -1
- package/dist/cjs/zero/useQueryZero.js.map +1 -1
- package/dist/cjs/zero/useQueryZero.native.js.map +1 -1
- package/dist/esm/Root.js +6 -1
- package/dist/esm/Root.js.map +1 -1
- package/dist/esm/Root.mjs.map +1 -1
- package/dist/esm/Root.native.js.map +1 -1
- package/dist/esm/babel-plugins/one-router-metro.js +4 -1
- package/dist/esm/babel-plugins/one-router-metro.js.map +1 -1
- package/dist/esm/babel-plugins/one-router-metro.mjs.map +1 -1
- package/dist/esm/babel-plugins/one-router-metro.native.js.map +1 -1
- package/dist/esm/babel-plugins/remove-server-code.js +7 -2
- package/dist/esm/babel-plugins/remove-server-code.js.map +1 -1
- package/dist/esm/babel-plugins/remove-server-code.mjs.map +1 -1
- package/dist/esm/babel-plugins/remove-server-code.native.js.map +1 -1
- package/dist/esm/cli/build.js +31 -8
- package/dist/esm/cli/build.js.map +1 -1
- package/dist/esm/cli/build.mjs.map +1 -1
- package/dist/esm/cli/build.native.js.map +1 -1
- package/dist/esm/cli/buildPage.js +26 -6
- package/dist/esm/cli/buildPage.js.map +1 -1
- package/dist/esm/cli/buildPage.mjs +16 -7
- package/dist/esm/cli/buildPage.mjs.map +1 -1
- package/dist/esm/cli/buildPage.native.js +17 -8
- package/dist/esm/cli/buildPage.native.js.map +1 -1
- package/dist/esm/cli/generateRoutes.js +3 -1
- package/dist/esm/cli/generateRoutes.js.map +1 -1
- package/dist/esm/cli/generateRoutes.mjs.map +1 -1
- package/dist/esm/cli/generateRoutes.native.js.map +1 -1
- package/dist/esm/cli/generateSitemap.js.map +1 -1
- package/dist/esm/cli/generateSitemap.mjs.map +1 -1
- package/dist/esm/cli/generateSitemap.native.js.map +1 -1
- package/dist/esm/cli/generateSitemap.test.js +14 -4
- package/dist/esm/cli/generateSitemap.test.js.map +1 -1
- package/dist/esm/cli/generateSitemap.test.mjs.map +1 -1
- package/dist/esm/cli/generateSitemap.test.native.js.map +1 -1
- package/dist/esm/cli/main.js +4 -2
- package/dist/esm/cli/main.js.map +1 -1
- package/dist/esm/cli/main.mjs.map +1 -1
- package/dist/esm/cli/main.native.js.map +1 -1
- package/dist/esm/cli/prebuild.js.map +1 -1
- package/dist/esm/cli/prebuild.mjs.map +1 -1
- package/dist/esm/cli/prebuild.native.js.map +1 -1
- package/dist/esm/clientLoaderResolver.js.map +1 -1
- package/dist/esm/clientLoaderResolver.mjs.map +1 -1
- package/dist/esm/clientLoaderResolver.native.js.map +1 -1
- package/dist/esm/config.js +3 -1
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/config.mjs.map +1 -1
- package/dist/esm/config.native.js.map +1 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js.map +1 -1
- package/dist/esm/createApp.js +9 -1
- package/dist/esm/createApp.js.map +1 -1
- package/dist/esm/createApp.mjs.map +1 -1
- package/dist/esm/createHandleRequest.js +9 -3
- package/dist/esm/createHandleRequest.js.map +1 -1
- package/dist/esm/createHandleRequest.mjs.map +1 -1
- package/dist/esm/createHandleRequest.native.js.map +1 -1
- package/dist/esm/fork/__tests__/getPathFromState.test.js +90 -88
- package/dist/esm/fork/__tests__/getPathFromState.test.js.map +1 -1
- package/dist/esm/fork/__tests__/getPathFromState.test.mjs.map +1 -1
- package/dist/esm/fork/__tests__/getPathFromState.test.native.js.map +1 -1
- package/dist/esm/fork/__tests__/getStateFromPath.test.js +163 -86
- package/dist/esm/fork/__tests__/getStateFromPath.test.js.map +1 -1
- package/dist/esm/fork/__tests__/getStateFromPath.test.mjs.map +1 -1
- package/dist/esm/fork/__tests__/getStateFromPath.test.native.js.map +1 -1
- package/dist/esm/fork/_shared.js.map +1 -1
- package/dist/esm/fork/_shared.mjs.map +1 -1
- package/dist/esm/fork/_shared.native.js.map +1 -1
- package/dist/esm/fork/extractPathFromURL.js.map +1 -1
- package/dist/esm/fork/extractPathFromURL.mjs.map +1 -1
- package/dist/esm/fork/extractPathFromURL.native.js.map +1 -1
- package/dist/esm/fork/getPathFromState-mods.js +4 -1
- package/dist/esm/fork/getPathFromState-mods.js.map +1 -1
- package/dist/esm/fork/getPathFromState-mods.mjs.map +1 -1
- package/dist/esm/fork/getPathFromState-mods.native.js.map +1 -1
- package/dist/esm/fork/getPathFromState.js +3 -1
- package/dist/esm/fork/getPathFromState.js.map +1 -1
- package/dist/esm/fork/getPathFromState.mjs.map +1 -1
- package/dist/esm/fork/getPathFromState.native.js.map +1 -1
- package/dist/esm/fork/getStateFromPath-mods.js.map +1 -1
- package/dist/esm/fork/getStateFromPath-mods.mjs.map +1 -1
- package/dist/esm/fork/getStateFromPath-mods.native.js.map +1 -1
- package/dist/esm/fork/getStateFromPath.js +7 -1
- package/dist/esm/fork/getStateFromPath.js.map +1 -1
- package/dist/esm/fork/getStateFromPath.mjs.map +1 -1
- package/dist/esm/fork/getStateFromPath.native.js.map +1 -1
- package/dist/esm/fork/getStateFromPath.test.js +25 -9
- package/dist/esm/fork/getStateFromPath.test.js.map +1 -1
- package/dist/esm/fork/getStateFromPath.test.mjs.map +1 -1
- package/dist/esm/fork/getStateFromPath.test.native.js.map +1 -1
- package/dist/esm/fork/useBackButton.js.map +1 -1
- package/dist/esm/fork/useBackButton.mjs.map +1 -1
- package/dist/esm/fork/useDocumentTitle.js +4 -1
- package/dist/esm/fork/useDocumentTitle.js.map +1 -1
- package/dist/esm/fork/useDocumentTitle.mjs.map +1 -1
- package/dist/esm/fork/useLinking.js +4 -1
- package/dist/esm/fork/useLinking.js.map +1 -1
- package/dist/esm/fork/useLinking.mjs.map +1 -1
- package/dist/esm/fork/validatePathConfig.js.map +1 -1
- package/dist/esm/fork/validatePathConfig.mjs.map +1 -1
- package/dist/esm/fork/validatePathConfig.native.js.map +1 -1
- package/dist/esm/hooks.js.map +1 -1
- package/dist/esm/hooks.mjs.map +1 -1
- package/dist/esm/hooks.native.js.map +1 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/layouts/Tabs.js.map +1 -1
- package/dist/esm/layouts/Tabs.mjs.map +1 -1
- package/dist/esm/layouts/Tabs.native.js.map +1 -1
- package/dist/esm/layouts/withLayoutContext.js +10 -8
- package/dist/esm/layouts/withLayoutContext.js.map +1 -1
- package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
- package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
- package/dist/esm/link/Link.js.map +1 -1
- package/dist/esm/link/Link.mjs.map +1 -1
- package/dist/esm/link/Link.native.js.map +1 -1
- package/dist/esm/link/linking.js +3 -1
- package/dist/esm/link/linking.js.map +1 -1
- package/dist/esm/link/linking.mjs.map +1 -1
- package/dist/esm/link/linking.native.js.map +1 -1
- package/dist/esm/link/useLinkTo.js.map +1 -1
- package/dist/esm/link/useLinkTo.mjs.map +1 -1
- package/dist/esm/link/useLinkTo.native.js.map +1 -1
- package/dist/esm/link/useLoadedNavigation.js +3 -1
- package/dist/esm/link/useLoadedNavigation.js.map +1 -1
- package/dist/esm/link/useLoadedNavigation.mjs.map +1 -1
- package/dist/esm/link/useLoadedNavigation.native.js.map +1 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.js +8 -10
- package/dist/esm/metro-config/getViteMetroPluginOptions.js.map +1 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +6 -8
- package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +9 -11
- package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
- package/dist/esm/polyfills-mobile.js +2 -0
- package/dist/esm/polyfills-mobile.js.map +1 -1
- package/dist/esm/polyfills-mobile.mjs +2 -0
- package/dist/esm/polyfills-mobile.mjs.map +1 -1
- package/dist/esm/polyfills-mobile.native.js +5 -3
- package/dist/esm/polyfills-mobile.native.js.map +1 -1
- package/dist/esm/router/Route.js.map +1 -1
- package/dist/esm/router/Route.mjs.map +1 -1
- package/dist/esm/router/Route.native.js.map +1 -1
- package/dist/esm/router/RouteInfoContext.js +7 -1
- package/dist/esm/router/RouteInfoContext.js.map +1 -1
- package/dist/esm/router/RouteInfoContext.mjs.map +1 -1
- package/dist/esm/router/RouteInfoContext.native.js.map +1 -1
- package/dist/esm/router/filterRootHTML.js.map +1 -1
- package/dist/esm/router/filterRootHTML.mjs.map +1 -1
- package/dist/esm/router/filterRootHTML.native.js.map +1 -1
- package/dist/esm/router/getLinkingConfig.js.map +1 -1
- package/dist/esm/router/getLinkingConfig.mjs.map +1 -1
- package/dist/esm/router/getLinkingConfig.native.js.map +1 -1
- package/dist/esm/router/getNormalizedStatePath.js.map +1 -1
- package/dist/esm/router/getNormalizedStatePath.mjs.map +1 -1
- package/dist/esm/router/getNormalizedStatePath.native.js.map +1 -1
- package/dist/esm/router/getRoutes.js +3 -1
- package/dist/esm/router/getRoutes.js.map +1 -1
- package/dist/esm/router/getRoutes.mjs.map +1 -1
- package/dist/esm/router/getRoutes.native.js.map +1 -1
- package/dist/esm/router/linkingConfig.js +3 -1
- package/dist/esm/router/linkingConfig.js.map +1 -1
- package/dist/esm/router/linkingConfig.mjs.map +1 -1
- package/dist/esm/router/linkingConfig.native.js.map +1 -1
- package/dist/esm/router/matchers.js +1 -1
- package/dist/esm/router/matchers.js.map +1 -1
- package/dist/esm/router/matchers.mjs +1 -1
- package/dist/esm/router/matchers.mjs.map +1 -1
- package/dist/esm/router/matchers.native.js +1 -1
- package/dist/esm/router/matchers.native.js.map +1 -1
- package/dist/esm/router/matchers.test.js +6 -2
- package/dist/esm/router/matchers.test.js.map +1 -1
- package/dist/esm/router/matchers.test.mjs.map +1 -1
- package/dist/esm/router/router.js +18 -5
- package/dist/esm/router/router.js.map +1 -1
- package/dist/esm/router/router.mjs +3 -1
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js +7 -3
- package/dist/esm/router/router.native.js.map +1 -1
- package/dist/esm/router/useNavigation.js.map +1 -1
- package/dist/esm/router/useNavigation.mjs.map +1 -1
- package/dist/esm/router/useNavigation.native.js.map +1 -1
- package/dist/esm/router/useScreens.js +13 -11
- package/dist/esm/router/useScreens.js.map +1 -1
- package/dist/esm/router/useScreens.mjs.map +1 -1
- package/dist/esm/router/useScreens.native.js.map +1 -1
- package/dist/esm/router/useViteRoutes.js.map +1 -1
- package/dist/esm/router/useViteRoutes.mjs.map +1 -1
- package/dist/esm/router/useViteRoutes.native.js.map +1 -1
- package/dist/esm/router/utils/getNavigateAction.js.map +1 -1
- package/dist/esm/router/utils/getNavigateAction.mjs.map +1 -1
- package/dist/esm/router/utils/getNavigateAction.native.js.map +1 -1
- package/dist/esm/server/createRoutesManifest.js.map +1 -1
- package/dist/esm/server/createRoutesManifest.mjs.map +1 -1
- package/dist/esm/server/createRoutesManifest.native.js.map +1 -1
- package/dist/esm/server/getServerManifest.js +3 -1
- package/dist/esm/server/getServerManifest.js.map +1 -1
- package/dist/esm/server/getServerManifest.mjs.map +1 -1
- package/dist/esm/server/getServerManifest.native.js.map +1 -1
- package/dist/esm/server/oneServe.js +21 -3
- package/dist/esm/server/oneServe.js.map +1 -1
- package/dist/esm/server/oneServe.mjs +10 -2
- package/dist/esm/server/oneServe.mjs.map +1 -1
- package/dist/esm/server/oneServe.native.js +10 -3
- package/dist/esm/server/oneServe.native.js.map +1 -1
- package/dist/esm/server/setupBuildOptions.js.map +1 -1
- package/dist/esm/server/setupBuildOptions.mjs.map +1 -1
- package/dist/esm/server/setupBuildOptions.native.js.map +1 -1
- package/dist/esm/server/staticHtmlFetcher.js.map +1 -1
- package/dist/esm/server/staticHtmlFetcher.mjs.map +1 -1
- package/dist/esm/server/staticHtmlFetcher.native.js.map +1 -1
- package/dist/esm/server-render.js.map +1 -1
- package/dist/esm/server-render.mjs.map +1 -1
- package/dist/esm/server-render.native.js.map +1 -1
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.js +14 -2
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.js.map +1 -1
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.mjs.map +1 -1
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
- package/dist/esm/typed-routes/injectRouteHelpers.js +4 -1
- package/dist/esm/typed-routes/injectRouteHelpers.js.map +1 -1
- package/dist/esm/typed-routes/injectRouteHelpers.mjs.map +1 -1
- package/dist/esm/typed-routes/injectRouteHelpers.native.js.map +1 -1
- package/dist/esm/ui/Slot.js.map +1 -1
- package/dist/esm/ui/Slot.mjs.map +1 -1
- package/dist/esm/ui/Slot.native.js.map +1 -1
- package/dist/esm/ui/TabContext.js +3 -1
- package/dist/esm/ui/TabContext.js.map +1 -1
- package/dist/esm/ui/TabContext.mjs.map +1 -1
- package/dist/esm/ui/TabContext.native.js.map +1 -1
- package/dist/esm/ui/TabRouter.js.map +1 -1
- package/dist/esm/ui/TabRouter.mjs.map +1 -1
- package/dist/esm/ui/TabRouter.native.js.map +1 -1
- package/dist/esm/ui/TabTrigger.js +21 -3
- package/dist/esm/ui/TabTrigger.js.map +1 -1
- package/dist/esm/ui/TabTrigger.mjs.map +1 -1
- package/dist/esm/ui/TabTrigger.native.js.map +1 -1
- package/dist/esm/ui/Tabs.js +5 -1
- package/dist/esm/ui/Tabs.js.map +1 -1
- package/dist/esm/ui/Tabs.mjs.map +1 -1
- package/dist/esm/ui/Tabs.native.js.map +1 -1
- package/dist/esm/ui/common.js +8 -2
- package/dist/esm/ui/common.js.map +1 -1
- package/dist/esm/ui/common.mjs.map +1 -1
- package/dist/esm/ui/common.native.js.map +1 -1
- package/dist/esm/useLoader.js +4 -1
- package/dist/esm/useLoader.js.map +1 -1
- package/dist/esm/useLoader.mjs.map +1 -1
- package/dist/esm/useLoader.native.js.map +1 -1
- package/dist/esm/utils/cleanUrl.js.map +1 -1
- package/dist/esm/utils/cleanUrl.mjs.map +1 -1
- package/dist/esm/utils/cleanUrl.native.js.map +1 -1
- package/dist/esm/utils/url.js +3 -1
- package/dist/esm/utils/url.js.map +1 -1
- package/dist/esm/utils/url.mjs.map +1 -1
- package/dist/esm/utils/url.native.js.map +1 -1
- package/dist/esm/vercel/build/buildVercelOutputDirectory.js +29 -10
- package/dist/esm/vercel/build/buildVercelOutputDirectory.js.map +1 -1
- package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs.map +1 -1
- package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.js +11 -3
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.js.map +1 -1
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs.map +1 -1
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
- package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js +9 -2
- package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js.map +1 -1
- package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs.map +1 -1
- package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
- package/dist/esm/vercel/build/getPathFromRoute.js +4 -1
- package/dist/esm/vercel/build/getPathFromRoute.js.map +1 -1
- package/dist/esm/vercel/build/getPathFromRoute.mjs.map +1 -1
- package/dist/esm/vercel/build/getPathFromRoute.native.js.map +1 -1
- package/dist/esm/views/Navigator.js +20 -9
- package/dist/esm/views/Navigator.js.map +1 -1
- package/dist/esm/views/Navigator.mjs.map +1 -1
- package/dist/esm/views/Navigator.native.js.map +1 -1
- package/dist/esm/views/RootErrorBoundary.js +4 -2
- package/dist/esm/views/RootErrorBoundary.js.map +1 -1
- package/dist/esm/views/RootErrorBoundary.mjs.map +1 -1
- package/dist/esm/views/RootErrorBoundary.native.js.map +1 -1
- package/dist/esm/views/Screen.js +4 -1
- package/dist/esm/views/Screen.js.map +1 -1
- package/dist/esm/views/Screen.mjs.map +1 -1
- package/dist/esm/views/Screen.native.js.map +1 -1
- package/dist/esm/vite/loadConfig.js +6 -2
- package/dist/esm/vite/loadConfig.js.map +1 -1
- package/dist/esm/vite/loadConfig.mjs.map +1 -1
- package/dist/esm/vite/loadConfig.native.js.map +1 -1
- package/dist/esm/vite/one-server-only.js +3 -1
- package/dist/esm/vite/one-server-only.js.map +1 -1
- package/dist/esm/vite/one-server-only.mjs.map +1 -1
- package/dist/esm/vite/one.js +9 -3
- package/dist/esm/vite/one.js.map +1 -1
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js.map +1 -1
- package/dist/esm/vite/plugins/SSRCSSPlugin.js +5 -1
- package/dist/esm/vite/plugins/SSRCSSPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/SSRCSSPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/clientTreeShakePlugin.js +12 -3
- package/dist/esm/vite/plugins/clientTreeShakePlugin.js.map +1 -1
- package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +13 -4
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +1 -0
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +1 -0
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.js +16 -4
- package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +6 -2
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +4 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/dist/esm/vite/replaceLoader.js +4 -1
- package/dist/esm/vite/replaceLoader.js.map +1 -1
- package/dist/esm/vite/replaceLoader.mjs.map +1 -1
- package/dist/esm/vite/replaceLoader.native.js.map +1 -1
- package/dist/esm/vite/resolveResponse.js +5 -1
- package/dist/esm/vite/resolveResponse.js.map +1 -1
- package/dist/esm/vite/resolveResponse.mjs.map +1 -1
- package/dist/esm/vite/resolveResponse.native.js.map +1 -1
- package/dist/esm/zero/subscribeToQuery.js.map +1 -1
- package/dist/esm/zero/subscribeToQuery.mjs.map +1 -1
- package/dist/esm/zero/subscribeToQuery.native.js.map +1 -1
- package/dist/esm/zero/useQueryZero.js +3 -1
- package/dist/esm/zero/useQueryZero.js.map +1 -1
- package/dist/esm/zero/useQueryZero.mjs.map +1 -1
- package/dist/esm/zero/useQueryZero.native.js.map +1 -1
- package/metro-entry-ctx.js +2 -1
- package/package.json +11 -10
- package/src/Root.tsx +14 -5
- package/src/babel-plugins/one-router-metro.ts +4 -1
- package/src/babel-plugins/remove-server-code.ts +15 -4
- package/src/cli/build.ts +33 -8
- package/src/cli/buildPage.ts +36 -6
- package/src/cli/generateRoutes.ts +3 -1
- package/src/cli/generateSitemap.test.ts +14 -4
- package/src/cli/generateSitemap.ts +7 -2
- package/src/cli/main.ts +3 -1
- package/src/cli/prebuild.ts +5 -1
- package/src/clientLoaderResolver.ts +4 -1
- package/src/config.ts +6 -2
- package/src/constants.ts +4 -2
- package/src/createApp.tsx +11 -3
- package/src/createHandleRequest.ts +17 -6
- package/src/fork/__tests__/getPathFromState.test.tsx +128 -107
- package/src/fork/__tests__/getStateFromPath.test.tsx +181 -95
- package/src/fork/_shared.ts +2 -1
- package/src/fork/extractPathFromURL.ts +2 -1
- package/src/fork/getPathFromState-mods.ts +8 -2
- package/src/fork/getPathFromState.ts +16 -5
- package/src/fork/getStateFromPath-mods.ts +13 -3
- package/src/fork/getStateFromPath.test.ts +25 -9
- package/src/fork/getStateFromPath.ts +21 -5
- package/src/fork/useBackButton.native.tsx +3 -1
- package/src/fork/useBackButton.tsx +3 -1
- package/src/fork/useDocumentTitle.tsx +4 -1
- package/src/fork/useLinking.native.ts +3 -1
- package/src/fork/useLinking.ts +9 -3
- package/src/fork/validatePathConfig.ts +6 -1
- package/src/head/Head.ios.tsx +3 -1
- package/src/hooks.tsx +4 -2
- package/src/index.ts +4 -1
- package/src/interfaces/router.ts +29 -13
- package/src/layouts/Tabs.tsx +5 -1
- package/src/layouts/withLayoutContext.tsx +24 -21
- package/src/link/Link.tsx +3 -1
- package/src/link/linking.ts +3 -1
- package/src/link/useLinkTo.tsx +3 -1
- package/src/link/useLoadedNavigation.ts +5 -1
- package/src/metro-config/getViteMetroPluginOptions.ts +20 -22
- package/src/polyfills-mobile.ts +7 -0
- package/src/router/Route.tsx +3 -1
- package/src/router/RouteInfoContext.tsx +3 -1
- package/src/router/filterRootHTML.ts +5 -1
- package/src/router/getLinkingConfig.ts +4 -1
- package/src/router/getNormalizedStatePath.tsx +4 -1
- package/src/router/getRoutes.ts +13 -4
- package/src/router/linkingConfig.ts +4 -1
- package/src/router/matchers.test.ts +6 -2
- package/src/router/matchers.ts +1 -1
- package/src/router/router.ts +26 -7
- package/src/router/useNavigation.ts +4 -1
- package/src/router/useScreens.tsx +27 -14
- package/src/router/useViteRoutes.tsx +2 -1
- package/src/router/utils/getNavigateAction.ts +4 -2
- package/src/server/createRoutesManifest.ts +4 -1
- package/src/server/getServerManifest.ts +7 -2
- package/src/server/oneServe.ts +37 -9
- package/src/server/setupBuildOptions.ts +2 -1
- package/src/server/staticHtmlFetcher.ts +3 -1
- package/src/server-render.tsx +4 -1
- package/src/typed-routes/getTypedRoutesDeclarationFile.ts +20 -4
- package/src/typed-routes/injectRouteHelpers.ts +12 -3
- package/src/types.ts +2 -2
- package/src/ui/Slot.tsx +4 -2
- package/src/ui/TabContext.tsx +3 -1
- package/src/ui/TabRouter.tsx +7 -2
- package/src/ui/TabTrigger.tsx +20 -3
- package/src/ui/Tabs.tsx +8 -2
- package/src/ui/common.tsx +19 -5
- package/src/useLoader.ts +9 -4
- package/src/utils/cleanUrl.ts +5 -1
- package/src/utils/url.ts +3 -1
- package/src/vercel/build/buildVercelOutputDirectory.ts +31 -10
- package/src/vercel/build/generate/createApiServerlessFunction.ts +11 -3
- package/src/vercel/build/generate/createSsrServerlessFunction.ts +10 -3
- package/src/vercel/build/getPathFromRoute.ts +4 -1
- package/src/views/Navigator.tsx +21 -9
- package/src/views/RootErrorBoundary.tsx +3 -1
- package/src/views/Screen.tsx +4 -1
- package/src/vite/loadConfig.ts +6 -2
- package/src/vite/one-server-only.tsx +10 -4
- package/src/vite/one.ts +61 -46
- package/src/vite/plugins/SSRCSSPlugin.ts +9 -2
- package/src/vite/plugins/clientTreeShakePlugin.ts +22 -6
- package/src/vite/plugins/fileSystemRouterPlugin.tsx +15 -3
- package/src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx +2 -1
- package/src/vite/plugins/removeReactNativeWebAnimatedPlugin.ts +3 -1
- package/src/vite/plugins/virtualEntryPlugin.ts +28 -5
- package/src/vite/replaceLoader.ts +7 -1
- package/src/vite/resolveResponse.ts +6 -2
- package/src/vite/types.ts +6 -3
- package/src/zero/subscribeToQuery.ts +4 -1
- package/src/zero/types.ts +8 -9
- package/src/zero/useQuery.ts +1 -1
- package/src/zero/useQueryZero.ts +3 -1
- package/types/Root.d.ts.map +1 -1
- package/types/babel-plugins/one-router-metro.d.ts.map +1 -1
- package/types/babel-plugins/remove-server-code.d.ts.map +1 -1
- package/types/cli/build.d.ts.map +1 -1
- package/types/cli/buildPage.d.ts.map +1 -1
- package/types/cli/generateRoutes.d.ts.map +1 -1
- package/types/cli/generateSitemap.d.ts.map +1 -1
- package/types/cli/main.d.ts.map +1 -1
- package/types/cli/prebuild.d.ts.map +1 -1
- package/types/clientLoaderResolver.d.ts.map +1 -1
- package/types/config.d.ts.map +1 -1
- package/types/constants.d.ts.map +1 -1
- package/types/createApp.d.ts.map +1 -1
- package/types/createHandleRequest.d.ts +1 -1
- package/types/createHandleRequest.d.ts.map +1 -1
- package/types/fork/_shared.d.ts.map +1 -1
- package/types/fork/extractPathFromURL.d.ts.map +1 -1
- package/types/fork/getPathFromState.d.ts.map +1 -1
- package/types/fork/getStateFromPath-mods.d.ts.map +1 -1
- package/types/fork/getStateFromPath.d.ts.map +1 -1
- package/types/fork/useBackButton.d.ts.map +1 -1
- package/types/fork/useBackButton.native.d.ts.map +1 -1
- package/types/fork/useDocumentTitle.d.ts.map +1 -1
- package/types/fork/useLinking.d.ts.map +1 -1
- package/types/fork/useLinking.native.d.ts.map +1 -1
- package/types/fork/validatePathConfig.d.ts.map +1 -1
- package/types/head/Head.ios.d.ts.map +1 -1
- package/types/hooks.d.ts +2 -2
- package/types/hooks.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/interfaces/router.d.ts.map +1 -1
- package/types/layouts/Tabs.d.ts.map +1 -1
- package/types/layouts/withLayoutContext.d.ts.map +1 -1
- package/types/link/Link.d.ts.map +1 -1
- package/types/link/linking.d.ts.map +1 -1
- package/types/link/useLinkTo.d.ts.map +1 -1
- package/types/link/useLoadedNavigation.d.ts.map +1 -1
- package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -1
- package/types/polyfills-mobile.d.ts.map +1 -1
- package/types/router/Route.d.ts.map +1 -1
- package/types/router/RouteInfoContext.d.ts.map +1 -1
- package/types/router/filterRootHTML.d.ts.map +1 -1
- package/types/router/getNormalizedStatePath.d.ts.map +1 -1
- package/types/router/getRoutes.d.ts.map +1 -1
- package/types/router/linkingConfig.d.ts.map +1 -1
- package/types/router/router.d.ts.map +1 -1
- package/types/router/useNavigation.d.ts.map +1 -1
- package/types/router/useScreens.d.ts.map +1 -1
- package/types/router/useViteRoutes.d.ts.map +1 -1
- package/types/router/utils/getNavigateAction.d.ts.map +1 -1
- package/types/server/createRoutesManifest.d.ts.map +1 -1
- package/types/server/getServerManifest.d.ts.map +1 -1
- package/types/server/oneServe.d.ts.map +1 -1
- package/types/server/setupBuildOptions.d.ts.map +1 -1
- package/types/server/staticHtmlFetcher.d.ts.map +1 -1
- package/types/server-render.d.ts.map +1 -1
- package/types/types.d.ts +2 -2
- package/types/ui/Slot.d.ts.map +1 -1
- package/types/ui/TabContext.d.ts.map +1 -1
- package/types/ui/TabRouter.d.ts.map +1 -1
- package/types/ui/TabTrigger.d.ts.map +1 -1
- package/types/ui/Tabs.d.ts.map +1 -1
- package/types/ui/common.d.ts.map +1 -1
- package/types/useLoader.d.ts.map +1 -1
- package/types/utils/cleanUrl.d.ts.map +1 -1
- package/types/utils/url.d.ts.map +1 -1
- package/types/vercel/build/buildVercelOutputDirectory.d.ts.map +1 -1
- package/types/vercel/build/generate/createApiServerlessFunction.d.ts.map +1 -1
- package/types/vercel/build/generate/createSsrServerlessFunction.d.ts.map +1 -1
- package/types/vercel/build/getPathFromRoute.d.ts.map +1 -1
- package/types/views/Navigator.d.ts +1 -1
- package/types/views/Navigator.d.ts.map +1 -1
- package/types/views/RootErrorBoundary.d.ts.map +1 -1
- package/types/views/Screen.d.ts +1 -1
- package/types/views/Screen.d.ts.map +1 -1
- package/types/vite/loadConfig.d.ts.map +1 -1
- package/types/vite/one-server-only.d.ts +2 -2
- package/types/vite/one-server-only.d.ts.map +1 -1
- package/types/vite/one.d.ts.map +1 -1
- package/types/vite/plugins/SSRCSSPlugin.d.ts.map +1 -1
- package/types/vite/plugins/clientTreeShakePlugin.d.ts.map +1 -1
- package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
- package/types/vite/plugins/generateFileSystemRouteTypesPlugin.d.ts.map +1 -1
- package/types/vite/plugins/removeReactNativeWebAnimatedPlugin.d.ts.map +1 -1
- package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
- package/types/vite/replaceLoader.d.ts +2 -2
- package/types/vite/replaceLoader.d.ts.map +1 -1
- package/types/vite/resolveResponse.d.ts.map +1 -1
- package/types/vite/types.d.ts +1 -1
- package/types/vite/types.d.ts.map +1 -1
- package/types/zero/subscribeToQuery.d.ts.map +1 -1
- package/types/zero/types.d.ts.map +1 -1
- package/types/zero/useQueryZero.d.ts.map +1 -1
- package/vendor/react/cjs/react-jsx-dev-runtime.development.js +1230 -1078
- package/vendor/react/cjs/react-jsx-dev-runtime.production.min.js +4 -1
- package/vendor/react/cjs/react-jsx-dev-runtime.profiling.min.js +4 -1
- package/vendor/react/cjs/react-jsx-runtime.development.js +1244 -1092
- package/vendor/react/cjs/react-jsx-runtime.production.min.js +23 -2
- package/vendor/react/cjs/react-jsx-runtime.profiling.min.js +23 -2
- package/vendor/react/cjs/react.development.js +2604 -2324
- package/vendor/react/cjs/react.production.min.js +360 -17
- package/vendor/react/cjs/react.shared-subset.development.js +9 -7
- package/vendor/react/cjs/react.shared-subset.production.min.js +2 -1
- package/vendor/react/index.js +3 -3
- package/vendor/react/jsx-dev-runtime.js +3 -3
- package/vendor/react/jsx-runtime.js +3 -3
- package/vendor/react/react.shared-subset.js +3 -3
- package/vendor/react/umd/react.development.js +1430 -1152
- package/vendor/react/umd/react.production.min.js +657 -22
- package/vendor/react/umd/react.profiling.min.js +657 -22
- package/vendor/react-dom/cjs/react-dom-server-legacy.browser.development.js +7183 -5938
- package/vendor/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +1941 -84
- package/vendor/react-dom/cjs/react-dom-server-legacy.node.development.js +7239 -5986
- package/vendor/react-dom/cjs/react-dom-server-legacy.node.production.min.js +2055 -92
- package/vendor/react-dom/cjs/react-dom-server.browser.development.js +7146 -5924
- package/vendor/react-dom/cjs/react-dom-server.browser.production.min.js +1997 -87
- package/vendor/react-dom/cjs/react-dom-server.node.development.js +7210 -5976
- package/vendor/react-dom/cjs/react-dom-server.node.production.min.js +2075 -93
- package/vendor/react-dom/cjs/react-dom-test-utils.development.js +1700 -1487
- package/vendor/react-dom/cjs/react-dom-test-utils.production.min.js +653 -31
- package/vendor/react-dom/cjs/react-dom.development.js +29568 -25248
- package/vendor/react-dom/cjs/react-dom.production.min.js +8208 -310
- package/vendor/react-dom/cjs/react-dom.profiling.min.js +8750 -343
- package/vendor/react-dom/client.js +15 -15
- package/vendor/react-dom/index.js +8 -8
- package/vendor/react-dom/profiling.js +8 -8
- package/vendor/react-dom/server.browser.js +12 -12
- package/vendor/react-dom/server.js +2 -2
- package/vendor/react-dom/server.node.js +12 -12
- package/vendor/react-dom/test-utils.js +3 -3
- package/vendor/react-dom/umd/react-dom-server-legacy.browser.development.js +3735 -2502
- package/vendor/react-dom/umd/react-dom-server-legacy.browser.production.min.js +1964 -66
- package/vendor/react-dom/umd/react-dom-server.browser.development.js +3724 -2511
- package/vendor/react-dom/umd/react-dom-server.browser.production.min.js +2017 -67
- package/vendor/react-dom/umd/react-dom-test-utils.development.js +777 -563
- package/vendor/react-dom/umd/react-dom-test-utils.production.min.js +678 -24
- package/vendor/react-dom/umd/react-dom.development.js +15978 -11854
- package/vendor/react-dom/umd/react-dom.production.min.js +8328 -256
- package/vendor/react-dom/umd/react-dom.profiling.min.js +8868 -274
|
@@ -165,30 +165,28 @@ export function getViteMetroPluginOptions({
|
|
|
165
165
|
[
|
|
166
166
|
'babel-plugin-module-resolver',
|
|
167
167
|
{
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
return k.replace(/\/\*$/, '')
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
// If the key does not end with "/*", only alias exact matches.
|
|
178
|
-
// Ref: https://www.npmjs.com/package/babel-plugin-module-resolver/v/3.0.0#regular-expression-alias
|
|
179
|
-
return `${k}$`
|
|
180
|
-
})()
|
|
181
|
-
|
|
182
|
-
let value = v[0].replace(/\/\*$/, '')
|
|
183
|
-
|
|
184
|
-
if (!value.startsWith('./')) {
|
|
185
|
-
value = `./${value}`
|
|
168
|
+
// "vite-tsconfig-paths" for Metro
|
|
169
|
+
alias: Object.fromEntries(
|
|
170
|
+
Object.entries(tsconfigPathsConfigLoadResult.paths).map(([k, v]) => {
|
|
171
|
+
const key = (() => {
|
|
172
|
+
if (k.endsWith('/*')) {
|
|
173
|
+
return k.replace(/\/\*$/, '')
|
|
186
174
|
}
|
|
187
175
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
176
|
+
// If the key does not end with "/*", only alias exact matches.
|
|
177
|
+
// Ref: https://www.npmjs.com/package/babel-plugin-module-resolver/v/3.0.0#regular-expression-alias
|
|
178
|
+
return `${k}$`
|
|
179
|
+
})()
|
|
180
|
+
|
|
181
|
+
let value = v[0].replace(/\/\*$/, '')
|
|
182
|
+
|
|
183
|
+
if (!value.startsWith('./')) {
|
|
184
|
+
value = `./${value}`
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
return [key, value]
|
|
188
|
+
})
|
|
189
|
+
),
|
|
192
190
|
},
|
|
193
191
|
],
|
|
194
192
|
[
|
package/src/polyfills-mobile.ts
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
|
|
4
4
|
globalThis['global'] = globalThis
|
|
5
5
|
|
|
6
|
+
// --------------- TextDecoder -------------------
|
|
7
|
+
// for viem and other web3/crypto packages that need TextDecoder on React Native
|
|
8
|
+
|
|
9
|
+
import { TextDecoder as TextDecoderPolyfill } from '@bacons/text-decoder'
|
|
10
|
+
|
|
11
|
+
globalThis['TextDecoder'] ||= TextDecoderPolyfill
|
|
12
|
+
|
|
6
13
|
// --------------- structuredClone -------------------
|
|
7
14
|
|
|
8
15
|
import structuredClone from '@ungap/structured-clone'
|
package/src/router/Route.tsx
CHANGED
|
@@ -46,7 +46,9 @@ export type RouteNode = {
|
|
|
46
46
|
middlewares?: RouteNode[]
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
export const RouteParamsContext = createContext<
|
|
49
|
+
export const RouteParamsContext = createContext<
|
|
50
|
+
Record<string, string | undefined> | undefined
|
|
51
|
+
>({})
|
|
50
52
|
|
|
51
53
|
const CurrentRouteContext = React.createContext<RouteNode | null>(null)
|
|
52
54
|
|
|
@@ -56,7 +56,9 @@ export function RouteInfoContextProvider({ children }: { children: React.ReactNo
|
|
|
56
56
|
currentStateRef.current = currentState
|
|
57
57
|
|
|
58
58
|
return (
|
|
59
|
-
<RouteInfoContext.Provider
|
|
59
|
+
<RouteInfoContext.Provider
|
|
60
|
+
value={currentState ? lazilyCalculatedRouteInfo.current : undefined}
|
|
61
|
+
>
|
|
60
62
|
{children}
|
|
61
63
|
</RouteInfoContext.Provider>
|
|
62
64
|
)
|
|
@@ -70,7 +70,11 @@ export function filterRootHTML(el: React.ReactNode): FoundRootHTML {
|
|
|
70
70
|
) {
|
|
71
71
|
// filter out HTML elements on native (e.g. <div>, <meta>)
|
|
72
72
|
// preserve children so <div><Slot/></div> renders <Slot/> instead of nothing
|
|
73
|
-
if (
|
|
73
|
+
if (
|
|
74
|
+
element.props &&
|
|
75
|
+
typeof element.props === 'object' &&
|
|
76
|
+
'children' in element.props
|
|
77
|
+
) {
|
|
74
78
|
return traverse(element.props.children as React.ReactNode)
|
|
75
79
|
}
|
|
76
80
|
return null
|
|
@@ -54,7 +54,10 @@ export function getLinkingConfig(routes: RouteNode, metaOnly = true): OneLinking
|
|
|
54
54
|
export const stateCache = new Map<string, any>()
|
|
55
55
|
|
|
56
56
|
/** We can reduce work by memoizing the state by the pathname. This only works because the options (linking config) theoretically never change. */
|
|
57
|
-
function getStateFromPathMemoized(
|
|
57
|
+
function getStateFromPathMemoized(
|
|
58
|
+
path: string,
|
|
59
|
+
options: Parameters<typeof getStateFromPath>[1]
|
|
60
|
+
) {
|
|
58
61
|
const cached = stateCache.get(path)
|
|
59
62
|
if (cached) {
|
|
60
63
|
return cached
|
|
@@ -24,7 +24,10 @@ export function getNormalizedStatePath(
|
|
|
24
24
|
const [pathname] = statePath.split('?')
|
|
25
25
|
return {
|
|
26
26
|
// Strip empty path at the start
|
|
27
|
-
segments: stripBaseUrl(pathname, baseUrl)
|
|
27
|
+
segments: stripBaseUrl(pathname, baseUrl)
|
|
28
|
+
.split('/')
|
|
29
|
+
.filter(Boolean)
|
|
30
|
+
.map(decodeURIComponent),
|
|
28
31
|
// TODO: This is not efficient, we should generate based on the state instead
|
|
29
32
|
// of converting to string then back to object
|
|
30
33
|
params: Object.entries(params).reduce((prev, [key, value]) => {
|
package/src/router/getRoutes.ts
CHANGED
|
@@ -350,10 +350,14 @@ function getFileMeta(key: string, options: Options) {
|
|
|
350
350
|
const isLayout = filenameWithoutExtensions.startsWith('_layout')
|
|
351
351
|
const isMiddleware = filenameWithoutExtensions.startsWith('_middleware')
|
|
352
352
|
|
|
353
|
-
const [_fullname, renderModeFound] =
|
|
353
|
+
const [_fullname, renderModeFound] =
|
|
354
|
+
filename.match(/\+(api|ssg|ssr|spa)\.(\w+\.)?[jt]sx?$/) || []
|
|
354
355
|
const renderMode = renderModeFound as 'api' | One.RouteRenderMode | undefined
|
|
355
356
|
|
|
356
|
-
if (
|
|
357
|
+
if (
|
|
358
|
+
filenameWithoutExtensions.startsWith('(') &&
|
|
359
|
+
filenameWithoutExtensions.endsWith(')')
|
|
360
|
+
) {
|
|
357
361
|
throw new Error(`Invalid route ./${key}. Routes cannot end with '(group)' syntax`)
|
|
358
362
|
}
|
|
359
363
|
|
|
@@ -440,7 +444,10 @@ export function getIgnoreList(options?: Options) {
|
|
|
440
444
|
*
|
|
441
445
|
* /(a,b)/(c,d)/e.tsx => new Set(['a/c/e.tsx', 'a/d/e.tsx', 'b/c/e.tsx', 'b/d/e.tsx'])
|
|
442
446
|
*/
|
|
443
|
-
export function extrapolateGroups(
|
|
447
|
+
export function extrapolateGroups(
|
|
448
|
+
key: string,
|
|
449
|
+
keys: Set<string> = new Set()
|
|
450
|
+
): Set<string> {
|
|
444
451
|
const match = matchArrayGroupName(key)
|
|
445
452
|
|
|
446
453
|
if (!match) {
|
|
@@ -451,7 +458,9 @@ export function extrapolateGroups(key: string, keys: Set<string> = new Set()): S
|
|
|
451
458
|
const groupsSet = new Set(groups)
|
|
452
459
|
|
|
453
460
|
if (groupsSet.size !== groups.length) {
|
|
454
|
-
throw new Error(
|
|
461
|
+
throw new Error(
|
|
462
|
+
`Array syntax cannot contain duplicate group name "${groups}" in "${key}".`
|
|
463
|
+
)
|
|
455
464
|
}
|
|
456
465
|
|
|
457
466
|
if (groups.length === 1) {
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { OneRouter } from '../interfaces/router'
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
getLinkingConfig as createLinkingConfig,
|
|
4
|
+
type OneLinkingOptions,
|
|
5
|
+
} from './getLinkingConfig'
|
|
3
6
|
import type { RouteNode } from './Route'
|
|
4
7
|
|
|
5
8
|
let linkingConfig: OneLinkingOptions | undefined
|
|
@@ -110,11 +110,15 @@ describe(matchArrayGroupName, () => {
|
|
|
110
110
|
expect(matchArrayGroupName('leading/(foo,bar)/(fruit,apple)')).toEqual('foo,bar')
|
|
111
111
|
expect(matchArrayGroupName('(leading)/(foo,bar)')).toEqual('foo,bar')
|
|
112
112
|
expect(matchArrayGroupName('(leading)/(foo,bar)/trailing)')).toEqual('foo,bar')
|
|
113
|
-
expect(matchArrayGroupName('(leading)/((foo),(bar))/trailing)')).toEqual(
|
|
113
|
+
expect(matchArrayGroupName('(leading)/((foo),(bar))/trailing)')).toEqual(
|
|
114
|
+
'(foo),(bar)'
|
|
115
|
+
)
|
|
114
116
|
})
|
|
115
117
|
it.skip(`should only match the first group with array group syntax`, () => {
|
|
116
118
|
expect(matchArrayGroupName('(leading)/(foo,bar)/(fruit,apple)')).toEqual('foo,bar')
|
|
117
|
-
expect(matchArrayGroupName('(leading)/((foo),bar)/(fruit,apple)')).toEqual(
|
|
119
|
+
expect(matchArrayGroupName('(leading)/((foo),bar)/(fruit,apple)')).toEqual(
|
|
120
|
+
'(foo),bar'
|
|
121
|
+
)
|
|
118
122
|
expect(matchArrayGroupName('(leading)/(foo,bar)/((fruit),apple)')).toEqual('foo,bar')
|
|
119
123
|
})
|
|
120
124
|
})
|
package/src/router/matchers.ts
CHANGED
|
@@ -28,7 +28,7 @@ export function matchDeepDynamicRouteName(name: string): string | undefined {
|
|
|
28
28
|
|
|
29
29
|
/** Test `/` -> `page` */
|
|
30
30
|
export function testNotFound(name: string): boolean {
|
|
31
|
-
return
|
|
31
|
+
return name.endsWith('+not-found')
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
/** Match `(page)` -> `page` */
|
package/src/router/router.ts
CHANGED
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
* the best decision.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
type NavigationContainerRefWithCurrent,
|
|
9
|
+
StackActions,
|
|
10
|
+
} from '@react-navigation/native'
|
|
8
11
|
import * as Linking from 'expo-linking'
|
|
9
12
|
import {
|
|
10
13
|
type ComponentType,
|
|
@@ -77,7 +80,9 @@ export function initialize(
|
|
|
77
80
|
const prefix = indent + (isLast ? '└─ ' : '├─ ')
|
|
78
81
|
const childIndent = indent + (isLast ? ' ' : '│ ')
|
|
79
82
|
|
|
80
|
-
const dynamicBadge = node.dynamic
|
|
83
|
+
const dynamicBadge = node.dynamic
|
|
84
|
+
? ` [${node.dynamic.map((d) => d.name).join(', ')}]`
|
|
85
|
+
: ''
|
|
81
86
|
const typeBadge = node.type !== 'layout' ? ` (${node.type})` : ''
|
|
82
87
|
const routeName = node.route || '/'
|
|
83
88
|
|
|
@@ -360,13 +365,21 @@ function syncStoreRootState() {
|
|
|
360
365
|
|
|
361
366
|
export function useStoreRootState() {
|
|
362
367
|
syncStoreRootState()
|
|
363
|
-
const state = useSyncExternalStore(
|
|
368
|
+
const state = useSyncExternalStore(
|
|
369
|
+
subscribeToRootState,
|
|
370
|
+
rootStateSnapshot,
|
|
371
|
+
rootStateSnapshot
|
|
372
|
+
)
|
|
364
373
|
return useDeferredValue(state)
|
|
365
374
|
}
|
|
366
375
|
|
|
367
376
|
export function useStoreRouteInfo() {
|
|
368
377
|
syncStoreRootState()
|
|
369
|
-
const state = useSyncExternalStore(
|
|
378
|
+
const state = useSyncExternalStore(
|
|
379
|
+
subscribeToRootState,
|
|
380
|
+
routeInfoSnapshot,
|
|
381
|
+
routeInfoSnapshot
|
|
382
|
+
)
|
|
370
383
|
return useDeferredValue(state)
|
|
371
384
|
}
|
|
372
385
|
|
|
@@ -388,7 +401,7 @@ async function doPreload(href: string) {
|
|
|
388
401
|
const [_preload, cssPreloadModule, loader] = await Promise.all([
|
|
389
402
|
dynamicImport(preloadPath),
|
|
390
403
|
dynamicImport(cssPreloadPath)?.catch(() => null) ?? Promise.resolve(null), // graceful fail if no CSS preload
|
|
391
|
-
dynamicImport(loaderPath),
|
|
404
|
+
dynamicImport(loaderPath)?.catch(() => null) ?? Promise.resolve(null), // graceful fail if no loader file
|
|
392
405
|
preloadRouteModules(href),
|
|
393
406
|
])
|
|
394
407
|
|
|
@@ -445,7 +458,11 @@ export function preloadRoute(href: string, injectCSS = false): Promise<any> | un
|
|
|
445
458
|
return preloadingLoader[href]
|
|
446
459
|
}
|
|
447
460
|
|
|
448
|
-
export async function linkTo(
|
|
461
|
+
export async function linkTo(
|
|
462
|
+
href: string,
|
|
463
|
+
event?: string,
|
|
464
|
+
options?: OneRouter.LinkToOptions
|
|
465
|
+
) {
|
|
449
466
|
if (process.env.ONE_DEBUG_ROUTER) {
|
|
450
467
|
console.info(`[one] 🔗 ${event || 'NAVIGATE'} ${href}`)
|
|
451
468
|
}
|
|
@@ -513,7 +530,9 @@ export async function linkTo(href: string, event?: string, options?: OneRouter.L
|
|
|
513
530
|
const state = linking.getStateFromPath!(href, linking.config)
|
|
514
531
|
|
|
515
532
|
if (!state || state.routes.length === 0) {
|
|
516
|
-
console.error(
|
|
533
|
+
console.error(
|
|
534
|
+
'Could not generate a valid navigation state for the given path: ' + href
|
|
535
|
+
)
|
|
517
536
|
console.error(`linking.config`, linking.config)
|
|
518
537
|
console.error(`routes`, getSortedRoutes())
|
|
519
538
|
return
|
|
@@ -44,7 +44,10 @@ export function useNavigation<T = NavigationProp<ReactNavigation.RootParamList>>
|
|
|
44
44
|
return navigation
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
export function resolveParentId(
|
|
47
|
+
export function resolveParentId(
|
|
48
|
+
contextKey: string,
|
|
49
|
+
parentId?: string | null
|
|
50
|
+
): string | null {
|
|
48
51
|
if (!parentId) {
|
|
49
52
|
return null
|
|
50
53
|
}
|
|
@@ -34,15 +34,15 @@ export const { Screen, Group } = createNavigatorFactory({} as any)()
|
|
|
34
34
|
// so hydration sees identical content without 100KB+ JSON payload.
|
|
35
35
|
const cachedInlineCSSElements: React.ReactNode[] =
|
|
36
36
|
typeof document !== 'undefined'
|
|
37
|
-
? Array.from(
|
|
38
|
-
(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
)
|
|
37
|
+
? Array.from(
|
|
38
|
+
document.querySelectorAll<HTMLStyleElement>('style[id^="__one_css_"]')
|
|
39
|
+
).map((el, i) => (
|
|
40
|
+
<style
|
|
41
|
+
key={`inline-css-${i}`}
|
|
42
|
+
id={el.id}
|
|
43
|
+
dangerouslySetInnerHTML={{ __html: el.innerHTML }}
|
|
44
|
+
/>
|
|
45
|
+
))
|
|
46
46
|
: []
|
|
47
47
|
|
|
48
48
|
export type ScreenProps<
|
|
@@ -87,7 +87,9 @@ function getSortedChildren(
|
|
|
87
87
|
const ordered = order
|
|
88
88
|
.map(({ name, redirect, initialParams, listeners, options, getId }) => {
|
|
89
89
|
if (!entries.length) {
|
|
90
|
-
console.warn(
|
|
90
|
+
console.warn(
|
|
91
|
+
`[Layout children]: Too many screens defined. Route "${name}" is extraneous.`
|
|
92
|
+
)
|
|
91
93
|
return null
|
|
92
94
|
}
|
|
93
95
|
const matchIndex = entries.findIndex((child) => child.route === name)
|
|
@@ -201,7 +203,10 @@ export function getQualifiedRouteComponent(value: RouteNode) {
|
|
|
201
203
|
const out = Component(props, ref)
|
|
202
204
|
|
|
203
205
|
const { children, bodyProps, head, htmlProps } = filterRootHTML(out)
|
|
204
|
-
const { children: headChildren, ...headProps } = (head?.props || {}) as Record<
|
|
206
|
+
const { children: headChildren, ...headProps } = (head?.props || {}) as Record<
|
|
207
|
+
string,
|
|
208
|
+
any
|
|
209
|
+
>
|
|
205
210
|
const serverContext = useServerContext()
|
|
206
211
|
|
|
207
212
|
// let finalChildren = <Suspense fallback={null}>{children}</Suspense>
|
|
@@ -232,7 +237,9 @@ export function getQualifiedRouteComponent(value: RouteNode) {
|
|
|
232
237
|
/>
|
|
233
238
|
))
|
|
234
239
|
: cachedInlineCSSElements
|
|
235
|
-
: serverContext?.css?.map((file) =>
|
|
240
|
+
: serverContext?.css?.map((file) => (
|
|
241
|
+
<link key={file} rel="stylesheet" href={file} />
|
|
242
|
+
))}
|
|
236
243
|
<ServerContextScript />
|
|
237
244
|
{headChildren}
|
|
238
245
|
</head>
|
|
@@ -264,7 +271,10 @@ export function getQualifiedRouteComponent(value: RouteNode) {
|
|
|
264
271
|
// i tried a lot of things, but didn't find the root cause, but native needs suspense or
|
|
265
272
|
// else it hits an error about no suspense boundary being set
|
|
266
273
|
|
|
267
|
-
if (
|
|
274
|
+
if (
|
|
275
|
+
process.env.TAMAGUI_TARGET === 'native' ||
|
|
276
|
+
process.env.ONE_SUSPEND_ROUTES === '1'
|
|
277
|
+
) {
|
|
268
278
|
return <Suspense fallback={null}>{children}</Suspense>
|
|
269
279
|
}
|
|
270
280
|
return children
|
|
@@ -343,7 +353,10 @@ export function createGetIdForRoute(
|
|
|
343
353
|
}
|
|
344
354
|
}
|
|
345
355
|
|
|
346
|
-
function routeToScreen(
|
|
356
|
+
function routeToScreen(
|
|
357
|
+
route: RouteNode,
|
|
358
|
+
{ options, ...props }: Partial<ScreenProps> = {}
|
|
359
|
+
) {
|
|
347
360
|
return (
|
|
348
361
|
<Screen
|
|
349
362
|
// Users can override the screen getId function.
|
|
@@ -129,7 +129,8 @@ export async function preloadRouteModules(href: string): Promise<void> {
|
|
|
129
129
|
(normalizedHref !== '' && routePath === normalizedHref.split('/')[0]) // top-level match
|
|
130
130
|
|
|
131
131
|
// also check dynamic route patterns like docs/[slug]
|
|
132
|
-
const isDynamicMatch =
|
|
132
|
+
const isDynamicMatch =
|
|
133
|
+
routePath.includes('[') && matchDynamicRoute(routePath, normalizedHref)
|
|
133
134
|
|
|
134
135
|
if ((isStaticMatch || isDynamicMatch) && typeof globbed[key] === 'function') {
|
|
135
136
|
promises.push(
|
|
@@ -47,7 +47,8 @@ export function getNavigateAction(
|
|
|
47
47
|
!childState ||
|
|
48
48
|
!nextNavigationState ||
|
|
49
49
|
(dynamicMatch &&
|
|
50
|
-
actionStateRoute.params?.[dynamicMatch.name] !==
|
|
50
|
+
actionStateRoute.params?.[dynamicMatch.name] !==
|
|
51
|
+
stateRoute.params?.[dynamicMatch.name])
|
|
51
52
|
|
|
52
53
|
if (didActionAndCurrentStateDiverge) {
|
|
53
54
|
break
|
|
@@ -71,7 +72,8 @@ export function getNavigateAction(
|
|
|
71
72
|
payload.screen = actionStateRoute.name
|
|
72
73
|
payload.params = { ...actionStateRoute.params }
|
|
73
74
|
|
|
74
|
-
actionStateRoute =
|
|
75
|
+
actionStateRoute =
|
|
76
|
+
actionStateRoute.state?.routes[actionStateRoute.state?.routes.length - 1]
|
|
75
77
|
|
|
76
78
|
payload.params ??= {}
|
|
77
79
|
payload = payload.params
|
|
@@ -25,7 +25,10 @@ function createMockModuleWithContext(map: string[] = []) {
|
|
|
25
25
|
return contextModule as One.RouteContext
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
export function createRoutesManifest(
|
|
28
|
+
export function createRoutesManifest(
|
|
29
|
+
paths: string[],
|
|
30
|
+
options: Options
|
|
31
|
+
): RoutesManifest | null {
|
|
29
32
|
const routeTree = getRoutes(createMockModuleWithContext(paths), {
|
|
30
33
|
...options,
|
|
31
34
|
preserveApiRoutes: true,
|
|
@@ -85,7 +85,9 @@ export function getServerManifest(route: RouteNode): OneRouterServerManifestV1 {
|
|
|
85
85
|
for (const [path, route] of flat) {
|
|
86
86
|
if (pathToRoute[path]) {
|
|
87
87
|
console.warn(`\n[one] ❌ Duplicate routes error`)
|
|
88
|
-
console.warn(
|
|
88
|
+
console.warn(
|
|
89
|
+
` Multiple routes at the same path! One route will always win over the other.`
|
|
90
|
+
)
|
|
89
91
|
console.warn(` path: ${path}`)
|
|
90
92
|
console.warn(` first route: ${pathToRoute[path].contextKey}`)
|
|
91
93
|
console.warn(` second route: ${route.contextKey}\n`)
|
|
@@ -141,7 +143,10 @@ function getGeneratedNamedRouteRegex(
|
|
|
141
143
|
}
|
|
142
144
|
}
|
|
143
145
|
|
|
144
|
-
function getRouteEntry(
|
|
146
|
+
function getRouteEntry(
|
|
147
|
+
normalizedRoute: string,
|
|
148
|
+
node: RouteNode
|
|
149
|
+
): OneRouterServerManifestV1Route {
|
|
145
150
|
const result = getPathMeta(normalizedRoute)
|
|
146
151
|
return {
|
|
147
152
|
file: node.contextKey,
|
package/src/server/oneServe.ts
CHANGED
|
@@ -42,9 +42,8 @@ export async function oneServe(
|
|
|
42
42
|
lazyRoutes?: LazyRoutes
|
|
43
43
|
}
|
|
44
44
|
) {
|
|
45
|
-
const { resolveAPIRoute, resolveLoaderRoute, resolvePageRoute } =
|
|
46
|
-
'../createHandleRequest'
|
|
47
|
-
)
|
|
45
|
+
const { resolveAPIRoute, resolveLoaderRoute, resolvePageRoute } =
|
|
46
|
+
await import('../createHandleRequest')
|
|
48
47
|
const { isResponse } = await import('../utils/isResponse')
|
|
49
48
|
const { isStatusRedirect } = await import('../utils/isStatus')
|
|
50
49
|
|
|
@@ -110,7 +109,12 @@ export async function oneServe(
|
|
|
110
109
|
const fileName = useRolldown
|
|
111
110
|
? route.page.slice(1)
|
|
112
111
|
: route.page.slice(1).replace(/\[/g, '_').replace(/\]/g, '_')
|
|
113
|
-
const apiFile = join(
|
|
112
|
+
const apiFile = join(
|
|
113
|
+
process.cwd(),
|
|
114
|
+
'dist',
|
|
115
|
+
'api',
|
|
116
|
+
fileName + (apiCJS ? '.cjs' : '.js')
|
|
117
|
+
)
|
|
114
118
|
return await import(apiFile)
|
|
115
119
|
},
|
|
116
120
|
|
|
@@ -159,12 +163,24 @@ export async function oneServe(
|
|
|
159
163
|
const exported = options?.lazyRoutes?.pages?.[route.file]
|
|
160
164
|
? await options.lazyRoutes.pages[route.file]()
|
|
161
165
|
: await import(toAbsolute(buildInfo.serverJsPath))
|
|
162
|
-
|
|
166
|
+
|
|
167
|
+
let loaderData
|
|
168
|
+
try {
|
|
169
|
+
loaderData = await exported.loader?.(loaderProps)
|
|
170
|
+
} catch (loaderErr) {
|
|
171
|
+
// Handle thrown responses (e.g., redirect) from loader
|
|
172
|
+
if (isResponse(loaderErr)) {
|
|
173
|
+
return loaderErr
|
|
174
|
+
}
|
|
175
|
+
throw loaderErr
|
|
176
|
+
}
|
|
163
177
|
|
|
164
178
|
const headers = new Headers()
|
|
165
179
|
headers.set('content-type', 'text/html')
|
|
166
180
|
|
|
167
|
-
const rendered = await (
|
|
181
|
+
const rendered = await (
|
|
182
|
+
await getRender()
|
|
183
|
+
)({
|
|
168
184
|
mode: route.type,
|
|
169
185
|
loaderData,
|
|
170
186
|
loaderProps,
|
|
@@ -181,6 +197,11 @@ export async function oneServe(
|
|
|
181
197
|
status: route.isNotFound ? 404 : 200,
|
|
182
198
|
})
|
|
183
199
|
} catch (err) {
|
|
200
|
+
// Handle thrown responses (e.g., redirect) that weren't caught above
|
|
201
|
+
if (isResponse(err)) {
|
|
202
|
+
return err
|
|
203
|
+
}
|
|
204
|
+
|
|
184
205
|
console.error(`[one] Error rendering SSR route ${route.file}
|
|
185
206
|
|
|
186
207
|
${err?.['stack'] ?? err}
|
|
@@ -218,12 +239,17 @@ url: ${url}`)
|
|
|
218
239
|
},
|
|
219
240
|
}
|
|
220
241
|
|
|
221
|
-
function createHonoHandler(
|
|
242
|
+
function createHonoHandler(
|
|
243
|
+
route: RouteInfoCompiled
|
|
244
|
+
): MiddlewareHandler<BlankEnv, never, {}> {
|
|
222
245
|
return async (context, next) => {
|
|
223
246
|
try {
|
|
224
247
|
const request = context.req.raw
|
|
225
248
|
|
|
226
|
-
if (
|
|
249
|
+
if (
|
|
250
|
+
route.page.endsWith('/+not-found') ||
|
|
251
|
+
Reflect.ownKeys(route.routeKeys).length > 0
|
|
252
|
+
) {
|
|
227
253
|
// Static assets should have the highest priority - which is the behavior of the dev server.
|
|
228
254
|
// But if we handle every matching static asset here, it seems to break some of the static routes.
|
|
229
255
|
// So we only handle it if there's a matching not-found or dynamic route, to prevent One from taking over the static asset.
|
|
@@ -262,7 +288,9 @@ url: ${url}`)
|
|
|
262
288
|
switch (route.type) {
|
|
263
289
|
case 'api': {
|
|
264
290
|
if (debugRouter) {
|
|
265
|
-
console.info(
|
|
291
|
+
console.info(
|
|
292
|
+
`[one] ⚡ ${url.pathname} → matched API route: ${route.page}`
|
|
293
|
+
)
|
|
266
294
|
}
|
|
267
295
|
return resolveAPIRoute(requestHandlers, request, url, route)
|
|
268
296
|
}
|
|
@@ -3,5 +3,6 @@ import type { One } from '../vite/types'
|
|
|
3
3
|
export function setupBuildInfo(buildInfo: One.BuildInfo) {
|
|
4
4
|
// ensure cache key matches build
|
|
5
5
|
process.env.ONE_CACHE_KEY ||= buildInfo.constants.CACHE_KEY
|
|
6
|
-
process.env.ONE_DEFAULT_RENDER_MODE ||=
|
|
6
|
+
process.env.ONE_DEFAULT_RENDER_MODE ||=
|
|
7
|
+
buildInfo.oneOptions?.web?.defaultRenderMode || 'ssg'
|
|
7
8
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// Global function for fetching static HTML in Workers (set per-request)
|
|
2
2
|
let _fetchStaticHtml: ((path: string) => Promise<string | null>) | null = null
|
|
3
3
|
|
|
4
|
-
export function setFetchStaticHtml(
|
|
4
|
+
export function setFetchStaticHtml(
|
|
5
|
+
fn: ((path: string) => Promise<string | null>) | null
|
|
6
|
+
) {
|
|
5
7
|
_fetchStaticHtml = fn
|
|
6
8
|
}
|
|
7
9
|
|
package/src/server-render.tsx
CHANGED
|
@@ -16,7 +16,10 @@ export type RenderToStringOptions = {
|
|
|
16
16
|
deferredPreloads?: string[]
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
export const renderToString = async (
|
|
19
|
+
export const renderToString = async (
|
|
20
|
+
app: React.ReactElement,
|
|
21
|
+
options: RenderToStringOptions
|
|
22
|
+
) => {
|
|
20
23
|
const readableStream = await ReactDOMServer.renderToReadableStream(app, {
|
|
21
24
|
// Only pass critical scripts to bootstrapModules
|
|
22
25
|
// These generate both modulepreload links AND async script tags
|
|
@@ -106,7 +106,9 @@ function extractParams(routePath: string): Array<{ name: string; isCatchAll: boo
|
|
|
106
106
|
* Generate inline params type for better intellisense
|
|
107
107
|
* e.g., [{ name: "slug", isCatchAll: false }] -> "{ slug: string }"
|
|
108
108
|
*/
|
|
109
|
-
function generateInlineParamsType(
|
|
109
|
+
function generateInlineParamsType(
|
|
110
|
+
params: Array<{ name: string; isCatchAll: boolean }>
|
|
111
|
+
): string {
|
|
110
112
|
const entries = params.map((p) => {
|
|
111
113
|
const type = p.isCatchAll ? 'string[]' : 'string'
|
|
112
114
|
return `${p.name}: ${type}`
|
|
@@ -126,12 +128,24 @@ function walkRouteNode(
|
|
|
126
128
|
) {
|
|
127
129
|
if (!routeNode) return
|
|
128
130
|
|
|
129
|
-
addRouteNode(
|
|
131
|
+
addRouteNode(
|
|
132
|
+
routeNode,
|
|
133
|
+
parentRoutePath,
|
|
134
|
+
staticRoutes,
|
|
135
|
+
dynamicRoutes,
|
|
136
|
+
dynamicRouteContextKeys
|
|
137
|
+
)
|
|
130
138
|
|
|
131
139
|
parentRoutePath = `${removeSupportedExtensions(`${parentRoutePath}/${routeNode.route}`).replace(/\/?index$/, '')}` // replace /index with /
|
|
132
140
|
|
|
133
141
|
for (const child of routeNode.children) {
|
|
134
|
-
walkRouteNode(
|
|
142
|
+
walkRouteNode(
|
|
143
|
+
child,
|
|
144
|
+
parentRoutePath,
|
|
145
|
+
staticRoutes,
|
|
146
|
+
dynamicRoutes,
|
|
147
|
+
dynamicRouteContextKeys
|
|
148
|
+
)
|
|
135
149
|
}
|
|
136
150
|
}
|
|
137
151
|
|
|
@@ -183,7 +197,9 @@ const setToUnionType = <T>(set: Set<T>) => {
|
|
|
183
197
|
}
|
|
184
198
|
|
|
185
199
|
function generateCombinations(pathname) {
|
|
186
|
-
const groups = pathname
|
|
200
|
+
const groups = pathname
|
|
201
|
+
.split('/')
|
|
202
|
+
.filter((part) => part.startsWith('(') && part.endsWith(')'))
|
|
187
203
|
const combinations: string[] = []
|
|
188
204
|
|
|
189
205
|
function generate(currentIndex, currentPath) {
|