@bleedingdev/modern-js-runtime 3.2.0-ultramodern.99 → 3.4.0-ultramodern.1
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 +19 -11
- 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 +9 -5
- 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 +9 -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 +15 -9
- package/dist/cjs/core/server/constants.js +15 -11
- package/dist/cjs/core/server/federatedCss.js +11 -7
- package/dist/cjs/core/server/helmet.js +11 -6
- 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 +84 -9
- 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 +15 -23
- package/dist/cjs/core/server/stream/beforeTemplate.js +11 -7
- package/dist/cjs/core/server/stream/beforeTemplate.worker.js +10 -6
- package/dist/cjs/core/server/stream/createReadableStream.js +16 -10
- package/dist/cjs/core/server/stream/createReadableStream.worker.js +15 -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 +9 -5
- package/dist/cjs/core/server/stream/template.js +9 -5
- package/dist/cjs/core/server/string/index.js +10 -12
- package/dist/cjs/core/server/string/loadable.js +24 -54
- 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 +63 -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 +14 -11
- 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 +153 -83
- package/dist/cjs/exports/loadable.js +27 -18
- 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 +16 -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 -19
- 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 -29
- 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 +19 -9
- 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 -15
- 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 +9 -5
- package/dist/esm/boundary-debugger/index.mjs +10 -6
- package/dist/esm/cli/index.mjs +4 -2
- 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 +6 -4
- package/dist/esm/core/server/federatedCss.mjs +2 -2
- package/dist/esm/core/server/helmet.mjs +2 -1
- 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 +62 -3
- package/dist/esm/core/server/stream/afterTemplate.mjs +8 -20
- package/dist/esm/core/server/stream/beforeTemplate.mjs +3 -3
- package/dist/esm/core/server/stream/beforeTemplate.worker.mjs +1 -1
- package/dist/esm/core/server/stream/createReadableStream.mjs +7 -5
- package/dist/esm/core/server/stream/createReadableStream.worker.mjs +6 -2
- package/dist/esm/core/server/stream/deferredScript.mjs +4 -1
- package/dist/esm/core/server/string/index.mjs +3 -9
- package/dist/esm/core/server/string/loadable.mjs +14 -48
- package/dist/esm/core/server/string/ssrData.mjs +2 -2
- package/dist/esm/core/server/utils.mjs +52 -9
- package/dist/esm/document/cli/index.mjs +5 -6
- package/dist/esm/exports/head.mjs +144 -78
- package/dist/esm/exports/loadable.mjs +12 -6
- 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 +8 -48
- package/dist/esm/router/cli/code/templates.mjs +1 -14
- package/dist/esm/router/cli/handler.mjs +1 -1
- package/dist/esm/router/cli/index.mjs +3 -25
- 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/rsc-router.mjs +10 -4
- package/dist/esm/router/runtime/utils.mjs +35 -10
- package/dist/esm-node/boundary-debugger/index.mjs +10 -6
- package/dist/esm-node/cli/index.mjs +4 -2
- 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 +6 -4
- package/dist/esm-node/core/server/federatedCss.mjs +2 -2
- package/dist/esm-node/core/server/helmet.mjs +2 -1
- 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 +62 -3
- package/dist/esm-node/core/server/stream/afterTemplate.mjs +8 -20
- package/dist/esm-node/core/server/stream/beforeTemplate.mjs +3 -3
- package/dist/esm-node/core/server/stream/beforeTemplate.worker.mjs +1 -1
- package/dist/esm-node/core/server/stream/createReadableStream.mjs +7 -5
- package/dist/esm-node/core/server/stream/createReadableStream.worker.mjs +6 -2
- package/dist/esm-node/core/server/stream/deferredScript.mjs +4 -1
- package/dist/esm-node/core/server/string/index.mjs +3 -9
- package/dist/esm-node/core/server/string/loadable.mjs +14 -48
- package/dist/esm-node/core/server/string/ssrData.mjs +2 -2
- package/dist/esm-node/core/server/utils.mjs +52 -9
- package/dist/esm-node/document/cli/index.mjs +5 -6
- package/dist/esm-node/exports/head.mjs +144 -78
- package/dist/esm-node/exports/loadable.mjs +12 -6
- 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 +8 -48
- package/dist/esm-node/router/cli/code/templates.mjs +1 -14
- package/dist/esm-node/router/cli/handler.mjs +1 -1
- package/dist/esm-node/router/cli/index.mjs +3 -25
- 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/rsc-router.mjs +10 -4
- package/dist/esm-node/router/runtime/utils.mjs +35 -10
- 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 -11
- package/dist/types/core/plugin/index.d.ts +1 -1
- package/dist/types/core/server/routerCleanup.d.ts +28 -0
- package/dist/types/core/server/scriptOrder.d.ts +24 -0
- package/dist/types/core/server/string/loadable.d.ts +1 -7
- package/dist/types/core/server/utils.d.ts +19 -1
- package/dist/types/document/constants.d.ts +3 -1
- package/dist/types/exports/head.d.ts +4 -4
- package/dist/types/exports/loadable.d.ts +1 -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/DeferredDataScripts.d.ts +1 -1
- 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/package.json +34 -26
- package/rstest.config.mts +2 -4
- package/dist/cjs/router/cli/code/tanstackTypes.js +0 -443
- 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/hydrationBoundary.js +0 -43
- package/dist/cjs/router/runtime/tanstack/plugin.js +0 -240
- package/dist/cjs/router/runtime/tanstack/plugin.node.js +0 -268
- package/dist/cjs/router/runtime/tanstack/prefetchLink.js +0 -55
- package/dist/cjs/router/runtime/tanstack/routeTree.js +0 -510
- 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 -196
- package/dist/cjs/ssr/serverRender/types.js +0 -36
- package/dist/esm/router/cli/code/tanstackTypes.mjs +0 -396
- 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/hydrationBoundary.mjs +0 -9
- package/dist/esm/router/runtime/tanstack/plugin.mjs +0 -206
- package/dist/esm/router/runtime/tanstack/plugin.node.mjs +0 -234
- package/dist/esm/router/runtime/tanstack/prefetchLink.mjs +0 -18
- package/dist/esm/router/runtime/tanstack/routeTree.mjs +0 -470
- 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 -151
- package/dist/esm/ssr/serverRender/types.mjs +0 -1
- package/dist/esm-node/router/cli/code/tanstackTypes.mjs +0 -397
- 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/hydrationBoundary.mjs +0 -10
- package/dist/esm-node/router/runtime/tanstack/plugin.mjs +0 -207
- package/dist/esm-node/router/runtime/tanstack/plugin.node.mjs +0 -235
- package/dist/esm-node/router/runtime/tanstack/prefetchLink.mjs +0 -19
- package/dist/esm-node/router/runtime/tanstack/routeTree.mjs +0 -471
- 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 -152
- 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/hydrationBoundary.d.ts +0 -2
- 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
|
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
|
|
|
10
10
|
};
|
|
11
11
|
})();
|
|
12
12
|
(()=>{
|
|
13
|
-
__webpack_require__.d = (exports1,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
14
|
+
var define = (defs, kind)=>{
|
|
15
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
[kind]: defs[key]
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
define(getters, "get");
|
|
21
|
+
define(values, "value");
|
|
18
22
|
};
|
|
19
23
|
})();
|
|
20
24
|
(()=>{
|
|
@@ -60,7 +64,7 @@ async function handleGeneratorEntryCode(api, entrypoints, options = {}) {
|
|
|
60
64
|
const { generatorRegisterCode, generateCode, generatorServerRegisterCode } = await import("./code/index.js");
|
|
61
65
|
originEntrypointsByKey.set(entrypointsKey, (0, lodash_namespaceObject.cloneDeep)(entrypoints));
|
|
62
66
|
const enableRsc = resolvedConfig?.server?.rsc;
|
|
63
|
-
const routesByEntry = await generateCode(appContext, resolvedConfig, entrypoints, api
|
|
67
|
+
const routesByEntry = await generateCode(appContext, resolvedConfig, entrypoints, api);
|
|
64
68
|
await Promise.all(entrypoints.map(async (entrypoint)=>{
|
|
65
69
|
if (entrypoint.nestedRoutesEntry || entrypoint.pageRoutesEntry) {
|
|
66
70
|
const route = appContext.serverRoutes.find((r)=>r.entryName === entrypoint.entryName);
|
|
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
|
|
|
10
10
|
};
|
|
11
11
|
})();
|
|
12
12
|
(()=>{
|
|
13
|
-
__webpack_require__.d = (exports1,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
14
|
+
var define = (defs, kind)=>{
|
|
15
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
[kind]: defs[key]
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
define(getters, "get");
|
|
21
|
+
define(values, "value");
|
|
18
22
|
};
|
|
19
23
|
})();
|
|
20
24
|
(()=>{
|
|
@@ -49,26 +53,6 @@ const utils_namespaceObject = require("@modern-js/utils");
|
|
|
49
53
|
const external_constants_js_namespaceObject = require("./constants.js");
|
|
50
54
|
const external_entry_js_namespaceObject = require("./entry.js");
|
|
51
55
|
const external_handler_js_namespaceObject = require("./handler.js");
|
|
52
|
-
const JS_OR_TS_EXTS = [
|
|
53
|
-
'.js',
|
|
54
|
-
'.jsx',
|
|
55
|
-
'.ts',
|
|
56
|
-
'.tsx',
|
|
57
|
-
'.mjs',
|
|
58
|
-
'.mts',
|
|
59
|
-
'.cjs',
|
|
60
|
-
'.cts'
|
|
61
|
-
];
|
|
62
|
-
function hasRouterConfigInRuntimeFile(runtimeConfigBase) {
|
|
63
|
-
const runtimeConfigFile = (0, utils_namespaceObject.findExists)(JS_OR_TS_EXTS.map((ext)=>`${runtimeConfigBase}${ext}`));
|
|
64
|
-
if (!runtimeConfigFile) return false;
|
|
65
|
-
try {
|
|
66
|
-
const content = utils_namespaceObject.fs.readFileSync(runtimeConfigFile, 'utf-8');
|
|
67
|
-
return /router\s*:/.test(content);
|
|
68
|
-
} catch {
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
56
|
function isBuiltInRouteEntrypoint(entrypoint) {
|
|
73
57
|
const entrypointRoutesOwner = (0, external_entry_js_namespaceObject.getEntrypointRoutesOwner)(entrypoint);
|
|
74
58
|
if (entrypointRoutesOwner) return entrypointRoutesOwner === external_entry_js_namespaceObject.BUILT_IN_ROUTES_OWNER;
|
|
@@ -98,12 +82,11 @@ const routerPlugin = ()=>({
|
|
|
98
82
|
});
|
|
99
83
|
});
|
|
100
84
|
api._internalRuntimePlugins(({ entrypoint, plugins })=>{
|
|
101
|
-
const { serverRoutes, metaName
|
|
85
|
+
const { serverRoutes, metaName } = api.getAppContext();
|
|
102
86
|
const normalizedConfig = api.getNormalizedConfig();
|
|
103
87
|
const hasUserRouterConfig = normalizedConfig.router && Object.keys(normalizedConfig.router).length > 0;
|
|
104
|
-
const hasRuntimeRouterConfig = hasRouterConfigInRuntimeFile(external_node_path_default().join(srcDirectory, runtimeConfigFile));
|
|
105
88
|
const serverBase = serverRoutes.filter((route)=>route.entryName === entrypoint.entryName).map((route)=>route.urlPath).sort((a, b)=>a.length - b.length > 0 ? -1 : 1);
|
|
106
|
-
const shouldInstallBuiltInRouter = isBuiltInRouteEntrypoint(entrypoint) || !isPluginOwnedRouteEntrypoint(entrypoint) &&
|
|
89
|
+
const shouldInstallBuiltInRouter = isBuiltInRouteEntrypoint(entrypoint) || !isPluginOwnedRouteEntrypoint(entrypoint) && hasUserRouterConfig;
|
|
107
90
|
if (shouldInstallBuiltInRouter) plugins.push({
|
|
108
91
|
name: 'router',
|
|
109
92
|
path: `@${metaName}/runtime/router/internal`,
|
|
@@ -124,7 +107,6 @@ const routerPlugin = ()=>({
|
|
|
124
107
|
source: {
|
|
125
108
|
include: [
|
|
126
109
|
/[\\/]node_modules[\\/]react-router[\\/]/,
|
|
127
|
-
/[\\/]node_modules[\\/]react-router-dom[\\/]/,
|
|
128
110
|
external_node_path_default().resolve(__dirname, '../runtime').replace('cjs', 'esm')
|
|
129
111
|
]
|
|
130
112
|
}
|
package/dist/cjs/router/index.js
CHANGED
|
@@ -24,11 +24,15 @@ function __webpack_require__(moduleId) {
|
|
|
24
24
|
};
|
|
25
25
|
})();
|
|
26
26
|
(()=>{
|
|
27
|
-
__webpack_require__.d = (exports1,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
28
|
+
var define = (defs, kind)=>{
|
|
29
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
[kind]: defs[key]
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
define(getters, "get");
|
|
35
|
+
define(values, "value");
|
|
32
36
|
};
|
|
33
37
|
})();
|
|
34
38
|
(()=>{
|
|
@@ -24,11 +24,15 @@ function __webpack_require__(moduleId) {
|
|
|
24
24
|
};
|
|
25
25
|
})();
|
|
26
26
|
(()=>{
|
|
27
|
-
__webpack_require__.d = (exports1,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
28
|
+
var define = (defs, kind)=>{
|
|
29
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
[kind]: defs[key]
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
define(getters, "get");
|
|
35
|
+
define(values, "value");
|
|
32
36
|
};
|
|
33
37
|
})();
|
|
34
38
|
(()=>{
|
|
@@ -47,13 +51,13 @@ function __webpack_require__(moduleId) {
|
|
|
47
51
|
var __webpack_exports__ = {};
|
|
48
52
|
(()=>{
|
|
49
53
|
__webpack_require__.r(__webpack_exports__);
|
|
50
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
51
|
-
default: ()=>_runtime_internal__rspack_import_0.routerPlugin
|
|
52
|
-
});
|
|
53
54
|
var _runtime_internal__rspack_import_0 = __webpack_require__("./runtime/internal");
|
|
54
55
|
var __rspack_reexport = {};
|
|
55
56
|
for(const __rspack_import_key in _runtime_internal__rspack_import_0)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_runtime_internal__rspack_import_0[__rspack_import_key];
|
|
56
57
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
58
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
59
|
+
default: ()=>_runtime_internal__rspack_import_0.routerPlugin
|
|
60
|
+
});
|
|
57
61
|
})();
|
|
58
62
|
exports["default"] = __webpack_exports__["default"];
|
|
59
63
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -23,10 +27,10 @@ var __webpack_require__ = {};
|
|
|
23
27
|
})();
|
|
24
28
|
var __webpack_exports__ = {};
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
default: ()=>__rspack_default_export
|
|
28
|
-
});
|
|
29
30
|
const __rspack_default_export = ()=>null;
|
|
31
|
+
__webpack_require__.d(__webpack_exports__, {}, {
|
|
32
|
+
default: __rspack_default_export
|
|
33
|
+
});
|
|
30
34
|
exports["default"] = __webpack_exports__["default"];
|
|
31
35
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
32
36
|
"default"
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -32,6 +36,21 @@ const external_react_namespaceObject = require("react");
|
|
|
32
36
|
const constants_js_namespaceObject = require("../../core/constants.js");
|
|
33
37
|
const external_constants_js_namespaceObject = require("./constants.js");
|
|
34
38
|
const external_utils_js_namespaceObject = require("./utils.js");
|
|
39
|
+
function toDeferredErrorInfo(error) {
|
|
40
|
+
if ('production' === process.env.NODE_ENV) return {
|
|
41
|
+
message: 'Unexpected Server Error'
|
|
42
|
+
};
|
|
43
|
+
if (error && 'object' == typeof error) {
|
|
44
|
+
const maybeMessage = error.message;
|
|
45
|
+
return {
|
|
46
|
+
message: 'string' == typeof maybeMessage ? maybeMessage : String(maybeMessage ?? error),
|
|
47
|
+
stack: error.stack
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
message: String(error)
|
|
52
|
+
};
|
|
53
|
+
}
|
|
35
54
|
const DeferredDataScripts = (props)=>{
|
|
36
55
|
const staticContext = props?.context;
|
|
37
56
|
const useJsonScript = props?.useJsonScript;
|
|
@@ -67,10 +86,7 @@ const DeferredDataScripts = (props)=>{
|
|
|
67
86
|
{
|
|
68
87
|
const trackedPromise = deferredData.data[key];
|
|
69
88
|
if (void 0 !== trackedPromise._error) {
|
|
70
|
-
const error =
|
|
71
|
-
message: trackedPromise._error.message,
|
|
72
|
-
stack: 'production' !== process.env.NODE_ENV ? trackedPromise._error.stack : void 0
|
|
73
|
-
};
|
|
89
|
+
const error = toDeferredErrorInfo(trackedPromise._error);
|
|
74
90
|
return {
|
|
75
91
|
key,
|
|
76
92
|
routerDataFnName: 'p',
|
|
@@ -11,11 +11,15 @@ var __webpack_require__ = {};
|
|
|
11
11
|
};
|
|
12
12
|
})();
|
|
13
13
|
(()=>{
|
|
14
|
-
__webpack_require__.d = (exports1,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
15
|
+
var define = (defs, kind)=>{
|
|
16
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
[kind]: defs[key]
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
define(getters, "get");
|
|
22
|
+
define(values, "value");
|
|
19
23
|
};
|
|
20
24
|
})();
|
|
21
25
|
(()=>{
|
|
@@ -49,45 +53,141 @@ function composeEventHandlers(theirHandler, ourHandler) {
|
|
|
49
53
|
};
|
|
50
54
|
}
|
|
51
55
|
const ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;
|
|
52
|
-
|
|
53
|
-
|
|
56
|
+
const DEFAULT_PREFETCH_BEHAVIOR = 'render';
|
|
57
|
+
const INTENT_DELAY = 100;
|
|
58
|
+
const VIEWPORT_ROOT_MARGIN = '200px';
|
|
59
|
+
const MAX_CONCURRENT_WARMUPS = 4;
|
|
60
|
+
const WARMUP_TTL = 30000;
|
|
61
|
+
const SLOW_EFFECTIVE_TYPES = new Set([
|
|
62
|
+
'slow-2g',
|
|
63
|
+
'2g'
|
|
64
|
+
]);
|
|
65
|
+
const warmupCache = new Map();
|
|
66
|
+
const warmupQueue = [];
|
|
67
|
+
let activeWarmups = 0;
|
|
68
|
+
const getWarmupTimestamp = ()=>performance.now();
|
|
69
|
+
const getConnection = ()=>{
|
|
70
|
+
const nav = globalThis.navigator;
|
|
71
|
+
return nav?.connection || nav?.mozConnection || nav?.webkitConnection;
|
|
72
|
+
};
|
|
73
|
+
const shouldWarmupOnCurrentNetwork = ()=>{
|
|
74
|
+
const connection = getConnection();
|
|
75
|
+
if (connection?.saveData) return false;
|
|
76
|
+
if ('string' == typeof connection?.effectiveType && SLOW_EFFECTIVE_TYPES.has(connection.effectiveType)) return false;
|
|
77
|
+
return true;
|
|
78
|
+
};
|
|
79
|
+
const pruneWarmupCache = (now = getWarmupTimestamp())=>{
|
|
80
|
+
for (const [key, timestamp] of warmupCache)if (now - timestamp > WARMUP_TTL) warmupCache.delete(key);
|
|
81
|
+
};
|
|
82
|
+
const runNextWarmup = ()=>{
|
|
83
|
+
while(activeWarmups < MAX_CONCURRENT_WARMUPS && warmupQueue.length > 0){
|
|
84
|
+
const task = warmupQueue.shift();
|
|
85
|
+
if (task.cancelled) continue;
|
|
86
|
+
activeWarmups += 1;
|
|
87
|
+
task.run().catch((error)=>{
|
|
88
|
+
console.error(error);
|
|
89
|
+
warmupCache.delete(task.key);
|
|
90
|
+
}).finally(()=>{
|
|
91
|
+
activeWarmups -= 1;
|
|
92
|
+
runNextWarmup();
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
const scheduleWarmup = (key, run)=>{
|
|
97
|
+
if (!shouldWarmupOnCurrentNetwork()) return ()=>{};
|
|
98
|
+
pruneWarmupCache();
|
|
99
|
+
if (warmupCache.has(key)) return ()=>{};
|
|
100
|
+
warmupCache.set(key, getWarmupTimestamp());
|
|
101
|
+
const task = {
|
|
102
|
+
key,
|
|
103
|
+
run,
|
|
104
|
+
cancelled: false
|
|
105
|
+
};
|
|
106
|
+
warmupQueue.push(task);
|
|
107
|
+
runNextWarmup();
|
|
108
|
+
return ()=>{
|
|
109
|
+
task.cancelled = true;
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
const setRef = (ref, value)=>{
|
|
113
|
+
if (!ref) return;
|
|
114
|
+
if ('function' == typeof ref) return void ref(value);
|
|
115
|
+
try {
|
|
116
|
+
ref.current = value;
|
|
117
|
+
} catch {}
|
|
118
|
+
};
|
|
119
|
+
const isDataWarmupEnabled = (route)=>{
|
|
120
|
+
const handle = route.handle;
|
|
121
|
+
return handle?.navigationWarmup?.data !== false;
|
|
122
|
+
};
|
|
123
|
+
function usePrefetchBehavior(prefetch, preload, theirElementProps) {
|
|
124
|
+
const [maybeWarmup, setMaybeWarmup] = external_react_default().useState(false);
|
|
54
125
|
const [shouldPrefetch, setShouldPrefetch] = external_react_default().useState(false);
|
|
126
|
+
const [shouldPreload, setShouldPreload] = external_react_default().useState(false);
|
|
127
|
+
const [viewportElement, setViewportElement] = external_react_default().useState(null);
|
|
55
128
|
const { onFocus, onBlur, onMouseEnter, onMouseLeave, onTouchStart } = theirElementProps;
|
|
56
129
|
external_react_default().useEffect(()=>{
|
|
57
130
|
if ('render' === prefetch) setShouldPrefetch(true);
|
|
131
|
+
if ('render' === preload) setShouldPreload(true);
|
|
58
132
|
}, [
|
|
59
|
-
prefetch
|
|
133
|
+
prefetch,
|
|
134
|
+
preload
|
|
60
135
|
]);
|
|
61
136
|
const setIntent = ()=>{
|
|
62
|
-
if ('intent' === prefetch)
|
|
137
|
+
if ('intent' === prefetch || 'intent' === preload) setMaybeWarmup(true);
|
|
63
138
|
};
|
|
64
139
|
const cancelIntent = ()=>{
|
|
65
|
-
if ('intent' === prefetch) {
|
|
66
|
-
|
|
140
|
+
if ('intent' === prefetch || 'intent' === preload) {
|
|
141
|
+
setMaybeWarmup(false);
|
|
67
142
|
setShouldPrefetch(false);
|
|
143
|
+
setShouldPreload(false);
|
|
68
144
|
}
|
|
69
145
|
};
|
|
70
146
|
external_react_default().useEffect(()=>{
|
|
71
|
-
if (
|
|
147
|
+
if (maybeWarmup) {
|
|
72
148
|
const id = setTimeout(()=>{
|
|
73
|
-
setShouldPrefetch(true);
|
|
74
|
-
|
|
149
|
+
if ('intent' === prefetch) setShouldPrefetch(true);
|
|
150
|
+
if ('intent' === preload) setShouldPreload(true);
|
|
151
|
+
}, INTENT_DELAY);
|
|
75
152
|
return ()=>{
|
|
76
153
|
clearTimeout(id);
|
|
77
154
|
};
|
|
78
155
|
}
|
|
79
156
|
}, [
|
|
80
|
-
|
|
157
|
+
maybeWarmup,
|
|
158
|
+
prefetch,
|
|
159
|
+
preload
|
|
160
|
+
]);
|
|
161
|
+
external_react_default().useEffect(()=>{
|
|
162
|
+
if (!viewportElement || 'viewport' !== prefetch && 'viewport' !== preload || "u" < typeof IntersectionObserver) return;
|
|
163
|
+
const observer = new IntersectionObserver((entries)=>{
|
|
164
|
+
if (!entries.some((entry)=>entry.isIntersecting)) return;
|
|
165
|
+
if ('viewport' === prefetch) setShouldPrefetch(true);
|
|
166
|
+
if ('viewport' === preload) setShouldPreload(true);
|
|
167
|
+
observer.disconnect();
|
|
168
|
+
}, {
|
|
169
|
+
rootMargin: VIEWPORT_ROOT_MARGIN
|
|
170
|
+
});
|
|
171
|
+
observer.observe(viewportElement);
|
|
172
|
+
return ()=>{
|
|
173
|
+
observer.disconnect();
|
|
174
|
+
};
|
|
175
|
+
}, [
|
|
176
|
+
prefetch,
|
|
177
|
+
preload,
|
|
178
|
+
viewportElement
|
|
81
179
|
]);
|
|
82
180
|
return [
|
|
83
181
|
shouldPrefetch,
|
|
182
|
+
shouldPreload,
|
|
84
183
|
{
|
|
85
184
|
onFocus: composeEventHandlers(onFocus, setIntent),
|
|
86
185
|
onBlur: composeEventHandlers(onBlur, cancelIntent),
|
|
87
186
|
onMouseEnter: composeEventHandlers(onMouseEnter, setIntent),
|
|
88
187
|
onMouseLeave: composeEventHandlers(onMouseLeave, cancelIntent),
|
|
89
188
|
onTouchStart: composeEventHandlers(onTouchStart, setIntent)
|
|
90
|
-
}
|
|
189
|
+
},
|
|
190
|
+
setViewportElement
|
|
91
191
|
];
|
|
92
192
|
}
|
|
93
193
|
async function loadRouteModule(route, routeAssets) {
|
|
@@ -122,14 +222,34 @@ const getDataHref = (route, pathname, basename)=>{
|
|
|
122
222
|
const url = getRequestUrl(path, id);
|
|
123
223
|
return createDataHref(url.toString());
|
|
124
224
|
};
|
|
125
|
-
const PrefetchPageLinks = ({ path })=>{
|
|
225
|
+
const PrefetchPageLinks = ({ path, includeData })=>{
|
|
126
226
|
const { pathname } = path;
|
|
127
227
|
const context = (0, external_react_namespaceObject.useContext)(index_js_namespaceObject.InternalRuntimeContext);
|
|
128
228
|
const { routeManifest, routes } = context;
|
|
129
229
|
const { routeAssets } = routeManifest || {};
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
230
|
+
const allowNetworkWarmup = shouldWarmupOnCurrentNetwork();
|
|
231
|
+
const matches = (0, external_react_namespaceObject.useMemo)(()=>Array.isArray(routes) ? (0, router_namespaceObject.matchRoutes)(routes, pathname) : [], [
|
|
232
|
+
pathname,
|
|
233
|
+
routes
|
|
234
|
+
]);
|
|
235
|
+
external_react_default().useEffect(()=>{
|
|
236
|
+
if (!allowNetworkWarmup || !Array.isArray(matches) || !routeAssets || !__webpack_chunk_load__) return;
|
|
237
|
+
const cancellations = matches.map((match)=>{
|
|
238
|
+
const routeId = match.route.id;
|
|
239
|
+
const routeAsset = routeId ? routeAssets[routeId] : void 0;
|
|
240
|
+
const chunkIds = routeAsset?.chunkIds;
|
|
241
|
+
if (!routeId || !Array.isArray(chunkIds) || 0 === chunkIds.length) return ()=>{};
|
|
242
|
+
return scheduleWarmup(`route-module:${routeId}:${chunkIds.join(',')}`, ()=>loadRouteModule(match.route, routeAssets));
|
|
243
|
+
});
|
|
244
|
+
return ()=>{
|
|
245
|
+
cancellations.forEach((cancel)=>cancel());
|
|
246
|
+
};
|
|
247
|
+
}, [
|
|
248
|
+
allowNetworkWarmup,
|
|
249
|
+
matches,
|
|
250
|
+
routeAssets
|
|
251
|
+
]);
|
|
252
|
+
if (!allowNetworkWarmup || !includeData || !window._SSR_DATA) return null;
|
|
133
253
|
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(PrefetchDataLinks, {
|
|
134
254
|
matches: matches,
|
|
135
255
|
path: path,
|
|
@@ -141,7 +261,7 @@ const PrefetchDataLinks = ({ matches, path, routeManifest })=>{
|
|
|
141
261
|
const currentMatches = (0, router_namespaceObject.useMatches)();
|
|
142
262
|
const basename = (0, router_namespaceObject.useHref)('/');
|
|
143
263
|
const dataHrefs = (0, external_react_namespaceObject.useMemo)(()=>matches?.filter((match, index)=>{
|
|
144
|
-
if (!match.route.loader || 'function' != typeof match.route.loader || 0 === match.route.loader.length) return false;
|
|
264
|
+
if (!isDataWarmupEnabled(match.route) || !match.route.loader || 'function' != typeof match.route.loader || 0 === match.route.loader.length) return false;
|
|
145
265
|
if (match.route.shouldRevalidate) {
|
|
146
266
|
const currentUrl = new URL(location.pathname + location.search + location.hash, window.origin);
|
|
147
267
|
const nextUrl = new URL(pathname + search + hash, window.origin);
|
|
@@ -168,20 +288,35 @@ const PrefetchDataLinks = ({ matches, path, routeManifest })=>{
|
|
|
168
288
|
children: dataHrefs
|
|
169
289
|
});
|
|
170
290
|
};
|
|
171
|
-
const
|
|
291
|
+
const normalizePreloadBehavior = (preload, prefetch)=>{
|
|
292
|
+
if (false === preload || 'none' === preload) return 'none';
|
|
293
|
+
if (void 0 !== preload) return preload;
|
|
294
|
+
if ('none' === prefetch) return 'none';
|
|
295
|
+
return prefetch;
|
|
296
|
+
};
|
|
297
|
+
const createPrefetchLink = (Link)=>/*#__PURE__*/ external_react_default().forwardRef(({ to, prefetch = DEFAULT_PREFETCH_BEHAVIOR, preload, ...props }, forwardedRef)=>{
|
|
172
298
|
const isAbsolute = 'string' == typeof to && ABSOLUTE_URL_REGEX.test(to);
|
|
173
|
-
const
|
|
299
|
+
const resolvedPreload = normalizePreloadBehavior(preload, prefetch);
|
|
300
|
+
const [shouldPrefetch, shouldPreload, prefetchHandlers, setViewportElement] = usePrefetchBehavior(prefetch, resolvedPreload, props);
|
|
301
|
+
const setAnchorRef = external_react_default().useCallback((element)=>{
|
|
302
|
+
setViewportElement(element);
|
|
303
|
+
setRef(forwardedRef, element);
|
|
304
|
+
}, [
|
|
305
|
+
forwardedRef,
|
|
306
|
+
setViewportElement
|
|
307
|
+
]);
|
|
174
308
|
const resolvedPath = (0, router_namespaceObject.useResolvedPath)(to);
|
|
175
309
|
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
|
|
176
310
|
children: [
|
|
177
311
|
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Link, {
|
|
178
|
-
ref:
|
|
312
|
+
ref: setAnchorRef,
|
|
179
313
|
to: to,
|
|
180
314
|
...props,
|
|
181
315
|
...prefetchHandlers
|
|
182
316
|
}),
|
|
183
|
-
shouldPrefetch
|
|
184
|
-
path: resolvedPath
|
|
317
|
+
(shouldPrefetch || shouldPreload) && !isAbsolute ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(PrefetchPageLinks, {
|
|
318
|
+
path: resolvedPath,
|
|
319
|
+
includeData: shouldPrefetch
|
|
185
320
|
}) : null
|
|
186
321
|
]
|
|
187
322
|
});
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.d = (exports1,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
9
13
|
};
|
|
10
14
|
})();
|
|
11
15
|
(()=>{
|
|
@@ -30,11 +30,15 @@ function __webpack_require__(moduleId) {
|
|
|
30
30
|
};
|
|
31
31
|
})();
|
|
32
32
|
(()=>{
|
|
33
|
-
__webpack_require__.d = (exports1,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
34
|
+
var define = (defs, kind)=>{
|
|
35
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
[kind]: defs[key]
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
define(getters, "get");
|
|
41
|
+
define(values, "value");
|
|
38
42
|
};
|
|
39
43
|
})();
|
|
40
44
|
(()=>{
|
|
@@ -53,11 +57,6 @@ function __webpack_require__(moduleId) {
|
|
|
53
57
|
var __webpack_exports__ = {};
|
|
54
58
|
(()=>{
|
|
55
59
|
__webpack_require__.r(__webpack_exports__);
|
|
56
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
57
|
-
Link: ()=>_PrefetchLink__rspack_import_1.Link,
|
|
58
|
-
NavLink: ()=>_PrefetchLink__rspack_import_1.NavLink,
|
|
59
|
-
useRouteLoaderData: ()=>useRouteLoaderData
|
|
60
|
-
});
|
|
61
60
|
var _modern_js_runtime_utils_router__rspack_import_0 = __webpack_require__("@modern-js/runtime-utils/router");
|
|
62
61
|
var __rspack_reexport = {};
|
|
63
62
|
for(const __rspack_import_key in _modern_js_runtime_utils_router__rspack_import_0)if ([
|
|
@@ -81,6 +80,12 @@ var __webpack_exports__ = {};
|
|
|
81
80
|
const realRouteId = routeId.replace(/\[(.*?)\]/g, '($1)');
|
|
82
81
|
return (0, _modern_js_runtime_utils_router__rspack_import_0.useRouteLoaderData)(realRouteId);
|
|
83
82
|
};
|
|
83
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
84
|
+
Link: ()=>_PrefetchLink__rspack_import_1.Link,
|
|
85
|
+
NavLink: ()=>_PrefetchLink__rspack_import_1.NavLink
|
|
86
|
+
}, {
|
|
87
|
+
useRouteLoaderData: useRouteLoaderData
|
|
88
|
+
});
|
|
84
89
|
})();
|
|
85
90
|
exports.Link = __webpack_exports__.Link;
|
|
86
91
|
exports.NavLink = __webpack_exports__.NavLink;
|