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
|
@@ -27,7 +27,27 @@ __export(clientTreeShakePlugin_exports, {
|
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(clientTreeShakePlugin_exports);
|
|
29
29
|
var import_node_path = require("node:path"), import_generator = __toESM(require("@babel/generator"), 1), import_parser = require("@babel/parser"), import_traverse = __toESM(require("@babel/traverse"), 1), import_babel_dead_code_elimination = require("babel-dead-code-elimination"), import_constants = require("../constants");
|
|
30
|
-
const traverse = import_traverse.default.default, generate = import_generator.default.default
|
|
30
|
+
const traverse = import_traverse.default.default || import_traverse.default, generate = import_generator.default.default || import_generator.default;
|
|
31
|
+
function collectTypeImports(ast) {
|
|
32
|
+
const typeImports = [];
|
|
33
|
+
return traverse(ast, {
|
|
34
|
+
ImportDeclaration(path) {
|
|
35
|
+
path.node.importKind === "type" && typeImports.push(path.node);
|
|
36
|
+
}
|
|
37
|
+
}), typeImports;
|
|
38
|
+
}
|
|
39
|
+
function restoreTypeImports(ast, typeImports) {
|
|
40
|
+
if (typeImports.length === 0) return;
|
|
41
|
+
const existingSources = /* @__PURE__ */ new Set();
|
|
42
|
+
traverse(ast, {
|
|
43
|
+
ImportDeclaration(path) {
|
|
44
|
+
path.node.importKind === "type" && existingSources.add(path.node.source.value);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
for (const typeImport of typeImports)
|
|
48
|
+
existingSources.has(typeImport.source.value) || ast.program.body.unshift(typeImport);
|
|
49
|
+
}
|
|
50
|
+
const clientTreeShakePlugin = () => ({
|
|
31
51
|
name: "one-client-tree-shake",
|
|
32
52
|
enforce: "pre",
|
|
33
53
|
applyToEnvironment(env) {
|
|
@@ -82,7 +102,7 @@ async function transformTreeShakeClient(code, id) {
|
|
|
82
102
|
} else path.node.declaration && path.node.declaration.type === "VariableDeclaration" && path.node.declaration.declarations.forEach((declarator, index) => {
|
|
83
103
|
if (declarator.id.type === "Identifier" && (declarator.id.name === "loader" || declarator.id.name === "generateStaticParams")) {
|
|
84
104
|
const declaration = path.get("declaration.declarations." + index);
|
|
85
|
-
Array.isArray(declaration)
|
|
105
|
+
!Array.isArray(declaration) && declaration && (declaration.remove(), removed[declarator.id.name] = !0);
|
|
86
106
|
}
|
|
87
107
|
});
|
|
88
108
|
}
|
|
@@ -98,7 +118,8 @@ async function transformTreeShakeClient(code, id) {
|
|
|
98
118
|
const removedFunctions = Object.keys(removed).filter((key) => removed[key]);
|
|
99
119
|
if (removedFunctions.length)
|
|
100
120
|
try {
|
|
101
|
-
|
|
121
|
+
const typeImports = collectTypeImports(ast);
|
|
122
|
+
(0, import_babel_dead_code_elimination.deadCodeElimination)(ast, referenced), restoreTypeImports(ast, typeImports);
|
|
102
123
|
const out = generate(ast), codeOut = out.code + `
|
|
103
124
|
|
|
104
125
|
` + removedFunctions.map((key) => key === "loader" ? import_constants.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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAkC,sBAClC,mBAA0B,yCAC1B,gBAAsB,0BACtB,kBAA0B,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["BabelTraverse", "BabelGenerate"]
|
|
6
6
|
}
|
|
@@ -46,26 +46,61 @@ var import_path = require("path"),
|
|
|
46
46
|
function _instanceof(left, right) {
|
|
47
47
|
return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
|
|
48
48
|
}
|
|
49
|
-
var traverse = import_traverse.default.default,
|
|
50
|
-
generate = import_generator.default.default
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
49
|
+
var traverse = import_traverse.default.default || import_traverse.default,
|
|
50
|
+
generate = import_generator.default.default || import_generator.default;
|
|
51
|
+
function collectTypeImports(ast) {
|
|
52
|
+
var typeImports = [];
|
|
53
|
+
return traverse(ast, {
|
|
54
|
+
ImportDeclaration(path) {
|
|
55
|
+
path.node.importKind === "type" && typeImports.push(path.node);
|
|
56
|
+
}
|
|
57
|
+
}), typeImports;
|
|
58
|
+
}
|
|
59
|
+
function restoreTypeImports(ast, typeImports) {
|
|
60
|
+
if (typeImports.length !== 0) {
|
|
61
|
+
var existingSources = /* @__PURE__ */new Set();
|
|
62
|
+
traverse(ast, {
|
|
63
|
+
ImportDeclaration(path) {
|
|
64
|
+
path.node.importKind === "type" && existingSources.add(path.node.source.value);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
var _iteratorNormalCompletion = !0,
|
|
68
|
+
_didIteratorError = !1,
|
|
69
|
+
_iteratorError = void 0;
|
|
70
|
+
try {
|
|
71
|
+
for (var _iterator = typeImports[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
72
|
+
var typeImport = _step.value;
|
|
73
|
+
existingSources.has(typeImport.source.value) || ast.program.body.unshift(typeImport);
|
|
74
|
+
}
|
|
75
|
+
} catch (err) {
|
|
76
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
77
|
+
} finally {
|
|
78
|
+
try {
|
|
79
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
80
|
+
} finally {
|
|
81
|
+
if (_didIteratorError) throw _iteratorError;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
var clientTreeShakePlugin = function () {
|
|
87
|
+
return {
|
|
88
|
+
name: "one-client-tree-shake",
|
|
89
|
+
enforce: "pre",
|
|
90
|
+
applyToEnvironment(env) {
|
|
91
|
+
return env.name === "client" || env.name === "ios" || env.name === "android";
|
|
92
|
+
},
|
|
93
|
+
transform: {
|
|
94
|
+
order: "pre",
|
|
95
|
+
async handler(code, id, settings) {
|
|
96
|
+
if (this.environment.name !== "ssr" && /\.(js|jsx|ts|tsx)/.test((0, import_path.extname)(id)) && !/node_modules/.test(id)) {
|
|
97
|
+
var out = await transformTreeShakeClient(code, id);
|
|
98
|
+
return out;
|
|
65
99
|
}
|
|
66
100
|
}
|
|
67
|
-
}
|
|
101
|
+
}
|
|
68
102
|
};
|
|
103
|
+
};
|
|
69
104
|
async function transformTreeShakeClient(code, id) {
|
|
70
105
|
if (/generateStaticParams|loader/.test(code)) {
|
|
71
106
|
var ast;
|
|
@@ -101,7 +136,7 @@ async function transformTreeShakeClient(code, id) {
|
|
|
101
136
|
} else path.node.declaration && path.node.declaration.type === "VariableDeclaration" && path.node.declaration.declarations.forEach(function (declarator, index) {
|
|
102
137
|
if (declarator.id.type === "Identifier" && (declarator.id.name === "loader" || declarator.id.name === "generateStaticParams")) {
|
|
103
138
|
var declaration = path.get("declaration.declarations." + index);
|
|
104
|
-
Array.isArray(declaration)
|
|
139
|
+
!Array.isArray(declaration) && declaration && (declaration.remove(), removed[declarator.id.name] = !0);
|
|
105
140
|
}
|
|
106
141
|
});
|
|
107
142
|
}
|
|
@@ -115,7 +150,8 @@ async function transformTreeShakeClient(code, id) {
|
|
|
115
150
|
return removed[key];
|
|
116
151
|
});
|
|
117
152
|
if (removedFunctions.length) try {
|
|
118
|
-
|
|
153
|
+
var typeImports = collectTypeImports(ast);
|
|
154
|
+
(0, import_babel_dead_code_elimination.deadCodeElimination)(ast, referenced), restoreTypeImports(ast, typeImports);
|
|
119
155
|
var out = generate(ast),
|
|
120
156
|
codeOut = out.code + `
|
|
121
157
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","clientTreeShakePlugin_exports","__export","clientTreeShakePlugin","transformTreeShakeClient","module","exports","import_path","require","import_generator","__toESM","import_parser","import_traverse","import_babel_dead_code_elimination","import_constants","_instanceof","left","right","Symbol","hasInstance","traverse","default","generate","name","enforce","applyToEnvironment","env","transform","order","handler","code","id","settings","environment","test","extname","out","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","clientTreeShakePlugin_exports","__export","clientTreeShakePlugin","transformTreeShakeClient","module","exports","import_path","require","import_generator","__toESM","import_parser","import_traverse","import_babel_dead_code_elimination","import_constants","_instanceof","left","right","Symbol","hasInstance","traverse","default","generate","collectTypeImports","ast","typeImports","ImportDeclaration","path","node","importKind","push","restoreTypeImports","length","existingSources","Set","add","source","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","typeImport","has","program","body","unshift","err","return","name","enforce","applyToEnvironment","env","transform","order","handler","code","id","settings","environment","test","extname","out","parse","sourceType","plugins","error","errorMessage","Error","message","String","console","warn","referenced","findReferencedIdentifiers","errorMessage1","removed","loader","generateStaticParams","ExportNamedDeclaration","declaration","type","functionName","remove","declarations","forEach","declarator","index","get","Array","isArray","errorMessage2","removedFunctions","Object","keys","filter","key","deadCodeElimination"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
var import_vitest = require("vitest"),
|
|
2
|
+
import_clientTreeShakePlugin = require("./clientTreeShakePlugin.cjs");
|
|
3
|
+
(0, import_vitest.describe)("clientTreeShakePlugin", () => {
|
|
4
|
+
(0, import_vitest.describe)("transformTreeShakeClient", () => {
|
|
5
|
+
(0, import_vitest.it)("should remove loader export and its imports", async () => {
|
|
6
|
+
const result = await (0, import_clientTreeShakePlugin.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
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg"), (0, import_vitest.expect)(result.code).toContain("react-native"), (0, import_vitest.expect)(result.code).toContain("one");
|
|
21
|
+
}), (0, import_vitest.it)("should remove loader export with dynamic import", async () => {
|
|
22
|
+
const result = await (0, import_clientTreeShakePlugin.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
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg");
|
|
37
|
+
}), (0, import_vitest.it)("should remove loader with const arrow function export", async () => {
|
|
38
|
+
const result = await (0, import_clientTreeShakePlugin.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
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg");
|
|
53
|
+
}), (0, import_vitest.it)("should handle multiple imports where only some are used in loader", async () => {
|
|
54
|
+
const result = await (0, import_clientTreeShakePlugin.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
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg"), (0, import_vitest.expect)(result.code).toContain("shared-pkg");
|
|
70
|
+
}), (0, import_vitest.it)("should remove generateStaticParams and its imports", async () => {
|
|
71
|
+
const result = await (0, import_clientTreeShakePlugin.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
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg");
|
|
84
|
+
}), (0, import_vitest.it)("should not transform files without loader or generateStaticParams", async () => {
|
|
85
|
+
const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(`
|
|
86
|
+
import { Text } from 'react-native'
|
|
87
|
+
|
|
88
|
+
export default function Page() {
|
|
89
|
+
return <Text>Hello</Text>
|
|
90
|
+
}
|
|
91
|
+
`, "/app/index.tsx");
|
|
92
|
+
(0, import_vitest.expect)(result).toBeUndefined();
|
|
93
|
+
}), (0, import_vitest.it)("should preserve type-only imports during tree shaking", async () => {
|
|
94
|
+
const result = await (0, import_clientTreeShakePlugin.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
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).toContain("types-pkg"), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg");
|
|
110
|
+
}), (0, import_vitest.it)("should preserve type imports even when used only in loader", async () => {
|
|
111
|
+
const result = await (0, import_clientTreeShakePlugin.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
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).toContain("@discordjs/core"), (0, import_vitest.expect)(result.code).not.toContain("discord-client");
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
});
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
var import_vitest = require("vitest"), import_clientTreeShakePlugin = require("./clientTreeShakePlugin");
|
|
2
|
+
(0, import_vitest.describe)("clientTreeShakePlugin", () => {
|
|
3
|
+
(0, import_vitest.describe)("transformTreeShakeClient", () => {
|
|
4
|
+
(0, import_vitest.it)("should remove loader export and its imports", async () => {
|
|
5
|
+
const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(`
|
|
6
|
+
import { serverOnlyModule } from 'server-only-pkg'
|
|
7
|
+
import { Text } from 'react-native'
|
|
8
|
+
import { useLoader } from 'one'
|
|
9
|
+
|
|
10
|
+
export function loader() {
|
|
11
|
+
return serverOnlyModule()
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export default function Page() {
|
|
15
|
+
const data = useLoader(loader)
|
|
16
|
+
return <Text>{data}</Text>
|
|
17
|
+
}
|
|
18
|
+
`, "/app/index.tsx");
|
|
19
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg"), (0, import_vitest.expect)(result.code).toContain("react-native"), (0, import_vitest.expect)(result.code).toContain("one");
|
|
20
|
+
}), (0, import_vitest.it)("should remove loader export with dynamic import", async () => {
|
|
21
|
+
const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(`
|
|
22
|
+
import { Text } from 'react-native'
|
|
23
|
+
import { useLoader } from 'one'
|
|
24
|
+
|
|
25
|
+
export async function loader() {
|
|
26
|
+
const { serverFn } = await import('server-only-pkg')
|
|
27
|
+
return serverFn()
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export default function Page() {
|
|
31
|
+
const data = useLoader(loader)
|
|
32
|
+
return <Text>{data}</Text>
|
|
33
|
+
}
|
|
34
|
+
`, "/app/index.tsx");
|
|
35
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg");
|
|
36
|
+
}), (0, import_vitest.it)("should remove loader with const arrow function export", async () => {
|
|
37
|
+
const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(`
|
|
38
|
+
import { serverOnlyModule } from 'server-only-pkg'
|
|
39
|
+
import { Text } from 'react-native'
|
|
40
|
+
import { useLoader } from 'one'
|
|
41
|
+
|
|
42
|
+
export const loader = async () => {
|
|
43
|
+
return serverOnlyModule()
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export default function Page() {
|
|
47
|
+
const data = useLoader(loader)
|
|
48
|
+
return <Text>{data}</Text>
|
|
49
|
+
}
|
|
50
|
+
`, "/app/index.tsx");
|
|
51
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg");
|
|
52
|
+
}), (0, import_vitest.it)("should handle multiple imports where only some are used in loader", async () => {
|
|
53
|
+
const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(`
|
|
54
|
+
import { serverFn } from 'server-only-pkg'
|
|
55
|
+
import { sharedUtil } from 'shared-pkg'
|
|
56
|
+
import { Text } from 'react-native'
|
|
57
|
+
import { useLoader } from 'one'
|
|
58
|
+
|
|
59
|
+
export function loader() {
|
|
60
|
+
return serverFn()
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export default function Page() {
|
|
64
|
+
const data = useLoader(loader)
|
|
65
|
+
return <Text>{sharedUtil(data)}</Text>
|
|
66
|
+
}
|
|
67
|
+
`, "/app/index.tsx");
|
|
68
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg"), (0, import_vitest.expect)(result.code).toContain("shared-pkg");
|
|
69
|
+
}), (0, import_vitest.it)("should remove generateStaticParams and its imports", async () => {
|
|
70
|
+
const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(`
|
|
71
|
+
import { getRoutes } from 'server-only-pkg'
|
|
72
|
+
import { Text } from 'react-native'
|
|
73
|
+
|
|
74
|
+
export function generateStaticParams() {
|
|
75
|
+
return getRoutes()
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export default function Page() {
|
|
79
|
+
return <Text>Hello</Text>
|
|
80
|
+
}
|
|
81
|
+
`, "/app/[slug].tsx");
|
|
82
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg");
|
|
83
|
+
}), (0, import_vitest.it)("should not transform files without loader or generateStaticParams", async () => {
|
|
84
|
+
const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(`
|
|
85
|
+
import { Text } from 'react-native'
|
|
86
|
+
|
|
87
|
+
export default function Page() {
|
|
88
|
+
return <Text>Hello</Text>
|
|
89
|
+
}
|
|
90
|
+
`, "/app/index.tsx");
|
|
91
|
+
(0, import_vitest.expect)(result).toBeUndefined();
|
|
92
|
+
}), (0, import_vitest.it)("should preserve type-only imports during tree shaking", async () => {
|
|
93
|
+
const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(`
|
|
94
|
+
import type { SomeType } from 'types-pkg'
|
|
95
|
+
import { serverFn } from 'server-only-pkg'
|
|
96
|
+
import { Text } from 'react-native'
|
|
97
|
+
import { useLoader } from 'one'
|
|
98
|
+
|
|
99
|
+
export function loader(): SomeType {
|
|
100
|
+
return serverFn()
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export default function Page() {
|
|
104
|
+
const data = useLoader(loader)
|
|
105
|
+
return <Text>{data}</Text>
|
|
106
|
+
}
|
|
107
|
+
`, "/app/index.tsx");
|
|
108
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).toContain("types-pkg"), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg");
|
|
109
|
+
}), (0, import_vitest.it)("should preserve type imports even when used only in loader", async () => {
|
|
110
|
+
const result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(`
|
|
111
|
+
import type { APIGuildMember } from '@discordjs/core'
|
|
112
|
+
import { getClient } from 'discord-client'
|
|
113
|
+
import { Text } from 'react-native'
|
|
114
|
+
import { useLoader } from 'one'
|
|
115
|
+
|
|
116
|
+
export function loader(): APIGuildMember {
|
|
117
|
+
return getClient()
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export default function Page() {
|
|
121
|
+
const data = useLoader(loader)
|
|
122
|
+
return <Text>{JSON.stringify(data)}</Text>
|
|
123
|
+
}
|
|
124
|
+
`, "/app/index.tsx");
|
|
125
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).toContain("@discordjs/core"), (0, import_vitest.expect)(result.code).not.toContain("discord-client");
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
//# sourceMappingURL=clientTreeShakePlugin.test.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/vite/plugins/clientTreeShakePlugin.test.ts"],
|
|
4
|
+
"mappings": "AAAA,oBAAqC,mBACrC,+BAAyC;AAAA,IAEzC,wBAAS,yBAAyB,MAAM;AACtC,8BAAS,4BAA4B,MAAM;AACzC,0BAAG,+CAA+C,YAAY;AAe5D,YAAM,SAAS,UAAM,uDAdR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcuC,gBAAgB;AACpE,gCAAO,MAAM,EAAE,YAAY,OAE3B,sBAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB,OAEpD,sBAAO,OAAQ,IAAI,EAAE,UAAU,cAAc,OAC7C,sBAAO,OAAQ,IAAI,EAAE,UAAU,KAAK;AAAA,IACtC,CAAC,OAED,kBAAG,mDAAmD,YAAY;AAehE,YAAM,SAAS,UAAM,uDAdR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcuC,gBAAgB;AACpE,gCAAO,MAAM,EAAE,YAAY,OAE3B,sBAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB;AAAA,IACtD,CAAC,OAED,kBAAG,yDAAyD,YAAY;AAetE,YAAM,SAAS,UAAM,uDAdR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcuC,gBAAgB;AACpE,gCAAO,MAAM,EAAE,YAAY,OAE3B,sBAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB;AAAA,IACtD,CAAC,OAED,kBAAG,qEAAqE,YAAY;AAgBlF,YAAM,SAAS,UAAM,uDAfR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAeuC,gBAAgB;AACpE,gCAAO,MAAM,EAAE,YAAY,OAE3B,sBAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB,OAEpD,sBAAO,OAAQ,IAAI,EAAE,UAAU,YAAY;AAAA,IAC7C,CAAC,OAED,kBAAG,sDAAsD,YAAY;AAanE,YAAM,SAAS,UAAM,uDAZR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYuC,iBAAiB;AACrE,gCAAO,MAAM,EAAE,YAAY,OAC3B,sBAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB;AAAA,IACtD,CAAC,OAED,kBAAG,qEAAqE,YAAY;AAQlF,YAAM,SAAS,UAAM,uDAPR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAOuC,gBAAgB;AACpE,gCAAO,MAAM,EAAE,cAAc;AAAA,IAC/B,CAAC,OAED,kBAAG,yDAAyD,YAAY;AAgBtE,YAAM,SAAS,UAAM,uDAfR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAeuC,gBAAgB;AACpE,gCAAO,MAAM,EAAE,YAAY,OAE3B,sBAAO,OAAQ,IAAI,EAAE,UAAU,WAAW,OAE1C,sBAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,iBAAiB;AAAA,IACtD,CAAC,OAED,kBAAG,8DAA8D,YAAY;AAgB3E,YAAM,SAAS,UAAM,uDAfR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAeuC,gBAAgB;AACpE,gCAAO,MAAM,EAAE,YAAY,OAE3B,sBAAO,OAAQ,IAAI,EAAE,UAAU,iBAAiB,OAEhD,sBAAO,OAAQ,IAAI,EAAE,IAAI,UAAU,gBAAgB;AAAA,IACrD,CAAC;AAAA,EACH,CAAC;AACH,CAAC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var import_vitest = require("vitest"),
|
|
4
|
+
import_clientTreeShakePlugin = require("./clientTreeShakePlugin.native.js");
|
|
5
|
+
(0, import_vitest.describe)("clientTreeShakePlugin", function () {
|
|
6
|
+
(0, import_vitest.describe)("transformTreeShakeClient", function () {
|
|
7
|
+
(0, import_vitest.it)("should remove loader export and its imports", async function () {
|
|
8
|
+
var code = `
|
|
9
|
+
import { serverOnlyModule } from 'server-only-pkg'
|
|
10
|
+
import { Text } from 'react-native'
|
|
11
|
+
import { useLoader } from 'one'
|
|
12
|
+
|
|
13
|
+
export function loader() {
|
|
14
|
+
return serverOnlyModule()
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default function Page() {
|
|
18
|
+
const data = useLoader(loader)
|
|
19
|
+
return <Text>{data}</Text>
|
|
20
|
+
}
|
|
21
|
+
`,
|
|
22
|
+
result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
|
|
23
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg"), (0, import_vitest.expect)(result.code).toContain("react-native"), (0, import_vitest.expect)(result.code).toContain("one");
|
|
24
|
+
}), (0, import_vitest.it)("should remove loader export with dynamic import", async function () {
|
|
25
|
+
var code = `
|
|
26
|
+
import { Text } from 'react-native'
|
|
27
|
+
import { useLoader } from 'one'
|
|
28
|
+
|
|
29
|
+
export async function loader() {
|
|
30
|
+
const { serverFn } = await import('server-only-pkg')
|
|
31
|
+
return serverFn()
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export default function Page() {
|
|
35
|
+
const data = useLoader(loader)
|
|
36
|
+
return <Text>{data}</Text>
|
|
37
|
+
}
|
|
38
|
+
`,
|
|
39
|
+
result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
|
|
40
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg");
|
|
41
|
+
}), (0, import_vitest.it)("should remove loader with const arrow function export", async function () {
|
|
42
|
+
var code = `
|
|
43
|
+
import { serverOnlyModule } from 'server-only-pkg'
|
|
44
|
+
import { Text } from 'react-native'
|
|
45
|
+
import { useLoader } from 'one'
|
|
46
|
+
|
|
47
|
+
export const loader = async () => {
|
|
48
|
+
return serverOnlyModule()
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export default function Page() {
|
|
52
|
+
const data = useLoader(loader)
|
|
53
|
+
return <Text>{data}</Text>
|
|
54
|
+
}
|
|
55
|
+
`,
|
|
56
|
+
result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
|
|
57
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg");
|
|
58
|
+
}), (0, import_vitest.it)("should handle multiple imports where only some are used in loader", async function () {
|
|
59
|
+
var code = `
|
|
60
|
+
import { serverFn } from 'server-only-pkg'
|
|
61
|
+
import { sharedUtil } from 'shared-pkg'
|
|
62
|
+
import { Text } from 'react-native'
|
|
63
|
+
import { useLoader } from 'one'
|
|
64
|
+
|
|
65
|
+
export function loader() {
|
|
66
|
+
return serverFn()
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export default function Page() {
|
|
70
|
+
const data = useLoader(loader)
|
|
71
|
+
return <Text>{sharedUtil(data)}</Text>
|
|
72
|
+
}
|
|
73
|
+
`,
|
|
74
|
+
result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
|
|
75
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg"), (0, import_vitest.expect)(result.code).toContain("shared-pkg");
|
|
76
|
+
}), (0, import_vitest.it)("should remove generateStaticParams and its imports", async function () {
|
|
77
|
+
var code = `
|
|
78
|
+
import { getRoutes } from 'server-only-pkg'
|
|
79
|
+
import { Text } from 'react-native'
|
|
80
|
+
|
|
81
|
+
export function generateStaticParams() {
|
|
82
|
+
return getRoutes()
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export default function Page() {
|
|
86
|
+
return <Text>Hello</Text>
|
|
87
|
+
}
|
|
88
|
+
`,
|
|
89
|
+
result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/[slug].tsx");
|
|
90
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg");
|
|
91
|
+
}), (0, import_vitest.it)("should not transform files without loader or generateStaticParams", async function () {
|
|
92
|
+
var code = `
|
|
93
|
+
import { Text } from 'react-native'
|
|
94
|
+
|
|
95
|
+
export default function Page() {
|
|
96
|
+
return <Text>Hello</Text>
|
|
97
|
+
}
|
|
98
|
+
`,
|
|
99
|
+
result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
|
|
100
|
+
(0, import_vitest.expect)(result).toBeUndefined();
|
|
101
|
+
}), (0, import_vitest.it)("should preserve type-only imports during tree shaking", async function () {
|
|
102
|
+
var code = `
|
|
103
|
+
import type { SomeType } from 'types-pkg'
|
|
104
|
+
import { serverFn } from 'server-only-pkg'
|
|
105
|
+
import { Text } from 'react-native'
|
|
106
|
+
import { useLoader } from 'one'
|
|
107
|
+
|
|
108
|
+
export function loader(): SomeType {
|
|
109
|
+
return serverFn()
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export default function Page() {
|
|
113
|
+
const data = useLoader(loader)
|
|
114
|
+
return <Text>{data}</Text>
|
|
115
|
+
}
|
|
116
|
+
`,
|
|
117
|
+
result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
|
|
118
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).toContain("types-pkg"), (0, import_vitest.expect)(result.code).not.toContain("server-only-pkg");
|
|
119
|
+
}), (0, import_vitest.it)("should preserve type imports even when used only in loader", async function () {
|
|
120
|
+
var code = `
|
|
121
|
+
import type { APIGuildMember } from '@discordjs/core'
|
|
122
|
+
import { getClient } from 'discord-client'
|
|
123
|
+
import { Text } from 'react-native'
|
|
124
|
+
import { useLoader } from 'one'
|
|
125
|
+
|
|
126
|
+
export function loader(): APIGuildMember {
|
|
127
|
+
return getClient()
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export default function Page() {
|
|
131
|
+
const data = useLoader(loader)
|
|
132
|
+
return <Text>{JSON.stringify(data)}</Text>
|
|
133
|
+
}
|
|
134
|
+
`,
|
|
135
|
+
result = await (0, import_clientTreeShakePlugin.transformTreeShakeClient)(code, "/app/index.tsx");
|
|
136
|
+
(0, import_vitest.expect)(result).toBeDefined(), (0, import_vitest.expect)(result.code).toContain("@discordjs/core"), (0, import_vitest.expect)(result.code).not.toContain("discord-client");
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
//# sourceMappingURL=clientTreeShakePlugin.test.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["import_vitest","require","import_clientTreeShakePlugin","describe","it","code","result","transformTreeShakeClient","expect","toBeDefined","not","toContain","toBeUndefined"],"sources":["../../../../src/vite/plugins/clientTreeShakePlugin.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -195,9 +195,12 @@ ${stack}
|
|
|
195
195
|
server = serverIn, runner = (0, import_vite.createServerModuleRunner)(
|
|
196
196
|
USE_SERVER_ENV ? server.environments.server : server.environments.ssr
|
|
197
197
|
);
|
|
198
|
-
const appDir = import_node_path.default.join(process.cwd(), (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options)), fileWatcherChangeListener = (0, import_perfect_debounce.debounce)(
|
|
199
|
-
(type
|
|
200
|
-
|
|
198
|
+
const appDir = import_node_path.default.join(process.cwd(), (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options)), fileWatcherChangeListener = (0, import_perfect_debounce.debounce)(
|
|
199
|
+
async (type, changedPath) => {
|
|
200
|
+
(type === "add" || type === "delete") && import_node_path.default.resolve(changedPath).startsWith(appDir) && (handleRequest = createRequestHandler());
|
|
201
|
+
},
|
|
202
|
+
100
|
|
203
|
+
);
|
|
201
204
|
server.watcher.addListener("all", fileWatcherChangeListener);
|
|
202
205
|
const loaderDepChangeListener = (0, import_perfect_debounce.debounce)((changedPath) => {
|
|
203
206
|
const absolutePath = import_node_path.default.resolve(changedPath), routePaths = loaderFileDependencies.get(absolutePath);
|