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
package/src/cli/build.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { createRequire } from 'node:module'
|
|
2
2
|
import { cpus } from 'node:os'
|
|
3
3
|
import Path, { join, relative, resolve } from 'node:path'
|
|
4
|
+
import { resolvePath } from '@vxrn/resolve'
|
|
4
5
|
import FSExtra from 'fs-extra'
|
|
5
6
|
import MicroMatch from 'micromatch'
|
|
6
|
-
import type { OutputAsset,
|
|
7
|
+
import type { OutputAsset, RolldownOutput } from 'rolldown'
|
|
7
8
|
import { type InlineConfig, mergeConfig, build as viteBuild } from 'vite'
|
|
8
9
|
import {
|
|
9
10
|
type ClientManifestEntry,
|
|
@@ -30,6 +31,7 @@ import { getWorkerPool, terminateWorkerPool } from './workerPool'
|
|
|
30
31
|
import { generateSitemap, type RouteSitemapData } from './generateSitemap'
|
|
31
32
|
import { labelProcess } from './label-process'
|
|
32
33
|
import { pLimit } from '../utils/pLimit'
|
|
34
|
+
import { getCriticalCSSOutputPaths } from '../vite/plugins/criticalCSSPlugin'
|
|
33
35
|
|
|
34
36
|
const { ensureDir, writeJSON } = FSExtra
|
|
35
37
|
|
|
@@ -74,7 +76,7 @@ export async function build(args: {
|
|
|
74
76
|
checkNodeVersion()
|
|
75
77
|
setServerGlobals()
|
|
76
78
|
|
|
77
|
-
const { oneOptions } = await loadUserOneOptions('build')
|
|
79
|
+
const { oneOptions, config: viteLoadedConfig } = await loadUserOneOptions('build')
|
|
78
80
|
const routerRoot = getRouterRootFromOneOptions(oneOptions)
|
|
79
81
|
|
|
80
82
|
// Set defaultRenderMode env var so getManifest knows the correct route types
|
|
@@ -82,6 +84,9 @@ export async function build(args: {
|
|
|
82
84
|
process.env.ONE_DEFAULT_RENDER_MODE = oneOptions.web.defaultRenderMode
|
|
83
85
|
}
|
|
84
86
|
|
|
87
|
+
// respect vite's build.outDir config, default to 'dist'
|
|
88
|
+
const outDir = viteLoadedConfig?.config?.build?.outDir ?? 'dist'
|
|
89
|
+
|
|
85
90
|
const manifest = getManifest({ routerRoot })!
|
|
86
91
|
|
|
87
92
|
const serverOutputFormat =
|
|
@@ -118,6 +123,7 @@ export async function build(args: {
|
|
|
118
123
|
const options = await fillOptions(vxrnOutput.options, { mode: 'prod' })
|
|
119
124
|
|
|
120
125
|
const { optimizeDeps } = getOptimizeDeps('build')
|
|
126
|
+
const { rolldownOptions: _rolldownOptions, ...optimizeDepsNoRolldown } = optimizeDeps
|
|
121
127
|
|
|
122
128
|
const apiBuildConfig = mergeConfig(
|
|
123
129
|
// feels like this should build off the *server* build config not web
|
|
@@ -125,7 +131,12 @@ export async function build(args: {
|
|
|
125
131
|
{
|
|
126
132
|
configFile: false,
|
|
127
133
|
appType: 'custom',
|
|
128
|
-
optimizeDeps,
|
|
134
|
+
optimizeDeps: optimizeDepsNoRolldown,
|
|
135
|
+
environments: {
|
|
136
|
+
client: {
|
|
137
|
+
optimizeDeps: { rolldownOptions: _rolldownOptions },
|
|
138
|
+
},
|
|
139
|
+
},
|
|
129
140
|
} satisfies InlineConfig
|
|
130
141
|
)
|
|
131
142
|
|
|
@@ -154,16 +165,22 @@ export async function build(args: {
|
|
|
154
165
|
ssr: {
|
|
155
166
|
noExternal: true,
|
|
156
167
|
external: ['react', 'react-dom'],
|
|
157
|
-
optimizeDeps,
|
|
168
|
+
optimizeDeps: optimizeDepsNoRolldown,
|
|
169
|
+
},
|
|
170
|
+
|
|
171
|
+
environments: {
|
|
172
|
+
ssr: {
|
|
173
|
+
optimizeDeps: { rolldownOptions: _rolldownOptions },
|
|
174
|
+
},
|
|
158
175
|
},
|
|
159
176
|
|
|
160
177
|
build: {
|
|
161
178
|
ssr: true,
|
|
162
179
|
emptyOutDir: false,
|
|
163
|
-
outDir:
|
|
180
|
+
outDir: `${outDir}/${subFolder}`,
|
|
164
181
|
copyPublicDir: false,
|
|
165
182
|
minify: false,
|
|
166
|
-
|
|
183
|
+
rolldownOptions: {
|
|
167
184
|
treeshake: treeshake ?? {
|
|
168
185
|
moduleSideEffects: false,
|
|
169
186
|
},
|
|
@@ -180,7 +197,7 @@ export async function build(args: {
|
|
|
180
197
|
// prevents it from shaking out the exports
|
|
181
198
|
preserveEntrySignatures: 'strict',
|
|
182
199
|
input: input,
|
|
183
|
-
external:
|
|
200
|
+
external: [],
|
|
184
201
|
output: {
|
|
185
202
|
entryFileNames: '[name]',
|
|
186
203
|
exports: 'auto',
|
|
@@ -228,7 +245,7 @@ export async function build(args: {
|
|
|
228
245
|
finalApiBuildConf
|
|
229
246
|
)
|
|
230
247
|
|
|
231
|
-
return output as
|
|
248
|
+
return output as RolldownOutput
|
|
232
249
|
}
|
|
233
250
|
|
|
234
251
|
// build api routes and middlewares in parallel
|
|
@@ -256,7 +273,7 @@ export async function build(args: {
|
|
|
256
273
|
const outChunks = middlewareBuildInfo.output.filter((x) => x.type === 'chunk')
|
|
257
274
|
const chunk = outChunks.find((x) => x.facadeModuleId === fullPath)
|
|
258
275
|
if (!chunk) throw new Error(`internal err finding middleware`)
|
|
259
|
-
builtMiddlewares[middleware.file] = join(
|
|
276
|
+
builtMiddlewares[middleware.file] = join(outDir, 'middlewares', chunk.fileName)
|
|
260
277
|
}
|
|
261
278
|
}
|
|
262
279
|
|
|
@@ -272,6 +289,9 @@ export async function build(args: {
|
|
|
272
289
|
const collectImportsCache = new Map<string, string[]>()
|
|
273
290
|
const cssFileContentsCache = new Map<string, string>()
|
|
274
291
|
|
|
292
|
+
// css files with .inline.css extension — should be inlined as <style>
|
|
293
|
+
const criticalCSSOutputPaths = getCriticalCSSOutputPaths(vxrnOutput.clientManifest)
|
|
294
|
+
|
|
275
295
|
// concurrency limiter for parallel page builds
|
|
276
296
|
const limit = pLimit(BUILD_CONCURRENCY)
|
|
277
297
|
|
|
@@ -279,7 +299,13 @@ export async function build(args: {
|
|
|
279
299
|
const useWorkers = shouldUseWorkers(oneOptions)
|
|
280
300
|
const workerPool = useWorkers ? getWorkerPool(BUILD_CONCURRENCY) : null
|
|
281
301
|
if (workerPool) {
|
|
282
|
-
|
|
302
|
+
// strip non-cloneable values so workers skip re-loading vite config
|
|
303
|
+
const serializableOptions = JSON.parse(
|
|
304
|
+
JSON.stringify(oneOptions, (_key, value) =>
|
|
305
|
+
typeof value === 'function' ? undefined : value
|
|
306
|
+
)
|
|
307
|
+
)
|
|
308
|
+
await workerPool.initialize(serializableOptions)
|
|
283
309
|
}
|
|
284
310
|
|
|
285
311
|
const staticStartTime = performance.now()
|
|
@@ -288,8 +314,8 @@ export async function build(args: {
|
|
|
288
314
|
: `concurrency: ${BUILD_CONCURRENCY}`
|
|
289
315
|
console.info(`\n 🔨 build static routes (${modeLabel})\n`)
|
|
290
316
|
|
|
291
|
-
const staticDir = join(
|
|
292
|
-
const clientDir = join(
|
|
317
|
+
const staticDir = join(`${outDir}/static`)
|
|
318
|
+
const clientDir = join(`${outDir}/client`)
|
|
293
319
|
await ensureDir(staticDir)
|
|
294
320
|
|
|
295
321
|
if (!vxrnOutput.serverOutput) {
|
|
@@ -585,12 +611,24 @@ export async function build(args: {
|
|
|
585
611
|
: allPreloads
|
|
586
612
|
|
|
587
613
|
const allEntries = [clientManifestEntry, ...layoutEntries].filter(Boolean)
|
|
614
|
+
|
|
615
|
+
// layout css (from layout entries) - should load before scripts to prevent FOUC
|
|
616
|
+
const layoutCSS = [
|
|
617
|
+
...new Set(
|
|
618
|
+
layoutEntries
|
|
619
|
+
.flatMap((entry) => collectImports(entry, { type: 'css' }))
|
|
620
|
+
.map((path) => `/${path}`)
|
|
621
|
+
),
|
|
622
|
+
]
|
|
623
|
+
|
|
624
|
+
// all css including page entry and root-level css
|
|
588
625
|
const allCSS = [
|
|
589
626
|
...new Set([
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
.map((path) => `/${path}`)
|
|
627
|
+
...layoutCSS,
|
|
628
|
+
// css from page entry
|
|
629
|
+
...(clientManifestEntry
|
|
630
|
+
? collectImports(clientManifestEntry, { type: 'css' }).map((path) => `/${path}`)
|
|
631
|
+
: []),
|
|
594
632
|
// root-level css (handles cssCodeSplit: false)
|
|
595
633
|
...Object.entries(vxrnOutput.clientManifest)
|
|
596
634
|
.filter(([key]) => key.endsWith('.css'))
|
|
@@ -598,11 +636,22 @@ export async function build(args: {
|
|
|
598
636
|
]),
|
|
599
637
|
]
|
|
600
638
|
|
|
601
|
-
//
|
|
639
|
+
// check if any css needs inlining (inlineLayoutCSS option or .inline.css imports)
|
|
640
|
+
const hasCriticalCSS = allCSS.some((p) => criticalCSSOutputPaths.has(p))
|
|
641
|
+
const needsCSSContents = oneOptions.web?.inlineLayoutCSS || hasCriticalCSS
|
|
642
|
+
|
|
643
|
+
// read css file contents for inlining (with caching)
|
|
602
644
|
let allCSSContents: string[] | undefined
|
|
603
|
-
if (
|
|
645
|
+
if (needsCSSContents) {
|
|
604
646
|
allCSSContents = await Promise.all(
|
|
605
647
|
allCSS.map(async (cssPath) => {
|
|
648
|
+
// only read contents for css that should be inlined:
|
|
649
|
+
// - all css when inlineLayoutCSS is enabled
|
|
650
|
+
// - only .inline.css otherwise
|
|
651
|
+
if (!oneOptions.web?.inlineLayoutCSS && !criticalCSSOutputPaths.has(cssPath)) {
|
|
652
|
+
return ''
|
|
653
|
+
}
|
|
654
|
+
|
|
606
655
|
// check cache first
|
|
607
656
|
const cached = cssFileContentsCache.get(cssPath)
|
|
608
657
|
if (cached !== undefined) return cached
|
|
@@ -630,7 +679,7 @@ export async function build(args: {
|
|
|
630
679
|
})
|
|
631
680
|
}
|
|
632
681
|
|
|
633
|
-
const serverJsPath = join(
|
|
682
|
+
const serverJsPath = join(`${outDir}/server`, serverFileName)
|
|
634
683
|
|
|
635
684
|
let exported
|
|
636
685
|
try {
|
|
@@ -714,6 +763,7 @@ export async function build(args: {
|
|
|
714
763
|
serverJsPath,
|
|
715
764
|
preloads,
|
|
716
765
|
allCSS,
|
|
766
|
+
layoutCSS,
|
|
717
767
|
routePreloads,
|
|
718
768
|
allCSSContents,
|
|
719
769
|
criticalPreloads,
|
|
@@ -747,6 +797,7 @@ export async function build(args: {
|
|
|
747
797
|
serverJsPath,
|
|
748
798
|
preloads,
|
|
749
799
|
allCSS,
|
|
800
|
+
layoutCSS,
|
|
750
801
|
routePreloads,
|
|
751
802
|
allCSSContents,
|
|
752
803
|
criticalPreloads,
|
|
@@ -853,6 +904,7 @@ export async function build(args: {
|
|
|
853
904
|
}
|
|
854
905
|
|
|
855
906
|
const buildInfoForWriting: One.BuildInfo = {
|
|
907
|
+
outDir,
|
|
856
908
|
oneOptions,
|
|
857
909
|
routeToBuildInfo,
|
|
858
910
|
pathToRoute,
|
|
@@ -869,7 +921,7 @@ export async function build(args: {
|
|
|
869
921
|
useRolldown: await isRolldown(),
|
|
870
922
|
}
|
|
871
923
|
|
|
872
|
-
await writeJSON(toAbsolute(
|
|
924
|
+
await writeJSON(toAbsolute(`${outDir}/buildInfo.json`), buildInfoForWriting)
|
|
873
925
|
|
|
874
926
|
// emit version.json for skew protection polling
|
|
875
927
|
await FSExtra.writeFile(
|
|
@@ -938,7 +990,8 @@ export async function build(args: {
|
|
|
938
990
|
buildInfoForWriting.routeToBuildInfo
|
|
939
991
|
)) {
|
|
940
992
|
if (info.serverJsPath) {
|
|
941
|
-
const importPath =
|
|
993
|
+
const importPath =
|
|
994
|
+
'./' + info.serverJsPath.replace(new RegExp(`^${outDir}/`), '')
|
|
942
995
|
pageRouteMap.push(` '${routeFile}': () => import('${importPath}')`)
|
|
943
996
|
}
|
|
944
997
|
}
|
|
@@ -958,11 +1011,11 @@ export async function build(args: {
|
|
|
958
1011
|
// Generate lazy imports for middlewares
|
|
959
1012
|
// The key must match the contextKey used to look up the middleware (e.g., "dist/middlewares/_middleware.js")
|
|
960
1013
|
for (const [, builtPath] of Object.entries(builtMiddlewares)) {
|
|
961
|
-
const importPath = './' + builtPath.replace(
|
|
1014
|
+
const importPath = './' + builtPath.replace(new RegExp(`^${outDir}/`), '')
|
|
962
1015
|
middlewareRouteMap.push(` '${builtPath}': () => import('${importPath}')`)
|
|
963
1016
|
}
|
|
964
1017
|
|
|
965
|
-
const workerSrcPath = join(options.root,
|
|
1018
|
+
const workerSrcPath = join(options.root, outDir, '_worker-src.js')
|
|
966
1019
|
const workerCode = `// Polyfill MessageChannel for React SSR (not available in Cloudflare Workers by default)
|
|
967
1020
|
if (typeof MessageChannel === 'undefined') {
|
|
968
1021
|
globalThis.MessageChannel = class MessageChannel {
|
|
@@ -1050,13 +1103,14 @@ export default {
|
|
|
1050
1103
|
console.info('\n [cloudflare] Bundling worker...')
|
|
1051
1104
|
await viteBuild({
|
|
1052
1105
|
root: options.root,
|
|
1106
|
+
mode: 'production',
|
|
1053
1107
|
logLevel: 'warn',
|
|
1054
1108
|
build: {
|
|
1055
|
-
outDir
|
|
1109
|
+
outDir,
|
|
1056
1110
|
emptyOutDir: false,
|
|
1057
1111
|
// Use SSR mode with node target for proper Node.js module resolution
|
|
1058
1112
|
ssr: workerSrcPath,
|
|
1059
|
-
|
|
1113
|
+
rolldownOptions: {
|
|
1060
1114
|
external: [
|
|
1061
1115
|
// React Native dev tools - not needed in production
|
|
1062
1116
|
'@react-native/dev-middleware',
|
|
@@ -1083,6 +1137,25 @@ export default {
|
|
|
1083
1137
|
},
|
|
1084
1138
|
resolve: {
|
|
1085
1139
|
conditions: ['workerd', 'worker', 'node', 'module', 'default'],
|
|
1140
|
+
alias: [
|
|
1141
|
+
// rolldown can't parse react-native's Flow syntax; alias to react-native-web for ssr
|
|
1142
|
+
{
|
|
1143
|
+
find: /^react-native\/Libraries\/.*/,
|
|
1144
|
+
replacement: resolvePath('@vxrn/vite-plugin-metro/empty', options.root),
|
|
1145
|
+
},
|
|
1146
|
+
{
|
|
1147
|
+
find: 'react-native/package.json',
|
|
1148
|
+
replacement: resolvePath('react-native-web/package.json', options.root),
|
|
1149
|
+
},
|
|
1150
|
+
{
|
|
1151
|
+
find: 'react-native',
|
|
1152
|
+
replacement: resolvePath('react-native-web', options.root),
|
|
1153
|
+
},
|
|
1154
|
+
{
|
|
1155
|
+
find: 'react-native-safe-area-context',
|
|
1156
|
+
replacement: resolvePath('@vxrn/safe-area', options.root),
|
|
1157
|
+
},
|
|
1158
|
+
],
|
|
1086
1159
|
},
|
|
1087
1160
|
ssr: {
|
|
1088
1161
|
target: 'node',
|
|
@@ -1110,17 +1183,46 @@ export default {
|
|
|
1110
1183
|
}
|
|
1111
1184
|
`
|
|
1112
1185
|
await FSExtra.writeFile(
|
|
1113
|
-
join(options.root,
|
|
1186
|
+
join(options.root, outDir, 'wrangler.jsonc'),
|
|
1114
1187
|
wranglerConfig
|
|
1115
1188
|
)
|
|
1116
1189
|
|
|
1117
|
-
postBuildLogs.push(`Cloudflare worker bundled at
|
|
1118
|
-
postBuildLogs.push(`To deploy: cd
|
|
1190
|
+
postBuildLogs.push(`Cloudflare worker bundled at ${outDir}/worker.js`)
|
|
1191
|
+
postBuildLogs.push(`To deploy: cd ${outDir} && wrangler deploy`)
|
|
1119
1192
|
|
|
1120
1193
|
break
|
|
1121
1194
|
}
|
|
1122
1195
|
}
|
|
1123
1196
|
|
|
1197
|
+
// security scan for leaked secrets in client bundles
|
|
1198
|
+
const securityScanOption = oneOptions.build?.securityScan
|
|
1199
|
+
// default to 'warn', normalize all forms
|
|
1200
|
+
const securityScanLevel: 'warn' | 'error' | null =
|
|
1201
|
+
securityScanOption === false
|
|
1202
|
+
? null
|
|
1203
|
+
: securityScanOption === true || securityScanOption === undefined
|
|
1204
|
+
? 'warn'
|
|
1205
|
+
: typeof securityScanOption === 'string'
|
|
1206
|
+
? securityScanOption
|
|
1207
|
+
: (securityScanOption.level ?? 'warn')
|
|
1208
|
+
|
|
1209
|
+
const securitySafePatterns =
|
|
1210
|
+
typeof securityScanOption === 'object' && securityScanOption !== null
|
|
1211
|
+
? securityScanOption.safePatterns
|
|
1212
|
+
: undefined
|
|
1213
|
+
|
|
1214
|
+
if (securityScanLevel) {
|
|
1215
|
+
const { runSecurityScan } = await import('./securityScan')
|
|
1216
|
+
const passed = await runSecurityScan(
|
|
1217
|
+
clientDir,
|
|
1218
|
+
securityScanLevel,
|
|
1219
|
+
securitySafePatterns
|
|
1220
|
+
)
|
|
1221
|
+
if (!passed) {
|
|
1222
|
+
process.exit(1)
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1124
1226
|
if (postBuildLogs.length) {
|
|
1125
1227
|
console.info(`\n\n`)
|
|
1126
1228
|
postBuildLogs.forEach((log) => {
|
package/src/cli/buildPage.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { join } from 'node:path'
|
|
2
2
|
import FSExtra from 'fs-extra'
|
|
3
3
|
import * as constants from '../constants'
|
|
4
|
+
import { LOADER_JS_POSTFIX_UNCACHED } from '../constants'
|
|
4
5
|
import type { LoaderProps } from '../types'
|
|
5
6
|
import { getLoaderPath, getPreloadCSSPath, getPreloadPath } from '../utils/cleanUrl'
|
|
6
7
|
import { isResponse } from '../utils/isResponse'
|
|
@@ -49,6 +50,7 @@ export async function buildPage(
|
|
|
49
50
|
serverJsPath: string,
|
|
50
51
|
preloads: string[],
|
|
51
52
|
allCSS: string[],
|
|
53
|
+
layoutCSS: string[],
|
|
52
54
|
routePreloads: Record<string, string>,
|
|
53
55
|
allCSSContents?: string[],
|
|
54
56
|
criticalPreloads?: string[],
|
|
@@ -63,7 +65,7 @@ export async function buildPage(
|
|
|
63
65
|
|
|
64
66
|
const htmlPath = `${path.endsWith('/') ? `${removeTrailingSlash(path)}/index` : path}.html`
|
|
65
67
|
const clientJsPath = clientManifestEntry
|
|
66
|
-
? join(
|
|
68
|
+
? join(clientDir, clientManifestEntry.file)
|
|
67
69
|
: ''
|
|
68
70
|
const htmlOutPath = toAbsolute(join(staticDir, htmlPath))
|
|
69
71
|
const preloadPath = getPreloadPath(path)
|
|
@@ -190,8 +192,10 @@ prefetchCSS()
|
|
|
190
192
|
if (!layoutServerPath) {
|
|
191
193
|
return { contextKey: layout.contextKey, loaderData: undefined }
|
|
192
194
|
}
|
|
195
|
+
// derive server dir from clientDir (e.g. dist/client -> dist/server)
|
|
196
|
+
const serverDir = join(clientDir, '..', 'server')
|
|
193
197
|
const layoutExported = await import(
|
|
194
|
-
toAbsolute(join(
|
|
198
|
+
toAbsolute(join(serverDir, layoutServerPath))
|
|
195
199
|
)
|
|
196
200
|
const layoutLoaderData = await layoutExported?.loader?.(loaderProps)
|
|
197
201
|
return { contextKey: layout.contextKey, loaderData: layoutLoaderData }
|
|
@@ -253,6 +257,11 @@ prefetchCSS()
|
|
|
253
257
|
if (clientJsPath) {
|
|
254
258
|
const loaderPartialPath = join(clientDir, urlPathToFilePath(getLoaderPath(path)))
|
|
255
259
|
|
|
260
|
+
// uncached native loader path for native prod (metro can't inline cache keys)
|
|
261
|
+
const uncachedNativePath = loaderPartialPath
|
|
262
|
+
.replace(constants.LOADER_JS_POSTFIX, LOADER_JS_POSTFIX_UNCACHED)
|
|
263
|
+
.replace(/\.js$/, '.native.js')
|
|
264
|
+
|
|
256
265
|
if (loaderRedirectInfo) {
|
|
257
266
|
// generate a static redirect loader — the client detects __oneRedirect
|
|
258
267
|
// and navigates before the protected page ever renders
|
|
@@ -264,6 +273,10 @@ prefetchCSS()
|
|
|
264
273
|
loaderPartialPath,
|
|
265
274
|
`export function loader(){return ${redirectData}}`
|
|
266
275
|
)
|
|
276
|
+
// native-friendly CJS version
|
|
277
|
+
const nativeCjs = `exports.loader = function(){return ${redirectData}}`
|
|
278
|
+
await outputFile(loaderPartialPath.replace(/\.js$/, '.native.js'), nativeCjs)
|
|
279
|
+
await outputFile(uncachedNativePath, nativeCjs)
|
|
267
280
|
loaderPath = getLoaderPath(path)
|
|
268
281
|
loaderData = {}
|
|
269
282
|
} else {
|
|
@@ -278,6 +291,10 @@ if (typeof document === 'undefined') globalThis.document = {}
|
|
|
278
291
|
loaderData,
|
|
279
292
|
})
|
|
280
293
|
await outputFile(loaderPartialPath, withLoader)
|
|
294
|
+
// native-friendly CJS version with just the data (no ESM imports)
|
|
295
|
+
const nativeCjs = `exports.loader = function(){return ${JSON.stringify(loaderData)}}`
|
|
296
|
+
await outputFile(loaderPartialPath.replace(/\.js$/, '.native.js'), nativeCjs)
|
|
297
|
+
await outputFile(uncachedNativePath, nativeCjs)
|
|
281
298
|
loaderPath = getLoaderPath(path)
|
|
282
299
|
}
|
|
283
300
|
}
|
|
@@ -372,36 +389,44 @@ if (typeof document === 'undefined') globalThis.document = {}
|
|
|
372
389
|
await outputFile(htmlOutPath, html)
|
|
373
390
|
recordTiming('writeHTML', performance.now() - t0)
|
|
374
391
|
} else {
|
|
375
|
-
//
|
|
376
|
-
const
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
392
|
+
// separate layout css (before scripts) from page css (after scripts)
|
|
393
|
+
const layoutCSSSet = new Set(layoutCSS)
|
|
394
|
+
|
|
395
|
+
// render css as either inline <style> (if content provided) or <link>
|
|
396
|
+
function renderCSSTag(file: string, index: number): string {
|
|
397
|
+
const content = allCSSContents?.[index]
|
|
398
|
+
if (content) {
|
|
399
|
+
return ` <style>${content}</style>`
|
|
400
|
+
}
|
|
401
|
+
return ` <link rel="stylesheet" href=${file} />`
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
const layoutCssOutput = allCSS
|
|
405
|
+
.map((file, i) => (layoutCSSSet.has(file) ? renderCSSTag(file, i) : ''))
|
|
406
|
+
.filter(Boolean)
|
|
407
|
+
.join('\n')
|
|
408
|
+
|
|
409
|
+
const pageCssOutput = allCSS
|
|
410
|
+
.map((file, i) => (!layoutCSSSet.has(file) ? renderCSSTag(file, i) : ''))
|
|
411
|
+
.filter(Boolean)
|
|
412
|
+
.join('\n')
|
|
384
413
|
|
|
385
414
|
// Use separated preloads if available
|
|
386
415
|
const criticalScripts = (criticalPreloads || preloads)
|
|
387
416
|
.map((preload) => ` <script type="module" src="${preload}"></script>`)
|
|
388
417
|
.join('\n')
|
|
389
418
|
|
|
390
|
-
//
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
(preload) =>
|
|
394
|
-
` <link rel="modulepreload" fetchPriority="low" href="${preload}"/>`
|
|
395
|
-
)
|
|
396
|
-
.join('\n')
|
|
419
|
+
// skip modulepreload hints for pure SPA pages - the JS module graph
|
|
420
|
+
// handles its own loading, and route preloading happens on hover intent
|
|
421
|
+
// emitting hundreds of modulepreload links saturates connections for no benefit
|
|
397
422
|
|
|
398
423
|
await outputFile(
|
|
399
424
|
htmlOutPath,
|
|
400
425
|
`<!DOCTYPE html><html><head>
|
|
401
426
|
${constants.getSpaHeaderElements({ serverContext: { loaderProps, loaderData } })}
|
|
427
|
+
${layoutCssOutput}
|
|
402
428
|
${criticalScripts}
|
|
403
|
-
${
|
|
404
|
-
${cssOutput}
|
|
429
|
+
${pageCssOutput}
|
|
405
430
|
</head><body></body></html>`
|
|
406
431
|
)
|
|
407
432
|
}
|
|
@@ -431,6 +456,7 @@ params:\n\n${JSON.stringify(params || null, null, 2)}`
|
|
|
431
456
|
return {
|
|
432
457
|
type: foundRoute.type,
|
|
433
458
|
css: allCSS,
|
|
459
|
+
layoutCSS,
|
|
434
460
|
cssContents: allCSSContents,
|
|
435
461
|
routeFile: foundRoute.file,
|
|
436
462
|
middlewares,
|
|
@@ -22,8 +22,6 @@ let buildPageFn: typeof import('./buildPage').buildPage | null = null
|
|
|
22
22
|
let runWithAsyncLocalContextFn:
|
|
23
23
|
| typeof import('../vite/one-server-only').runWithAsyncLocalContext
|
|
24
24
|
| null = null
|
|
25
|
-
let loadUserOneOptionsFn: typeof import('../vite/loadConfig').loadUserOneOptions | null =
|
|
26
|
-
null
|
|
27
25
|
let initialized = false
|
|
28
26
|
|
|
29
27
|
async function ensureImports() {
|
|
@@ -41,35 +39,24 @@ async function ensureImports() {
|
|
|
41
39
|
)
|
|
42
40
|
runWithAsyncLocalContextFn = mod.runWithAsyncLocalContext
|
|
43
41
|
}
|
|
44
|
-
if (!loadUserOneOptionsFn) {
|
|
45
|
-
const mod = await workerImport<typeof import('../vite/loadConfig')>(
|
|
46
|
-
'../vite/loadConfig',
|
|
47
|
-
import.meta.url
|
|
48
|
-
)
|
|
49
|
-
loadUserOneOptionsFn = mod.loadUserOneOptions
|
|
50
|
-
}
|
|
51
42
|
return {
|
|
52
43
|
buildPage: buildPageFn!,
|
|
53
44
|
runWithAsyncLocalContext: runWithAsyncLocalContextFn!,
|
|
54
|
-
loadUserOneOptions: loadUserOneOptionsFn!,
|
|
55
45
|
}
|
|
56
46
|
}
|
|
57
47
|
|
|
58
|
-
async function initializeWorker() {
|
|
48
|
+
async function initializeWorker(oneOptions: any) {
|
|
59
49
|
if (initialized) return
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const { oneOptions } = await loadUserOneOptions('build', true)
|
|
64
|
-
// set global plugin config that createManifest needs
|
|
50
|
+
if (!oneOptions) {
|
|
51
|
+
throw new Error('Worker must receive oneOptions from main thread')
|
|
52
|
+
}
|
|
65
53
|
globalThis['__vxrnPluginConfig__'] = oneOptions
|
|
66
54
|
initialized = true
|
|
67
55
|
}
|
|
68
56
|
|
|
69
57
|
parentPort.on('message', async (msg: any) => {
|
|
70
58
|
if (msg.type === 'init') {
|
|
71
|
-
|
|
72
|
-
await initializeWorker()
|
|
59
|
+
await initializeWorker(msg.oneOptions)
|
|
73
60
|
parentPort!.postMessage({ type: 'init-done', id: msg.id })
|
|
74
61
|
return
|
|
75
62
|
}
|
|
@@ -92,6 +79,7 @@ parentPort.on('message', async (msg: any) => {
|
|
|
92
79
|
msg.args.serverJsPath,
|
|
93
80
|
msg.args.preloads,
|
|
94
81
|
msg.args.allCSS,
|
|
82
|
+
msg.args.layoutCSS,
|
|
95
83
|
msg.args.routePreloads,
|
|
96
84
|
msg.args.allCSSContents,
|
|
97
85
|
msg.args.criticalPreloads,
|
package/src/cli/patch.ts
CHANGED
|
@@ -6,15 +6,15 @@ export async function run(args: { force?: boolean }) {
|
|
|
6
6
|
const { patch } = await import('vxrn')
|
|
7
7
|
|
|
8
8
|
const options = await loadUserOneOptions('build')
|
|
9
|
-
const
|
|
9
|
+
const patches = options.oneOptions.patches as SimpleDepPatchObject | undefined
|
|
10
10
|
|
|
11
11
|
if (process.env.DEBUG) {
|
|
12
|
-
console.info('User
|
|
12
|
+
console.info('User patches:', Object.keys(patches || {}))
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
await patch({
|
|
16
16
|
root: process.cwd(),
|
|
17
|
-
deps,
|
|
17
|
+
deps: patches,
|
|
18
18
|
force: args.force,
|
|
19
19
|
} satisfies PatchOptions)
|
|
20
20
|
}
|