one 1.2.57 → 1.2.59
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/cli/build.cjs +3 -1
- package/dist/cjs/cli/build.js +1 -1
- package/dist/cjs/cli/build.js.map +1 -1
- package/dist/cjs/cli/build.native.js +13 -12
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/cli/buildPage.cjs +1 -1
- package/dist/cjs/cli/buildPage.js +1 -1
- package/dist/cjs/cli/buildPage.native.js +2 -2
- package/dist/cjs/cli/buildPage.native.js.map +1 -1
- package/dist/cjs/cli/dev.cjs +4 -4
- package/dist/cjs/cli/dev.js +4 -4
- package/dist/cjs/cli/dev.js.map +1 -1
- package/dist/cjs/cli/dev.native.js +4 -4
- package/dist/cjs/cli/dev.native.js.map +1 -1
- package/dist/cjs/cli/generateRoutes.cjs +1 -1
- package/dist/cjs/cli/generateRoutes.js +1 -1
- package/dist/cjs/cli/generateRoutes.native.js +1 -1
- package/dist/cjs/cli/generateRoutes.native.js.map +1 -1
- package/dist/cjs/cli/generateSitemap.native.js +7 -7
- package/dist/cjs/cli/generateSitemap.native.js.map +1 -1
- package/dist/cjs/config.native.js +2 -2
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/constants.native.js +1 -1
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/createApp.cjs +2 -1
- package/dist/cjs/createApp.js +2 -2
- package/dist/cjs/createApp.js.map +1 -1
- package/dist/cjs/createHandleRequest.test.js +3 -1
- package/dist/cjs/createHandleRequest.test.js.map +1 -1
- package/dist/cjs/createHandleRequest.test.native.js.map +1 -1
- package/dist/cjs/devtools/registry.cjs +30 -0
- package/dist/cjs/devtools/registry.js +25 -0
- package/dist/cjs/devtools/registry.js.map +6 -0
- package/dist/cjs/devtools/registry.native.js +33 -0
- package/dist/cjs/devtools/registry.native.js.map +1 -0
- package/dist/cjs/fork/NavigationContainer.native.js +5 -5
- package/dist/cjs/fork/NavigationContainer.native.js.map +1 -1
- package/dist/cjs/fork/createMemoryHistory.cjs +20 -9
- package/dist/cjs/fork/createMemoryHistory.js +22 -4
- package/dist/cjs/fork/createMemoryHistory.js.map +1 -1
- package/dist/cjs/fork/createMemoryHistory.native.js +22 -11
- package/dist/cjs/fork/createMemoryHistory.native.js.map +1 -1
- package/dist/cjs/fork/extractPathFromURL.native.js +8 -8
- package/dist/cjs/fork/extractPathFromURL.native.js.map +1 -1
- package/dist/cjs/fork/findFocusedRoute.native.js +2 -3
- package/dist/cjs/fork/findFocusedRoute.native.js.map +1 -1
- package/dist/cjs/fork/getPathFromState-mods.native.js +2 -3
- package/dist/cjs/fork/getPathFromState-mods.native.js.map +1 -1
- package/dist/cjs/fork/getStateFromPath-mods.native.js +3 -3
- package/dist/cjs/fork/getStateFromPath-mods.native.js.map +1 -1
- package/dist/cjs/fork/useLinking.cjs +11 -5
- package/dist/cjs/fork/useLinking.js +6 -6
- package/dist/cjs/fork/useLinking.js.map +1 -1
- package/dist/cjs/fork/useLinking.native.js.map +1 -1
- package/dist/cjs/head/url.native.js +2 -3
- package/dist/cjs/head/url.native.js.map +1 -1
- package/dist/cjs/hooks.js.map +1 -1
- package/dist/cjs/hooks.native.js.map +1 -1
- package/dist/cjs/index.cjs +17 -1
- package/dist/cjs/index.js +12 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +17 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/layouts/withLayoutContext.cjs +34 -15
- package/dist/cjs/layouts/withLayoutContext.js +29 -13
- package/dist/cjs/layouts/withLayoutContext.js.map +1 -1
- package/dist/cjs/layouts/withLayoutContext.native.js +42 -19
- package/dist/cjs/layouts/withLayoutContext.native.js.map +1 -1
- package/dist/cjs/link/Link.cjs +5 -2
- package/dist/cjs/link/Link.js +3 -2
- package/dist/cjs/link/Link.js.map +1 -1
- package/dist/cjs/link/Link.native.js +6 -1
- package/dist/cjs/link/Link.native.js.map +1 -1
- package/dist/cjs/link/href.native.js +2 -2
- package/dist/cjs/link/href.native.js.map +1 -1
- package/dist/cjs/link/useLinkTo.cjs +11 -3
- package/dist/cjs/link/useLinkTo.js +6 -3
- package/dist/cjs/link/useLinkTo.js.map +1 -1
- package/dist/cjs/link/useLinkTo.native.js +11 -3
- package/dist/cjs/link/useLinkTo.native.js.map +1 -1
- package/dist/cjs/router/Route.js.map +1 -1
- package/dist/cjs/router/Route.native.js.map +1 -1
- package/dist/cjs/router/findRouteNode.cjs +70 -0
- package/dist/cjs/router/findRouteNode.js +72 -0
- package/dist/cjs/router/findRouteNode.js.map +6 -0
- package/dist/cjs/router/findRouteNode.native.js +104 -0
- package/dist/cjs/router/findRouteNode.native.js.map +1 -0
- package/dist/cjs/router/getRoutes.native.js +3 -3
- package/dist/cjs/router/getRoutes.native.js.map +1 -1
- package/dist/cjs/router/router.cjs +160 -11
- package/dist/cjs/router/router.js +142 -7
- package/dist/cjs/router/router.js.map +2 -2
- package/dist/cjs/router/router.native.js +247 -67
- package/dist/cjs/router/router.native.js.map +1 -1
- package/dist/cjs/router/useNavigation.js.map +1 -1
- package/dist/cjs/router/useNavigation.native.js.map +1 -1
- package/dist/cjs/router/useScreens.cjs +1 -1
- package/dist/cjs/router/useScreens.js +1 -1
- package/dist/cjs/router/useScreens.js.map +1 -1
- package/dist/cjs/router/useScreens.native.js +6 -3
- package/dist/cjs/router/useScreens.native.js.map +1 -1
- package/dist/cjs/router/utils/getNavigateAction.native.js +2 -4
- package/dist/cjs/router/utils/getNavigateAction.native.js.map +1 -1
- package/dist/cjs/server/oneServe.js.map +1 -1
- package/dist/cjs/server/oneServe.native.js +4 -4
- package/dist/cjs/server/oneServe.native.js.map +1 -1
- package/dist/cjs/server/setupBuildOptions.native.js +1 -1
- package/dist/cjs/server/setupBuildOptions.native.js.map +1 -1
- package/dist/cjs/ui/common.native.js +6 -5
- package/dist/cjs/ui/common.native.js.map +1 -1
- package/dist/cjs/useBlocker.cjs +158 -0
- package/dist/cjs/useBlocker.js +145 -0
- package/dist/cjs/useBlocker.js.map +6 -0
- package/dist/cjs/useBlocker.native.js +89 -0
- package/dist/cjs/useBlocker.native.js.map +1 -0
- package/dist/cjs/useFocusEffect.cjs +2 -2
- package/dist/cjs/useFocusEffect.js +2 -2
- package/dist/cjs/useFocusEffect.js.map +1 -1
- package/dist/cjs/useFocusEffect.native.js +2 -2
- package/dist/cjs/useFocusEffect.native.js.map +1 -1
- package/dist/cjs/useLoader.cjs +69 -3
- package/dist/cjs/useLoader.js +57 -4
- package/dist/cjs/useLoader.js.map +2 -2
- package/dist/cjs/useLoader.native.js +90 -6
- package/dist/cjs/useLoader.native.js.map +1 -1
- package/dist/cjs/useScrollGroup.cjs +37 -0
- package/dist/cjs/useScrollGroup.js +30 -0
- package/dist/cjs/useScrollGroup.js.map +6 -0
- package/dist/cjs/useScrollGroup.native.js +29 -0
- package/dist/cjs/useScrollGroup.native.js.map +1 -0
- package/dist/cjs/validateParams.cjs +80 -0
- package/dist/cjs/validateParams.js +84 -0
- package/dist/cjs/validateParams.js.map +6 -0
- package/dist/cjs/validateParams.native.js +180 -0
- package/dist/cjs/validateParams.native.js.map +1 -0
- package/dist/cjs/validateSearch.cjs +104 -0
- package/dist/cjs/validateSearch.js +99 -0
- package/dist/cjs/validateSearch.js.map +6 -0
- package/dist/cjs/validateSearch.native.js +202 -0
- package/dist/cjs/validateSearch.native.js.map +1 -0
- package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js +2 -2
- package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
- package/dist/cjs/views/ErrorBoundary.cjs +293 -10
- package/dist/cjs/views/ErrorBoundary.js +328 -8
- package/dist/cjs/views/ErrorBoundary.js.map +2 -2
- package/dist/cjs/views/ErrorBoundary.native.js +159 -4
- package/dist/cjs/views/ErrorBoundary.native.js.map +1 -1
- package/dist/cjs/views/Navigator.cjs +10 -3
- package/dist/cjs/views/Navigator.js +11 -3
- package/dist/cjs/views/Navigator.js.map +1 -1
- package/dist/cjs/views/Navigator.native.js +15 -6
- package/dist/cjs/views/Navigator.native.js.map +1 -1
- package/dist/cjs/views/Protected.cjs +36 -0
- package/dist/cjs/views/Protected.js +27 -0
- package/dist/cjs/views/Protected.js.map +6 -0
- package/dist/cjs/views/Protected.native.js +44 -0
- package/dist/cjs/views/Protected.native.js.map +1 -0
- package/dist/cjs/views/RootErrorBoundary.cjs +193 -8
- package/dist/cjs/views/RootErrorBoundary.js +213 -8
- package/dist/cjs/views/RootErrorBoundary.js.map +1 -1
- package/dist/cjs/views/RootErrorBoundary.native.js +192 -8
- package/dist/cjs/views/RootErrorBoundary.native.js.map +1 -1
- package/dist/cjs/views/ScrollBehavior.cjs +49 -11
- package/dist/cjs/views/ScrollBehavior.js +47 -11
- package/dist/cjs/views/ScrollBehavior.js.map +1 -1
- package/dist/cjs/views/ScrollBehavior.native.js +68 -10
- package/dist/cjs/views/ScrollBehavior.native.js.map +1 -1
- package/dist/cjs/views/SourceInspector.cjs +28 -0
- package/dist/cjs/views/SourceInspector.js +23 -0
- package/dist/cjs/views/SourceInspector.js.map +6 -0
- package/dist/cjs/views/SourceInspector.native.js +32 -0
- package/dist/cjs/views/SourceInspector.native.js.map +1 -0
- package/dist/cjs/views/Try.cjs +40 -7
- package/dist/cjs/views/Try.js +38 -4
- package/dist/cjs/views/Try.js.map +1 -1
- package/dist/cjs/views/Try.native.js +42 -7
- package/dist/cjs/views/Try.native.js.map +1 -1
- package/dist/cjs/vite/DevHead.cjs +797 -43
- package/dist/cjs/vite/DevHead.js +802 -51
- package/dist/cjs/vite/DevHead.js.map +1 -1
- package/dist/cjs/vite/DevHead.native.js +783 -1
- package/dist/cjs/vite/DevHead.native.js.map +1 -1
- package/dist/cjs/vite/one.cjs +7 -1
- package/dist/cjs/vite/one.js +7 -2
- package/dist/cjs/vite/one.js.map +1 -1
- package/dist/cjs/vite/one.native.js +17 -7
- package/dist/cjs/vite/one.native.js.map +1 -1
- package/dist/cjs/vite/plugins/SSRCSSPlugin.cjs +44 -4
- package/dist/cjs/vite/plugins/SSRCSSPlugin.js +48 -4
- package/dist/cjs/vite/plugins/SSRCSSPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js +62 -5
- package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.cjs +34 -15
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.js +24 -3
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js +55 -19
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.cjs +129 -0
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.js +129 -0
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.js.map +6 -0
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js +140 -0
- package/dist/cjs/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -0
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +6 -3
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +3 -3
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.cjs +5 -1
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js +11 -6
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +1 -0
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.cjs +155 -0
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.js +148 -0
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.js.map +6 -0
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js +231 -0
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -0
- package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +25 -6
- package/dist/cjs/vite/plugins/virtualEntryPlugin.js +16 -6
- package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +26 -7
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/dist/esm/cli/build.js +1 -1
- package/dist/esm/cli/build.js.map +1 -1
- package/dist/esm/cli/build.mjs +3 -1
- package/dist/esm/cli/build.mjs.map +1 -1
- package/dist/esm/cli/build.native.js +13 -12
- package/dist/esm/cli/build.native.js.map +1 -1
- package/dist/esm/cli/buildPage.js +1 -1
- package/dist/esm/cli/buildPage.mjs +1 -1
- package/dist/esm/cli/buildPage.mjs.map +1 -1
- package/dist/esm/cli/buildPage.native.js +2 -2
- package/dist/esm/cli/buildPage.native.js.map +1 -1
- package/dist/esm/cli/dev.js +4 -4
- package/dist/esm/cli/dev.js.map +1 -1
- package/dist/esm/cli/dev.mjs +4 -4
- package/dist/esm/cli/dev.mjs.map +1 -1
- package/dist/esm/cli/dev.native.js +4 -4
- package/dist/esm/cli/dev.native.js.map +1 -1
- package/dist/esm/cli/generateRoutes.js +1 -1
- package/dist/esm/cli/generateRoutes.mjs +1 -1
- package/dist/esm/cli/generateRoutes.mjs.map +1 -1
- package/dist/esm/cli/generateRoutes.native.js +1 -1
- package/dist/esm/cli/generateRoutes.native.js.map +1 -1
- package/dist/esm/cli/generateSitemap.native.js +7 -7
- package/dist/esm/cli/generateSitemap.native.js.map +1 -1
- package/dist/esm/config.native.js +2 -2
- package/dist/esm/config.native.js.map +1 -1
- package/dist/esm/constants.native.js +2 -2
- package/dist/esm/constants.native.js.map +1 -1
- package/dist/esm/createApp.js +2 -2
- package/dist/esm/createApp.js.map +1 -1
- package/dist/esm/createApp.mjs +2 -1
- package/dist/esm/createApp.mjs.map +1 -1
- package/dist/esm/createHandleRequest.test.js +3 -1
- package/dist/esm/createHandleRequest.test.js.map +1 -1
- package/dist/esm/createHandleRequest.test.mjs.map +1 -1
- package/dist/esm/createHandleRequest.test.native.js.map +1 -1
- package/dist/esm/devtools/registry.js +9 -0
- package/dist/esm/devtools/registry.js.map +6 -0
- package/dist/esm/devtools/registry.mjs +6 -0
- package/dist/esm/devtools/registry.mjs.map +1 -0
- package/dist/esm/devtools/registry.native.js +6 -0
- package/dist/esm/devtools/registry.native.js.map +1 -0
- package/dist/esm/fork/NavigationContainer.native.js +5 -5
- package/dist/esm/fork/NavigationContainer.native.js.map +1 -1
- package/dist/esm/fork/createMemoryHistory.js +22 -4
- package/dist/esm/fork/createMemoryHistory.js.map +1 -1
- package/dist/esm/fork/createMemoryHistory.mjs +20 -9
- package/dist/esm/fork/createMemoryHistory.mjs.map +1 -1
- package/dist/esm/fork/createMemoryHistory.native.js +22 -11
- package/dist/esm/fork/createMemoryHistory.native.js.map +1 -1
- package/dist/esm/fork/extractPathFromURL.native.js +8 -8
- package/dist/esm/fork/extractPathFromURL.native.js.map +1 -1
- package/dist/esm/fork/findFocusedRoute.native.js +2 -3
- package/dist/esm/fork/findFocusedRoute.native.js.map +1 -1
- package/dist/esm/fork/getPathFromState-mods.native.js +2 -3
- package/dist/esm/fork/getPathFromState-mods.native.js.map +1 -1
- package/dist/esm/fork/getStateFromPath-mods.native.js +3 -3
- package/dist/esm/fork/getStateFromPath-mods.native.js.map +1 -1
- package/dist/esm/fork/useLinking.js +6 -5
- package/dist/esm/fork/useLinking.js.map +1 -1
- package/dist/esm/fork/useLinking.mjs +11 -5
- package/dist/esm/fork/useLinking.mjs.map +1 -1
- package/dist/esm/fork/useLinking.native.js.map +1 -1
- package/dist/esm/head/url.native.js +2 -3
- package/dist/esm/head/url.native.js.map +1 -1
- package/dist/esm/hooks.js.map +1 -1
- package/dist/esm/hooks.mjs.map +1 -1
- package/dist/esm/hooks.native.js.map +1 -1
- package/dist/esm/index.js +30 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +8 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +8 -2
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/layouts/withLayoutContext.js +30 -12
- package/dist/esm/layouts/withLayoutContext.js.map +1 -1
- package/dist/esm/layouts/withLayoutContext.mjs +34 -15
- package/dist/esm/layouts/withLayoutContext.mjs.map +1 -1
- package/dist/esm/layouts/withLayoutContext.native.js +42 -19
- package/dist/esm/layouts/withLayoutContext.native.js.map +1 -1
- package/dist/esm/link/Link.js +3 -2
- package/dist/esm/link/Link.js.map +1 -1
- package/dist/esm/link/Link.mjs +5 -2
- package/dist/esm/link/Link.mjs.map +1 -1
- package/dist/esm/link/Link.native.js +6 -1
- package/dist/esm/link/Link.native.js.map +1 -1
- package/dist/esm/link/href.native.js +2 -2
- package/dist/esm/link/href.native.js.map +1 -1
- package/dist/esm/link/useLinkTo.js +6 -3
- package/dist/esm/link/useLinkTo.js.map +1 -1
- package/dist/esm/link/useLinkTo.mjs +11 -3
- package/dist/esm/link/useLinkTo.mjs.map +1 -1
- package/dist/esm/link/useLinkTo.native.js +11 -3
- package/dist/esm/link/useLinkTo.native.js.map +1 -1
- package/dist/esm/router/Route.js.map +1 -1
- package/dist/esm/router/Route.mjs.map +1 -1
- package/dist/esm/router/Route.native.js.map +1 -1
- package/dist/esm/router/findRouteNode.js +56 -0
- package/dist/esm/router/findRouteNode.js.map +6 -0
- package/dist/esm/router/findRouteNode.mjs +44 -0
- package/dist/esm/router/findRouteNode.mjs.map +1 -0
- package/dist/esm/router/findRouteNode.native.js +75 -0
- package/dist/esm/router/findRouteNode.native.js.map +1 -0
- package/dist/esm/router/getRoutes.native.js +3 -3
- package/dist/esm/router/getRoutes.native.js.map +1 -1
- package/dist/esm/router/router.js +154 -6
- package/dist/esm/router/router.js.map +1 -1
- package/dist/esm/router/router.mjs +151 -10
- package/dist/esm/router/router.mjs.map +1 -1
- package/dist/esm/router/router.native.js +238 -66
- package/dist/esm/router/router.native.js.map +1 -1
- package/dist/esm/router/useNavigation.js.map +1 -1
- package/dist/esm/router/useNavigation.mjs.map +1 -1
- package/dist/esm/router/useNavigation.native.js.map +1 -1
- package/dist/esm/router/useScreens.js +1 -1
- package/dist/esm/router/useScreens.js.map +1 -1
- package/dist/esm/router/useScreens.mjs +1 -1
- package/dist/esm/router/useScreens.mjs.map +1 -1
- package/dist/esm/router/useScreens.native.js +6 -3
- package/dist/esm/router/useScreens.native.js.map +1 -1
- package/dist/esm/router/utils/getNavigateAction.native.js +2 -4
- package/dist/esm/router/utils/getNavigateAction.native.js.map +1 -1
- package/dist/esm/server/oneServe.js.map +1 -1
- package/dist/esm/server/oneServe.mjs.map +1 -1
- package/dist/esm/server/oneServe.native.js +4 -4
- package/dist/esm/server/oneServe.native.js.map +1 -1
- package/dist/esm/server/setupBuildOptions.native.js +1 -1
- package/dist/esm/server/setupBuildOptions.native.js.map +1 -1
- package/dist/esm/ui/common.native.js +6 -5
- package/dist/esm/ui/common.native.js.map +1 -1
- package/dist/esm/useBlocker.js +122 -0
- package/dist/esm/useBlocker.js.map +6 -0
- package/dist/esm/useBlocker.mjs +123 -0
- package/dist/esm/useBlocker.mjs.map +1 -0
- package/dist/esm/useBlocker.native.js +51 -0
- package/dist/esm/useBlocker.native.js.map +1 -0
- package/dist/esm/useFocusEffect.js +2 -2
- package/dist/esm/useFocusEffect.js.map +1 -1
- package/dist/esm/useFocusEffect.mjs +2 -2
- package/dist/esm/useFocusEffect.mjs.map +1 -1
- package/dist/esm/useFocusEffect.native.js +2 -2
- package/dist/esm/useFocusEffect.native.js.map +1 -1
- package/dist/esm/useLoader.js +57 -3
- package/dist/esm/useLoader.js.map +2 -2
- package/dist/esm/useLoader.mjs +69 -4
- package/dist/esm/useLoader.mjs.map +1 -1
- package/dist/esm/useLoader.native.js +90 -7
- package/dist/esm/useLoader.native.js.map +1 -1
- package/dist/esm/useScrollGroup.js +16 -0
- package/dist/esm/useScrollGroup.js.map +6 -0
- package/dist/esm/useScrollGroup.mjs +14 -0
- package/dist/esm/useScrollGroup.mjs.map +1 -0
- package/dist/esm/useScrollGroup.native.js +3 -0
- package/dist/esm/useScrollGroup.native.js.map +1 -0
- package/dist/esm/validateParams.js +68 -0
- package/dist/esm/validateParams.js.map +6 -0
- package/dist/esm/validateParams.mjs +54 -0
- package/dist/esm/validateParams.mjs.map +1 -0
- package/dist/esm/validateParams.native.js +151 -0
- package/dist/esm/validateParams.native.js.map +1 -0
- package/dist/esm/validateSearch.js +83 -0
- package/dist/esm/validateSearch.js.map +6 -0
- package/dist/esm/validateSearch.mjs +77 -0
- package/dist/esm/validateSearch.mjs.map +1 -0
- package/dist/esm/validateSearch.native.js +172 -0
- package/dist/esm/validateSearch.native.js.map +1 -0
- package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js +2 -2
- package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
- package/dist/esm/views/ErrorBoundary.js +325 -7
- package/dist/esm/views/ErrorBoundary.js.map +2 -2
- package/dist/esm/views/ErrorBoundary.mjs +289 -6
- package/dist/esm/views/ErrorBoundary.mjs.map +1 -1
- package/dist/esm/views/ErrorBoundary.native.js +159 -4
- package/dist/esm/views/ErrorBoundary.native.js.map +1 -1
- package/dist/esm/views/Navigator.js +11 -2
- package/dist/esm/views/Navigator.js.map +1 -1
- package/dist/esm/views/Navigator.mjs +10 -3
- package/dist/esm/views/Navigator.mjs.map +1 -1
- package/dist/esm/views/Navigator.native.js +15 -6
- package/dist/esm/views/Navigator.native.js.map +1 -1
- package/dist/esm/views/Protected.js +14 -0
- package/dist/esm/views/Protected.js.map +6 -0
- package/dist/esm/views/Protected.mjs +11 -0
- package/dist/esm/views/Protected.mjs.map +1 -0
- package/dist/esm/views/Protected.native.js +16 -0
- package/dist/esm/views/Protected.native.js.map +1 -0
- package/dist/esm/views/RootErrorBoundary.js +214 -7
- package/dist/esm/views/RootErrorBoundary.js.map +1 -1
- package/dist/esm/views/RootErrorBoundary.mjs +192 -7
- package/dist/esm/views/RootErrorBoundary.mjs.map +1 -1
- package/dist/esm/views/RootErrorBoundary.native.js +191 -7
- package/dist/esm/views/RootErrorBoundary.native.js.map +1 -1
- package/dist/esm/views/ScrollBehavior.js +47 -11
- package/dist/esm/views/ScrollBehavior.js.map +1 -1
- package/dist/esm/views/ScrollBehavior.mjs +48 -11
- package/dist/esm/views/ScrollBehavior.mjs.map +1 -1
- package/dist/esm/views/ScrollBehavior.native.js +67 -10
- package/dist/esm/views/ScrollBehavior.native.js.map +1 -1
- package/dist/esm/views/SourceInspector.js +7 -0
- package/dist/esm/views/SourceInspector.js.map +6 -0
- package/dist/esm/views/SourceInspector.mjs +5 -0
- package/dist/esm/views/SourceInspector.mjs.map +1 -0
- package/dist/esm/views/SourceInspector.native.js +6 -0
- package/dist/esm/views/SourceInspector.native.js.map +1 -0
- package/dist/esm/views/Try.js +38 -4
- package/dist/esm/views/Try.js.map +1 -1
- package/dist/esm/views/Try.mjs +40 -7
- package/dist/esm/views/Try.mjs.map +1 -1
- package/dist/esm/views/Try.native.js +42 -7
- package/dist/esm/views/Try.native.js.map +1 -1
- package/dist/esm/vite/DevHead.js +802 -51
- package/dist/esm/vite/DevHead.js.map +1 -1
- package/dist/esm/vite/DevHead.mjs +797 -43
- package/dist/esm/vite/DevHead.mjs.map +1 -1
- package/dist/esm/vite/DevHead.native.js +782 -0
- package/dist/esm/vite/DevHead.native.js.map +1 -1
- package/dist/esm/vite/one.js +7 -1
- package/dist/esm/vite/one.js.map +1 -1
- package/dist/esm/vite/one.mjs +7 -1
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js +17 -7
- package/dist/esm/vite/one.native.js.map +1 -1
- package/dist/esm/vite/plugins/SSRCSSPlugin.js +48 -4
- package/dist/esm/vite/plugins/SSRCSSPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/SSRCSSPlugin.mjs +44 -4
- package/dist/esm/vite/plugins/SSRCSSPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/SSRCSSPlugin.native.js +61 -4
- package/dist/esm/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/clientTreeShakePlugin.js +24 -3
- package/dist/esm/vite/plugins/clientTreeShakePlugin.js.map +1 -1
- package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs +34 -15
- package/dist/esm/vite/plugins/clientTreeShakePlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js +55 -19
- package/dist/esm/vite/plugins/clientTreeShakePlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/clientTreeShakePlugin.test.js +130 -0
- package/dist/esm/vite/plugins/clientTreeShakePlugin.test.js.map +6 -0
- package/dist/esm/vite/plugins/clientTreeShakePlugin.test.mjs +130 -0
- package/dist/esm/vite/plugins/clientTreeShakePlugin.test.mjs.map +1 -0
- package/dist/esm/vite/plugins/clientTreeShakePlugin.test.native.js +138 -0
- package/dist/esm/vite/plugins/clientTreeShakePlugin.test.native.js.map +1 -0
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +6 -3
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +3 -3
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js +11 -6
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs +5 -1
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +1 -0
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.js +126 -0
- package/dist/esm/vite/plugins/sourceInspectorPlugin.js.map +6 -0
- package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs +121 -0
- package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs.map +1 -0
- package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js +194 -0
- package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js.map +1 -0
- package/dist/esm/vite/plugins/virtualEntryPlugin.js +16 -6
- package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +25 -6
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +26 -7
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/package.json +16 -14
- package/src/cli/build.ts +1 -1
- package/src/cli/buildPage.ts +1 -1
- package/src/cli/dev.ts +4 -4
- package/src/cli/generateRoutes.ts +1 -1
- package/src/createApp.tsx +11 -1
- package/src/createHandleRequest.test.ts +3 -1
- package/src/devtools/registry.ts +21 -0
- package/src/fork/createMemoryHistory.tsx +43 -11
- package/src/fork/useLinking.ts +14 -4
- package/src/hooks.tsx +71 -21
- package/src/index.ts +34 -1
- package/src/interfaces/router.ts +48 -0
- package/src/layouts/withLayoutContext.tsx +48 -8
- package/src/link/Link.tsx +7 -2
- package/src/link/useLinkTo.tsx +7 -3
- package/src/router/Route.tsx +32 -3
- package/src/router/findRouteNode.ts +127 -0
- package/src/router/router.ts +291 -2
- package/src/router/useNavigation.ts +12 -3
- package/src/router/useScreens.tsx +9 -3
- package/src/useBlocker.native.ts +153 -0
- package/src/useBlocker.ts +340 -0
- package/src/useFocusEffect.ts +18 -5
- package/src/useLoader.ts +193 -2
- package/src/useScrollGroup.native.ts +7 -0
- package/src/useScrollGroup.ts +35 -0
- package/src/validateParams.ts +196 -0
- package/src/validateSearch.ts +241 -0
- package/src/views/ErrorBoundary.tsx +154 -156
- package/src/views/ErrorBoundary.web.tsx +321 -0
- package/src/views/Navigator.tsx +18 -2
- package/src/views/Protected.tsx +62 -0
- package/src/views/RootErrorBoundary.tsx +214 -17
- package/src/views/ScrollBehavior.tsx +82 -3
- package/src/views/SourceInspector.tsx +39 -0
- package/src/views/Try.tsx +81 -12
- package/src/vite/DevHead.tsx +819 -54
- package/src/vite/one.ts +13 -0
- package/src/vite/plugins/SSRCSSPlugin.ts +104 -0
- package/src/vite/plugins/clientTreeShakePlugin.test.ts +174 -0
- package/src/vite/plugins/clientTreeShakePlugin.ts +50 -4
- package/src/vite/plugins/fileSystemRouterPlugin.tsx +11 -8
- package/src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx +4 -0
- package/src/vite/plugins/sourceInspectorPlugin.ts +246 -0
- package/src/vite/plugins/virtualEntryPlugin.ts +36 -10
- package/src/vite/types.ts +28 -0
- package/types/createApp.d.ts +5 -0
- package/types/createApp.d.ts.map +1 -1
- package/types/devtools/registry.d.ts +15 -0
- package/types/devtools/registry.d.ts.map +1 -0
- package/types/fork/createMemoryHistory.d.ts +8 -3
- package/types/fork/createMemoryHistory.d.ts.map +1 -1
- package/types/fork/useLinking.d.ts.map +1 -1
- package/types/hooks.d.ts +71 -20
- package/types/hooks.d.ts.map +1 -1
- package/types/index.d.ts +8 -1
- package/types/index.d.ts.map +1 -1
- package/types/interfaces/router.d.ts +47 -0
- package/types/interfaces/router.d.ts.map +1 -1
- package/types/layouts/Drawer.d.ts +15 -11
- package/types/layouts/Drawer.d.ts.map +1 -1
- package/types/layouts/withLayoutContext.d.ts +2 -1
- package/types/layouts/withLayoutContext.d.ts.map +1 -1
- package/types/link/Link.d.ts.map +1 -1
- package/types/link/useLinkTo.d.ts +1 -0
- package/types/link/useLinkTo.d.ts.map +1 -1
- package/types/router/Route.d.ts +32 -3
- package/types/router/Route.d.ts.map +1 -1
- package/types/router/findRouteNode.d.ts +31 -0
- package/types/router/findRouteNode.d.ts.map +1 -0
- package/types/router/router.d.ts +35 -0
- package/types/router/router.d.ts.map +1 -1
- package/types/router/useNavigation.d.ts +12 -3
- package/types/router/useNavigation.d.ts.map +1 -1
- package/types/router/useScreens.d.ts +2 -0
- package/types/router/useScreens.d.ts.map +1 -1
- package/types/server/oneServe.d.ts.map +1 -1
- package/types/ui/TabContext.d.ts +1 -1
- package/types/ui/TabContext.d.ts.map +1 -1
- package/types/ui/Tabs.d.ts +2 -2
- package/types/ui/Tabs.d.ts.map +1 -1
- package/types/useBlocker.d.ts +72 -0
- package/types/useBlocker.d.ts.map +1 -0
- package/types/useBlocker.native.d.ts +60 -0
- package/types/useBlocker.native.d.ts.map +1 -0
- package/types/useFocusEffect.d.ts +17 -4
- package/types/useFocusEffect.d.ts.map +1 -1
- package/types/useLoader.d.ts +63 -0
- package/types/useLoader.d.ts.map +1 -1
- package/types/useScrollGroup.d.ts +18 -0
- package/types/useScrollGroup.d.ts.map +1 -0
- package/types/useScrollGroup.native.d.ts +6 -0
- package/types/useScrollGroup.native.d.ts.map +1 -0
- package/types/validateParams.d.ts +85 -0
- package/types/validateParams.d.ts.map +1 -0
- package/types/validateSearch.d.ts +107 -0
- package/types/validateSearch.d.ts.map +1 -0
- package/types/views/ErrorBoundary.d.ts +11 -1
- package/types/views/ErrorBoundary.d.ts.map +1 -1
- package/types/views/ErrorBoundary.web.d.ts +13 -0
- package/types/views/ErrorBoundary.web.d.ts.map +1 -0
- package/types/views/Navigator.d.ts.map +1 -1
- package/types/views/Protected.d.ts +39 -0
- package/types/views/Protected.d.ts.map +1 -0
- package/types/views/RootErrorBoundary.d.ts +14 -8
- package/types/views/RootErrorBoundary.d.ts.map +1 -1
- package/types/views/ScrollBehavior.d.ts +8 -0
- package/types/views/ScrollBehavior.d.ts.map +1 -1
- package/types/views/SourceInspector.d.ts +35 -0
- package/types/views/SourceInspector.d.ts.map +1 -0
- package/types/views/Try.d.ts +29 -6
- package/types/views/Try.d.ts.map +1 -1
- package/types/vite/DevHead.d.ts.map +1 -1
- package/types/vite/one.d.ts.map +1 -1
- package/types/vite/plugins/SSRCSSPlugin.d.ts.map +1 -1
- package/types/vite/plugins/clientTreeShakePlugin.d.ts.map +1 -1
- package/types/vite/plugins/clientTreeShakePlugin.test.d.ts +2 -0
- package/types/vite/plugins/clientTreeShakePlugin.test.d.ts.map +1 -0
- package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
- package/types/vite/plugins/generateFileSystemRouteTypesPlugin.d.ts.map +1 -1
- package/types/vite/plugins/sourceInspectorPlugin.d.ts +3 -0
- package/types/vite/plugins/sourceInspectorPlugin.d.ts.map +1 -0
- package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
- package/types/vite/types.d.ts +24 -0
- package/types/vite/types.d.ts.map +1 -1
- package/types/env.d.ts +0 -66
- /package/types/vercel/build/generate/{createSSRServerlessFunction.d.ts → createSsrServerlessFunction.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","SSRCSSPlugin","pluginOpts","server","name","apply","configureServer","server_","middlewares","use","req","res","next","_req_url","url","includes","invalidateModule","
|
|
1
|
+
{"version":3,"names":["VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","cssCache","routesPreWarmed","CSS_CACHE_TTL","SSRCSSPlugin","pluginOpts","server","name","apply","configureServer","server_","preWarmRoutes","transformRequest","entries","routeFiles","collectRouteFiles","Promise","all","map","file","catch","process","env","ONE_DEBUG","console","log","length","err","error","watcher","on","middlewares","use","req","res","next","_req_url","url","includes","invalidateModule","now","Date","timestamp","setHeader","write","css","end","code","collectStyle","resolveId","source","_importer","_options","startsWith","load","id","URL","slice","searchParams","has","JSON","stringify","transformIndexHtml","handler","tag","injectTo","attrs","rel","href","type","children","mod","moduleGraph","getModuleById","transform","urls","collectStyleUrls","codes","prefix","buffer2","Buffer","from","codeOut2","Uint8Array","buffer","byteOffset","byteLength","processed","filename","config","lightningcss","toString","out","flat","filter","Boolean","join","codeOut","visited","Set","traverse","resolveUrl","add","importedModules","childMod","e","match","CSS_LANGS_RE","DYNAMIC_IMPORT_RE","_iteratorNormalCompletion","_didIteratorError","_iteratorError"],"sources":["../../../../src/vite/plugins/SSRCSSPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -7,7 +7,27 @@ import {
|
|
|
7
7
|
findReferencedIdentifiers
|
|
8
8
|
} from "babel-dead-code-elimination";
|
|
9
9
|
import { EMPTY_LOADER_STRING } from "../constants";
|
|
10
|
-
const traverse = BabelTraverse.default, generate = BabelGenerate.default
|
|
10
|
+
const traverse = BabelTraverse.default || BabelTraverse, generate = BabelGenerate.default || BabelGenerate;
|
|
11
|
+
function collectTypeImports(ast) {
|
|
12
|
+
const typeImports = [];
|
|
13
|
+
return traverse(ast, {
|
|
14
|
+
ImportDeclaration(path) {
|
|
15
|
+
path.node.importKind === "type" && typeImports.push(path.node);
|
|
16
|
+
}
|
|
17
|
+
}), typeImports;
|
|
18
|
+
}
|
|
19
|
+
function restoreTypeImports(ast, typeImports) {
|
|
20
|
+
if (typeImports.length === 0) return;
|
|
21
|
+
const existingSources = /* @__PURE__ */ new Set();
|
|
22
|
+
traverse(ast, {
|
|
23
|
+
ImportDeclaration(path) {
|
|
24
|
+
path.node.importKind === "type" && existingSources.add(path.node.source.value);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
for (const typeImport of typeImports)
|
|
28
|
+
existingSources.has(typeImport.source.value) || ast.program.body.unshift(typeImport);
|
|
29
|
+
}
|
|
30
|
+
const clientTreeShakePlugin = () => ({
|
|
11
31
|
name: "one-client-tree-shake",
|
|
12
32
|
enforce: "pre",
|
|
13
33
|
applyToEnvironment(env) {
|
|
@@ -62,7 +82,7 @@ async function transformTreeShakeClient(code, id) {
|
|
|
62
82
|
} else path.node.declaration && path.node.declaration.type === "VariableDeclaration" && path.node.declaration.declarations.forEach((declarator, index) => {
|
|
63
83
|
if (declarator.id.type === "Identifier" && (declarator.id.name === "loader" || declarator.id.name === "generateStaticParams")) {
|
|
64
84
|
const declaration = path.get("declaration.declarations." + index);
|
|
65
|
-
Array.isArray(declaration)
|
|
85
|
+
!Array.isArray(declaration) && declaration && (declaration.remove(), removed[declarator.id.name] = !0);
|
|
66
86
|
}
|
|
67
87
|
});
|
|
68
88
|
}
|
|
@@ -78,7 +98,8 @@ async function transformTreeShakeClient(code, id) {
|
|
|
78
98
|
const removedFunctions = Object.keys(removed).filter((key) => removed[key]);
|
|
79
99
|
if (removedFunctions.length)
|
|
80
100
|
try {
|
|
81
|
-
|
|
101
|
+
const typeImports = collectTypeImports(ast);
|
|
102
|
+
deadCodeElimination(ast, referenced), restoreTypeImports(ast, typeImports);
|
|
82
103
|
const out = generate(ast), codeOut = out.code + `
|
|
83
104
|
|
|
84
105
|
` + removedFunctions.map((key) => key === "loader" ? EMPTY_LOADER_STRING : "export function generateStaticParams() {};").join(`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/vite/plugins/clientTreeShakePlugin.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,SAAS,gBAAgB;AAClC,OAAO,mBAAmB;AAC1B,SAAS,aAAa;AACtB,OAAO,mBAAmB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -4,21 +4,39 @@ import { parse } from "@babel/parser";
|
|
|
4
4
|
import BabelTraverse from "@babel/traverse";
|
|
5
5
|
import { deadCodeElimination, findReferencedIdentifiers } from "babel-dead-code-elimination";
|
|
6
6
|
import { EMPTY_LOADER_STRING } from "../constants.mjs";
|
|
7
|
-
const traverse = BabelTraverse.default,
|
|
8
|
-
generate = BabelGenerate.default
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
7
|
+
const traverse = BabelTraverse.default || BabelTraverse,
|
|
8
|
+
generate = BabelGenerate.default || BabelGenerate;
|
|
9
|
+
function collectTypeImports(ast) {
|
|
10
|
+
const typeImports = [];
|
|
11
|
+
return traverse(ast, {
|
|
12
|
+
ImportDeclaration(path) {
|
|
13
|
+
path.node.importKind === "type" && typeImports.push(path.node);
|
|
14
|
+
}
|
|
15
|
+
}), typeImports;
|
|
16
|
+
}
|
|
17
|
+
function restoreTypeImports(ast, typeImports) {
|
|
18
|
+
if (typeImports.length === 0) return;
|
|
19
|
+
const existingSources = /* @__PURE__ */new Set();
|
|
20
|
+
traverse(ast, {
|
|
21
|
+
ImportDeclaration(path) {
|
|
22
|
+
path.node.importKind === "type" && existingSources.add(path.node.source.value);
|
|
20
23
|
}
|
|
21
24
|
});
|
|
25
|
+
for (const typeImport of typeImports) existingSources.has(typeImport.source.value) || ast.program.body.unshift(typeImport);
|
|
26
|
+
}
|
|
27
|
+
const clientTreeShakePlugin = () => ({
|
|
28
|
+
name: "one-client-tree-shake",
|
|
29
|
+
enforce: "pre",
|
|
30
|
+
applyToEnvironment(env) {
|
|
31
|
+
return env.name === "client" || env.name === "ios" || env.name === "android";
|
|
32
|
+
},
|
|
33
|
+
transform: {
|
|
34
|
+
order: "pre",
|
|
35
|
+
async handler(code, id, settings) {
|
|
36
|
+
return this.environment.name === "ssr" || !/\.(js|jsx|ts|tsx)/.test(extname(id)) || /node_modules/.test(id) ? void 0 : await transformTreeShakeClient(code, id);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
22
40
|
async function transformTreeShakeClient(code, id) {
|
|
23
41
|
if (!/generateStaticParams|loader/.test(code)) return;
|
|
24
42
|
let ast;
|
|
@@ -54,7 +72,7 @@ async function transformTreeShakeClient(code, id) {
|
|
|
54
72
|
} else path.node.declaration && path.node.declaration.type === "VariableDeclaration" && path.node.declaration.declarations.forEach((declarator, index) => {
|
|
55
73
|
if (declarator.id.type === "Identifier" && (declarator.id.name === "loader" || declarator.id.name === "generateStaticParams")) {
|
|
56
74
|
const declaration = path.get("declaration.declarations." + index);
|
|
57
|
-
Array.isArray(declaration)
|
|
75
|
+
!Array.isArray(declaration) && declaration && (declaration.remove(), removed[declarator.id.name] = !0);
|
|
58
76
|
}
|
|
59
77
|
});
|
|
60
78
|
}
|
|
@@ -66,7 +84,8 @@ async function transformTreeShakeClient(code, id) {
|
|
|
66
84
|
}
|
|
67
85
|
const removedFunctions = Object.keys(removed).filter(key => removed[key]);
|
|
68
86
|
if (removedFunctions.length) try {
|
|
69
|
-
|
|
87
|
+
const typeImports = collectTypeImports(ast);
|
|
88
|
+
deadCodeElimination(ast, referenced), restoreTypeImports(ast, typeImports);
|
|
70
89
|
const out = generate(ast),
|
|
71
90
|
codeOut = out.code + `
|
|
72
91
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["extname","relative","BabelGenerate","parse","BabelTraverse","deadCodeElimination","findReferencedIdentifiers","EMPTY_LOADER_STRING","traverse","default","generate","clientTreeShakePlugin","name","enforce","applyToEnvironment","env","transform","order","handler","code","id","settings","environment","test","transformTreeShakeClient","
|
|
1
|
+
{"version":3,"names":["extname","relative","BabelGenerate","parse","BabelTraverse","deadCodeElimination","findReferencedIdentifiers","EMPTY_LOADER_STRING","traverse","default","generate","collectTypeImports","ast","typeImports","ImportDeclaration","path","node","importKind","push","restoreTypeImports","length","existingSources","Set","add","source","value","typeImport","has","program","body","unshift","clientTreeShakePlugin","name","enforce","applyToEnvironment","env","transform","order","handler","code","id","settings","environment","test","transformTreeShakeClient","sourceType","plugins","error","errorMessage","Error","message","String","console","warn","referenced","removed","loader","generateStaticParams","ExportNamedDeclaration","declaration","type","functionName","remove","declarations","forEach","declarator","index","get","Array","isArray","removedFunctions","Object","keys","filter","key","out","codeOut","map","join","info","process","cwd"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -7,26 +7,61 @@ import { EMPTY_LOADER_STRING } from "../constants.native.js";
|
|
|
7
7
|
function _instanceof(left, right) {
|
|
8
8
|
return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
|
|
9
9
|
}
|
|
10
|
-
var traverse = BabelTraverse.default,
|
|
11
|
-
generate = BabelGenerate.default
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
10
|
+
var traverse = BabelTraverse.default || BabelTraverse,
|
|
11
|
+
generate = BabelGenerate.default || BabelGenerate;
|
|
12
|
+
function collectTypeImports(ast) {
|
|
13
|
+
var typeImports = [];
|
|
14
|
+
return traverse(ast, {
|
|
15
|
+
ImportDeclaration(path) {
|
|
16
|
+
path.node.importKind === "type" && typeImports.push(path.node);
|
|
17
|
+
}
|
|
18
|
+
}), typeImports;
|
|
19
|
+
}
|
|
20
|
+
function restoreTypeImports(ast, typeImports) {
|
|
21
|
+
if (typeImports.length !== 0) {
|
|
22
|
+
var existingSources = /* @__PURE__ */new Set();
|
|
23
|
+
traverse(ast, {
|
|
24
|
+
ImportDeclaration(path) {
|
|
25
|
+
path.node.importKind === "type" && existingSources.add(path.node.source.value);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
var _iteratorNormalCompletion = !0,
|
|
29
|
+
_didIteratorError = !1,
|
|
30
|
+
_iteratorError = void 0;
|
|
31
|
+
try {
|
|
32
|
+
for (var _iterator = typeImports[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
33
|
+
var typeImport = _step.value;
|
|
34
|
+
existingSources.has(typeImport.source.value) || ast.program.body.unshift(typeImport);
|
|
35
|
+
}
|
|
36
|
+
} catch (err) {
|
|
37
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
38
|
+
} finally {
|
|
39
|
+
try {
|
|
40
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
41
|
+
} finally {
|
|
42
|
+
if (_didIteratorError) throw _iteratorError;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
var clientTreeShakePlugin = function () {
|
|
48
|
+
return {
|
|
49
|
+
name: "one-client-tree-shake",
|
|
50
|
+
enforce: "pre",
|
|
51
|
+
applyToEnvironment(env) {
|
|
52
|
+
return env.name === "client" || env.name === "ios" || env.name === "android";
|
|
53
|
+
},
|
|
54
|
+
transform: {
|
|
55
|
+
order: "pre",
|
|
56
|
+
async handler(code, id, settings) {
|
|
57
|
+
if (this.environment.name !== "ssr" && /\.(js|jsx|ts|tsx)/.test(extname(id)) && !/node_modules/.test(id)) {
|
|
58
|
+
var out = await transformTreeShakeClient(code, id);
|
|
59
|
+
return out;
|
|
26
60
|
}
|
|
27
61
|
}
|
|
28
|
-
}
|
|
62
|
+
}
|
|
29
63
|
};
|
|
64
|
+
};
|
|
30
65
|
async function transformTreeShakeClient(code, id) {
|
|
31
66
|
if (/generateStaticParams|loader/.test(code)) {
|
|
32
67
|
var ast;
|
|
@@ -62,7 +97,7 @@ async function transformTreeShakeClient(code, id) {
|
|
|
62
97
|
} else path.node.declaration && path.node.declaration.type === "VariableDeclaration" && path.node.declaration.declarations.forEach(function (declarator, index) {
|
|
63
98
|
if (declarator.id.type === "Identifier" && (declarator.id.name === "loader" || declarator.id.name === "generateStaticParams")) {
|
|
64
99
|
var declaration = path.get("declaration.declarations." + index);
|
|
65
|
-
Array.isArray(declaration)
|
|
100
|
+
!Array.isArray(declaration) && declaration && (declaration.remove(), removed[declarator.id.name] = !0);
|
|
66
101
|
}
|
|
67
102
|
});
|
|
68
103
|
}
|
|
@@ -76,7 +111,8 @@ async function transformTreeShakeClient(code, id) {
|
|
|
76
111
|
return removed[key];
|
|
77
112
|
});
|
|
78
113
|
if (removedFunctions.length) try {
|
|
79
|
-
|
|
114
|
+
var typeImports = collectTypeImports(ast);
|
|
115
|
+
deadCodeElimination(ast, referenced), restoreTypeImports(ast, typeImports);
|
|
80
116
|
var out = generate(ast),
|
|
81
117
|
codeOut = out.code + `
|
|
82
118
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["extname","relative","BabelGenerate","parse","BabelTraverse","deadCodeElimination","findReferencedIdentifiers","EMPTY_LOADER_STRING","_instanceof","left","right","Symbol","hasInstance","traverse","default","generate","clientTreeShakePlugin","name","enforce","applyToEnvironment","env","transform","order","handler","code","id","settings","environment","test","out","transformTreeShakeClient","
|
|
1
|
+
{"version":3,"names":["extname","relative","BabelGenerate","parse","BabelTraverse","deadCodeElimination","findReferencedIdentifiers","EMPTY_LOADER_STRING","_instanceof","left","right","Symbol","hasInstance","traverse","default","generate","collectTypeImports","ast","typeImports","ImportDeclaration","path","node","importKind","push","restoreTypeImports","length","existingSources","Set","add","source","value","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","typeImport","has","program","body","unshift","err","return","clientTreeShakePlugin","name","enforce","applyToEnvironment","env","transform","order","handler","code","id","settings","environment","test","out","transformTreeShakeClient","sourceType","plugins","error","errorMessage","Error","message","String","console","warn","referenced","errorMessage1","removed","loader","generateStaticParams","ExportNamedDeclaration","declaration","type","functionName","remove","declarations","forEach","declarator","index","get","Array","isArray","errorMessage2","removedFunctions","Object","keys","filter","key","codeOut","map"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { transformTreeShakeClient } from "./clientTreeShakePlugin";
|
|
3
|
+
describe("clientTreeShakePlugin", () => {
|
|
4
|
+
describe("transformTreeShakeClient", () => {
|
|
5
|
+
it("should remove loader export and its imports", async () => {
|
|
6
|
+
const result = await transformTreeShakeClient(`
|
|
7
|
+
import { serverOnlyModule } from 'server-only-pkg'
|
|
8
|
+
import { Text } from 'react-native'
|
|
9
|
+
import { useLoader } from 'one'
|
|
10
|
+
|
|
11
|
+
export function loader() {
|
|
12
|
+
return serverOnlyModule()
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default function Page() {
|
|
16
|
+
const data = useLoader(loader)
|
|
17
|
+
return <Text>{data}</Text>
|
|
18
|
+
}
|
|
19
|
+
`, "/app/index.tsx");
|
|
20
|
+
expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg"), expect(result.code).toContain("react-native"), expect(result.code).toContain("one");
|
|
21
|
+
}), it("should remove loader export with dynamic import", async () => {
|
|
22
|
+
const result = await transformTreeShakeClient(`
|
|
23
|
+
import { Text } from 'react-native'
|
|
24
|
+
import { useLoader } from 'one'
|
|
25
|
+
|
|
26
|
+
export async function loader() {
|
|
27
|
+
const { serverFn } = await import('server-only-pkg')
|
|
28
|
+
return serverFn()
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export default function Page() {
|
|
32
|
+
const data = useLoader(loader)
|
|
33
|
+
return <Text>{data}</Text>
|
|
34
|
+
}
|
|
35
|
+
`, "/app/index.tsx");
|
|
36
|
+
expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg");
|
|
37
|
+
}), it("should remove loader with const arrow function export", async () => {
|
|
38
|
+
const result = await transformTreeShakeClient(`
|
|
39
|
+
import { serverOnlyModule } from 'server-only-pkg'
|
|
40
|
+
import { Text } from 'react-native'
|
|
41
|
+
import { useLoader } from 'one'
|
|
42
|
+
|
|
43
|
+
export const loader = async () => {
|
|
44
|
+
return serverOnlyModule()
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export default function Page() {
|
|
48
|
+
const data = useLoader(loader)
|
|
49
|
+
return <Text>{data}</Text>
|
|
50
|
+
}
|
|
51
|
+
`, "/app/index.tsx");
|
|
52
|
+
expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg");
|
|
53
|
+
}), it("should handle multiple imports where only some are used in loader", async () => {
|
|
54
|
+
const result = await transformTreeShakeClient(`
|
|
55
|
+
import { serverFn } from 'server-only-pkg'
|
|
56
|
+
import { sharedUtil } from 'shared-pkg'
|
|
57
|
+
import { Text } from 'react-native'
|
|
58
|
+
import { useLoader } from 'one'
|
|
59
|
+
|
|
60
|
+
export function loader() {
|
|
61
|
+
return serverFn()
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export default function Page() {
|
|
65
|
+
const data = useLoader(loader)
|
|
66
|
+
return <Text>{sharedUtil(data)}</Text>
|
|
67
|
+
}
|
|
68
|
+
`, "/app/index.tsx");
|
|
69
|
+
expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg"), expect(result.code).toContain("shared-pkg");
|
|
70
|
+
}), it("should remove generateStaticParams and its imports", async () => {
|
|
71
|
+
const result = await transformTreeShakeClient(`
|
|
72
|
+
import { getRoutes } from 'server-only-pkg'
|
|
73
|
+
import { Text } from 'react-native'
|
|
74
|
+
|
|
75
|
+
export function generateStaticParams() {
|
|
76
|
+
return getRoutes()
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export default function Page() {
|
|
80
|
+
return <Text>Hello</Text>
|
|
81
|
+
}
|
|
82
|
+
`, "/app/[slug].tsx");
|
|
83
|
+
expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg");
|
|
84
|
+
}), it("should not transform files without loader or generateStaticParams", async () => {
|
|
85
|
+
const result = await transformTreeShakeClient(`
|
|
86
|
+
import { Text } from 'react-native'
|
|
87
|
+
|
|
88
|
+
export default function Page() {
|
|
89
|
+
return <Text>Hello</Text>
|
|
90
|
+
}
|
|
91
|
+
`, "/app/index.tsx");
|
|
92
|
+
expect(result).toBeUndefined();
|
|
93
|
+
}), it("should preserve type-only imports during tree shaking", async () => {
|
|
94
|
+
const result = await transformTreeShakeClient(`
|
|
95
|
+
import type { SomeType } from 'types-pkg'
|
|
96
|
+
import { serverFn } from 'server-only-pkg'
|
|
97
|
+
import { Text } from 'react-native'
|
|
98
|
+
import { useLoader } from 'one'
|
|
99
|
+
|
|
100
|
+
export function loader(): SomeType {
|
|
101
|
+
return serverFn()
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export default function Page() {
|
|
105
|
+
const data = useLoader(loader)
|
|
106
|
+
return <Text>{data}</Text>
|
|
107
|
+
}
|
|
108
|
+
`, "/app/index.tsx");
|
|
109
|
+
expect(result).toBeDefined(), expect(result.code).toContain("types-pkg"), expect(result.code).not.toContain("server-only-pkg");
|
|
110
|
+
}), it("should preserve type imports even when used only in loader", async () => {
|
|
111
|
+
const result = await transformTreeShakeClient(`
|
|
112
|
+
import type { APIGuildMember } from '@discordjs/core'
|
|
113
|
+
import { getClient } from 'discord-client'
|
|
114
|
+
import { Text } from 'react-native'
|
|
115
|
+
import { useLoader } from 'one'
|
|
116
|
+
|
|
117
|
+
export function loader(): APIGuildMember {
|
|
118
|
+
return getClient()
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export default function Page() {
|
|
122
|
+
const data = useLoader(loader)
|
|
123
|
+
return <Text>{JSON.stringify(data)}</Text>
|
|
124
|
+
}
|
|
125
|
+
`, "/app/index.tsx");
|
|
126
|
+
expect(result).toBeDefined(), expect(result.code).toContain("@discordjs/core"), expect(result.code).not.toContain("discord-client");
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=clientTreeShakePlugin.test.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/vite/plugins/clientTreeShakePlugin.test.ts"],
|
|
4
|
+
"mappings": "AAAA,SAAS,UAAU,QAAQ,UAAU;AACrC,SAAS,gCAAgC;AAEzC,SAAS,yBAAyB,MAAM;AACtC,WAAS,4BAA4B,MAAM;AACzC,OAAG,+CAA+C,YAAY;AAe5D,YAAM,SAAS,MAAM,yBAdR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB,GAEpD,OAAO,OAAQ,IAAI,EAAE,UAAU,cAAc,GAC7C,OAAO,OAAQ,IAAI,EAAE,UAAU,KAAK;AAAA,IACtC,CAAC,GAED,GAAG,mDAAmD,YAAY;AAehE,YAAM,SAAS,MAAM,yBAdR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB;AAAA,IACtD,CAAC,GAED,GAAG,yDAAyD,YAAY;AAetE,YAAM,SAAS,MAAM,yBAdR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB;AAAA,IACtD,CAAC,GAED,GAAG,qEAAqE,YAAY;AAgBlF,YAAM,SAAS,MAAM,yBAfR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAeuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB,GAEpD,OAAO,OAAQ,IAAI,EAAE,UAAU,YAAY;AAAA,IAC7C,CAAC,GAED,GAAG,sDAAsD,YAAY;AAanE,YAAM,SAAS,MAAM,yBAZR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYuC,iBAAiB;AACrE,aAAO,MAAM,EAAE,YAAY,GAC3B,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB;AAAA,IACtD,CAAC,GAED,GAAG,qEAAqE,YAAY;AAQlF,YAAM,SAAS,MAAM,yBAPR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAOuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,cAAc;AAAA,IAC/B,CAAC,GAED,GAAG,yDAAyD,YAAY;AAgBtE,YAAM,SAAS,MAAM,yBAfR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAeuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,UAAU,WAAW,GAE1C,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB;AAAA,IACtD,CAAC,GAED,GAAG,8DAA8D,YAAY;AAgB3E,YAAM,SAAS,MAAM,yBAfR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAeuC,gBAAgB;AACpE,aAAO,MAAM,EAAE,YAAY,GAE3B,OAAO,OAAQ,IAAI,EAAE,UAAU,iBAAiB,GAEhD,OAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,gBAAgB;AAAA,IACrD,CAAC;AAAA,EACH,CAAC;AACH,CAAC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { transformTreeShakeClient } from "./clientTreeShakePlugin.mjs";
|
|
3
|
+
describe("clientTreeShakePlugin", () => {
|
|
4
|
+
describe("transformTreeShakeClient", () => {
|
|
5
|
+
it("should remove loader export and its imports", async () => {
|
|
6
|
+
const result = await transformTreeShakeClient(`
|
|
7
|
+
import { serverOnlyModule } from 'server-only-pkg'
|
|
8
|
+
import { Text } from 'react-native'
|
|
9
|
+
import { useLoader } from 'one'
|
|
10
|
+
|
|
11
|
+
export function loader() {
|
|
12
|
+
return serverOnlyModule()
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default function Page() {
|
|
16
|
+
const data = useLoader(loader)
|
|
17
|
+
return <Text>{data}</Text>
|
|
18
|
+
}
|
|
19
|
+
`, "/app/index.tsx");
|
|
20
|
+
expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg"), expect(result.code).toContain("react-native"), expect(result.code).toContain("one");
|
|
21
|
+
}), it("should remove loader export with dynamic import", async () => {
|
|
22
|
+
const result = await transformTreeShakeClient(`
|
|
23
|
+
import { Text } from 'react-native'
|
|
24
|
+
import { useLoader } from 'one'
|
|
25
|
+
|
|
26
|
+
export async function loader() {
|
|
27
|
+
const { serverFn } = await import('server-only-pkg')
|
|
28
|
+
return serverFn()
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export default function Page() {
|
|
32
|
+
const data = useLoader(loader)
|
|
33
|
+
return <Text>{data}</Text>
|
|
34
|
+
}
|
|
35
|
+
`, "/app/index.tsx");
|
|
36
|
+
expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg");
|
|
37
|
+
}), it("should remove loader with const arrow function export", async () => {
|
|
38
|
+
const result = await transformTreeShakeClient(`
|
|
39
|
+
import { serverOnlyModule } from 'server-only-pkg'
|
|
40
|
+
import { Text } from 'react-native'
|
|
41
|
+
import { useLoader } from 'one'
|
|
42
|
+
|
|
43
|
+
export const loader = async () => {
|
|
44
|
+
return serverOnlyModule()
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export default function Page() {
|
|
48
|
+
const data = useLoader(loader)
|
|
49
|
+
return <Text>{data}</Text>
|
|
50
|
+
}
|
|
51
|
+
`, "/app/index.tsx");
|
|
52
|
+
expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg");
|
|
53
|
+
}), it("should handle multiple imports where only some are used in loader", async () => {
|
|
54
|
+
const result = await transformTreeShakeClient(`
|
|
55
|
+
import { serverFn } from 'server-only-pkg'
|
|
56
|
+
import { sharedUtil } from 'shared-pkg'
|
|
57
|
+
import { Text } from 'react-native'
|
|
58
|
+
import { useLoader } from 'one'
|
|
59
|
+
|
|
60
|
+
export function loader() {
|
|
61
|
+
return serverFn()
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export default function Page() {
|
|
65
|
+
const data = useLoader(loader)
|
|
66
|
+
return <Text>{sharedUtil(data)}</Text>
|
|
67
|
+
}
|
|
68
|
+
`, "/app/index.tsx");
|
|
69
|
+
expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg"), expect(result.code).toContain("shared-pkg");
|
|
70
|
+
}), it("should remove generateStaticParams and its imports", async () => {
|
|
71
|
+
const result = await transformTreeShakeClient(`
|
|
72
|
+
import { getRoutes } from 'server-only-pkg'
|
|
73
|
+
import { Text } from 'react-native'
|
|
74
|
+
|
|
75
|
+
export function generateStaticParams() {
|
|
76
|
+
return getRoutes()
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export default function Page() {
|
|
80
|
+
return <Text>Hello</Text>
|
|
81
|
+
}
|
|
82
|
+
`, "/app/[slug].tsx");
|
|
83
|
+
expect(result).toBeDefined(), expect(result.code).not.toContain("server-only-pkg");
|
|
84
|
+
}), it("should not transform files without loader or generateStaticParams", async () => {
|
|
85
|
+
const result = await transformTreeShakeClient(`
|
|
86
|
+
import { Text } from 'react-native'
|
|
87
|
+
|
|
88
|
+
export default function Page() {
|
|
89
|
+
return <Text>Hello</Text>
|
|
90
|
+
}
|
|
91
|
+
`, "/app/index.tsx");
|
|
92
|
+
expect(result).toBeUndefined();
|
|
93
|
+
}), it("should preserve type-only imports during tree shaking", async () => {
|
|
94
|
+
const result = await transformTreeShakeClient(`
|
|
95
|
+
import type { SomeType } from 'types-pkg'
|
|
96
|
+
import { serverFn } from 'server-only-pkg'
|
|
97
|
+
import { Text } from 'react-native'
|
|
98
|
+
import { useLoader } from 'one'
|
|
99
|
+
|
|
100
|
+
export function loader(): SomeType {
|
|
101
|
+
return serverFn()
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export default function Page() {
|
|
105
|
+
const data = useLoader(loader)
|
|
106
|
+
return <Text>{data}</Text>
|
|
107
|
+
}
|
|
108
|
+
`, "/app/index.tsx");
|
|
109
|
+
expect(result).toBeDefined(), expect(result.code).toContain("types-pkg"), expect(result.code).not.toContain("server-only-pkg");
|
|
110
|
+
}), it("should preserve type imports even when used only in loader", async () => {
|
|
111
|
+
const result = await transformTreeShakeClient(`
|
|
112
|
+
import type { APIGuildMember } from '@discordjs/core'
|
|
113
|
+
import { getClient } from 'discord-client'
|
|
114
|
+
import { Text } from 'react-native'
|
|
115
|
+
import { useLoader } from 'one'
|
|
116
|
+
|
|
117
|
+
export function loader(): APIGuildMember {
|
|
118
|
+
return getClient()
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export default function Page() {
|
|
122
|
+
const data = useLoader(loader)
|
|
123
|
+
return <Text>{JSON.stringify(data)}</Text>
|
|
124
|
+
}
|
|
125
|
+
`, "/app/index.tsx");
|
|
126
|
+
expect(result).toBeDefined(), expect(result.code).toContain("@discordjs/core"), expect(result.code).not.toContain("discord-client");
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=clientTreeShakePlugin.test.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["describe","expect","it","transformTreeShakeClient","result","toBeDefined","code","not","toContain","toBeUndefined"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|