one 1.10.6 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Root.cjs +11 -2
- package/dist/cjs/Root.js +5 -2
- package/dist/cjs/Root.js.map +1 -1
- package/dist/cjs/Root.native.js +18 -18
- package/dist/cjs/Root.native.js.map +1 -1
- package/dist/cjs/babel-plugins/inline-one-server-url.cjs +41 -0
- package/dist/cjs/babel-plugins/inline-one-server-url.js +34 -0
- package/dist/cjs/babel-plugins/inline-one-server-url.js.map +6 -0
- package/dist/cjs/babel-plugins/inline-one-server-url.native.js +48 -0
- package/dist/cjs/babel-plugins/inline-one-server-url.native.js.map +1 -0
- package/dist/cjs/cli/build.cjs +88 -29
- package/dist/cjs/cli/build.js +85 -28
- package/dist/cjs/cli/build.js.map +1 -1
- package/dist/cjs/cli/build.native.js +105 -35
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/cli/buildPage.cjs +24 -12
- package/dist/cjs/cli/buildPage.js +20 -14
- package/dist/cjs/cli/buildPage.js.map +1 -1
- package/dist/cjs/cli/buildPage.native.js +29 -18
- package/dist/cjs/cli/buildPage.native.js.map +1 -1
- package/dist/cjs/cli/buildPageWorker.cjs +9 -15
- package/dist/cjs/cli/buildPageWorker.js +11 -12
- package/dist/cjs/cli/buildPageWorker.js.map +1 -1
- package/dist/cjs/cli/buildPageWorker.native.js +5 -16
- package/dist/cjs/cli/buildPageWorker.native.js.map +1 -1
- package/dist/cjs/cli/patch.cjs +3 -3
- package/dist/cjs/cli/patch.js +3 -3
- package/dist/cjs/cli/patch.js.map +1 -1
- package/dist/cjs/cli/patch.native.js +3 -3
- package/dist/cjs/cli/patch.native.js.map +1 -1
- package/dist/cjs/cli/securityScan.cjs +123 -0
- package/dist/cjs/cli/securityScan.js +134 -0
- package/dist/cjs/cli/securityScan.js.map +6 -0
- package/dist/cjs/cli/securityScan.native.js +205 -0
- package/dist/cjs/cli/securityScan.native.js.map +1 -0
- package/dist/cjs/cli/workerPool.cjs +4 -3
- package/dist/cjs/cli/workerPool.js +3 -3
- package/dist/cjs/cli/workerPool.js.map +1 -1
- package/dist/cjs/cli/workerPool.native.js +4 -3
- package/dist/cjs/cli/workerPool.native.js.map +1 -1
- package/dist/cjs/cli.cjs +13 -2
- package/dist/cjs/cli.js +12 -2
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/cli.native.js +13 -2
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/cjs/createApp.cjs +130 -64
- package/dist/cjs/createApp.js +97 -24
- package/dist/cjs/createApp.js.map +1 -1
- package/dist/cjs/createHandleRequest.cjs +58 -35
- package/dist/cjs/createHandleRequest.js +29 -18
- package/dist/cjs/createHandleRequest.js.map +1 -1
- package/dist/cjs/createHandleRequest.native.js +66 -41
- package/dist/cjs/createHandleRequest.native.js.map +1 -1
- package/dist/cjs/daemon/tui.js.map +1 -1
- package/dist/cjs/fork/NavigationContainer.cjs +26 -3
- package/dist/cjs/fork/NavigationContainer.js +12 -4
- package/dist/cjs/fork/NavigationContainer.js.map +1 -1
- package/dist/cjs/fork/NavigationContainer.native.js +25 -2
- package/dist/cjs/fork/NavigationContainer.native.js.map +1 -1
- package/dist/cjs/fork/SSRNavigationContainer.cjs +105 -0
- package/dist/cjs/fork/SSRNavigationContainer.js +66 -0
- package/dist/cjs/fork/SSRNavigationContainer.js.map +6 -0
- package/dist/cjs/fork/SSRNavigationContainer.native.js +119 -0
- package/dist/cjs/fork/SSRNavigationContainer.native.js.map +1 -0
- package/dist/cjs/fork/getPathFromState.cjs +10 -5
- package/dist/cjs/fork/getPathFromState.js +5 -5
- package/dist/cjs/fork/getPathFromState.js.map +1 -1
- package/dist/cjs/fork/getPathFromState.native.js +10 -5
- package/dist/cjs/fork/getPathFromState.native.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath-mods.cjs +1 -1
- package/dist/cjs/fork/getStateFromPath-mods.js +1 -1
- package/dist/cjs/fork/getStateFromPath-mods.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath-mods.native.js +1 -1
- package/dist/cjs/fork/getStateFromPath-mods.native.js.map +1 -1
- package/dist/cjs/fork/navigationThemes.cjs +84 -0
- package/dist/cjs/fork/navigationThemes.js +54 -0
- package/dist/cjs/fork/navigationThemes.js.map +6 -0
- package/dist/cjs/fork/navigationThemes.native.js +87 -0
- package/dist/cjs/fork/navigationThemes.native.js.map +1 -0
- package/dist/cjs/fork/useLinking.cjs +11 -1
- package/dist/cjs/fork/useLinking.js +10 -1
- package/dist/cjs/fork/useLinking.js.map +1 -1
- package/dist/cjs/fork/useLinking.native.js +1 -1
- package/dist/cjs/fork/useLinking.native.js.map +1 -1
- package/dist/cjs/getReactNavigationConfig.cjs +3 -1
- package/dist/cjs/getReactNavigationConfig.js +2 -2
- package/dist/cjs/getReactNavigationConfig.js.map +1 -1
- package/dist/cjs/getReactNavigationConfig.native.js +3 -1
- package/dist/cjs/getReactNavigationConfig.native.js.map +1 -1
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +2 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackScreen.cjs +15 -1
- package/dist/cjs/layouts/stack-utils/StackScreen.js +27 -1
- package/dist/cjs/layouts/stack-utils/StackScreen.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/StackScreen.native.js +18 -1
- package/dist/cjs/layouts/stack-utils/StackScreen.native.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/index.cjs +2 -1
- package/dist/cjs/layouts/stack-utils/index.js +2 -1
- package/dist/cjs/layouts/stack-utils/index.js.map +1 -1
- package/dist/cjs/layouts/stack-utils/index.native.js +2 -1
- package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +3 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.js +3 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.js.map +1 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +3 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
- package/dist/cjs/reactNavigationImports.cjs +33 -0
- package/dist/cjs/reactNavigationImports.js +28 -0
- package/dist/cjs/reactNavigationImports.js.map +6 -0
- package/dist/cjs/reactNavigationImports.native.js +36 -0
- package/dist/cjs/reactNavigationImports.native.js.map +1 -0
- package/dist/cjs/reactNavigationImports.server.cjs +51 -0
- package/dist/cjs/reactNavigationImports.server.js +42 -0
- package/dist/cjs/reactNavigationImports.server.js.map +6 -0
- package/dist/cjs/reactNavigationImports.server.native.js +56 -0
- package/dist/cjs/reactNavigationImports.server.native.js.map +1 -0
- package/dist/cjs/router/findRouteNode.cjs +4 -4
- package/dist/cjs/router/findRouteNode.js +4 -4
- package/dist/cjs/router/findRouteNode.js.map +1 -1
- package/dist/cjs/router/findRouteNode.native.js +4 -4
- package/dist/cjs/router/findRouteNode.native.js.map +1 -1
- package/dist/cjs/router/isIndexPath.cjs +1 -0
- package/dist/cjs/router/isIndexPath.js +2 -0
- package/dist/cjs/router/isIndexPath.js.map +1 -1
- package/dist/cjs/router/isIndexPath.native.js +3 -2
- package/dist/cjs/router/isIndexPath.native.js.map +1 -1
- package/dist/cjs/router/linkingConfig.cjs +19 -2
- package/dist/cjs/router/linkingConfig.js +18 -2
- package/dist/cjs/router/linkingConfig.js.map +1 -1
- package/dist/cjs/router/linkingConfig.native.js +21 -2
- package/dist/cjs/router/linkingConfig.native.js.map +1 -1
- package/dist/cjs/router/router.cjs +30 -24
- package/dist/cjs/router/router.js +23 -20
- package/dist/cjs/router/router.js.map +2 -2
- package/dist/cjs/router/router.native.js +21 -14
- package/dist/cjs/router/router.native.js.map +1 -1
- package/dist/cjs/router/useInitializeOneRouter.cjs +25 -9
- package/dist/cjs/router/useInitializeOneRouter.js +21 -8
- package/dist/cjs/router/useInitializeOneRouter.js.map +1 -1
- package/dist/cjs/router/useInitializeOneRouter.native.js +23 -7
- package/dist/cjs/router/useInitializeOneRouter.native.js.map +1 -1
- package/dist/cjs/router/useScreens.cjs +30 -11
- package/dist/cjs/router/useScreens.js +47 -21
- package/dist/cjs/router/useScreens.js.map +1 -1
- package/dist/cjs/router/useScreens.native.js +25 -10
- package/dist/cjs/router/useScreens.native.js.map +1 -1
- package/dist/cjs/screensFeatureFlags.cjs +37 -0
- package/dist/cjs/screensFeatureFlags.js +31 -0
- package/dist/cjs/screensFeatureFlags.js.map +6 -0
- package/dist/cjs/screensFeatureFlags.native.js +40 -0
- package/dist/cjs/screensFeatureFlags.native.js.map +1 -0
- package/dist/cjs/serve.cjs +27 -3
- package/dist/cjs/serve.js +26 -3
- package/dist/cjs/serve.js.map +1 -1
- package/dist/cjs/serve.native.js +36 -4
- package/dist/cjs/serve.native.js.map +1 -1
- package/dist/cjs/server/ServerContextScript.cjs +14 -5
- package/dist/cjs/server/ServerContextScript.js +12 -6
- package/dist/cjs/server/ServerContextScript.js.map +1 -1
- package/dist/cjs/server/ServerContextScript.native.js +18 -6
- package/dist/cjs/server/ServerContextScript.native.js.map +1 -1
- package/dist/cjs/server/oneServe.cjs +279 -182
- package/dist/cjs/server/oneServe.js +105 -30
- package/dist/cjs/server/oneServe.js.map +1 -1
- package/dist/cjs/server/oneServe.native.js +334 -215
- package/dist/cjs/server/oneServe.native.js.map +1 -1
- package/dist/cjs/server/ssrLoaderData.cjs +30 -0
- package/dist/cjs/server/ssrLoaderData.js +25 -0
- package/dist/cjs/server/ssrLoaderData.js.map +6 -0
- package/dist/cjs/server/ssrLoaderData.native.js +33 -0
- package/dist/cjs/server/ssrLoaderData.native.js.map +1 -0
- package/dist/cjs/server-render.cjs +22 -22
- package/dist/cjs/server-render.js +11 -15
- package/dist/cjs/server-render.js.map +1 -1
- package/dist/cjs/server-render.native.js +18 -38
- package/dist/cjs/server-render.native.js.map +1 -1
- package/dist/cjs/ui/Slot.cjs +1 -0
- package/dist/cjs/ui/Slot.js +4 -0
- package/dist/cjs/ui/Slot.js.map +1 -1
- package/dist/cjs/ui/Slot.native.js +1 -0
- package/dist/cjs/ui/Slot.native.js.map +1 -1
- package/dist/cjs/ui/TabRouter.cjs +32 -19
- package/dist/cjs/ui/TabRouter.js +18 -2
- package/dist/cjs/ui/TabRouter.js.map +1 -1
- package/dist/cjs/ui/TabRouter.native.js +13 -0
- package/dist/cjs/ui/TabRouter.native.js.map +1 -1
- package/dist/cjs/ui/TabTrigger.cjs +2 -2
- package/dist/cjs/ui/TabTrigger.js +1 -1
- package/dist/cjs/ui/TabTrigger.js.map +1 -1
- package/dist/cjs/ui/TabTrigger.native.js +2 -2
- package/dist/cjs/ui/TabTrigger.native.js.map +1 -1
- package/dist/cjs/useLoader.cjs +39 -9
- package/dist/cjs/useLoader.js +33 -9
- package/dist/cjs/useLoader.js.map +2 -2
- package/dist/cjs/useLoader.native.js +48 -11
- package/dist/cjs/useLoader.native.js.map +1 -1
- package/dist/cjs/utils/isRolldown.cjs +8 -24
- package/dist/cjs/utils/isRolldown.js +6 -20
- package/dist/cjs/utils/isRolldown.js.map +1 -1
- package/dist/cjs/utils/isRolldown.native.js +8 -25
- package/dist/cjs/utils/isRolldown.native.js.map +1 -1
- package/dist/cjs/utils/removeParams.cjs +52 -0
- package/dist/cjs/utils/removeParams.js +40 -0
- package/dist/cjs/utils/removeParams.js.map +6 -0
- package/dist/cjs/utils/removeParams.native.js +71 -0
- package/dist/cjs/utils/removeParams.native.js.map +1 -0
- package/dist/cjs/vercel/build/buildVercelOutputDirectory.cjs +7 -5
- package/dist/cjs/vercel/build/buildVercelOutputDirectory.js +7 -5
- package/dist/cjs/vercel/build/buildVercelOutputDirectory.js.map +1 -1
- package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js +7 -4
- package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createApiServerlessFunction.cjs +2 -2
- package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js +2 -2
- package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js +2 -1
- package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.cjs +3 -2
- package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js +2 -2
- package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js.map +1 -1
- package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js +3 -2
- package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
- package/dist/cjs/views/Navigator.cjs +1 -0
- package/dist/cjs/views/Navigator.js +2 -0
- package/dist/cjs/views/Navigator.js.map +1 -1
- package/dist/cjs/views/Navigator.native.js +1 -0
- package/dist/cjs/views/Navigator.native.js.map +1 -1
- package/dist/cjs/vite/one-server-only.cjs +6 -3
- package/dist/cjs/vite/one-server-only.js +3 -3
- package/dist/cjs/vite/one-server-only.js.map +1 -1
- package/dist/cjs/vite/one-server-only.native.js +6 -0
- package/dist/cjs/vite/one-server-only.native.js.map +1 -1
- package/dist/cjs/vite/one.cjs +75 -29
- package/dist/cjs/vite/one.js +93 -24
- package/dist/cjs/vite/one.js.map +2 -2
- package/dist/cjs/vite/one.native.js +143 -34
- package/dist/cjs/vite/one.native.js.map +1 -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/criticalCSSPlugin.cjs +59 -0
- package/dist/cjs/vite/plugins/criticalCSSPlugin.js +52 -0
- package/dist/cjs/vite/plugins/criticalCSSPlugin.js.map +6 -0
- package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js +78 -0
- package/dist/cjs/vite/plugins/criticalCSSPlugin.native.js.map +1 -0
- package/dist/cjs/vite/plugins/criticalCSSPlugin.test.cjs +160 -0
- package/dist/cjs/vite/plugins/criticalCSSPlugin.test.js +126 -0
- package/dist/cjs/vite/plugins/criticalCSSPlugin.test.js.map +6 -0
- package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js +165 -0
- package/dist/cjs/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -0
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +2 -2
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +2 -2
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +2 -2
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/fixDependenciesPlugin.cjs +2 -8
- package/dist/cjs/vite/plugins/fixDependenciesPlugin.js +2 -8
- package/dist/cjs/vite/plugins/fixDependenciesPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/fixDependenciesPlugin.native.js +2 -8
- package/dist/cjs/vite/plugins/fixDependenciesPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.cjs +6 -14
- package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.js +8 -11
- package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js +6 -18
- package/dist/cjs/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.cjs +11 -6
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.js +12 -7
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js +12 -7
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/warmRoutesPlugin.cjs +98 -0
- package/dist/cjs/vite/plugins/warmRoutesPlugin.js +95 -0
- package/dist/cjs/vite/plugins/warmRoutesPlugin.js.map +6 -0
- package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js +134 -0
- package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js.map +1 -0
- package/dist/cjs/vite/replaceLoader.cjs +1 -1
- package/dist/cjs/vite/replaceLoader.js +1 -1
- package/dist/cjs/vite/replaceLoader.js.map +1 -1
- package/dist/cjs/vite/replaceLoader.native.js +1 -1
- package/dist/cjs/vite/replaceLoader.native.js.map +1 -1
- package/dist/cjs/vite/resolveResponse.cjs +20 -8
- package/dist/cjs/vite/resolveResponse.js +22 -7
- package/dist/cjs/vite/resolveResponse.js.map +1 -1
- package/dist/cjs/vite/resolveResponse.native.js +20 -8
- package/dist/cjs/vite/resolveResponse.native.js.map +1 -1
- package/dist/cjs/vite-auto-warm.cjs +26 -0
- package/dist/cjs/vite-auto-warm.js +21 -0
- package/dist/cjs/vite-auto-warm.js.map +6 -0
- package/dist/cjs/vite-auto-warm.native.js +29 -0
- package/dist/cjs/vite-auto-warm.native.js.map +1 -0
- package/dist/cjs/vite.cjs +3 -1
- package/dist/cjs/vite.js +2 -1
- package/dist/cjs/vite.js.map +1 -1
- package/dist/cjs/vite.native.js +3 -1
- package/dist/cjs/vite.native.js.map +1 -1
- package/dist/esm/Root.js +7 -2
- package/dist/esm/Root.js.map +1 -1
- package/dist/esm/Root.mjs +12 -3
- package/dist/esm/Root.mjs.map +1 -1
- package/dist/esm/Root.native.js +19 -19
- package/dist/esm/Root.native.js.map +1 -1
- package/dist/esm/babel-plugins/inline-one-server-url.js +18 -0
- package/dist/esm/babel-plugins/inline-one-server-url.js.map +6 -0
- package/dist/esm/babel-plugins/inline-one-server-url.mjs +18 -0
- package/dist/esm/babel-plugins/inline-one-server-url.mjs.map +1 -0
- package/dist/esm/babel-plugins/inline-one-server-url.native.js +22 -0
- package/dist/esm/babel-plugins/inline-one-server-url.native.js.map +1 -0
- package/dist/esm/cli/build.js +86 -27
- package/dist/esm/cli/build.js.map +1 -1
- package/dist/esm/cli/build.mjs +87 -28
- package/dist/esm/cli/build.mjs.map +1 -1
- package/dist/esm/cli/build.native.js +104 -34
- package/dist/esm/cli/build.native.js.map +1 -1
- package/dist/esm/cli/buildPage.js +20 -13
- package/dist/esm/cli/buildPage.js.map +1 -1
- package/dist/esm/cli/buildPage.mjs +24 -12
- package/dist/esm/cli/buildPage.mjs.map +1 -1
- package/dist/esm/cli/buildPage.native.js +29 -18
- package/dist/esm/cli/buildPage.native.js.map +1 -1
- package/dist/esm/cli/buildPageWorker.js +11 -12
- package/dist/esm/cli/buildPageWorker.js.map +1 -1
- package/dist/esm/cli/buildPageWorker.mjs +9 -15
- package/dist/esm/cli/buildPageWorker.mjs.map +1 -1
- package/dist/esm/cli/buildPageWorker.native.js +5 -16
- package/dist/esm/cli/buildPageWorker.native.js.map +1 -1
- package/dist/esm/cli/patch.js +3 -3
- package/dist/esm/cli/patch.js.map +1 -1
- package/dist/esm/cli/patch.mjs +3 -3
- package/dist/esm/cli/patch.mjs.map +1 -1
- package/dist/esm/cli/patch.native.js +3 -3
- package/dist/esm/cli/patch.native.js.map +1 -1
- package/dist/esm/cli/securityScan.js +119 -0
- package/dist/esm/cli/securityScan.js.map +6 -0
- package/dist/esm/cli/securityScan.mjs +99 -0
- package/dist/esm/cli/securityScan.mjs.map +1 -0
- package/dist/esm/cli/securityScan.native.js +178 -0
- package/dist/esm/cli/securityScan.native.js.map +1 -0
- package/dist/esm/cli/workerPool.js +3 -3
- package/dist/esm/cli/workerPool.js.map +1 -1
- package/dist/esm/cli/workerPool.mjs +4 -3
- package/dist/esm/cli/workerPool.mjs.map +1 -1
- package/dist/esm/cli/workerPool.native.js +4 -3
- package/dist/esm/cli/workerPool.native.js.map +1 -1
- package/dist/esm/cli.js +12 -2
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/cli.mjs +13 -2
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/cli.native.js +13 -2
- package/dist/esm/cli.native.js.map +1 -1
- package/dist/esm/createApp.js +97 -25
- package/dist/esm/createApp.js.map +1 -1
- package/dist/esm/createApp.mjs +130 -64
- package/dist/esm/createApp.mjs.map +1 -1
- package/dist/esm/createHandleRequest.js +29 -18
- package/dist/esm/createHandleRequest.js.map +1 -1
- package/dist/esm/createHandleRequest.mjs +58 -35
- package/dist/esm/createHandleRequest.mjs.map +1 -1
- package/dist/esm/createHandleRequest.native.js +66 -41
- package/dist/esm/createHandleRequest.native.js.map +1 -1
- package/dist/esm/daemon/tui.js.map +1 -1
- package/dist/esm/daemon/tui.mjs.map +1 -1
- package/dist/esm/fork/NavigationContainer.js +12 -3
- package/dist/esm/fork/NavigationContainer.js.map +1 -1
- package/dist/esm/fork/NavigationContainer.mjs +26 -3
- package/dist/esm/fork/NavigationContainer.mjs.map +1 -1
- package/dist/esm/fork/NavigationContainer.native.js +24 -1
- package/dist/esm/fork/NavigationContainer.native.js.map +1 -1
- package/dist/esm/fork/SSRNavigationContainer.js +55 -0
- package/dist/esm/fork/SSRNavigationContainer.js.map +6 -0
- package/dist/esm/fork/SSRNavigationContainer.mjs +82 -0
- package/dist/esm/fork/SSRNavigationContainer.mjs.map +1 -0
- package/dist/esm/fork/SSRNavigationContainer.native.js +93 -0
- package/dist/esm/fork/SSRNavigationContainer.native.js.map +1 -0
- package/dist/esm/fork/getPathFromState.js +5 -5
- package/dist/esm/fork/getPathFromState.js.map +1 -1
- package/dist/esm/fork/getPathFromState.mjs +10 -5
- package/dist/esm/fork/getPathFromState.mjs.map +1 -1
- package/dist/esm/fork/getPathFromState.native.js +11 -6
- package/dist/esm/fork/getPathFromState.native.js.map +1 -1
- package/dist/esm/fork/getStateFromPath-mods.js +1 -1
- package/dist/esm/fork/getStateFromPath-mods.js.map +1 -1
- package/dist/esm/fork/getStateFromPath-mods.mjs +1 -1
- package/dist/esm/fork/getStateFromPath-mods.mjs.map +1 -1
- package/dist/esm/fork/getStateFromPath-mods.native.js +1 -1
- package/dist/esm/fork/getStateFromPath-mods.native.js.map +1 -1
- package/dist/esm/fork/navigationThemes.js +38 -0
- package/dist/esm/fork/navigationThemes.js.map +6 -0
- package/dist/esm/fork/navigationThemes.mjs +60 -0
- package/dist/esm/fork/navigationThemes.mjs.map +1 -0
- package/dist/esm/fork/navigationThemes.native.js +60 -0
- package/dist/esm/fork/navigationThemes.native.js.map +1 -0
- package/dist/esm/fork/useLinking.js +10 -1
- package/dist/esm/fork/useLinking.js.map +1 -1
- package/dist/esm/fork/useLinking.mjs +11 -1
- package/dist/esm/fork/useLinking.mjs.map +1 -1
- package/dist/esm/fork/useLinking.native.js +1 -1
- package/dist/esm/fork/useLinking.native.js.map +1 -1
- package/dist/esm/getReactNavigationConfig.js +2 -2
- package/dist/esm/getReactNavigationConfig.js.map +1 -1
- package/dist/esm/getReactNavigationConfig.mjs +3 -1
- package/dist/esm/getReactNavigationConfig.mjs.map +1 -1
- package/dist/esm/getReactNavigationConfig.native.js +3 -1
- package/dist/esm/getReactNavigationConfig.native.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/layouts/stack-utils/StackScreen.js +27 -1
- package/dist/esm/layouts/stack-utils/StackScreen.js.map +1 -1
- package/dist/esm/layouts/stack-utils/StackScreen.mjs +14 -1
- package/dist/esm/layouts/stack-utils/StackScreen.mjs.map +1 -1
- package/dist/esm/layouts/stack-utils/StackScreen.native.js +17 -1
- package/dist/esm/layouts/stack-utils/StackScreen.native.js.map +1 -1
- package/dist/esm/layouts/stack-utils/index.js +4 -2
- package/dist/esm/layouts/stack-utils/index.js.map +1 -1
- package/dist/esm/layouts/stack-utils/index.mjs +2 -2
- package/dist/esm/layouts/stack-utils/index.mjs.map +1 -1
- package/dist/esm/layouts/stack-utils/index.native.js +2 -2
- package/dist/esm/layouts/stack-utils/index.native.js.map +1 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.js +3 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.js.map +1 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +3 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +3 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
- package/dist/esm/reactNavigationImports.js +21 -0
- package/dist/esm/reactNavigationImports.js.map +6 -0
- package/dist/esm/reactNavigationImports.mjs +3 -0
- package/dist/esm/reactNavigationImports.mjs.map +1 -0
- package/dist/esm/reactNavigationImports.native.js +3 -0
- package/dist/esm/reactNavigationImports.native.js.map +1 -0
- package/dist/esm/reactNavigationImports.server.js +32 -0
- package/dist/esm/reactNavigationImports.server.js.map +6 -0
- package/dist/esm/reactNavigationImports.server.mjs +20 -0
- package/dist/esm/reactNavigationImports.server.mjs.map +1 -0
- package/dist/esm/reactNavigationImports.server.native.js +22 -0
- package/dist/esm/reactNavigationImports.server.native.js.map +1 -0
- package/dist/esm/router/findRouteNode.js +4 -4
- package/dist/esm/router/findRouteNode.js.map +1 -1
- package/dist/esm/router/findRouteNode.mjs +4 -4
- package/dist/esm/router/findRouteNode.mjs.map +1 -1
- package/dist/esm/router/findRouteNode.native.js +4 -4
- package/dist/esm/router/findRouteNode.native.js.map +1 -1
- package/dist/esm/router/isIndexPath.js +2 -0
- package/dist/esm/router/isIndexPath.js.map +1 -1
- package/dist/esm/router/isIndexPath.mjs +1 -0
- package/dist/esm/router/isIndexPath.mjs.map +1 -1
- package/dist/esm/router/isIndexPath.native.js +3 -2
- package/dist/esm/router/isIndexPath.native.js.map +1 -1
- package/dist/esm/router/linkingConfig.js +18 -2
- package/dist/esm/router/linkingConfig.js.map +1 -1
- package/dist/esm/router/linkingConfig.mjs +18 -3
- package/dist/esm/router/linkingConfig.mjs.map +1 -1
- package/dist/esm/router/linkingConfig.native.js +20 -3
- package/dist/esm/router/linkingConfig.native.js.map +1 -1
- package/dist/esm/router/router.js +23 -20
- package/dist/esm/router/router.js.map +2 -2
- package/dist/esm/router/router.mjs +30 -25
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js +21 -15
- package/dist/esm/router/router.native.js.map +1 -1
- package/dist/esm/router/useInitializeOneRouter.js +21 -7
- package/dist/esm/router/useInitializeOneRouter.js.map +1 -1
- package/dist/esm/router/useInitializeOneRouter.mjs +23 -8
- package/dist/esm/router/useInitializeOneRouter.mjs.map +1 -1
- package/dist/esm/router/useInitializeOneRouter.native.js +23 -8
- package/dist/esm/router/useInitializeOneRouter.native.js.map +1 -1
- package/dist/esm/router/useScreens.js +47 -21
- package/dist/esm/router/useScreens.js.map +1 -1
- package/dist/esm/router/useScreens.mjs +30 -11
- package/dist/esm/router/useScreens.mjs.map +1 -1
- package/dist/esm/router/useScreens.native.js +25 -10
- package/dist/esm/router/useScreens.native.js.map +1 -1
- package/dist/esm/screensFeatureFlags.js +15 -0
- package/dist/esm/screensFeatureFlags.js.map +6 -0
- package/dist/esm/screensFeatureFlags.mjs +14 -0
- package/dist/esm/screensFeatureFlags.mjs.map +1 -0
- package/dist/esm/screensFeatureFlags.native.js +14 -0
- package/dist/esm/screensFeatureFlags.native.js.map +1 -0
- package/dist/esm/serve.js +26 -3
- package/dist/esm/serve.js.map +1 -1
- package/dist/esm/serve.mjs +27 -3
- package/dist/esm/serve.mjs.map +1 -1
- package/dist/esm/serve.native.js +36 -4
- package/dist/esm/serve.native.js.map +1 -1
- package/dist/esm/server/ServerContextScript.js +12 -6
- package/dist/esm/server/ServerContextScript.js.map +1 -1
- package/dist/esm/server/ServerContextScript.mjs +14 -5
- package/dist/esm/server/ServerContextScript.mjs.map +1 -1
- package/dist/esm/server/ServerContextScript.native.js +18 -6
- package/dist/esm/server/ServerContextScript.native.js.map +1 -1
- package/dist/esm/server/oneServe.js +105 -29
- package/dist/esm/server/oneServe.js.map +1 -1
- package/dist/esm/server/oneServe.mjs +279 -182
- package/dist/esm/server/oneServe.mjs.map +1 -1
- package/dist/esm/server/oneServe.native.js +334 -215
- package/dist/esm/server/oneServe.native.js.map +1 -1
- package/dist/esm/server/ssrLoaderData.js +9 -0
- package/dist/esm/server/ssrLoaderData.js.map +6 -0
- package/dist/esm/server/ssrLoaderData.mjs +6 -0
- package/dist/esm/server/ssrLoaderData.mjs.map +1 -0
- package/dist/esm/server/ssrLoaderData.native.js +6 -0
- package/dist/esm/server/ssrLoaderData.native.js.map +1 -0
- package/dist/esm/server-render.js +11 -15
- package/dist/esm/server-render.js.map +1 -1
- package/dist/esm/server-render.mjs +21 -22
- package/dist/esm/server-render.mjs.map +1 -1
- package/dist/esm/server-render.native.js +17 -38
- package/dist/esm/server-render.native.js.map +1 -1
- package/dist/esm/ui/Slot.js +4 -0
- package/dist/esm/ui/Slot.js.map +1 -1
- package/dist/esm/ui/Slot.mjs +1 -0
- package/dist/esm/ui/Slot.mjs.map +1 -1
- package/dist/esm/ui/Slot.native.js +1 -0
- package/dist/esm/ui/Slot.native.js.map +1 -1
- package/dist/esm/ui/TabRouter.js +18 -2
- package/dist/esm/ui/TabRouter.js.map +1 -1
- package/dist/esm/ui/TabRouter.mjs +32 -19
- package/dist/esm/ui/TabRouter.mjs.map +1 -1
- package/dist/esm/ui/TabRouter.native.js +13 -0
- package/dist/esm/ui/TabRouter.native.js.map +1 -1
- package/dist/esm/ui/TabTrigger.js +1 -1
- package/dist/esm/ui/TabTrigger.js.map +1 -1
- package/dist/esm/ui/TabTrigger.mjs +2 -2
- package/dist/esm/ui/TabTrigger.mjs.map +1 -1
- package/dist/esm/ui/TabTrigger.native.js +2 -2
- package/dist/esm/ui/TabTrigger.native.js.map +1 -1
- package/dist/esm/useLoader.js +37 -8
- package/dist/esm/useLoader.js.map +1 -1
- package/dist/esm/useLoader.mjs +38 -9
- package/dist/esm/useLoader.mjs.map +1 -1
- package/dist/esm/useLoader.native.js +47 -11
- package/dist/esm/useLoader.native.js.map +1 -1
- package/dist/esm/utils/isRolldown.js +4 -10
- package/dist/esm/utils/isRolldown.js.map +1 -1
- package/dist/esm/utils/isRolldown.mjs +4 -9
- package/dist/esm/utils/isRolldown.mjs.map +1 -1
- package/dist/esm/utils/isRolldown.native.js +4 -10
- package/dist/esm/utils/isRolldown.native.js.map +1 -1
- package/dist/esm/utils/removeParams.js +24 -0
- package/dist/esm/utils/removeParams.js.map +6 -0
- package/dist/esm/utils/removeParams.mjs +29 -0
- package/dist/esm/utils/removeParams.mjs.map +1 -0
- package/dist/esm/utils/removeParams.native.js +45 -0
- package/dist/esm/utils/removeParams.native.js.map +1 -0
- package/dist/esm/vercel/build/buildVercelOutputDirectory.js +7 -5
- package/dist/esm/vercel/build/buildVercelOutputDirectory.js.map +1 -1
- package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs +7 -5
- package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs.map +1 -1
- package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js +7 -4
- package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.js +2 -2
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.js.map +1 -1
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs +2 -2
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs.map +1 -1
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js +2 -1
- package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
- package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js +2 -2
- package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js.map +1 -1
- package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs +3 -2
- package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs.map +1 -1
- package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js +3 -2
- package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
- package/dist/esm/views/Navigator.js +2 -0
- package/dist/esm/views/Navigator.js.map +1 -1
- package/dist/esm/views/Navigator.mjs +1 -0
- package/dist/esm/views/Navigator.mjs.map +1 -1
- package/dist/esm/views/Navigator.native.js +1 -0
- package/dist/esm/views/Navigator.native.js.map +1 -1
- package/dist/esm/vite/one-server-only.js +3 -3
- package/dist/esm/vite/one-server-only.js.map +1 -1
- package/dist/esm/vite/one-server-only.mjs +6 -3
- package/dist/esm/vite/one-server-only.mjs.map +1 -1
- package/dist/esm/vite/one-server-only.native.js +4 -1
- package/dist/esm/vite/one-server-only.native.js.map +1 -1
- package/dist/esm/vite/one.js +94 -24
- package/dist/esm/vite/one.js.map +1 -1
- package/dist/esm/vite/one.mjs +75 -29
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js +143 -34
- package/dist/esm/vite/one.native.js.map +1 -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/criticalCSSPlugin.js +36 -0
- package/dist/esm/vite/plugins/criticalCSSPlugin.js.map +6 -0
- package/dist/esm/vite/plugins/criticalCSSPlugin.mjs +34 -0
- package/dist/esm/vite/plugins/criticalCSSPlugin.mjs.map +1 -0
- package/dist/esm/vite/plugins/criticalCSSPlugin.native.js +50 -0
- package/dist/esm/vite/plugins/criticalCSSPlugin.native.js.map +1 -0
- package/dist/esm/vite/plugins/criticalCSSPlugin.test.js +107 -0
- package/dist/esm/vite/plugins/criticalCSSPlugin.test.js.map +6 -0
- package/dist/esm/vite/plugins/criticalCSSPlugin.test.mjs +139 -0
- package/dist/esm/vite/plugins/criticalCSSPlugin.test.mjs.map +1 -0
- package/dist/esm/vite/plugins/criticalCSSPlugin.test.native.js +141 -0
- package/dist/esm/vite/plugins/criticalCSSPlugin.test.native.js.map +1 -0
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +2 -2
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +2 -2
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +2 -2
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/fixDependenciesPlugin.js +3 -9
- package/dist/esm/vite/plugins/fixDependenciesPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/fixDependenciesPlugin.mjs +3 -9
- package/dist/esm/vite/plugins/fixDependenciesPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/fixDependenciesPlugin.native.js +3 -9
- package/dist/esm/vite/plugins/fixDependenciesPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.js +8 -11
- package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.mjs +6 -14
- package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js +6 -18
- package/dist/esm/vite/plugins/removeReactNativeWebAnimatedPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.js +12 -7
- package/dist/esm/vite/plugins/sourceInspectorPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs +11 -6
- package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js +12 -7
- package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/warmRoutesPlugin.js +80 -0
- package/dist/esm/vite/plugins/warmRoutesPlugin.js.map +6 -0
- package/dist/esm/vite/plugins/warmRoutesPlugin.mjs +74 -0
- package/dist/esm/vite/plugins/warmRoutesPlugin.mjs.map +1 -0
- package/dist/esm/vite/plugins/warmRoutesPlugin.native.js +107 -0
- package/dist/esm/vite/plugins/warmRoutesPlugin.native.js.map +1 -0
- package/dist/esm/vite/replaceLoader.js +1 -1
- package/dist/esm/vite/replaceLoader.js.map +1 -1
- package/dist/esm/vite/replaceLoader.mjs +1 -1
- package/dist/esm/vite/replaceLoader.mjs.map +1 -1
- package/dist/esm/vite/replaceLoader.native.js +1 -1
- package/dist/esm/vite/replaceLoader.native.js.map +1 -1
- package/dist/esm/vite/resolveResponse.js +23 -7
- package/dist/esm/vite/resolveResponse.js.map +1 -1
- package/dist/esm/vite/resolveResponse.mjs +21 -9
- package/dist/esm/vite/resolveResponse.mjs.map +1 -1
- package/dist/esm/vite/resolveResponse.native.js +21 -9
- package/dist/esm/vite/resolveResponse.native.js.map +1 -1
- package/dist/esm/vite-auto-warm.js +5 -0
- package/dist/esm/vite-auto-warm.js.map +6 -0
- package/dist/esm/vite-auto-warm.mjs +3 -0
- package/dist/esm/vite-auto-warm.mjs.map +1 -0
- package/dist/esm/vite-auto-warm.native.js +3 -0
- package/dist/esm/vite-auto-warm.native.js.map +1 -0
- package/dist/esm/vite.js +2 -0
- package/dist/esm/vite.js.map +1 -1
- package/dist/esm/vite.mjs +2 -1
- package/dist/esm/vite.mjs.map +1 -1
- package/dist/esm/vite.native.js +2 -1
- package/dist/esm/vite.native.js.map +1 -1
- package/package.json +44 -35
- package/src/Root.tsx +17 -13
- package/src/babel-plugins/inline-one-server-url.ts +26 -0
- package/src/cli/build.ts +130 -28
- package/src/cli/buildPage.ts +46 -20
- package/src/cli/buildPageWorker.ts +6 -18
- package/src/cli/patch.ts +3 -3
- package/src/cli/securityScan.ts +189 -0
- package/src/cli/workerPool.ts +5 -5
- package/src/cli.ts +11 -0
- package/src/createApp.tsx +165 -56
- package/src/createHandleRequest.ts +75 -18
- package/src/daemon/tui.ts +3 -3
- package/src/fork/NavigationContainer.tsx +38 -16
- package/src/fork/SSRNavigationContainer.tsx +94 -0
- package/src/fork/getPathFromState.ts +15 -5
- package/src/fork/getStateFromPath-mods.ts +1 -1
- package/src/fork/useLinking.native.ts +15 -13
- package/src/fork/useLinking.ts +22 -1
- package/src/getReactNavigationConfig.ts +3 -0
- package/src/index.ts +1 -0
- package/src/interfaces/router.ts +2 -3
- package/src/layouts/stack-utils/StackScreen.tsx +47 -0
- package/src/layouts/stack-utils/index.tsx +1 -0
- package/src/metro-config/getViteMetroPluginOptions.ts +2 -0
- package/src/router/findRouteNode.ts +4 -4
- package/src/router/isIndexPath.ts +4 -0
- package/src/router/linkingConfig.ts +53 -2
- package/src/router/router.ts +71 -45
- package/src/router/useInitializeOneRouter.ts +47 -15
- package/src/router/useScreens.tsx +56 -20
- package/src/screensFeatureFlags.ts +23 -0
- package/src/serve.ts +65 -5
- package/src/server/ServerContextScript.tsx +15 -8
- package/src/server/oneServe.ts +184 -47
- package/src/server/ssrLoaderData.ts +8 -0
- package/src/server-render.tsx +25 -28
- package/src/ui/Slot.tsx +7 -0
- package/src/ui/TabRouter.tsx +18 -0
- package/src/ui/TabTrigger.tsx +3 -0
- package/src/useLoader.ts +69 -11
- package/src/utils/isRolldown.ts +4 -14
- package/src/utils/removeParams.ts +40 -0
- package/src/vercel/build/buildVercelOutputDirectory.ts +12 -7
- package/src/vercel/build/generate/createApiServerlessFunction.ts +3 -2
- package/src/vercel/build/generate/createSsrServerlessFunction.ts +3 -2
- package/src/views/Navigator.tsx +4 -0
- package/src/vite/one-server-only.native.ts +3 -0
- package/src/vite/one-server-only.tsx +13 -5
- package/src/vite/one.ts +134 -28
- package/src/vite/plugins/SSRCSSPlugin.ts +2 -2
- package/src/vite/plugins/criticalCSSPlugin.test.ts +166 -0
- package/src/vite/plugins/criticalCSSPlugin.ts +74 -0
- package/src/vite/plugins/fileSystemRouterPlugin.tsx +3 -2
- package/src/vite/plugins/fixDependenciesPlugin.ts +7 -19
- package/src/vite/plugins/removeReactNativeWebAnimatedPlugin.ts +10 -17
- package/src/vite/plugins/sourceInspectorPlugin.ts +28 -23
- package/src/vite/plugins/warmRoutesPlugin.ts +156 -0
- package/src/vite/replaceLoader.ts +2 -1
- package/src/vite/resolveResponse.ts +25 -9
- package/src/vite/types.ts +54 -10
- package/src/vite-auto-warm.ts +1 -0
- package/src/vite.ts +1 -0
- package/types/Root.d.ts.map +1 -1
- package/types/babel-plugins/inline-one-server-url.d.ts +10 -0
- package/types/babel-plugins/inline-one-server-url.d.ts.map +1 -0
- package/types/cli/build.d.ts.map +1 -1
- package/types/cli/buildPage.d.ts +1 -1
- package/types/cli/buildPage.d.ts.map +1 -1
- package/types/cli/securityScan.d.ts +16 -0
- package/types/cli/securityScan.d.ts.map +1 -0
- package/types/cli/workerPool.d.ts +2 -1
- package/types/cli/workerPool.d.ts.map +1 -1
- package/types/createApp.d.ts +2 -1
- package/types/createApp.d.ts.map +1 -1
- package/types/createHandleRequest.d.ts +2 -1
- package/types/createHandleRequest.d.ts.map +1 -1
- package/types/fork/NavigationContainer.d.ts.map +1 -1
- package/types/fork/SSRNavigationContainer.d.ts +16 -0
- package/types/fork/SSRNavigationContainer.d.ts.map +1 -0
- package/types/fork/getPathFromState.d.ts.map +1 -1
- package/types/fork/navigationThemes.d.ts.map +1 -0
- package/types/fork/useLinking.d.ts.map +1 -1
- package/types/fork/useLinking.native.d.ts.map +1 -1
- package/types/getReactNavigationConfig.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/interfaces/router.d.ts +2 -1
- package/types/interfaces/router.d.ts.map +1 -1
- package/types/layouts/Stack.d.ts +15 -11
- package/types/layouts/Stack.d.ts.map +1 -1
- package/types/layouts/Tabs.d.ts +15 -11
- package/types/layouts/Tabs.d.ts.map +1 -1
- package/types/layouts/stack-utils/StackScreen.d.ts +2 -0
- package/types/layouts/stack-utils/StackScreen.d.ts.map +1 -1
- package/types/layouts/stack-utils/index.d.ts +1 -1
- package/types/layouts/stack-utils/index.d.ts.map +1 -1
- package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -1
- package/types/reactNavigationImports.d.ts.map +1 -0
- package/types/reactNavigationImports.server.d.ts.map +1 -0
- package/types/router/isIndexPath.d.ts.map +1 -1
- package/types/router/linkingConfig.d.ts +10 -0
- package/types/router/linkingConfig.d.ts.map +1 -1
- package/types/router/router.d.ts +8 -3
- package/types/router/router.d.ts.map +1 -1
- package/types/router/useInitializeOneRouter.d.ts +1 -0
- package/types/router/useInitializeOneRouter.d.ts.map +1 -1
- package/types/router/useScreens.d.ts.map +1 -1
- package/types/screensFeatureFlags.d.ts +2 -0
- package/types/screensFeatureFlags.d.ts.map +1 -0
- package/types/serve.d.ts +2 -0
- package/types/serve.d.ts.map +1 -1
- package/types/server/ServerContextScript.d.ts.map +1 -1
- package/types/server/oneServe.d.ts.map +1 -1
- package/types/server/ssrLoaderData.d.ts +3 -0
- package/types/server/ssrLoaderData.d.ts.map +1 -0
- package/types/server-render.d.ts +10 -7
- package/types/server-render.d.ts.map +1 -1
- package/types/ui/Slot.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/useLoader.d.ts +1 -0
- package/types/useLoader.d.ts.map +1 -1
- package/types/utils/isRolldown.d.ts +1 -1
- package/types/utils/isRolldown.d.ts.map +1 -1
- package/types/utils/removeParams.d.ts +8 -0
- package/types/utils/removeParams.d.ts.map +1 -0
- package/types/vercel/build/buildVercelOutputDirectory.d.ts +2 -2
- package/types/vercel/build/buildVercelOutputDirectory.d.ts.map +1 -1
- package/types/vercel/build/generate/createApiServerlessFunction.d.ts +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/views/Navigator.d.ts.map +1 -1
- package/types/vite/one-server-only.d.ts.map +1 -1
- package/types/vite/one-server-only.native.d.ts +3 -0
- package/types/vite/one-server-only.native.d.ts.map +1 -1
- package/types/vite/one.d.ts.map +1 -1
- package/types/vite/plugins/criticalCSSPlugin.d.ts +12 -0
- package/types/vite/plugins/criticalCSSPlugin.d.ts.map +1 -0
- package/types/vite/plugins/criticalCSSPlugin.test.d.ts +2 -0
- package/types/vite/plugins/criticalCSSPlugin.test.d.ts.map +1 -0
- package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
- package/types/vite/plugins/fixDependenciesPlugin.d.ts.map +1 -1
- package/types/vite/plugins/removeReactNativeWebAnimatedPlugin.d.ts.map +1 -1
- package/types/vite/plugins/sourceInspectorPlugin.d.ts.map +1 -1
- package/types/vite/plugins/warmRoutesPlugin.d.ts +17 -0
- package/types/vite/plugins/warmRoutesPlugin.d.ts.map +1 -0
- package/types/vite/replaceLoader.d.ts.map +1 -1
- package/types/vite/resolveResponse.d.ts +2 -2
- package/types/vite/resolveResponse.d.ts.map +1 -1
- package/types/vite/types.d.ts +51 -10
- package/types/vite/types.d.ts.map +1 -1
- package/types/vite-auto-warm.d.ts +2 -0
- package/types/vite-auto-warm.d.ts.map +1 -0
- package/types/vite.d.ts +1 -0
- package/types/vite.d.ts.map +1 -1
- package/vendor/react-dom/package.json +1 -1
- package/dist/cjs/cli/easPrebuild.cjs +0 -117
- package/dist/cjs/cli/easPrebuild.js +0 -94
- package/dist/cjs/cli/easPrebuild.js.map +0 -6
- package/dist/cjs/cli/easPrebuild.native.js +0 -135
- package/dist/cjs/cli/easPrebuild.native.js.map +0 -1
- package/dist/esm/cli/easPrebuild.js +0 -73
- package/dist/esm/cli/easPrebuild.js.map +0 -6
- package/dist/esm/cli/easPrebuild.mjs +0 -83
- package/dist/esm/cli/easPrebuild.mjs.map +0 -1
- package/dist/esm/cli/easPrebuild.native.js +0 -98
- package/dist/esm/cli/easPrebuild.native.js.map +0 -1
- package/types/cli/easPrebuild.d.ts.map +0 -1
- package/types/cli/findClientManifestEntry.d.ts.map +0 -1
- package/types/cli/findClientManifestEntry.test.d.ts.map +0 -1
- package/types/env.d.ts.map +0 -1
- package/types/router/routeMask.d.ts.map +0 -1
- package/types/server/PreloadScripts.d.ts.map +0 -1
- /package/types/vercel/build/generate/{createSSRServerlessFunction.d.ts → createSsrServerlessFunction.d.ts} +0 -0
|
@@ -13,6 +13,7 @@ export type RequestHandlers = {
|
|
|
13
13
|
handlePage?: (props: RequestHandlerProps) => Promise<any>
|
|
14
14
|
handleLoader?: (props: RequestHandlerProps) => Promise<any>
|
|
15
15
|
handleAPI?: (props: RequestHandlerProps) => Promise<any>
|
|
16
|
+
handleStaticFile?: (path: string) => Promise<Response | null>
|
|
16
17
|
loadMiddleware?: (route: RouteNode) => Promise<any>
|
|
17
18
|
}
|
|
18
19
|
|
|
@@ -158,6 +159,10 @@ export async function resolveLoaderRoute(
|
|
|
158
159
|
console.info(`[one] 📦 loader ${url.pathname} → ${route.file}`)
|
|
159
160
|
}
|
|
160
161
|
|
|
162
|
+
const isNativeRequest =
|
|
163
|
+
url.searchParams.get('platform') === 'ios' ||
|
|
164
|
+
url.searchParams.get('platform') === 'android'
|
|
165
|
+
|
|
161
166
|
const response = await runMiddlewares(handlers, request, route, async () => {
|
|
162
167
|
return await resolveResponse(async () => {
|
|
163
168
|
const headers = new Headers()
|
|
@@ -176,7 +181,11 @@ export async function resolveLoaderRoute(
|
|
|
176
181
|
},
|
|
177
182
|
})
|
|
178
183
|
|
|
179
|
-
|
|
184
|
+
// native needs CJS format for eval()
|
|
185
|
+
const body =
|
|
186
|
+
isNativeRequest && loaderResponse ? toCjsLoader(loaderResponse) : loaderResponse
|
|
187
|
+
|
|
188
|
+
return new Response(body, {
|
|
180
189
|
headers,
|
|
181
190
|
})
|
|
182
191
|
} catch (err) {
|
|
@@ -202,7 +211,10 @@ export async function resolveLoaderRoute(
|
|
|
202
211
|
if (location) {
|
|
203
212
|
const redirectUrl = new URL(location, url.origin)
|
|
204
213
|
const redirectPath = redirectUrl.pathname + redirectUrl.search + redirectUrl.hash
|
|
205
|
-
const
|
|
214
|
+
const data = `{__oneRedirect:${JSON.stringify(redirectPath)},__oneRedirectStatus:${response.status}}`
|
|
215
|
+
const body = isNativeRequest
|
|
216
|
+
? `exports.loader=function(){return ${data}}`
|
|
217
|
+
: `export function loader(){return${data}}`
|
|
206
218
|
return new Response(body, {
|
|
207
219
|
headers: { 'Content-Type': 'text/javascript' },
|
|
208
220
|
})
|
|
@@ -212,7 +224,10 @@ export async function resolveLoaderRoute(
|
|
|
212
224
|
// transform auth error responses (401/403) into js modules so the client
|
|
213
225
|
// gets a clean error signal instead of a parse failure
|
|
214
226
|
if (response.status === 401 || response.status === 403) {
|
|
215
|
-
const
|
|
227
|
+
const data = `{__oneError:${response.status},__oneErrorMessage:${JSON.stringify(response.statusText || 'Unauthorized')}}`
|
|
228
|
+
const body = isNativeRequest
|
|
229
|
+
? `exports.loader=function(){return ${data}}`
|
|
230
|
+
: `export function loader(){return${data}}`
|
|
216
231
|
return new Response(body, {
|
|
217
232
|
headers: { 'Content-Type': 'text/javascript' },
|
|
218
233
|
})
|
|
@@ -221,6 +236,27 @@ export async function resolveLoaderRoute(
|
|
|
221
236
|
return response
|
|
222
237
|
}
|
|
223
238
|
|
|
239
|
+
/**
|
|
240
|
+
* convert an ESM loader response to CJS for native eval().
|
|
241
|
+
* extracts the JSON data from `export function loader() { return {...} }`
|
|
242
|
+
* and wraps it as `exports.loader = function() { return {...} }`
|
|
243
|
+
*/
|
|
244
|
+
function toCjsLoader(esmCode: string): string {
|
|
245
|
+
// already CJS (dev plugin pre-converts for native)
|
|
246
|
+
if (esmCode.startsWith('exports.')) {
|
|
247
|
+
return esmCode
|
|
248
|
+
}
|
|
249
|
+
// match: export function loader() { return DATA }
|
|
250
|
+
const match = esmCode.match(
|
|
251
|
+
/export\s+function\s+loader\s*\(\)\s*\{\s*return\s+([\s\S]+)\s*\}/
|
|
252
|
+
)
|
|
253
|
+
if (match) {
|
|
254
|
+
return `exports.loader=function(){return ${match[1]}}`
|
|
255
|
+
}
|
|
256
|
+
// fallback: wrap the whole thing
|
|
257
|
+
return `exports.loader=function(){return {}}`
|
|
258
|
+
}
|
|
259
|
+
|
|
224
260
|
export async function resolvePageRoute(
|
|
225
261
|
handlers: RequestHandlers,
|
|
226
262
|
request: Request,
|
|
@@ -233,22 +269,24 @@ export async function resolvePageRoute(
|
|
|
233
269
|
console.info(`[one] 📄 page ${pathname} → ${route.file} (${route.type})`)
|
|
234
270
|
}
|
|
235
271
|
|
|
272
|
+
const loaderProps = {
|
|
273
|
+
path: pathname,
|
|
274
|
+
search: search,
|
|
275
|
+
request: route.type === 'ssr' ? request : undefined,
|
|
276
|
+
params: getLoaderParams(url, route),
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
// flatten the async chain for SSR: skip runMiddlewares wrapper when no middlewares
|
|
280
|
+
if (!route.middlewares?.length) {
|
|
281
|
+
return resolveResponse(() => {
|
|
282
|
+
return handlers.handlePage!({ request, route, url, loaderProps })
|
|
283
|
+
})
|
|
284
|
+
}
|
|
285
|
+
|
|
236
286
|
return resolveResponse(async () => {
|
|
237
|
-
|
|
238
|
-
return await handlers.handlePage!({
|
|
239
|
-
request,
|
|
240
|
-
route,
|
|
241
|
-
url,
|
|
242
|
-
loaderProps: {
|
|
243
|
-
path: pathname,
|
|
244
|
-
search: search,
|
|
245
|
-
// Ensure SSR loaders receive the original request
|
|
246
|
-
request: route.type === 'ssr' ? request : undefined,
|
|
247
|
-
params: getLoaderParams(url, route),
|
|
248
|
-
},
|
|
249
|
-
})
|
|
287
|
+
return await runMiddlewares(handlers, request, route, async () => {
|
|
288
|
+
return await handlers.handlePage!({ request, route, url, loaderProps })
|
|
250
289
|
})
|
|
251
|
-
return resolved
|
|
252
290
|
})
|
|
253
291
|
}
|
|
254
292
|
|
|
@@ -338,6 +376,22 @@ export function createHandleRequest(
|
|
|
338
376
|
const isClientRequestingNewRoute = pathname.endsWith(LOADER_JS_POSTFIX_UNCACHED)
|
|
339
377
|
|
|
340
378
|
if (isClientRequestingNewRoute) {
|
|
379
|
+
const platformParam = url.searchParams.get('platform')
|
|
380
|
+
const isNativePlatform =
|
|
381
|
+
platformParam === 'ios' ||
|
|
382
|
+
platformParam === 'android' ||
|
|
383
|
+
platformParam === 'native'
|
|
384
|
+
|
|
385
|
+
// for native requests, try serving the pre-built .native.js static file first
|
|
386
|
+
// (SSG/SPA routes generate standalone CJS loaders at build time)
|
|
387
|
+
if (isNativePlatform && handlers.handleStaticFile) {
|
|
388
|
+
const nativeLoaderPath = pathname.replace(/\.js$/, '.native.js')
|
|
389
|
+
const staticResponse = await handlers.handleStaticFile(nativeLoaderPath)
|
|
390
|
+
if (staticResponse) {
|
|
391
|
+
return staticResponse
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
|
|
341
395
|
const originalUrl = getPathFromLoaderPath(pathname)
|
|
342
396
|
|
|
343
397
|
for (const route of compiledManifest.pageRoutes) {
|
|
@@ -358,7 +412,10 @@ export function createHandleRequest(
|
|
|
358
412
|
}
|
|
359
413
|
|
|
360
414
|
// no matching route - return empty module so client handles gracefully
|
|
361
|
-
|
|
415
|
+
const emptyBody = isNativePlatform
|
|
416
|
+
? 'exports.loader=function(){return{}}'
|
|
417
|
+
: 'export {}'
|
|
418
|
+
return new Response(emptyBody, {
|
|
362
419
|
headers: { 'Content-Type': 'text/javascript' },
|
|
363
420
|
})
|
|
364
421
|
}
|
package/src/daemon/tui.ts
CHANGED
|
@@ -49,7 +49,7 @@ interface TUIState {
|
|
|
49
49
|
simEndX: number
|
|
50
50
|
serverStartX: number
|
|
51
51
|
rowStartY: number
|
|
52
|
-
popup: { message: string; timeout:
|
|
52
|
+
popup: { message: string; timeout: ReturnType<typeof setTimeout> } | null
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
const CABLE_COLORS = [
|
|
@@ -72,8 +72,8 @@ const ansi = {
|
|
|
72
72
|
|
|
73
73
|
let tuiState: TUIState | null = null
|
|
74
74
|
let daemonState: DaemonState | null = null
|
|
75
|
-
let refreshInterval:
|
|
76
|
-
let physicsInterval:
|
|
75
|
+
let refreshInterval: ReturnType<typeof setInterval> | null = null
|
|
76
|
+
let physicsInterval: ReturnType<typeof setInterval> | null = null
|
|
77
77
|
let stdinListener: ((key: Buffer) => void) | null = null
|
|
78
78
|
let resizeListener: (() => void) | null = null
|
|
79
79
|
|
|
@@ -53,6 +53,9 @@ declare global {
|
|
|
53
53
|
|
|
54
54
|
globalThis.REACT_NAVIGATION_DEVTOOLS = new WeakMap()
|
|
55
55
|
|
|
56
|
+
// @modified - SSR-optimized container (bypasses BaseNavigationContainer's 32+ hooks)
|
|
57
|
+
import { SSRNavigationContainer } from './SSRNavigationContainer'
|
|
58
|
+
|
|
56
59
|
type Props<ParamList extends {}> = NavigationContainerProps & {
|
|
57
60
|
direction?: LocaleDirection
|
|
58
61
|
linking?: LinkingOptions<ParamList>
|
|
@@ -77,18 +80,42 @@ type Props<ParamList extends {}> = NavigationContainerProps & {
|
|
|
77
80
|
* @param props.ref Ref object which refers to the navigation object containing helper methods.
|
|
78
81
|
*/
|
|
79
82
|
function NavigationContainerInner(
|
|
80
|
-
|
|
81
|
-
direction = I18nManager.getConstants().isRTL ? 'rtl' : 'ltr',
|
|
82
|
-
theme = DefaultTheme,
|
|
83
|
-
linking,
|
|
84
|
-
fallback = null,
|
|
85
|
-
documentTitle,
|
|
86
|
-
onReady,
|
|
87
|
-
onStateChange,
|
|
88
|
-
...rest
|
|
89
|
-
}: Props<ParamListBase>,
|
|
83
|
+
props: Props<ParamListBase>,
|
|
90
84
|
ref?: React.Ref<NavigationContainerRef<ParamListBase> | null>
|
|
91
85
|
) {
|
|
86
|
+
// @modified - SSR fast path: bypass BaseNavigationContainer entirely
|
|
87
|
+
// BaseNavigationContainer has 32+ hooks and 7 providers that are all
|
|
88
|
+
// unnecessary on SSR (event emitters, child listeners, state sync, etc.)
|
|
89
|
+
// we provide only the minimal contexts that child navigators read
|
|
90
|
+
// @modified - SSR fast path: bypass BaseNavigationContainer entirely
|
|
91
|
+
// eliminates 32+ hooks and reduces 8 providers to 4
|
|
92
|
+
if (typeof window === 'undefined') {
|
|
93
|
+
const { theme = DefaultTheme, initialState, linking, children } = props
|
|
94
|
+
return (
|
|
95
|
+
<SSRNavigationContainer initialState={initialState} theme={theme} linking={linking}>
|
|
96
|
+
{children}
|
|
97
|
+
</SSRNavigationContainer>
|
|
98
|
+
)
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return <NavigationContainerClientInner {...props} forwardedRef={ref} />
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// @modified - full client NavigationContainer with all hooks and providers
|
|
105
|
+
function NavigationContainerClientInner({
|
|
106
|
+
forwardedRef,
|
|
107
|
+
direction = I18nManager.getConstants().isRTL ? 'rtl' : 'ltr',
|
|
108
|
+
theme = DefaultTheme,
|
|
109
|
+
linking,
|
|
110
|
+
fallback = null,
|
|
111
|
+
documentTitle,
|
|
112
|
+
onReady,
|
|
113
|
+
onStateChange,
|
|
114
|
+
...rest
|
|
115
|
+
}: Props<ParamListBase> & {
|
|
116
|
+
forwardedRef?: React.Ref<NavigationContainerRef<ParamListBase> | null>
|
|
117
|
+
}) {
|
|
118
|
+
const ref = forwardedRef
|
|
92
119
|
const isLinkingEnabled = linking ? linking.enabled !== false : false
|
|
93
120
|
|
|
94
121
|
if (linking?.config) {
|
|
@@ -120,7 +147,6 @@ function NavigationContainerInner(
|
|
|
120
147
|
)
|
|
121
148
|
|
|
122
149
|
const onReadyForLinkingHandling = useLatestCallback(() => {
|
|
123
|
-
// If the screen path matches lastUnhandledLink, we do not track it
|
|
124
150
|
const path = refContainer.current?.getCurrentRoute()?.path
|
|
125
151
|
setLastUnhandledLink((previousLastUnhandledLink) => {
|
|
126
152
|
if (previousLastUnhandledLink === path) {
|
|
@@ -133,7 +159,6 @@ function NavigationContainerInner(
|
|
|
133
159
|
|
|
134
160
|
const onStateChangeForLinkingHandling = useLatestCallback(
|
|
135
161
|
(state: Readonly<NavigationState> | undefined) => {
|
|
136
|
-
// If the screen path matches lastUnhandledLink, we do not track it
|
|
137
162
|
const path = refContainer.current?.getCurrentRoute()?.path
|
|
138
163
|
setLastUnhandledLink((previousLastUnhandledLink) => {
|
|
139
164
|
if (previousLastUnhandledLink === path) {
|
|
@@ -144,8 +169,7 @@ function NavigationContainerInner(
|
|
|
144
169
|
onStateChange?.(state)
|
|
145
170
|
}
|
|
146
171
|
)
|
|
147
|
-
|
|
148
|
-
// This will be used by the devtools
|
|
172
|
+
|
|
149
173
|
React.useEffect(() => {
|
|
150
174
|
if (refContainer.current) {
|
|
151
175
|
// @ts-ignore - Type differs between react-navigation versions in monorepo
|
|
@@ -179,8 +203,6 @@ function NavigationContainerInner(
|
|
|
179
203
|
const isLinkingReady = rest.initialState != null || !isLinkingEnabled || isResolved
|
|
180
204
|
|
|
181
205
|
if (!isLinkingReady) {
|
|
182
|
-
// This is temporary until we have Suspense for data-fetching
|
|
183
|
-
// Then the fallback will be handled by a parent `Suspense` component
|
|
184
206
|
return <ThemeProvider value={theme}>{fallback}</ThemeProvider>
|
|
185
207
|
}
|
|
186
208
|
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSR-optimized replacement for BaseNavigationContainer.
|
|
3
|
+
* Provides only the 4 contexts that child navigators need during SSR render,
|
|
4
|
+
* with static/no-op values. Eliminates 32+ hooks and reduces 8 providers to 4.
|
|
5
|
+
*
|
|
6
|
+
* Requires @react-navigation/core package.json exports to include internal context paths.
|
|
7
|
+
* See postinstall patch in the repo.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
// @ts-ignore internal module (exports patched at install time)
|
|
11
|
+
import { NavigationBuilderContext } from '@react-navigation/core/lib/module/NavigationBuilderContext'
|
|
12
|
+
// @ts-ignore internal module
|
|
13
|
+
import { NavigationStateContext } from '@react-navigation/core/lib/module/NavigationStateContext'
|
|
14
|
+
// @ts-ignore internal module
|
|
15
|
+
import { SingleNavigatorContext } from '@react-navigation/core/lib/module/EnsureSingleNavigator'
|
|
16
|
+
import { ThemeProvider } from '@react-navigation/core'
|
|
17
|
+
import { LinkingContext } from '@react-navigation/native'
|
|
18
|
+
import * as React from 'react'
|
|
19
|
+
|
|
20
|
+
const noop = () => {}
|
|
21
|
+
|
|
22
|
+
// minimal linking context for SSR — tabs needs .options to resolve triggers
|
|
23
|
+
const SSR_LINKING_CTX = { options: undefined as any }
|
|
24
|
+
|
|
25
|
+
// static context values — never change, zero allocations per render
|
|
26
|
+
const SSR_BUILDER_CTX = {
|
|
27
|
+
onDispatchAction: noop,
|
|
28
|
+
onOptionsChange: noop,
|
|
29
|
+
// must execute callback immediately — useNavigationBuilder calls this during render
|
|
30
|
+
scheduleUpdate: (cb: () => void) => cb(),
|
|
31
|
+
flushUpdates: noop,
|
|
32
|
+
stackRef: { current: undefined },
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const SSR_SINGLE_NAV_CTX = {
|
|
36
|
+
register: noop,
|
|
37
|
+
unregister: noop,
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const getPartialState = (state: any): any => {
|
|
41
|
+
if (!state) return undefined
|
|
42
|
+
const { key, routeNames, ...partial } = state
|
|
43
|
+
return {
|
|
44
|
+
...partial,
|
|
45
|
+
stale: true as const,
|
|
46
|
+
routes: state.routes.map((route: any) =>
|
|
47
|
+
route.state ? { ...route, state: getPartialState(route.state) } : route
|
|
48
|
+
),
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// cache by initialState reference
|
|
53
|
+
let _cachedState: any = null
|
|
54
|
+
let _cachedCtx: any = null
|
|
55
|
+
|
|
56
|
+
function getStateContext(initialState: any) {
|
|
57
|
+
if (_cachedState === initialState && _cachedCtx) return _cachedCtx
|
|
58
|
+
const partial = getPartialState(initialState)
|
|
59
|
+
_cachedCtx = {
|
|
60
|
+
state: partial,
|
|
61
|
+
getKey: () => undefined as string | undefined,
|
|
62
|
+
setKey: noop,
|
|
63
|
+
getState: () => partial,
|
|
64
|
+
setState: noop,
|
|
65
|
+
getIsInitial: () => true,
|
|
66
|
+
}
|
|
67
|
+
_cachedState = initialState
|
|
68
|
+
return _cachedCtx
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export function SSRNavigationContainer({
|
|
72
|
+
initialState,
|
|
73
|
+
theme,
|
|
74
|
+
linking,
|
|
75
|
+
children,
|
|
76
|
+
}: {
|
|
77
|
+
initialState: any
|
|
78
|
+
theme: any
|
|
79
|
+
linking?: any
|
|
80
|
+
children: React.ReactNode
|
|
81
|
+
}) {
|
|
82
|
+
const linkingCtx = linking ? { options: linking } : SSR_LINKING_CTX
|
|
83
|
+
return (
|
|
84
|
+
<LinkingContext.Provider value={linkingCtx}>
|
|
85
|
+
<NavigationBuilderContext.Provider value={SSR_BUILDER_CTX}>
|
|
86
|
+
<NavigationStateContext.Provider value={getStateContext(initialState)}>
|
|
87
|
+
<SingleNavigatorContext.Provider value={SSR_SINGLE_NAV_CTX}>
|
|
88
|
+
<ThemeProvider value={theme}>{children}</ThemeProvider>
|
|
89
|
+
</SingleNavigatorContext.Provider>
|
|
90
|
+
</NavigationStateContext.Provider>
|
|
91
|
+
</NavigationBuilderContext.Provider>
|
|
92
|
+
</LinkingContext.Provider>
|
|
93
|
+
)
|
|
94
|
+
}
|
|
@@ -22,6 +22,12 @@ import type { NavigationState, PartialState, Route } from '@react-navigation/rou
|
|
|
22
22
|
import type { PathConfig, PathConfigMap } from '@react-navigation/core' // @modified: import from package instead of relative code
|
|
23
23
|
import { validatePathConfig } from './validatePathConfig'
|
|
24
24
|
|
|
25
|
+
// @modified - start: use constants for internal navigation param names to avoid magic strings
|
|
26
|
+
const NAV_PARAM_SCREEN = 'screen'
|
|
27
|
+
const NAV_PARAM_PARAMS = 'params'
|
|
28
|
+
const NAV_PARAM_KEY = 'key'
|
|
29
|
+
// @modified - end
|
|
30
|
+
|
|
25
31
|
type Options<ParamList extends {}> = {
|
|
26
32
|
path?: string
|
|
27
33
|
initialRouteName?: string
|
|
@@ -175,7 +181,11 @@ export function getPathDataFromState<ParamList extends {}>(
|
|
|
175
181
|
Object.entries(route.params!).flatMap(([key, value]) => {
|
|
176
182
|
// Filter out internal navigation params that shouldn't appear in URL
|
|
177
183
|
// 'key' is our deterministic route key used for React reconciliation
|
|
178
|
-
if (
|
|
184
|
+
if (
|
|
185
|
+
key === NAV_PARAM_SCREEN ||
|
|
186
|
+
key === NAV_PARAM_PARAMS ||
|
|
187
|
+
key === NAV_PARAM_KEY
|
|
188
|
+
) {
|
|
179
189
|
return []
|
|
180
190
|
}
|
|
181
191
|
|
|
@@ -238,8 +248,8 @@ export function getPathDataFromState<ParamList extends {}>(
|
|
|
238
248
|
// We can get around this by providing a fake state
|
|
239
249
|
const screens = currentOptions[route.name].screens
|
|
240
250
|
const screen =
|
|
241
|
-
route.params &&
|
|
242
|
-
? route.params
|
|
251
|
+
route.params && NAV_PARAM_SCREEN in route.params
|
|
252
|
+
? route.params[NAV_PARAM_SCREEN]?.toString()
|
|
243
253
|
: screens
|
|
244
254
|
? Object.keys(screens)[0]
|
|
245
255
|
: undefined
|
|
@@ -249,7 +259,7 @@ export function getPathDataFromState<ParamList extends {}>(
|
|
|
249
259
|
...screens[screen],
|
|
250
260
|
name: screen,
|
|
251
261
|
key: screen,
|
|
252
|
-
params: (route.params as any)?.
|
|
262
|
+
params: (route.params as any)?.[NAV_PARAM_PARAMS],
|
|
253
263
|
}
|
|
254
264
|
currentOptions = screens
|
|
255
265
|
} else {
|
|
@@ -330,7 +340,7 @@ export function getPathDataFromState<ParamList extends {}>(
|
|
|
330
340
|
// @modified - end
|
|
331
341
|
|
|
332
342
|
if (!focusedParams) {
|
|
333
|
-
focusedParams = focusedRoute.params
|
|
343
|
+
focusedParams = { ...focusedRoute.params }
|
|
334
344
|
}
|
|
335
345
|
|
|
336
346
|
if (route.state) {
|
|
@@ -285,7 +285,7 @@ export function getRouteConfigSorter(previousSegments: string[] = []) {
|
|
|
285
285
|
|
|
286
286
|
export function formatRegexPattern(it: string): string {
|
|
287
287
|
// Allow spaces in file path names.
|
|
288
|
-
it = it.replace(
|
|
288
|
+
it = it.replace(/ /g, '%20')
|
|
289
289
|
|
|
290
290
|
if (it.startsWith(':')) {
|
|
291
291
|
// TODO: Remove unused match group
|
|
@@ -76,20 +76,22 @@ export function useLinking(
|
|
|
76
76
|
return undefined
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
79
|
+
// @modified - start: reduce spurious warnings on android where activity recreation
|
|
80
|
+
// causes remounts, and only warn when there are truly multiple handlers
|
|
81
|
+
if (enabled !== false && linkingHandlers.length && Platform.OS !== 'android') {
|
|
82
|
+
if (linkingHandlers.length > 1) {
|
|
83
|
+
console.error(
|
|
84
|
+
[
|
|
85
|
+
'Looks like you have configured linking in multiple places. This is likely an error since deep links should only be handled in one place to avoid conflicts. Make sure that:',
|
|
86
|
+
"- You don't have multiple NavigationContainers in the app each with 'linking' enabled",
|
|
87
|
+
'- Only a single instance of the root component is rendered',
|
|
88
|
+
]
|
|
89
|
+
.join('\n')
|
|
90
|
+
.trim()
|
|
91
|
+
)
|
|
92
|
+
}
|
|
92
93
|
}
|
|
94
|
+
// @modified - end
|
|
93
95
|
|
|
94
96
|
const handler = Symbol()
|
|
95
97
|
|
package/src/fork/useLinking.ts
CHANGED
|
@@ -107,6 +107,25 @@ export function useLinking(
|
|
|
107
107
|
}: Options,
|
|
108
108
|
onUnhandledLinking: (lastUnhandledLining: string | undefined) => void
|
|
109
109
|
) {
|
|
110
|
+
// @modified - SSR fast path: skip all client-only linking logic
|
|
111
|
+
// on the server, initialState is already computed and passed as a prop
|
|
112
|
+
// to NavigationContainer, so getInitialState result is never used.
|
|
113
|
+
// returning a no-op avoids redundant getStateFromPath per-request.
|
|
114
|
+
if (typeof window === 'undefined') {
|
|
115
|
+
const getInitialState = React.useCallback(() => {
|
|
116
|
+
return {
|
|
117
|
+
then(fn?: (state: ResultState | undefined) => void) {
|
|
118
|
+
return Promise.resolve(fn ? fn(undefined) : undefined)
|
|
119
|
+
},
|
|
120
|
+
catch() {
|
|
121
|
+
return this
|
|
122
|
+
},
|
|
123
|
+
} as PromiseLike<ResultState | undefined>
|
|
124
|
+
}, [])
|
|
125
|
+
|
|
126
|
+
return { getInitialState }
|
|
127
|
+
}
|
|
128
|
+
|
|
110
129
|
const independent = useNavigationIndependentTree()
|
|
111
130
|
|
|
112
131
|
React.useEffect(() => {
|
|
@@ -214,7 +233,9 @@ export function useLinking(
|
|
|
214
233
|
const location =
|
|
215
234
|
server?.location ?? (typeof window !== 'undefined' ? window.location : undefined)
|
|
216
235
|
|
|
217
|
-
let path = location
|
|
236
|
+
let path = location
|
|
237
|
+
? location.pathname + location.search + (location.hash ?? '')
|
|
238
|
+
: undefined
|
|
218
239
|
|
|
219
240
|
// Check history.state for temp location (client-only)
|
|
220
241
|
if (location && typeof window !== 'undefined') {
|
|
@@ -98,6 +98,9 @@ export function getReactNavigationConfig(
|
|
|
98
98
|
initialRouteName?: string
|
|
99
99
|
screens: Record<string, Screen>
|
|
100
100
|
} {
|
|
101
|
+
if (!routes) {
|
|
102
|
+
return { screens: {} }
|
|
103
|
+
}
|
|
101
104
|
return {
|
|
102
105
|
initialRouteName: routes.initialRouteName,
|
|
103
106
|
screens: getReactNavigationScreensConfig(routes.children, metaOnly),
|
package/src/index.ts
CHANGED
|
@@ -147,6 +147,7 @@ export {
|
|
|
147
147
|
} from './useServerHeadInsertion'
|
|
148
148
|
export { isResponse } from './utils/isResponse'
|
|
149
149
|
export { redirect } from './utils/redirect'
|
|
150
|
+
export { removeParams } from './utils/removeParams'
|
|
150
151
|
export { watchFile } from './utils/watchFile'
|
|
151
152
|
export { ErrorBoundary } from './views/ErrorBoundary'
|
|
152
153
|
export type { ErrorBoundaryProps, ErrorRouteInfo } from './views/Try'
|
package/src/interfaces/router.ts
CHANGED
|
@@ -210,12 +210,11 @@ export namespace OneRouter {
|
|
|
210
210
|
|
|
211
211
|
/**
|
|
212
212
|
* Returns the search parameters for a route.
|
|
213
|
+
* Static routes return UnknownOutputParams to allow extra query params.
|
|
213
214
|
*/
|
|
214
215
|
export type SearchParams<T extends AllRoutes = never> = T extends DynamicRouteTemplate
|
|
215
216
|
? OutputRouteParams<T>
|
|
216
|
-
:
|
|
217
|
-
? never
|
|
218
|
-
: UnknownOutputParams
|
|
217
|
+
: UnknownOutputParams
|
|
219
218
|
|
|
220
219
|
/*********
|
|
221
220
|
* Href *
|
|
@@ -39,12 +39,59 @@ export function StackScreen({ children, options, ...rest }: StackScreenProps) {
|
|
|
39
39
|
return <Screen {...rest} options={updatedOptions} />
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
const VALID_PRESENTATIONS = [
|
|
43
|
+
'card',
|
|
44
|
+
'modal',
|
|
45
|
+
'transparentModal',
|
|
46
|
+
'containedModal',
|
|
47
|
+
'containedTransparentModal',
|
|
48
|
+
'fullScreenModal',
|
|
49
|
+
'formSheet',
|
|
50
|
+
'pageSheet',
|
|
51
|
+
] as const
|
|
52
|
+
|
|
53
|
+
// validates presentation value in dev to prevent native crashes from invalid values
|
|
54
|
+
export function validateStackPresentation(
|
|
55
|
+
options: NativeStackNavigationOptions
|
|
56
|
+
): NativeStackNavigationOptions
|
|
57
|
+
export function validateStackPresentation<
|
|
58
|
+
F extends (...args: never[]) => NativeStackNavigationOptions,
|
|
59
|
+
>(options: F): F
|
|
60
|
+
export function validateStackPresentation(
|
|
61
|
+
options:
|
|
62
|
+
| NativeStackNavigationOptions
|
|
63
|
+
| ((...args: never[]) => NativeStackNavigationOptions)
|
|
64
|
+
): ((...args: never[]) => NativeStackNavigationOptions) | NativeStackNavigationOptions {
|
|
65
|
+
if (typeof options === 'function') {
|
|
66
|
+
return (...args: never[]) => {
|
|
67
|
+
const resolved = options(...args)
|
|
68
|
+
validateStackPresentation(resolved)
|
|
69
|
+
return resolved
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
74
|
+
const presentation = options.presentation
|
|
75
|
+
if (
|
|
76
|
+
presentation &&
|
|
77
|
+
!VALID_PRESENTATIONS.includes(presentation as (typeof VALID_PRESENTATIONS)[number])
|
|
78
|
+
) {
|
|
79
|
+
console.warn(
|
|
80
|
+
`Invalid presentation value "${presentation}" passed to Stack.Screen. Valid values are: ${VALID_PRESENTATIONS.map((v) => `"${v}"`).join(', ')}.`
|
|
81
|
+
)
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return options
|
|
85
|
+
}
|
|
86
|
+
|
|
42
87
|
export function appendScreenStackPropsToOptions(
|
|
43
88
|
options: NativeStackNavigationOptions,
|
|
44
89
|
props: StackScreenProps
|
|
45
90
|
): NativeStackNavigationOptions {
|
|
46
91
|
let updatedOptions = { ...options, ...props.options }
|
|
47
92
|
|
|
93
|
+
validateStackPresentation(updatedOptions)
|
|
94
|
+
|
|
48
95
|
function appendChildOptions(
|
|
49
96
|
child: React.ReactElement,
|
|
50
97
|
options: NativeStackNavigationOptions
|
|
@@ -8,7 +8,7 @@ export function findRouteNodeFromState(
|
|
|
8
8
|
state: { routes: Array<{ name: string; state?: any }> } | undefined,
|
|
9
9
|
rootNode: RouteNode | null
|
|
10
10
|
): RouteNode | null {
|
|
11
|
-
if (!state || !rootNode) {
|
|
11
|
+
if (!state || !state.routes || !rootNode) {
|
|
12
12
|
return null
|
|
13
13
|
}
|
|
14
14
|
|
|
@@ -65,7 +65,7 @@ export function extractParamsFromState(
|
|
|
65
65
|
| { routes: Array<{ name: string; params?: Record<string, any>; state?: any }> }
|
|
66
66
|
| undefined
|
|
67
67
|
): Record<string, string | string[]> {
|
|
68
|
-
if (!state) {
|
|
68
|
+
if (!state || !state.routes) {
|
|
69
69
|
return {}
|
|
70
70
|
}
|
|
71
71
|
|
|
@@ -135,7 +135,7 @@ export function findAllRouteNodesFromState(
|
|
|
135
135
|
state: { routes: Array<{ name: string; state?: any }> } | undefined,
|
|
136
136
|
rootNode: RouteNode | null
|
|
137
137
|
): RouteNode[] {
|
|
138
|
-
if (!state || !rootNode) {
|
|
138
|
+
if (!state || !state.routes || !rootNode) {
|
|
139
139
|
return []
|
|
140
140
|
}
|
|
141
141
|
|
|
@@ -147,7 +147,7 @@ export function findAllRouteNodesFromState(
|
|
|
147
147
|
| undefined,
|
|
148
148
|
parentNode: RouteNode | null
|
|
149
149
|
) {
|
|
150
|
-
if (!currentState || !parentNode) {
|
|
150
|
+
if (!currentState || !currentState.routes || !parentNode) {
|
|
151
151
|
return
|
|
152
152
|
}
|
|
153
153
|
|
|
@@ -3,6 +3,10 @@ import type { State } from '../fork/getPathFromState'
|
|
|
3
3
|
type RouteLikeTree = { name: string; state?: { routes?: RouteLikeTree[] } }
|
|
4
4
|
|
|
5
5
|
export function isIndexPath(state: State) {
|
|
6
|
+
if (!state.routes) {
|
|
7
|
+
return false
|
|
8
|
+
}
|
|
9
|
+
|
|
6
10
|
const route = getActualLastRoute(state.routes[state.index ?? state.routes.length - 1])
|
|
7
11
|
|
|
8
12
|
if (route.state) {
|