one 1.2.47 → 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.js +14 -4
- package/dist/cjs/cli/buildPage.js.map +1 -1
- 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/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.js +13 -3
- package/dist/cjs/router/router.js.map +1 -1
- 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.js +9 -2
- package/dist/cjs/server/oneServe.js.map +1 -1
- 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.js +11 -4
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- 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.js +13 -3
- package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
- 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 +14 -4
- package/dist/esm/cli/buildPage.js.map +1 -1
- package/dist/esm/cli/buildPage.mjs.map +1 -1
- 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/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 +16 -4
- package/dist/esm/router/router.js.map +1 -1
- package/dist/esm/router/router.mjs.map +1 -1
- 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 +9 -2
- package/dist/esm/server/oneServe.js.map +1 -1
- package/dist/esm/server/oneServe.mjs.map +1 -1
- 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 +11 -4
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
- 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 +13 -3
- package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -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 +10 -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 +15 -4
- 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/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 +25 -6
- 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 +21 -8
- 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 +10 -3
- package/src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx +2 -1
- package/src/vite/plugins/removeReactNativeWebAnimatedPlugin.ts +3 -1
- package/src/vite/plugins/virtualEntryPlugin.ts +22 -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/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/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
|
|
|
@@ -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
|
|
|
@@ -174,7 +178,9 @@ export async function oneServe(
|
|
|
174
178
|
const headers = new Headers()
|
|
175
179
|
headers.set('content-type', 'text/html')
|
|
176
180
|
|
|
177
|
-
const rendered = await (
|
|
181
|
+
const rendered = await (
|
|
182
|
+
await getRender()
|
|
183
|
+
)({
|
|
178
184
|
mode: route.type,
|
|
179
185
|
loaderData,
|
|
180
186
|
loaderProps,
|
|
@@ -233,12 +239,17 @@ url: ${url}`)
|
|
|
233
239
|
},
|
|
234
240
|
}
|
|
235
241
|
|
|
236
|
-
function createHonoHandler(
|
|
242
|
+
function createHonoHandler(
|
|
243
|
+
route: RouteInfoCompiled
|
|
244
|
+
): MiddlewareHandler<BlankEnv, never, {}> {
|
|
237
245
|
return async (context, next) => {
|
|
238
246
|
try {
|
|
239
247
|
const request = context.req.raw
|
|
240
248
|
|
|
241
|
-
if (
|
|
249
|
+
if (
|
|
250
|
+
route.page.endsWith('/+not-found') ||
|
|
251
|
+
Reflect.ownKeys(route.routeKeys).length > 0
|
|
252
|
+
) {
|
|
242
253
|
// Static assets should have the highest priority - which is the behavior of the dev server.
|
|
243
254
|
// But if we handle every matching static asset here, it seems to break some of the static routes.
|
|
244
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.
|
|
@@ -277,7 +288,9 @@ url: ${url}`)
|
|
|
277
288
|
switch (route.type) {
|
|
278
289
|
case 'api': {
|
|
279
290
|
if (debugRouter) {
|
|
280
|
-
console.info(
|
|
291
|
+
console.info(
|
|
292
|
+
`[one] ⚡ ${url.pathname} → matched API route: ${route.page}`
|
|
293
|
+
)
|
|
281
294
|
}
|
|
282
295
|
return resolveAPIRoute(requestHandlers, request, url, route)
|
|
283
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) {
|
|
@@ -66,7 +66,10 @@ export async function injectRouteHelpers(
|
|
|
66
66
|
/**
|
|
67
67
|
* Adds createRoute to an existing import from 'one', or creates a new import
|
|
68
68
|
*/
|
|
69
|
-
function addCreateRouteImport(content: string): {
|
|
69
|
+
function addCreateRouteImport(content: string): {
|
|
70
|
+
updatedContent: string
|
|
71
|
+
importAdded: boolean
|
|
72
|
+
} {
|
|
70
73
|
// Check if already imports createRoute
|
|
71
74
|
if (/import\s+[^'"]*createRoute[^'"]*from\s+['"]one['"]/m.test(content)) {
|
|
72
75
|
return { updatedContent: content, importAdded: false }
|
|
@@ -80,7 +83,10 @@ function addCreateRouteImport(content: string): { updatedContent: string; import
|
|
|
80
83
|
// Add createRoute to existing import
|
|
81
84
|
const existingImports = match[1].trim()
|
|
82
85
|
const newImports = existingImports ? `${existingImports}, createRoute` : 'createRoute'
|
|
83
|
-
const updatedContent = content.replace(
|
|
86
|
+
const updatedContent = content.replace(
|
|
87
|
+
oneImportRegex,
|
|
88
|
+
`import { ${newImports} } from 'one'`
|
|
89
|
+
)
|
|
84
90
|
return { updatedContent, importAdded: true }
|
|
85
91
|
}
|
|
86
92
|
|
|
@@ -100,7 +106,10 @@ function addCreateRouteImport(content: string): { updatedContent: string; import
|
|
|
100
106
|
/**
|
|
101
107
|
* Adds RouteType to an existing type import from 'one', or creates a new import
|
|
102
108
|
*/
|
|
103
|
-
function addRouteTypeImport(content: string): {
|
|
109
|
+
function addRouteTypeImport(content: string): {
|
|
110
|
+
updatedContent: string
|
|
111
|
+
importAdded: boolean
|
|
112
|
+
} {
|
|
104
113
|
// Check if already imports RouteType
|
|
105
114
|
if (/import\s+type\s+[^'"]*RouteType[^'"]*from\s+['"]one['"]/m.test(content)) {
|
|
106
115
|
return { updatedContent: content, importAdded: false }
|
package/src/types.ts
CHANGED
|
@@ -5,11 +5,11 @@ export type PickPartial<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>
|
|
|
5
5
|
|
|
6
6
|
export type GlobbedRouteImports = Record<string, () => Promise<unknown>>
|
|
7
7
|
|
|
8
|
-
export type Endpoint = (req: Request) => Response | string |
|
|
8
|
+
export type Endpoint = (req: Request) => Response | string | object | null
|
|
9
9
|
|
|
10
10
|
export type RenderApp = (props: RenderAppProps) => Promise<string>
|
|
11
11
|
|
|
12
|
-
export type LoaderProps<Params extends
|
|
12
|
+
export type LoaderProps<Params extends object = Record<string, string | string[]>> = {
|
|
13
13
|
path: string
|
|
14
14
|
search?: string
|
|
15
15
|
params: Params
|
package/src/ui/Slot.tsx
CHANGED
|
@@ -28,7 +28,9 @@ function ShimSlotForReactNative(Component: typeof RUISlot): typeof RUISlot {
|
|
|
28
28
|
})
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
export interface Slot<
|
|
32
|
-
|
|
31
|
+
export interface Slot<
|
|
32
|
+
Props = ViewProps,
|
|
33
|
+
Ref = Component<ViewProps>,
|
|
34
|
+
> extends ForwardRefExoticComponent<Props & RefAttributes<Ref>> {}
|
|
33
35
|
|
|
34
36
|
export const Slot: Slot = ShimSlotForReactNative(RUISlot) as Slot
|
package/src/ui/TabContext.tsx
CHANGED
|
@@ -96,7 +96,9 @@ export const TabsDescriptorsContext = createContext<TabsContextValue['descriptor
|
|
|
96
96
|
/**
|
|
97
97
|
* @hidden
|
|
98
98
|
*/
|
|
99
|
-
export const TabsNavigatorContext = createContext<TabsContextValue['navigation'] | null>(
|
|
99
|
+
export const TabsNavigatorContext = createContext<TabsContextValue['navigation'] | null>(
|
|
100
|
+
null
|
|
101
|
+
)
|
|
100
102
|
/**
|
|
101
103
|
* @hidden
|
|
102
104
|
*/
|