@bleedingdev/modern-js-runtime 3.2.0-ultramodern.12 → 3.2.0-ultramodern.121
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/boundary-debugger/index.js +307 -0
- package/dist/cjs/cache/index.js +9 -5
- package/dist/cjs/cli/alias.js +9 -5
- package/dist/cjs/cli/code.js +9 -5
- package/dist/cjs/cli/constants.js +20 -16
- package/dist/cjs/cli/entry.js +9 -5
- package/dist/cjs/cli/index.js +20 -5
- package/dist/cjs/cli/ssr/index.js +14 -20
- package/dist/cjs/cli/ssr/loadable-bundler-plugin.js +9 -5
- package/dist/cjs/cli/ssr/mode.js +12 -8
- package/dist/cjs/cli/template.js +9 -5
- package/dist/cjs/cli/template.server.js +10 -5
- package/dist/cjs/common.js +14 -10
- package/dist/cjs/core/browser/hydrate.js +9 -5
- package/dist/cjs/core/browser/index.js +9 -5
- package/dist/cjs/core/browser/withCallback.js +9 -5
- package/dist/cjs/core/compat/hooks.js +14 -10
- package/dist/cjs/core/compat/index.js +9 -5
- package/dist/cjs/core/compat/requestContext.js +13 -9
- package/dist/cjs/core/config.js +12 -8
- package/dist/cjs/core/constants.js +15 -10
- package/dist/cjs/core/context/extensions.js +69 -0
- package/dist/cjs/core/context/helmetContext.js +54 -0
- package/dist/cjs/core/context/index.js +74 -5
- package/dist/cjs/core/context/monitors/default.js +12 -8
- package/dist/cjs/core/context/monitors/index.js +9 -5
- package/dist/cjs/core/context/monitors/index.server.js +9 -5
- package/dist/cjs/core/context/request/index.js +12 -8
- package/dist/cjs/core/context/request/index.server.js +9 -5
- package/dist/cjs/core/context/response/index.js +15 -11
- package/dist/cjs/core/context/response/index.server.js +9 -5
- package/dist/cjs/core/context/runtime.js +9 -5
- package/dist/cjs/core/context/serverPayload/index.js +13 -9
- package/dist/cjs/core/context/serverPayload/index.server.js +9 -5
- package/dist/cjs/core/index.js +9 -5
- package/dist/cjs/core/plugin/index.js +9 -5
- package/dist/cjs/core/react/index.js +9 -5
- package/dist/cjs/core/react/wrapper.js +21 -9
- package/dist/cjs/core/server/constants.js +15 -11
- package/dist/cjs/core/server/federatedCss.js +51 -0
- package/dist/cjs/core/server/helmet.js +18 -7
- package/dist/cjs/core/server/index.js +9 -5
- package/dist/cjs/core/server/react/index.js +9 -5
- package/dist/cjs/core/server/react/no-ssr-cache/index.js +9 -5
- package/dist/cjs/core/server/react/nossr/index.js +9 -5
- package/dist/cjs/core/server/requestHandler.js +51 -34
- package/dist/cjs/core/server/routerCleanup.js +110 -0
- package/dist/cjs/core/server/scriptOrder.js +134 -0
- package/dist/cjs/core/server/server.js +9 -5
- package/dist/cjs/core/server/shared.js +12 -8
- package/dist/cjs/core/server/stream/afterTemplate.js +16 -16
- package/dist/cjs/core/server/stream/beforeTemplate.js +22 -25
- package/dist/cjs/core/server/stream/beforeTemplate.worker.js +102 -0
- package/dist/cjs/core/server/stream/createReadableStream.js +16 -7
- package/dist/cjs/core/server/stream/createReadableStream.worker.js +13 -7
- package/dist/cjs/core/server/stream/deferredScript.js +13 -6
- package/dist/cjs/core/server/stream/index.js +9 -5
- package/dist/cjs/core/server/stream/shared.js +12 -6
- package/dist/cjs/core/server/stream/template.js +9 -5
- package/dist/cjs/core/server/string/index.js +19 -14
- package/dist/cjs/core/server/string/loadable.js +56 -15
- package/dist/cjs/core/server/string/ssrData.js +10 -6
- package/dist/cjs/core/server/tracer.js +13 -9
- package/dist/cjs/core/server/utils.js +40 -13
- package/dist/cjs/document/Body.js +9 -5
- package/dist/cjs/document/Comment.js +9 -5
- package/dist/cjs/document/DocumentContext.js +9 -5
- package/dist/cjs/document/DocumentStructureContext.js +9 -5
- package/dist/cjs/document/Head.js +9 -5
- package/dist/cjs/document/Html.js +9 -5
- package/dist/cjs/document/Links.js +9 -5
- package/dist/cjs/document/Root.js +9 -5
- package/dist/cjs/document/Script.js +9 -5
- package/dist/cjs/document/Scripts.js +9 -5
- package/dist/cjs/document/Style.js +9 -5
- package/dist/cjs/document/Title.js +9 -5
- package/dist/cjs/document/cli/index.js +12 -6
- package/dist/cjs/document/constants.js +9 -5
- package/dist/cjs/document/index.js +9 -5
- package/dist/cjs/exports/config-routes.js +12 -8
- package/dist/cjs/exports/head.js +271 -10
- package/dist/cjs/exports/loadable.js +51 -12
- package/dist/cjs/exports/tanstack-router.js +50 -58
- package/dist/cjs/index.js +9 -5
- package/dist/cjs/internal.js +9 -5
- package/dist/cjs/module-federation/index.js +178 -0
- package/dist/cjs/react-server.js +9 -5
- package/dist/cjs/router/cli/code/getClientRoutes/getRoutes.js +9 -5
- package/dist/cjs/router/cli/code/getClientRoutes/index.js +9 -5
- package/dist/cjs/router/cli/code/getClientRoutes/utils.js +9 -5
- package/dist/cjs/router/cli/code/index.js +10 -52
- package/dist/cjs/router/cli/code/inspect.js +9 -5
- package/dist/cjs/router/cli/code/makeLegalIdentifier.js +12 -8
- package/dist/cjs/router/cli/code/nestedRoutes.js +9 -5
- package/dist/cjs/router/cli/code/templates.js +10 -13
- package/dist/cjs/router/cli/code/utils.js +9 -5
- package/dist/cjs/router/cli/config-routes/converter.js +9 -5
- package/dist/cjs/router/cli/config-routes/parseRouteConfig.js +9 -5
- package/dist/cjs/router/cli/constants.js +23 -19
- package/dist/cjs/router/cli/entry.js +9 -5
- package/dist/cjs/router/cli/handler.js +10 -6
- package/dist/cjs/router/cli/index.js +11 -28
- package/dist/cjs/router/index.js +9 -5
- package/dist/cjs/router/internal.js +12 -8
- package/dist/cjs/router/runtime/CSSLinks.js +9 -5
- package/dist/cjs/router/runtime/DefaultNotFound.js +9 -5
- package/dist/cjs/router/runtime/DeferredDataScripts.js +12 -8
- package/dist/cjs/router/runtime/DeferredDataScripts.node.js +25 -9
- package/dist/cjs/router/runtime/PrefetchLink.js +161 -26
- package/dist/cjs/router/runtime/constants.js +9 -5
- package/dist/cjs/router/runtime/hooks.js +9 -5
- package/dist/cjs/router/runtime/index.js +15 -10
- package/dist/cjs/router/runtime/internal.js +29 -18
- package/dist/cjs/router/runtime/lifecycle.js +38 -19
- package/dist/cjs/router/runtime/plugin.js +11 -14
- package/dist/cjs/router/runtime/plugin.node.js +11 -12
- package/dist/cjs/router/runtime/provider.js +107 -0
- package/dist/cjs/router/runtime/routerHelper.js +9 -5
- package/dist/cjs/router/runtime/rsc-router.js +9 -5
- package/dist/cjs/router/runtime/rsc.js +9 -5
- package/dist/cjs/router/runtime/server.js +9 -5
- package/dist/cjs/router/runtime/utils.js +44 -14
- package/dist/cjs/router/runtime/withRouter.js +9 -5
- package/dist/cjs/rsc/client.js +12 -8
- package/dist/cjs/rsc/server.js +9 -5
- package/dist/cjs/rsc/server.worker.js +62 -0
- package/dist/esm/boundary-debugger/index.mjs +267 -0
- package/dist/esm/cli/index.mjs +4 -2
- package/dist/esm/cli/ssr/index.mjs +5 -15
- package/dist/esm/cli/template.server.mjs +1 -0
- package/dist/esm/core/context/extensions.mjs +28 -0
- package/dist/esm/core/context/helmetContext.mjs +13 -0
- package/dist/esm/core/context/index.mjs +5 -0
- package/dist/esm/core/react/wrapper.mjs +12 -4
- package/dist/esm/core/server/federatedCss.mjs +13 -0
- package/dist/esm/core/server/helmet.mjs +6 -2
- package/dist/esm/core/server/requestHandler.mjs +43 -30
- package/dist/esm/core/server/routerCleanup.mjs +66 -0
- package/dist/esm/core/server/scriptOrder.mjs +84 -0
- package/dist/esm/core/server/stream/afterTemplate.mjs +7 -11
- package/dist/esm/core/server/stream/beforeTemplate.mjs +14 -11
- package/dist/esm/core/server/stream/beforeTemplate.worker.mjs +64 -0
- package/dist/esm/core/server/stream/createReadableStream.mjs +7 -2
- package/dist/esm/core/server/stream/createReadableStream.worker.mjs +4 -2
- package/dist/esm/core/server/stream/deferredScript.mjs +4 -1
- package/dist/esm/core/server/stream/shared.mjs +3 -1
- package/dist/esm/core/server/string/index.mjs +12 -10
- package/dist/esm/core/server/string/loadable.mjs +43 -9
- package/dist/esm/core/server/string/ssrData.mjs +2 -2
- package/dist/esm/core/server/utils.mjs +31 -8
- package/dist/esm/document/cli/index.mjs +3 -1
- package/dist/esm/exports/head.mjs +255 -4
- package/dist/esm/exports/loadable.mjs +26 -3
- package/dist/esm/exports/tanstack-router.mjs +30 -3
- package/dist/esm/module-federation/index.mjs +109 -0
- package/dist/esm/router/cli/code/index.mjs +1 -47
- package/dist/esm/router/cli/code/templates.mjs +1 -8
- package/dist/esm/router/cli/handler.mjs +1 -1
- package/dist/esm/router/cli/index.mjs +3 -24
- package/dist/esm/router/runtime/DeferredDataScripts.node.mjs +16 -4
- package/dist/esm/router/runtime/PrefetchLink.mjs +152 -21
- package/dist/esm/router/runtime/internal.mjs +16 -15
- package/dist/esm/router/runtime/lifecycle.mjs +22 -13
- package/dist/esm/router/runtime/plugin.mjs +4 -11
- package/dist/esm/router/runtime/plugin.node.mjs +4 -9
- package/dist/esm/router/runtime/provider.mjs +57 -0
- package/dist/esm/router/runtime/utils.mjs +35 -9
- package/dist/esm/rsc/server.worker.mjs +1 -0
- package/dist/esm-node/boundary-debugger/index.mjs +268 -0
- package/dist/esm-node/cli/index.mjs +4 -2
- package/dist/esm-node/cli/ssr/index.mjs +5 -15
- package/dist/esm-node/cli/template.server.mjs +1 -0
- package/dist/esm-node/core/context/extensions.mjs +29 -0
- package/dist/esm-node/core/context/helmetContext.mjs +14 -0
- package/dist/esm-node/core/context/index.mjs +5 -0
- package/dist/esm-node/core/react/wrapper.mjs +12 -4
- package/dist/esm-node/core/server/federatedCss.mjs +14 -0
- package/dist/esm-node/core/server/helmet.mjs +6 -2
- package/dist/esm-node/core/server/requestHandler.mjs +43 -30
- package/dist/esm-node/core/server/routerCleanup.mjs +67 -0
- package/dist/esm-node/core/server/scriptOrder.mjs +85 -0
- package/dist/esm-node/core/server/stream/afterTemplate.mjs +7 -11
- package/dist/esm-node/core/server/stream/beforeTemplate.mjs +14 -11
- package/dist/esm-node/core/server/stream/beforeTemplate.worker.mjs +65 -0
- package/dist/esm-node/core/server/stream/createReadableStream.mjs +7 -2
- package/dist/esm-node/core/server/stream/createReadableStream.worker.mjs +4 -2
- package/dist/esm-node/core/server/stream/deferredScript.mjs +4 -1
- package/dist/esm-node/core/server/stream/shared.mjs +3 -1
- package/dist/esm-node/core/server/string/index.mjs +12 -10
- package/dist/esm-node/core/server/string/loadable.mjs +43 -9
- package/dist/esm-node/core/server/string/ssrData.mjs +2 -2
- package/dist/esm-node/core/server/utils.mjs +31 -8
- package/dist/esm-node/document/cli/index.mjs +3 -1
- package/dist/esm-node/exports/head.mjs +255 -4
- package/dist/esm-node/exports/loadable.mjs +26 -3
- package/dist/esm-node/exports/tanstack-router.mjs +30 -3
- package/dist/esm-node/module-federation/index.mjs +110 -0
- package/dist/esm-node/router/cli/code/index.mjs +1 -47
- package/dist/esm-node/router/cli/code/templates.mjs +1 -8
- package/dist/esm-node/router/cli/handler.mjs +1 -1
- package/dist/esm-node/router/cli/index.mjs +3 -24
- package/dist/esm-node/router/runtime/DeferredDataScripts.node.mjs +16 -4
- package/dist/esm-node/router/runtime/PrefetchLink.mjs +152 -21
- package/dist/esm-node/router/runtime/internal.mjs +16 -15
- package/dist/esm-node/router/runtime/lifecycle.mjs +22 -13
- package/dist/esm-node/router/runtime/plugin.mjs +4 -11
- package/dist/esm-node/router/runtime/plugin.node.mjs +4 -9
- package/dist/esm-node/router/runtime/provider.mjs +58 -0
- package/dist/esm-node/router/runtime/utils.mjs +35 -9
- package/dist/esm-node/rsc/server.worker.mjs +2 -0
- package/dist/types/boundary-debugger/index.d.ts +28 -0
- package/dist/types/cli/entry.d.ts +2 -2
- package/dist/types/cli/index.d.ts +3 -1
- package/dist/types/core/context/extensions.d.ts +37 -0
- package/dist/types/core/context/helmetContext.d.ts +10 -0
- package/dist/types/core/context/index.d.ts +6 -0
- package/dist/types/core/context/response/index.server.d.ts +4 -1
- package/dist/types/core/context/runtime.d.ts +1 -7
- package/dist/types/core/plugin/index.d.ts +1 -1
- package/dist/types/core/server/federatedCss.d.ts +5 -0
- package/dist/types/core/server/helmet.d.ts +5 -3
- package/dist/types/core/server/routerCleanup.d.ts +28 -0
- package/dist/types/core/server/scriptOrder.d.ts +25 -0
- package/dist/types/core/server/stream/beforeTemplate.d.ts +1 -0
- package/dist/types/core/server/stream/beforeTemplate.worker.d.ts +10 -0
- package/dist/types/core/server/stream/shared.d.ts +8 -0
- package/dist/types/core/server/string/loadable.d.ts +5 -0
- package/dist/types/core/server/utils.d.ts +12 -1
- package/dist/types/document/constants.d.ts +3 -1
- package/dist/types/exports/head.d.ts +10 -3
- package/dist/types/exports/loadable.d.ts +8 -1
- package/dist/types/exports/tanstack-router.d.ts +88 -5
- package/dist/types/module-federation/index.d.ts +65 -0
- package/dist/types/router/cli/code/index.d.ts +1 -3
- package/dist/types/router/cli/code/utils.d.ts +1 -1
- package/dist/types/router/cli/entry.d.ts +1 -1
- package/dist/types/router/cli/handler.d.ts +0 -3
- package/dist/types/router/runtime/PrefetchLink.d.ts +5 -1
- package/dist/types/router/runtime/internal.d.ts +1 -0
- package/dist/types/router/runtime/lifecycle.d.ts +2 -0
- package/dist/types/router/runtime/plugin.d.ts +1 -1
- package/dist/types/router/runtime/plugin.node.d.ts +1 -1
- package/dist/types/router/runtime/provider.d.ts +61 -0
- package/dist/types/rsc/server.worker.d.ts +1 -0
- package/package.json +37 -27
- package/rstest.config.mts +2 -4
- package/dist/cjs/router/cli/code/tanstackTypes.js +0 -378
- package/dist/cjs/router/runtime/tanstack/basepathRewrite.js +0 -62
- package/dist/cjs/router/runtime/tanstack/dataMutation.js +0 -345
- package/dist/cjs/router/runtime/tanstack/plugin.js +0 -239
- package/dist/cjs/router/runtime/tanstack/plugin.node.js +0 -278
- package/dist/cjs/router/runtime/tanstack/prefetchLink.js +0 -55
- package/dist/cjs/router/runtime/tanstack/routeTree.js +0 -469
- package/dist/cjs/router/runtime/tanstack/rsc/ClientSlot.js +0 -53
- package/dist/cjs/router/runtime/tanstack/rsc/CompositeComponent.js +0 -75
- package/dist/cjs/router/runtime/tanstack/rsc/ReplayableStream.js +0 -141
- package/dist/cjs/router/runtime/tanstack/rsc/RscNodeRenderer.js +0 -65
- package/dist/cjs/router/runtime/tanstack/rsc/SlotContext.js +0 -54
- package/dist/cjs/router/runtime/tanstack/rsc/client.js +0 -93
- package/dist/cjs/router/runtime/tanstack/rsc/createRscProxy.js +0 -141
- package/dist/cjs/router/runtime/tanstack/rsc/index.js +0 -42
- package/dist/cjs/router/runtime/tanstack/rsc/server.js +0 -246
- package/dist/cjs/router/runtime/tanstack/rsc/slotUsageSanitizer.js +0 -65
- package/dist/cjs/router/runtime/tanstack/rsc/symbols.js +0 -72
- package/dist/cjs/ssr/index.node.js +0 -121
- package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -84
- package/dist/cjs/ssr/serverRender/renderToString/entry.js +0 -195
- package/dist/cjs/ssr/serverRender/types.js +0 -36
- package/dist/esm/router/cli/code/tanstackTypes.mjs +0 -331
- package/dist/esm/router/runtime/tanstack/basepathRewrite.mjs +0 -28
- package/dist/esm/router/runtime/tanstack/dataMutation.mjs +0 -305
- package/dist/esm/router/runtime/tanstack/plugin.mjs +0 -205
- package/dist/esm/router/runtime/tanstack/plugin.node.mjs +0 -244
- package/dist/esm/router/runtime/tanstack/prefetchLink.mjs +0 -18
- package/dist/esm/router/runtime/tanstack/routeTree.mjs +0 -429
- package/dist/esm/router/runtime/tanstack/rsc/ClientSlot.mjs +0 -19
- package/dist/esm/router/runtime/tanstack/rsc/CompositeComponent.mjs +0 -41
- package/dist/esm/router/runtime/tanstack/rsc/ReplayableStream.mjs +0 -104
- package/dist/esm/router/runtime/tanstack/rsc/RscNodeRenderer.mjs +0 -31
- package/dist/esm/router/runtime/tanstack/rsc/SlotContext.mjs +0 -17
- package/dist/esm/router/runtime/tanstack/rsc/client.mjs +0 -53
- package/dist/esm/router/runtime/tanstack/rsc/createRscProxy.mjs +0 -107
- package/dist/esm/router/runtime/tanstack/rsc/index.mjs +0 -1
- package/dist/esm/router/runtime/tanstack/rsc/server.mjs +0 -200
- package/dist/esm/router/runtime/tanstack/rsc/slotUsageSanitizer.mjs +0 -31
- package/dist/esm/router/runtime/tanstack/rsc/symbols.mjs +0 -17
- package/dist/esm/ssr/index.node.mjs +0 -44
- package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.mjs +0 -50
- package/dist/esm/ssr/serverRender/renderToString/entry.mjs +0 -148
- package/dist/esm/ssr/serverRender/types.mjs +0 -1
- package/dist/esm-node/router/cli/code/tanstackTypes.mjs +0 -332
- package/dist/esm-node/router/runtime/tanstack/basepathRewrite.mjs +0 -29
- package/dist/esm-node/router/runtime/tanstack/dataMutation.mjs +0 -306
- package/dist/esm-node/router/runtime/tanstack/plugin.mjs +0 -206
- package/dist/esm-node/router/runtime/tanstack/plugin.node.mjs +0 -245
- package/dist/esm-node/router/runtime/tanstack/prefetchLink.mjs +0 -19
- package/dist/esm-node/router/runtime/tanstack/routeTree.mjs +0 -430
- package/dist/esm-node/router/runtime/tanstack/rsc/ClientSlot.mjs +0 -20
- package/dist/esm-node/router/runtime/tanstack/rsc/CompositeComponent.mjs +0 -42
- package/dist/esm-node/router/runtime/tanstack/rsc/ReplayableStream.mjs +0 -105
- package/dist/esm-node/router/runtime/tanstack/rsc/RscNodeRenderer.mjs +0 -32
- package/dist/esm-node/router/runtime/tanstack/rsc/SlotContext.mjs +0 -18
- package/dist/esm-node/router/runtime/tanstack/rsc/client.mjs +0 -54
- package/dist/esm-node/router/runtime/tanstack/rsc/createRscProxy.mjs +0 -108
- package/dist/esm-node/router/runtime/tanstack/rsc/index.mjs +0 -2
- package/dist/esm-node/router/runtime/tanstack/rsc/server.mjs +0 -201
- package/dist/esm-node/router/runtime/tanstack/rsc/slotUsageSanitizer.mjs +0 -32
- package/dist/esm-node/router/runtime/tanstack/rsc/symbols.mjs +0 -18
- package/dist/esm-node/ssr/index.node.mjs +0 -45
- package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.mjs +0 -51
- package/dist/esm-node/ssr/serverRender/renderToString/entry.mjs +0 -149
- package/dist/esm-node/ssr/serverRender/types.mjs +0 -2
- package/dist/types/router/cli/code/tanstackTypes.d.ts +0 -10
- package/dist/types/router/runtime/tanstack/basepathRewrite.d.ts +0 -8
- package/dist/types/router/runtime/tanstack/dataMutation.d.ts +0 -29
- package/dist/types/router/runtime/tanstack/plugin.d.ts +0 -6
- package/dist/types/router/runtime/tanstack/plugin.node.d.ts +0 -6
- package/dist/types/router/runtime/tanstack/prefetchLink.d.ts +0 -11
- package/dist/types/router/runtime/tanstack/routeTree.d.ts +0 -8
- package/dist/types/router/runtime/tanstack/rsc/ClientSlot.d.ts +0 -5
- package/dist/types/router/runtime/tanstack/rsc/CompositeComponent.d.ts +0 -3
- package/dist/types/router/runtime/tanstack/rsc/ReplayableStream.d.ts +0 -24
- package/dist/types/router/runtime/tanstack/rsc/RscNodeRenderer.d.ts +0 -5
- package/dist/types/router/runtime/tanstack/rsc/SlotContext.d.ts +0 -11
- package/dist/types/router/runtime/tanstack/rsc/client.d.ts +0 -11
- package/dist/types/router/runtime/tanstack/rsc/createRscProxy.d.ts +0 -7
- package/dist/types/router/runtime/tanstack/rsc/index.d.ts +0 -2
- package/dist/types/router/runtime/tanstack/rsc/server.d.ts +0 -14
- package/dist/types/router/runtime/tanstack/rsc/slotUsageSanitizer.d.ts +0 -2
- package/dist/types/router/runtime/tanstack/rsc/symbols.d.ts +0 -46
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
4
|
-
__webpack_require__.n = (module)=>{
|
|
5
|
-
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
-
__webpack_require__.d(getter, {
|
|
7
|
-
a: getter
|
|
8
|
-
});
|
|
9
|
-
return getter;
|
|
10
|
-
};
|
|
11
|
-
})();
|
|
12
|
-
(()=>{
|
|
13
|
-
__webpack_require__.d = (exports1, definition)=>{
|
|
14
|
-
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: definition[key]
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
})();
|
|
20
|
-
(()=>{
|
|
21
|
-
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
22
|
-
})();
|
|
23
|
-
(()=>{
|
|
24
|
-
__webpack_require__.r = (exports1)=>{
|
|
25
|
-
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
26
|
-
value: 'Module'
|
|
27
|
-
});
|
|
28
|
-
Object.defineProperty(exports1, '__esModule', {
|
|
29
|
-
value: true
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
})();
|
|
33
|
-
var __webpack_exports__ = {};
|
|
34
|
-
__webpack_require__.r(__webpack_exports__);
|
|
35
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
36
|
-
default: ()=>Entry
|
|
37
|
-
});
|
|
38
|
-
const node_namespaceObject = require("@modern-js/runtime-utils/node");
|
|
39
|
-
const time_namespaceObject = require("@modern-js/runtime-utils/time");
|
|
40
|
-
const external_react_namespaceObject = require("react");
|
|
41
|
-
var external_react_default = /*#__PURE__*/ __webpack_require__.n(external_react_namespaceObject);
|
|
42
|
-
const external_react_helmet_namespaceObject = require("react-helmet");
|
|
43
|
-
var external_react_helmet_default = /*#__PURE__*/ __webpack_require__.n(external_react_helmet_namespaceObject);
|
|
44
|
-
const utils_js_namespaceObject = require("../../../router/runtime/utils.js");
|
|
45
|
-
const external_prefetch_namespaceObject = require("../../prefetch");
|
|
46
|
-
var external_prefetch_default = /*#__PURE__*/ __webpack_require__.n(external_prefetch_namespaceObject);
|
|
47
|
-
const external_helmet_namespaceObject = require("../helmet");
|
|
48
|
-
var external_helmet_default = /*#__PURE__*/ __webpack_require__.n(external_helmet_namespaceObject);
|
|
49
|
-
const external_tracker_namespaceObject = require("../tracker");
|
|
50
|
-
const external_types_js_namespaceObject = require("../types.js");
|
|
51
|
-
const external_utils_namespaceObject = require("../utils");
|
|
52
|
-
const external_buildHtml_namespaceObject = require("./buildHtml");
|
|
53
|
-
const external_loadable_namespaceObject = require("./loadable");
|
|
54
|
-
const external_render_namespaceObject = require("./render");
|
|
55
|
-
const external_styledComponent_namespaceObject = require("./styledComponent");
|
|
56
|
-
const buildTemplateData = (context, data, renderLevel, tracker)=>{
|
|
57
|
-
const { request, enableUnsafeCtx } = context;
|
|
58
|
-
const unsafeContext = {
|
|
59
|
-
headers: request.headers
|
|
60
|
-
};
|
|
61
|
-
return {
|
|
62
|
-
data,
|
|
63
|
-
context: {
|
|
64
|
-
request: {
|
|
65
|
-
params: request.params,
|
|
66
|
-
query: request.query,
|
|
67
|
-
pathname: request.pathname,
|
|
68
|
-
host: request.host,
|
|
69
|
-
url: request.url,
|
|
70
|
-
...enableUnsafeCtx ? unsafeContext : {}
|
|
71
|
-
},
|
|
72
|
-
reporter: {
|
|
73
|
-
sessionId: tracker.sessionId
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
renderLevel
|
|
77
|
-
};
|
|
78
|
-
};
|
|
79
|
-
class Entry {
|
|
80
|
-
async renderToHtml(context) {
|
|
81
|
-
const ssrContext = context.ssrContext;
|
|
82
|
-
if (ssrContext.redirection?.url) return '';
|
|
83
|
-
const prefetchData = await this.prefetch(context);
|
|
84
|
-
if (ssrContext.redirection?.url) return '';
|
|
85
|
-
if (this.result.renderLevel >= external_types_js_namespaceObject.RenderLevel.SERVER_PREFETCH) this.result.html = await this.renderToString(context);
|
|
86
|
-
if (ssrContext.redirection?.url) return '';
|
|
87
|
-
const { routerContext, routerServerSnapshot } = context;
|
|
88
|
-
const routerData = routerServerSnapshot?.routerData ? {
|
|
89
|
-
loaderData: routerServerSnapshot.routerData.loaderData,
|
|
90
|
-
errors: (0, utils_js_namespaceObject.serializeErrors)(routerServerSnapshot.routerData.errors)
|
|
91
|
-
} : routerContext ? {
|
|
92
|
-
loaderData: routerContext.loaderData,
|
|
93
|
-
errors: (0, utils_js_namespaceObject.serializeErrors)(routerContext.errors)
|
|
94
|
-
} : void 0;
|
|
95
|
-
const templateData = buildTemplateData(ssrContext, prefetchData, this.result.renderLevel, this.tracker);
|
|
96
|
-
const ssrDataScripts = this.getSSRDataScript(templateData, routerData);
|
|
97
|
-
const html = (0, external_buildHtml_namespaceObject.buildHtml)(this.template, [
|
|
98
|
-
(0, external_buildHtml_namespaceObject.createReplaceChunkCss)(this.result.chunksMap.css),
|
|
99
|
-
(0, external_buildHtml_namespaceObject.createReplaceChunkJs)(this.result.chunksMap.js),
|
|
100
|
-
(0, external_buildHtml_namespaceObject.createReplaceHtml)(this.result.html || ''),
|
|
101
|
-
(0, external_buildHtml_namespaceObject.createReplaceSSRDataScript)(ssrDataScripts),
|
|
102
|
-
...this.htmlModifiers
|
|
103
|
-
]);
|
|
104
|
-
const helmetData = external_react_helmet_default().renderStatic();
|
|
105
|
-
return helmetData ? external_helmet_default()(html, helmetData) : html;
|
|
106
|
-
}
|
|
107
|
-
async prefetch(context) {
|
|
108
|
-
let prefetchData;
|
|
109
|
-
const end = (0, time_namespaceObject.time)();
|
|
110
|
-
try {
|
|
111
|
-
prefetchData = await external_prefetch_default()(this.App, context, this.pluginConfig);
|
|
112
|
-
this.result.renderLevel = external_types_js_namespaceObject.RenderLevel.SERVER_PREFETCH;
|
|
113
|
-
const prefetchCost = end();
|
|
114
|
-
this.tracker.trackTiming(external_tracker_namespaceObject.SSRTimings.SSR_PREFETCH, prefetchCost);
|
|
115
|
-
} catch (e) {
|
|
116
|
-
this.result.renderLevel = external_types_js_namespaceObject.RenderLevel.CLIENT_RENDER;
|
|
117
|
-
this.tracker.trackError(external_tracker_namespaceObject.SSRErrors.PREFETCH, e);
|
|
118
|
-
}
|
|
119
|
-
return prefetchData || {};
|
|
120
|
-
}
|
|
121
|
-
async renderToString(context) {
|
|
122
|
-
let html = '';
|
|
123
|
-
const end = (0, time_namespaceObject.time)();
|
|
124
|
-
const { ssrContext } = context;
|
|
125
|
-
try {
|
|
126
|
-
const App = external_react_default().createElement(this.App, {
|
|
127
|
-
context: Object.assign(context, {
|
|
128
|
-
ssr: true
|
|
129
|
-
})
|
|
130
|
-
});
|
|
131
|
-
html = await (0, external_render_namespaceObject.createRender)(App).addCollector((0, external_styledComponent_namespaceObject.createStyledCollector)(this.result)).addCollector((0, external_loadable_namespaceObject.createLoadableCollector)({
|
|
132
|
-
stats: ssrContext.loadableStats,
|
|
133
|
-
result: this.result,
|
|
134
|
-
entryName: this.entryName,
|
|
135
|
-
config: this.pluginConfig,
|
|
136
|
-
nonce: this.nonce,
|
|
137
|
-
template: this.template,
|
|
138
|
-
routeManifest: this.routeManifest
|
|
139
|
-
})).finish();
|
|
140
|
-
const cost = end();
|
|
141
|
-
this.tracker.trackTiming(external_tracker_namespaceObject.SSRTimings.SSR_RENDER_HTML, cost);
|
|
142
|
-
this.result.renderLevel = external_types_js_namespaceObject.RenderLevel.SERVER_RENDER;
|
|
143
|
-
} catch (e) {
|
|
144
|
-
this.tracker.trackError(external_tracker_namespaceObject.SSRErrors.RENDER_HTML, e);
|
|
145
|
-
}
|
|
146
|
-
return html;
|
|
147
|
-
}
|
|
148
|
-
getSSRDataScript(templateData, routerData) {
|
|
149
|
-
const useInlineScript = false !== this.pluginConfig.inlineScript;
|
|
150
|
-
const sanitizedTemplateData = (0, node_namespaceObject.sanitizeSSRPayload)(templateData, {
|
|
151
|
-
unsafeHeaders: this.pluginConfig.unsafeHeaders
|
|
152
|
-
}).payload;
|
|
153
|
-
const ssrData = (0, node_namespaceObject.serializeJson)(sanitizedTemplateData);
|
|
154
|
-
const attrsStr = (0, external_utils_namespaceObject.attributesToString)({
|
|
155
|
-
nonce: this.nonce
|
|
156
|
-
});
|
|
157
|
-
let ssrDataScripts = useInlineScript ? `<script${attrsStr}>window._SSR_DATA = ${ssrData}</script>` : `<script type="application/json" id="${external_utils_namespaceObject.SSR_DATA_JSON_ID}">${ssrData}</script>`;
|
|
158
|
-
if (routerData) {
|
|
159
|
-
const sanitizedRouterData = (0, node_namespaceObject.sanitizeSSRPayload)(routerData, {
|
|
160
|
-
unsafeHeaders: this.pluginConfig.unsafeHeaders
|
|
161
|
-
}).payload;
|
|
162
|
-
const serializedRouterData = (0, node_namespaceObject.serializeJson)(sanitizedRouterData);
|
|
163
|
-
ssrDataScripts += useInlineScript ? `\n<script${attrsStr}>window._ROUTER_DATA = ${serializedRouterData}</script>` : `\n<script type="application/json" id="${external_utils_namespaceObject.ROUTER_DATA_JSON_ID}">${serializedRouterData}</script>`;
|
|
164
|
-
}
|
|
165
|
-
return ssrDataScripts;
|
|
166
|
-
}
|
|
167
|
-
constructor(options){
|
|
168
|
-
const { ctx, config } = options;
|
|
169
|
-
const { entryName, template, nonce } = ctx;
|
|
170
|
-
this.template = template;
|
|
171
|
-
this.entryName = entryName;
|
|
172
|
-
this.App = options.App;
|
|
173
|
-
this.pluginConfig = config;
|
|
174
|
-
this.routeManifest = ctx.routeManifest;
|
|
175
|
-
this.tracker = ctx.tracker;
|
|
176
|
-
this.metrics = ctx.metrics;
|
|
177
|
-
this.htmlModifiers = ctx.htmlModifiers;
|
|
178
|
-
this.nonce = nonce;
|
|
179
|
-
this.result = {
|
|
180
|
-
renderLevel: external_types_js_namespaceObject.RenderLevel.CLIENT_RENDER,
|
|
181
|
-
html: '',
|
|
182
|
-
chunksMap: {
|
|
183
|
-
js: '',
|
|
184
|
-
css: ''
|
|
185
|
-
}
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
exports["default"] = __webpack_exports__["default"];
|
|
190
|
-
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
191
|
-
"default"
|
|
192
|
-
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
193
|
-
Object.defineProperty(exports, '__esModule', {
|
|
194
|
-
value: true
|
|
195
|
-
});
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
-
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: definition[key]
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
})();
|
|
11
|
-
(()=>{
|
|
12
|
-
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
-
})();
|
|
14
|
-
(()=>{
|
|
15
|
-
__webpack_require__.r = (exports1)=>{
|
|
16
|
-
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
-
value: 'Module'
|
|
18
|
-
});
|
|
19
|
-
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
-
value: true
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
})();
|
|
24
|
-
var __webpack_exports__ = {};
|
|
25
|
-
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
RenderLevel: ()=>type_namespaceObject.RenderLevel
|
|
28
|
-
});
|
|
29
|
-
const type_namespaceObject = require("./renderToString/type");
|
|
30
|
-
exports.RenderLevel = __webpack_exports__.RenderLevel;
|
|
31
|
-
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
32
|
-
"RenderLevel"
|
|
33
|
-
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
34
|
-
Object.defineProperty(exports, '__esModule', {
|
|
35
|
-
value: true
|
|
36
|
-
});
|
|
@@ -1,331 +0,0 @@
|
|
|
1
|
-
import { findExists, formatImportPath, fs, slash } from "@modern-js/utils";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import { makeLegalIdentifier } from "./makeLegalIdentifier.mjs";
|
|
4
|
-
import { getPathWithoutExt } from "./utils.mjs";
|
|
5
|
-
const JS_OR_TS_EXTS = [
|
|
6
|
-
'.js',
|
|
7
|
-
'.jsx',
|
|
8
|
-
'.ts',
|
|
9
|
-
'.tsx',
|
|
10
|
-
'.mjs',
|
|
11
|
-
'.mts',
|
|
12
|
-
'.cjs',
|
|
13
|
-
'.cts'
|
|
14
|
-
];
|
|
15
|
-
function toTanstackPath(pathname) {
|
|
16
|
-
return pathname.split('/').map((segment)=>{
|
|
17
|
-
if (!segment) return segment;
|
|
18
|
-
if ('*' === segment) return '$';
|
|
19
|
-
if (segment.startsWith(':')) {
|
|
20
|
-
const name = segment.slice(1);
|
|
21
|
-
if (name.endsWith('?')) return `{-$${name.slice(0, -1)}}`;
|
|
22
|
-
return `$${name}`;
|
|
23
|
-
}
|
|
24
|
-
return segment;
|
|
25
|
-
}).join('/');
|
|
26
|
-
}
|
|
27
|
-
async function resolveFileNoExt(inputNoExtPath) {
|
|
28
|
-
const file = findExists(JS_OR_TS_EXTS.map((ext)=>`${inputNoExtPath}${ext}`));
|
|
29
|
-
return file ? getPathWithoutExt(file) : null;
|
|
30
|
-
}
|
|
31
|
-
function quote(str) {
|
|
32
|
-
return JSON.stringify(str);
|
|
33
|
-
}
|
|
34
|
-
function normalizeRelativeImport(p) {
|
|
35
|
-
const normalized = formatImportPath(slash(p));
|
|
36
|
-
if (normalized.startsWith('.')) return normalized;
|
|
37
|
-
return `./${normalized}`;
|
|
38
|
-
}
|
|
39
|
-
function pickModernLoaderModule(route) {
|
|
40
|
-
const loaderPath = route.data || route.loader;
|
|
41
|
-
if (!loaderPath || 'string' != typeof loaderPath) return null;
|
|
42
|
-
const inline = Boolean(route.data);
|
|
43
|
-
return {
|
|
44
|
-
loaderPath,
|
|
45
|
-
inline
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
function isPathlessLayout(route) {
|
|
49
|
-
return 'nested' === route.type && 'boolean' != typeof route.index && void 0 === route.path;
|
|
50
|
-
}
|
|
51
|
-
function isIndexRoute(route) {
|
|
52
|
-
return 'nested' === route.type && Boolean(route.index);
|
|
53
|
-
}
|
|
54
|
-
function createRouteStaticDataSnippet(opts) {
|
|
55
|
-
const staticDataLines = [];
|
|
56
|
-
if (opts.modernRouteId) staticDataLines.push(`modernRouteId: ${quote(opts.modernRouteId)},`);
|
|
57
|
-
if (opts.loaderName) staticDataLines.push(`modernRouteLoader: ${opts.loaderName},`);
|
|
58
|
-
if (opts.actionName) staticDataLines.push(`modernRouteAction: ${opts.actionName},`);
|
|
59
|
-
if (!staticDataLines.length) return null;
|
|
60
|
-
return `staticData: createRouteStaticData({\n ${staticDataLines.join('\n ')}\n }),`;
|
|
61
|
-
}
|
|
62
|
-
async function isTanstackRouterFrameworkEnabled(appContext) {
|
|
63
|
-
const runtimeConfigBase = path.join(appContext.srcDirectory, appContext.runtimeConfigFile);
|
|
64
|
-
const runtimeConfigFile = findExists(JS_OR_TS_EXTS.map((ext)=>`${runtimeConfigBase}${ext}`));
|
|
65
|
-
if (!runtimeConfigFile) return false;
|
|
66
|
-
try {
|
|
67
|
-
const content = await fs.readFile(runtimeConfigFile, 'utf-8');
|
|
68
|
-
return /framework\s*:\s*['"]tanstack['"]/.test(content);
|
|
69
|
-
} catch {
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
async function generateTanstackRouterTypesSourceForEntry(opts) {
|
|
74
|
-
const { appContext, entryName, routes } = opts;
|
|
75
|
-
const outDir = path.join(appContext.srcDirectory, 'modern-tanstack', entryName);
|
|
76
|
-
const rootModern = routes.find((r)=>r && 'nested' === r.type && r.isRoot);
|
|
77
|
-
const topLevel = rootModern ? rootModern.children || [] : routes;
|
|
78
|
-
const imports = [];
|
|
79
|
-
const statements = [];
|
|
80
|
-
const loaderImportMap = new Map();
|
|
81
|
-
let loaderIndex = 0;
|
|
82
|
-
let routeIndex = 0;
|
|
83
|
-
const getImportNamesForLoader = async (aliasedNoExtPath, inline, hasAction)=>{
|
|
84
|
-
const key = `${inline ? 'inline' : 'default'}:${hasAction ? 'action' : 'loader'}:${aliasedNoExtPath}`;
|
|
85
|
-
const existing = loaderImportMap.get(key);
|
|
86
|
-
if (existing) return {
|
|
87
|
-
loaderName: existing,
|
|
88
|
-
actionName: hasAction ? existing.replace(/^loader_/, 'action_') : null
|
|
89
|
-
};
|
|
90
|
-
const prefix = `${appContext.internalSrcAlias}/`;
|
|
91
|
-
let absNoExt = null;
|
|
92
|
-
if (aliasedNoExtPath.startsWith(prefix)) {
|
|
93
|
-
const rel = aliasedNoExtPath.slice(prefix.length);
|
|
94
|
-
absNoExt = path.join(appContext.srcDirectory, rel);
|
|
95
|
-
} else absNoExt = path.isAbsolute(aliasedNoExtPath) ? aliasedNoExtPath : path.join(appContext.srcDirectory, aliasedNoExtPath);
|
|
96
|
-
const resolvedNoExt = await resolveFileNoExt(absNoExt);
|
|
97
|
-
if (!resolvedNoExt) return null;
|
|
98
|
-
const relImport = normalizeRelativeImport(path.relative(outDir, resolvedNoExt));
|
|
99
|
-
const importName = `loader_${loaderIndex++}`;
|
|
100
|
-
const actionName = hasAction ? importName.replace(/^loader_/, 'action_') : null;
|
|
101
|
-
if (inline) {
|
|
102
|
-
const specifiers = [
|
|
103
|
-
`loader as ${importName}`
|
|
104
|
-
];
|
|
105
|
-
if (actionName) specifiers.push(`action as ${actionName}`);
|
|
106
|
-
imports.push(`import { ${specifiers.join(', ')} } from ${quote(relImport)};`);
|
|
107
|
-
} else imports.push(`import ${importName} from ${quote(relImport)};`);
|
|
108
|
-
loaderImportMap.set(key, importName);
|
|
109
|
-
return {
|
|
110
|
-
loaderName: importName,
|
|
111
|
-
actionName
|
|
112
|
-
};
|
|
113
|
-
};
|
|
114
|
-
const createRouteVarName = (route)=>{
|
|
115
|
-
const id = route.id;
|
|
116
|
-
const base = id ? makeLegalIdentifier(id) : `r_${routeIndex++}`;
|
|
117
|
-
return `route_${base}`;
|
|
118
|
-
};
|
|
119
|
-
const buildRoute = async (opts)=>{
|
|
120
|
-
const { parentVar, route } = opts;
|
|
121
|
-
const varName = createRouteVarName(route);
|
|
122
|
-
const loaderInfo = pickModernLoaderModule(route);
|
|
123
|
-
const routeAction = route.action;
|
|
124
|
-
const loaderImports = loaderInfo ? await getImportNamesForLoader(loaderInfo.loaderPath, loaderInfo.inline, Boolean(loaderInfo.inline && routeAction === loaderInfo.loaderPath)) : null;
|
|
125
|
-
const loaderName = loaderImports?.loaderName || null;
|
|
126
|
-
const actionName = loaderImports?.actionName || null;
|
|
127
|
-
const rawPath = route.path;
|
|
128
|
-
const hasSplat = 'string' == typeof rawPath && rawPath.includes('*');
|
|
129
|
-
const routeOpts = [
|
|
130
|
-
`getParentRoute: () => ${parentVar},`
|
|
131
|
-
];
|
|
132
|
-
if (isPathlessLayout(route)) {
|
|
133
|
-
const id = route.id;
|
|
134
|
-
routeOpts.push(`id: ${quote(id || 'pathless')},`);
|
|
135
|
-
} else {
|
|
136
|
-
const p = isIndexRoute(route) ? '/' : toTanstackPath(rawPath || '');
|
|
137
|
-
routeOpts.push(`path: ${quote(p)},`);
|
|
138
|
-
}
|
|
139
|
-
if (loaderName) routeOpts.push(`loader: modernLoaderToTanstack({ hasSplat: ${hasSplat} }, ${loaderName}),`);
|
|
140
|
-
const staticDataSnippet = createRouteStaticDataSnippet({
|
|
141
|
-
modernRouteId: route.id,
|
|
142
|
-
loaderName,
|
|
143
|
-
actionName
|
|
144
|
-
});
|
|
145
|
-
if (staticDataSnippet) routeOpts.push(staticDataSnippet);
|
|
146
|
-
statements.push(`const ${varName} = createRoute({\n ${routeOpts.join('\n ')}\n});`);
|
|
147
|
-
const children = route.children;
|
|
148
|
-
if (children && children.length > 0) {
|
|
149
|
-
const childVars = await Promise.all(children.map((child)=>buildRoute({
|
|
150
|
-
parentVar: varName,
|
|
151
|
-
route: child
|
|
152
|
-
})));
|
|
153
|
-
statements.push(`${varName}.addChildren([${childVars.join(', ')}]);`);
|
|
154
|
-
}
|
|
155
|
-
return varName;
|
|
156
|
-
};
|
|
157
|
-
const rootLoaderInfo = rootModern ? pickModernLoaderModule(rootModern) : null;
|
|
158
|
-
const rootAction = rootModern?.action;
|
|
159
|
-
const rootLoaderImports = rootLoaderInfo?.loaderPath ? await getImportNamesForLoader(rootLoaderInfo.loaderPath, rootLoaderInfo.inline, Boolean(rootLoaderInfo.inline && rootAction === rootLoaderInfo.loaderPath)) : null;
|
|
160
|
-
const rootLoaderName = rootLoaderImports?.loaderName || null;
|
|
161
|
-
const rootActionName = rootLoaderImports?.actionName || null;
|
|
162
|
-
const topLevelVars = await Promise.all(topLevel.map((route)=>buildRoute({
|
|
163
|
-
parentVar: 'rootRoute',
|
|
164
|
-
route
|
|
165
|
-
})));
|
|
166
|
-
const rootOpts = [];
|
|
167
|
-
if (rootLoaderName) rootOpts.push(`loader: modernLoaderToTanstack({ hasSplat: false }, ${rootLoaderName}),`);
|
|
168
|
-
const routerGenTs = `/* eslint-disable */
|
|
169
|
-
// This file is auto-generated by Modern.js. Do not edit manually.
|
|
170
|
-
|
|
171
|
-
import {
|
|
172
|
-
createMemoryHistory,
|
|
173
|
-
createRootRouteWithContext,
|
|
174
|
-
createRoute,
|
|
175
|
-
createRouter,
|
|
176
|
-
notFound,
|
|
177
|
-
redirect,
|
|
178
|
-
} from '@modern-js/runtime/tanstack-router';
|
|
179
|
-
|
|
180
|
-
type ModernRouterContext = {
|
|
181
|
-
request?: Request;
|
|
182
|
-
requestContext?: unknown;
|
|
183
|
-
};
|
|
184
|
-
|
|
185
|
-
function isResponse(value: unknown): value is Response {
|
|
186
|
-
return (
|
|
187
|
-
value != null &&
|
|
188
|
-
typeof value === 'object' &&
|
|
189
|
-
typeof (value as any).status === 'number' &&
|
|
190
|
-
typeof (value as any).headers === 'object'
|
|
191
|
-
);
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
const redirectStatusCodes = new Set([301, 302, 303, 307, 308]);
|
|
195
|
-
function isRedirectResponse(res: Response) {
|
|
196
|
-
return redirectStatusCodes.has(res.status);
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
function throwTanstackRedirect(location: string) {
|
|
200
|
-
const target = location || '/';
|
|
201
|
-
try {
|
|
202
|
-
void new URL(target);
|
|
203
|
-
throw redirect({ href: target });
|
|
204
|
-
} catch {
|
|
205
|
-
throw redirect({ to: target });
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
function mapParamsForModernLoader(params: Record<string, string>, hasSplat: boolean) {
|
|
210
|
-
if (!hasSplat) {
|
|
211
|
-
return params;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
const { _splat, ...rest } = params as any;
|
|
215
|
-
if (typeof _splat !== 'undefined') {
|
|
216
|
-
return { ...rest, '*': _splat };
|
|
217
|
-
}
|
|
218
|
-
return rest;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
function createRouteStaticData(opts: {
|
|
222
|
-
modernRouteId?: string;
|
|
223
|
-
modernRouteAction?: unknown;
|
|
224
|
-
modernRouteLoader?: unknown;
|
|
225
|
-
}) {
|
|
226
|
-
const staticData: Record<string, unknown> = {};
|
|
227
|
-
|
|
228
|
-
if (opts.modernRouteId) {
|
|
229
|
-
staticData.modernRouteId = opts.modernRouteId;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
if (opts.modernRouteLoader) {
|
|
233
|
-
staticData.modernRouteLoader = opts.modernRouteLoader;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
if (opts.modernRouteAction) {
|
|
237
|
-
staticData.modernRouteAction = opts.modernRouteAction;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
return Object.keys(staticData).length > 0 ? staticData : undefined;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
function modernLoaderToTanstack<TLoader extends (args: any) => any>(
|
|
244
|
-
opts: { hasSplat: boolean },
|
|
245
|
-
modernLoader: TLoader,
|
|
246
|
-
) {
|
|
247
|
-
type LoaderResult = Awaited<ReturnType<TLoader>>;
|
|
248
|
-
|
|
249
|
-
return async (ctx: any): Promise<LoaderResult> => {
|
|
250
|
-
try {
|
|
251
|
-
const signal: AbortSignal =
|
|
252
|
-
ctx?.abortController?.signal ||
|
|
253
|
-
ctx?.signal ||
|
|
254
|
-
new AbortController().signal;
|
|
255
|
-
const baseRequest: Request | undefined =
|
|
256
|
-
ctx?.context?.request instanceof Request ? ctx.context.request : undefined;
|
|
257
|
-
|
|
258
|
-
const href =
|
|
259
|
-
typeof ctx?.location === 'string'
|
|
260
|
-
? ctx.location
|
|
261
|
-
: ctx?.location?.publicHref ||
|
|
262
|
-
ctx?.location?.href ||
|
|
263
|
-
ctx?.location?.url?.href ||
|
|
264
|
-
'';
|
|
265
|
-
|
|
266
|
-
const request = baseRequest
|
|
267
|
-
? new Request(baseRequest, { signal })
|
|
268
|
-
: new Request(href, { signal });
|
|
269
|
-
|
|
270
|
-
const params = mapParamsForModernLoader(ctx?.params || {}, opts.hasSplat);
|
|
271
|
-
|
|
272
|
-
const result = await (modernLoader as any)({
|
|
273
|
-
request,
|
|
274
|
-
params,
|
|
275
|
-
context: ctx?.context?.requestContext,
|
|
276
|
-
});
|
|
277
|
-
|
|
278
|
-
if (isResponse(result)) {
|
|
279
|
-
if (isRedirectResponse(result)) {
|
|
280
|
-
const location = result.headers.get('Location') || '/';
|
|
281
|
-
throwTanstackRedirect(location);
|
|
282
|
-
}
|
|
283
|
-
if (result.status === 404) {
|
|
284
|
-
throw notFound();
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
return result as LoaderResult;
|
|
289
|
-
} catch (err) {
|
|
290
|
-
if (isResponse(err)) {
|
|
291
|
-
if (isRedirectResponse(err)) {
|
|
292
|
-
const location = err.headers.get('Location') || '/';
|
|
293
|
-
throwTanstackRedirect(location);
|
|
294
|
-
}
|
|
295
|
-
if (err.status === 404) {
|
|
296
|
-
throw notFound();
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
throw err;
|
|
300
|
-
}
|
|
301
|
-
};
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
${imports.join('\n')}
|
|
305
|
-
|
|
306
|
-
export const rootRoute = createRootRouteWithContext<ModernRouterContext>()({
|
|
307
|
-
${rootOpts.join('\n ')}
|
|
308
|
-
${createRouteStaticDataSnippet({
|
|
309
|
-
modernRouteId: rootModern?.id,
|
|
310
|
-
loaderName: rootLoaderName,
|
|
311
|
-
actionName: rootActionName
|
|
312
|
-
}) || ''}
|
|
313
|
-
});
|
|
314
|
-
|
|
315
|
-
${statements.join('\n\n')}
|
|
316
|
-
|
|
317
|
-
export const routeTree = rootRoute.addChildren([${topLevelVars.join(', ')}]);
|
|
318
|
-
|
|
319
|
-
export const router = createRouter({
|
|
320
|
-
routeTree,
|
|
321
|
-
history: createMemoryHistory({
|
|
322
|
-
initialEntries: ['/'],
|
|
323
|
-
}),
|
|
324
|
-
context: {} as ModernRouterContext,
|
|
325
|
-
});
|
|
326
|
-
`;
|
|
327
|
-
return {
|
|
328
|
-
routerGenTs
|
|
329
|
-
};
|
|
330
|
-
}
|
|
331
|
-
export { generateTanstackRouterTypesSourceForEntry, isTanstackRouterFrameworkEnabled };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
function normalizeBasepath(basepath) {
|
|
2
|
-
if (!basepath) return '/';
|
|
3
|
-
let normalized = basepath.startsWith('/') ? basepath : `/${basepath}`;
|
|
4
|
-
if (normalized.length > 1 && normalized.endsWith('/')) normalized = normalized.slice(0, -1);
|
|
5
|
-
return normalized || '/';
|
|
6
|
-
}
|
|
7
|
-
function createModernBasepathRewrite(basepath, caseSensitive = false) {
|
|
8
|
-
const normalizedBasepath = normalizeBasepath(basepath);
|
|
9
|
-
if ('/' === normalizedBasepath) return;
|
|
10
|
-
const normalizedBasepathWithSlash = `${normalizedBasepath}/`;
|
|
11
|
-
const checkBasepath = caseSensitive ? normalizedBasepath : normalizedBasepath.toLowerCase();
|
|
12
|
-
const checkBasepathWithSlash = caseSensitive ? normalizedBasepathWithSlash : normalizedBasepathWithSlash.toLowerCase();
|
|
13
|
-
return {
|
|
14
|
-
input: ({ url })=>{
|
|
15
|
-
const pathname = caseSensitive ? url.pathname : url.pathname.toLowerCase();
|
|
16
|
-
if (pathname === checkBasepath) url.pathname = '/';
|
|
17
|
-
else if (pathname.startsWith(checkBasepathWithSlash)) url.pathname = url.pathname.slice(normalizedBasepath.length) || '/';
|
|
18
|
-
return url;
|
|
19
|
-
},
|
|
20
|
-
output: ({ url })=>{
|
|
21
|
-
const pathname = url.pathname || '/';
|
|
22
|
-
if ('/' === pathname) url.pathname = normalizedBasepath;
|
|
23
|
-
else url.pathname = `${normalizedBasepath}${pathname.startsWith('/') ? '' : '/'}${pathname}`;
|
|
24
|
-
return url;
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
export { createModernBasepathRewrite };
|