@bleedingdev/modern-js-runtime 3.2.0-ultramodern.120 → 3.2.0-ultramodern.122
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 +4 -0
- package/dist/cjs/cli/index.js +11 -0
- package/dist/cjs/{router/runtime/tanstack/rsc/ClientSlot.js → core/context/extensions.js} +33 -21
- package/dist/cjs/{router/runtime/tanstack/rsc/SlotContext.js → core/context/helmetContext.js} +16 -20
- package/dist/cjs/core/context/index.js +65 -0
- package/dist/cjs/core/react/wrapper.js +6 -4
- package/dist/cjs/core/server/helmet.js +2 -1
- package/dist/cjs/core/server/requestHandler.js +42 -29
- package/dist/cjs/core/server/routerCleanup.js +110 -0
- package/dist/cjs/core/server/scriptOrder.js +75 -4
- package/dist/cjs/core/server/stream/afterTemplate.js +6 -18
- package/dist/cjs/core/server/stream/deferredScript.js +4 -1
- package/dist/cjs/core/server/string/index.js +1 -7
- package/dist/cjs/core/server/string/loadable.js +13 -40
- package/dist/cjs/core/server/string/ssrData.js +1 -1
- package/dist/cjs/core/server/utils.js +31 -8
- package/dist/cjs/exports/head.js +135 -74
- package/dist/cjs/exports/tanstack-router.js +36 -305
- package/dist/cjs/module-federation/index.js +178 -0
- package/dist/cjs/router/cli/code/index.js +1 -47
- package/dist/cjs/router/cli/code/templates.js +1 -14
- package/dist/cjs/router/cli/handler.js +1 -1
- package/dist/cjs/router/cli/index.js +2 -23
- package/dist/cjs/router/runtime/DeferredDataScripts.node.js +16 -4
- package/dist/cjs/router/runtime/PrefetchLink.js +2 -3
- package/dist/cjs/router/runtime/internal.js +20 -13
- package/dist/cjs/router/runtime/lifecycle.js +37 -22
- package/dist/cjs/router/runtime/plugin.js +2 -9
- package/dist/cjs/router/runtime/plugin.node.js +2 -7
- package/dist/cjs/router/runtime/provider.js +107 -0
- package/dist/cjs/router/runtime/utils.js +35 -9
- package/dist/esm/boundary-debugger/index.mjs +4 -0
- 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/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 +60 -1
- package/dist/esm/core/server/stream/afterTemplate.mjs +8 -20
- 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 +11 -38
- package/dist/esm/core/server/string/ssrData.mjs +2 -2
- package/dist/esm/core/server/utils.mjs +31 -8
- package/dist/esm/exports/head.mjs +135 -74
- package/dist/esm/exports/tanstack-router.mjs +30 -4
- 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 -14
- 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 +2 -3
- 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-node/boundary-debugger/index.mjs +4 -0
- 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/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 +60 -1
- package/dist/esm-node/core/server/stream/afterTemplate.mjs +8 -20
- 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 +11 -38
- 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/exports/head.mjs +135 -74
- package/dist/esm-node/exports/tanstack-router.mjs +30 -4
- 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 -14
- 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 +2 -3
- 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/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/runtime.d.ts +1 -11
- 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 +1 -0
- package/dist/types/exports/tanstack-router.d.ts +88 -7
- 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/handler.d.ts +0 -3
- 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 +16 -12
- package/rstest.config.mts +2 -4
- package/dist/cjs/router/cli/code/tanstackTypes.js +0 -447
- package/dist/cjs/router/runtime/tanstack/basepathRewrite.js +0 -66
- package/dist/cjs/router/runtime/tanstack/dataMutation.js +0 -349
- package/dist/cjs/router/runtime/tanstack/hydrationBoundary.js +0 -48
- package/dist/cjs/router/runtime/tanstack/outlet.js +0 -58
- package/dist/cjs/router/runtime/tanstack/plugin.js +0 -342
- package/dist/cjs/router/runtime/tanstack/plugin.node.js +0 -272
- package/dist/cjs/router/runtime/tanstack/prefetchLink.js +0 -59
- package/dist/cjs/router/runtime/tanstack/routeTree.js +0 -525
- package/dist/cjs/router/runtime/tanstack/rsc/CompositeComponent.js +0 -79
- package/dist/cjs/router/runtime/tanstack/rsc/ReplayableStream.js +0 -146
- package/dist/cjs/router/runtime/tanstack/rsc/RscNodeRenderer.js +0 -69
- package/dist/cjs/router/runtime/tanstack/rsc/client.js +0 -97
- package/dist/cjs/router/runtime/tanstack/rsc/createRscProxy.js +0 -145
- package/dist/cjs/router/runtime/tanstack/rsc/index.js +0 -46
- package/dist/cjs/router/runtime/tanstack/rsc/server.js +0 -250
- package/dist/cjs/router/runtime/tanstack/rsc/slotUsageSanitizer.js +0 -69
- package/dist/cjs/router/runtime/tanstack/rsc/symbols.js +0 -77
- package/dist/cjs/ssr/index.node.js +0 -125
- package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -88
- package/dist/cjs/ssr/serverRender/renderToString/entry.js +0 -200
- package/dist/cjs/ssr/serverRender/types.js +0 -40
- 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 -10
- package/dist/esm/router/runtime/tanstack/outlet.mjs +0 -17
- package/dist/esm/router/runtime/tanstack/plugin.mjs +0 -304
- 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 -481
- 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 -11
- package/dist/esm-node/router/runtime/tanstack/outlet.mjs +0 -18
- package/dist/esm-node/router/runtime/tanstack/plugin.mjs +0 -305
- 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 -482
- 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/outlet.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
|
@@ -1,342 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
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");
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
|
-
(()=>{
|
|
16
|
-
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
-
})();
|
|
18
|
-
(()=>{
|
|
19
|
-
__webpack_require__.r = (exports1)=>{
|
|
20
|
-
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
-
value: 'Module'
|
|
22
|
-
});
|
|
23
|
-
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
-
value: true
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
})();
|
|
28
|
-
var __webpack_exports__ = {};
|
|
29
|
-
__webpack_require__.r(__webpack_exports__);
|
|
30
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
-
tanstackRouterPlugin: ()=>tanstackRouterPlugin
|
|
32
|
-
});
|
|
33
|
-
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
34
|
-
const merge_namespaceObject = require("@modern-js/runtime-utils/merge");
|
|
35
|
-
const url_namespaceObject = require("@modern-js/runtime-utils/url");
|
|
36
|
-
const react_router_namespaceObject = require("@tanstack/react-router");
|
|
37
|
-
const client_namespaceObject = require("@tanstack/react-router/ssr/client");
|
|
38
|
-
const external_react_namespaceObject = require("react");
|
|
39
|
-
const index_js_namespaceObject = require("../../../core/context/index.js");
|
|
40
|
-
const external_hooks_js_namespaceObject = require("../hooks.js");
|
|
41
|
-
const external_lifecycle_js_namespaceObject = require("../lifecycle.js");
|
|
42
|
-
const external_utils_js_namespaceObject = require("../utils.js");
|
|
43
|
-
const external_basepathRewrite_js_namespaceObject = require("./basepathRewrite.js");
|
|
44
|
-
const external_hydrationBoundary_js_namespaceObject = require("./hydrationBoundary.js");
|
|
45
|
-
const external_outlet_js_namespaceObject = require("./outlet.js");
|
|
46
|
-
const external_prefetchLink_js_namespaceObject = require("./prefetchLink.js");
|
|
47
|
-
const external_routeTree_js_namespaceObject = require("./routeTree.js");
|
|
48
|
-
const client_js_namespaceObject = require("./rsc/client.js");
|
|
49
|
-
const BLOCKING_SUBSCRIBE_SYMBOL = Symbol.for('@modern-js/plugin-runtime:tanstack-blocking-subscribe');
|
|
50
|
-
const BLOCKING_STATE_SYMBOL = Symbol.for('@modern-js/plugin-runtime:tanstack-blocking-state');
|
|
51
|
-
function normalizeBase(b) {
|
|
52
|
-
if (b.length > 1 && b.endsWith('/')) return b.slice(0, -1);
|
|
53
|
-
return b || '/';
|
|
54
|
-
}
|
|
55
|
-
function isSegmentPrefix(pathname, base) {
|
|
56
|
-
const b = normalizeBase(base);
|
|
57
|
-
const p = pathname || '/';
|
|
58
|
-
return p === b || p.startsWith(`${b}/`);
|
|
59
|
-
}
|
|
60
|
-
function wrapRouterSubscribeWithBlockState(router, getBlockNavState) {
|
|
61
|
-
if (!router || 'object' != typeof router) return;
|
|
62
|
-
const target = router;
|
|
63
|
-
target[BLOCKING_STATE_SYMBOL] = getBlockNavState;
|
|
64
|
-
if (target[BLOCKING_SUBSCRIBE_SYMBOL] || 'function' != typeof target.subscribe) return;
|
|
65
|
-
const originSubscribe = target.subscribe.bind(target);
|
|
66
|
-
target.subscribe = (eventType, listener)=>{
|
|
67
|
-
const wrappedListener = (...args)=>{
|
|
68
|
-
const blockRoute = target[BLOCKING_STATE_SYMBOL]?.() || false;
|
|
69
|
-
if (blockRoute) return;
|
|
70
|
-
return listener(...args);
|
|
71
|
-
};
|
|
72
|
-
return originSubscribe(eventType, wrappedListener);
|
|
73
|
-
};
|
|
74
|
-
target[BLOCKING_SUBSCRIBE_SYMBOL] = true;
|
|
75
|
-
}
|
|
76
|
-
const routerHydrationRecords = new WeakMap();
|
|
77
|
-
const routeModulesKey = '_routeModules';
|
|
78
|
-
function pickRouteModuleComponent(routeModule, seen = new Set()) {
|
|
79
|
-
if ('function' == typeof routeModule || routeModule && 'object' == typeof routeModule && '$$typeof' in routeModule) return routeModule;
|
|
80
|
-
if (!routeModule || 'object' != typeof routeModule) return;
|
|
81
|
-
if (seen.has(routeModule)) return;
|
|
82
|
-
seen.add(routeModule);
|
|
83
|
-
const module = routeModule;
|
|
84
|
-
for (const candidate of [
|
|
85
|
-
module.default,
|
|
86
|
-
module.Component
|
|
87
|
-
]){
|
|
88
|
-
const component = pickRouteModuleComponent(candidate, seen);
|
|
89
|
-
if (component) return component;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
function getCachedRouteModule(routeId) {
|
|
93
|
-
if ("u" < typeof window) return;
|
|
94
|
-
return window[routeModulesKey]?.[routeId];
|
|
95
|
-
}
|
|
96
|
-
function preloadHydratedRouteComponents(router) {
|
|
97
|
-
const preloadableRouter = router;
|
|
98
|
-
const routesById = preloadableRouter.routesById || {};
|
|
99
|
-
const matches = preloadableRouter.stores.matches.get();
|
|
100
|
-
return Promise.all(matches.map((match)=>{
|
|
101
|
-
if (void 0 === match.routeId || '' === match.routeId) return;
|
|
102
|
-
const route = routesById[match.routeId];
|
|
103
|
-
const component = route?.options?.component;
|
|
104
|
-
const preload = component?.load || component?.preload;
|
|
105
|
-
if ('function' != typeof preload) return;
|
|
106
|
-
return Promise.resolve(preload.call(component)).then((routeModule)=>{
|
|
107
|
-
const modernRouteId = route?.options?.staticData?.modernRouteId;
|
|
108
|
-
const cachedRouteModule = 'string' == typeof modernRouteId && '' !== modernRouteId ? getCachedRouteModule(modernRouteId) : void 0;
|
|
109
|
-
const resolvedComponent = pickRouteModuleComponent(cachedRouteModule ?? routeModule);
|
|
110
|
-
if (void 0 !== resolvedComponent && 'string' == typeof modernRouteId && '' !== modernRouteId) route.options.component = (0, external_outlet_js_namespaceObject.withModernRouteMatchContext)(resolvedComponent, modernRouteId);
|
|
111
|
-
});
|
|
112
|
-
})).then(()=>void 0);
|
|
113
|
-
}
|
|
114
|
-
function getTanstackSsrHydrationRecord(router) {
|
|
115
|
-
const existingHydrationRecord = routerHydrationRecords.get(router);
|
|
116
|
-
if (void 0 !== existingHydrationRecord) return existingHydrationRecord;
|
|
117
|
-
const hydrationRecord = {
|
|
118
|
-
promise: Promise.resolve(),
|
|
119
|
-
status: 'pending'
|
|
120
|
-
};
|
|
121
|
-
routerHydrationRecords.set(router, hydrationRecord);
|
|
122
|
-
try {
|
|
123
|
-
hydrationRecord.promise = (0, client_namespaceObject.hydrate)(router).then((value)=>preloadHydratedRouteComponents(router).then(()=>value)).then((value)=>{
|
|
124
|
-
hydrationRecord.status = 'fulfilled';
|
|
125
|
-
return value;
|
|
126
|
-
}, (error)=>{
|
|
127
|
-
hydrationRecord.status = 'rejected';
|
|
128
|
-
hydrationRecord.error = error;
|
|
129
|
-
throw error;
|
|
130
|
-
});
|
|
131
|
-
} catch (error) {
|
|
132
|
-
hydrationRecord.status = 'rejected';
|
|
133
|
-
hydrationRecord.error = error;
|
|
134
|
-
hydrationRecord.promise = Promise.reject(error);
|
|
135
|
-
hydrationRecord.promise.catch(()=>{});
|
|
136
|
-
}
|
|
137
|
-
return hydrationRecord;
|
|
138
|
-
}
|
|
139
|
-
function getTanstackSsrHydrationPromise(router) {
|
|
140
|
-
return getTanstackSsrHydrationRecord(router).promise;
|
|
141
|
-
}
|
|
142
|
-
function hasTanstackSsrHydrationRecord(router) {
|
|
143
|
-
return routerHydrationRecords.has(router);
|
|
144
|
-
}
|
|
145
|
-
function ModernRouterClient({ router }) {
|
|
146
|
-
const hydrationRecord = getTanstackSsrHydrationRecord(router);
|
|
147
|
-
if ('rejected' === hydrationRecord.status) throw hydrationRecord.error;
|
|
148
|
-
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_router_namespaceObject.RouterProvider, {
|
|
149
|
-
router: router
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
function stripSyntheticNotFoundRoute(routes) {
|
|
153
|
-
return routes.filter((route)=>!('*' === route.path && !route.id && !route.loader)).map((route)=>{
|
|
154
|
-
if (!route.children?.length) return route;
|
|
155
|
-
return {
|
|
156
|
-
...route,
|
|
157
|
-
children: stripSyntheticNotFoundRoute(route.children)
|
|
158
|
-
};
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
const tanstackRouterPlugin = (userConfig = {})=>({
|
|
162
|
-
name: '@modern-js/plugin-router-tanstack',
|
|
163
|
-
registryHooks: {
|
|
164
|
-
onAfterCreateRouter: external_hooks_js_namespaceObject.onAfterCreateRouter,
|
|
165
|
-
onAfterHydrateRouter: external_hooks_js_namespaceObject.onAfterHydrateRouter,
|
|
166
|
-
onBeforeCreateRouter: external_hooks_js_namespaceObject.onBeforeCreateRouter,
|
|
167
|
-
onBeforeHydrateRouter: external_hooks_js_namespaceObject.onBeforeHydrateRouter
|
|
168
|
-
},
|
|
169
|
-
setup: (api)=>{
|
|
170
|
-
const hooks = api.getHooks();
|
|
171
|
-
let cachedRouteObjects;
|
|
172
|
-
let cachedRouteTree = null;
|
|
173
|
-
let cachedRouter = null;
|
|
174
|
-
let cachedRouterBasepath = null;
|
|
175
|
-
const getMergedConfig = ()=>{
|
|
176
|
-
const pluginConfig = api.getRuntimeConfig();
|
|
177
|
-
return (0, merge_namespaceObject.merge)(pluginConfig.router || {}, userConfig);
|
|
178
|
-
};
|
|
179
|
-
const getRouteObjects = ()=>{
|
|
180
|
-
if (void 0 !== cachedRouteObjects) return cachedRouteObjects;
|
|
181
|
-
const mergedConfig = getMergedConfig();
|
|
182
|
-
const { routesConfig, createRoutes } = mergedConfig;
|
|
183
|
-
const finalRouteConfig = {
|
|
184
|
-
routes: (0, index_js_namespaceObject.getGlobalRoutes)(),
|
|
185
|
-
globalApp: (0, index_js_namespaceObject.getGlobalLayoutApp)(),
|
|
186
|
-
...routesConfig
|
|
187
|
-
};
|
|
188
|
-
const routeObjects = createRoutes ? createRoutes() : (0, external_utils_js_namespaceObject.createRouteObjectsFromConfig)({
|
|
189
|
-
routesConfig: finalRouteConfig
|
|
190
|
-
}) || [];
|
|
191
|
-
const normalizedRouteObjects = createRoutes ? routeObjects : stripSyntheticNotFoundRoute(routeObjects);
|
|
192
|
-
cachedRouteObjects = hooks.modifyRoutes.call(normalizedRouteObjects);
|
|
193
|
-
return cachedRouteObjects;
|
|
194
|
-
};
|
|
195
|
-
const getRouteTree = ()=>{
|
|
196
|
-
if (cachedRouteTree) return cachedRouteTree;
|
|
197
|
-
const routeObjects = getRouteObjects();
|
|
198
|
-
if (!routeObjects.length) return null;
|
|
199
|
-
cachedRouteTree = (0, external_routeTree_js_namespaceObject.createRouteTreeFromRouteObjects)(routeObjects);
|
|
200
|
-
return cachedRouteTree;
|
|
201
|
-
};
|
|
202
|
-
const selectBasePath = (pathname)=>{
|
|
203
|
-
const { serverBase = [] } = getMergedConfig();
|
|
204
|
-
const match = serverBase.find((baseUrl)=>isSegmentPrefix(pathname, baseUrl));
|
|
205
|
-
return match || '/';
|
|
206
|
-
};
|
|
207
|
-
const getClientBasename = (runtimeContext)=>{
|
|
208
|
-
const { basename = '' } = getMergedConfig();
|
|
209
|
-
const baseUrl = selectBasePath(location.pathname).replace(/^\/*/, '/');
|
|
210
|
-
return '/' === baseUrl ? (0, external_utils_js_namespaceObject.urlJoin)(baseUrl, runtimeContext._internalRouterBaseName || basename || '') : baseUrl;
|
|
211
|
-
};
|
|
212
|
-
const getRouter = (runtimeContext, _basename)=>{
|
|
213
|
-
const routeTree = getRouteTree();
|
|
214
|
-
if (!routeTree) return null;
|
|
215
|
-
const lifecycleContext = {
|
|
216
|
-
framework: 'tanstack',
|
|
217
|
-
phase: 'client-create',
|
|
218
|
-
routes: getRouteObjects(),
|
|
219
|
-
runtimeContext,
|
|
220
|
-
basename: _basename
|
|
221
|
-
};
|
|
222
|
-
hooks.onBeforeCreateRouter.call(lifecycleContext);
|
|
223
|
-
if (cachedRouter && cachedRouterBasepath === _basename) {
|
|
224
|
-
wrapRouterSubscribeWithBlockState(cachedRouter, runtimeContext.unstable_getBlockNavState);
|
|
225
|
-
hooks.onAfterCreateRouter.call({
|
|
226
|
-
...lifecycleContext,
|
|
227
|
-
router: cachedRouter,
|
|
228
|
-
runtimeContext
|
|
229
|
-
});
|
|
230
|
-
return cachedRouter;
|
|
231
|
-
}
|
|
232
|
-
const mergedConfig = getMergedConfig();
|
|
233
|
-
const { supportHtml5History = true } = mergedConfig;
|
|
234
|
-
const history = supportHtml5History ? (0, react_router_namespaceObject.createBrowserHistory)() : (0, react_router_namespaceObject.createHashHistory)();
|
|
235
|
-
const rewrite = (0, external_basepathRewrite_js_namespaceObject.createModernBasepathRewrite)(_basename);
|
|
236
|
-
const serializationAdapters = (0, index_js_namespaceObject.getGlobalEnableRsc)() ? (0, client_js_namespaceObject.getTanstackRscSerializationAdapters)() : void 0;
|
|
237
|
-
cachedRouter = (0, react_router_namespaceObject.createRouter)({
|
|
238
|
-
routeTree,
|
|
239
|
-
basepath: '/',
|
|
240
|
-
rewrite,
|
|
241
|
-
history,
|
|
242
|
-
context: {},
|
|
243
|
-
...serializationAdapters ? {
|
|
244
|
-
serializationAdapters
|
|
245
|
-
} : {}
|
|
246
|
-
});
|
|
247
|
-
cachedRouterBasepath = _basename;
|
|
248
|
-
wrapRouterSubscribeWithBlockState(cachedRouter, runtimeContext.unstable_getBlockNavState);
|
|
249
|
-
hooks.onAfterCreateRouter.call({
|
|
250
|
-
...lifecycleContext,
|
|
251
|
-
router: cachedRouter,
|
|
252
|
-
runtimeContext
|
|
253
|
-
});
|
|
254
|
-
return cachedRouter;
|
|
255
|
-
};
|
|
256
|
-
api.onBeforeRender((context)=>{
|
|
257
|
-
const mergedConfig = getMergedConfig();
|
|
258
|
-
if ("u" > typeof window && void 0 !== window._SSR_DATA && mergedConfig.unstable_reloadOnURLMismatch) {
|
|
259
|
-
const { ssrContext } = context;
|
|
260
|
-
const currentPathname = (0, url_namespaceObject.normalizePathname)(window.location.pathname);
|
|
261
|
-
const initialPathname = 'string' == typeof ssrContext?.request?.pathname ? (0, url_namespaceObject.normalizePathname)(ssrContext.request.pathname) : void 0;
|
|
262
|
-
if (void 0 !== initialPathname && '' !== initialPathname && initialPathname !== currentPathname) {
|
|
263
|
-
const errorMsg = `The initial URL ${initialPathname} and the URL ${currentPathname} to be hydrated do not match, reload.`;
|
|
264
|
-
console.error(errorMsg);
|
|
265
|
-
window.location.reload();
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
context.router = {
|
|
269
|
-
Link: external_prefetchLink_js_namespaceObject.Link,
|
|
270
|
-
useMatches: react_router_namespaceObject.useMatches,
|
|
271
|
-
useLocation: react_router_namespaceObject.useLocation,
|
|
272
|
-
useNavigate: react_router_namespaceObject.useNavigate,
|
|
273
|
-
useRouter: react_router_namespaceObject.useRouter
|
|
274
|
-
};
|
|
275
|
-
const hasSSRBootstrap = "u" > typeof window && Boolean(window.$_TSR);
|
|
276
|
-
if (hasSSRBootstrap && getRouteObjects().length > 0) {
|
|
277
|
-
const runtimeContext = context;
|
|
278
|
-
const router = getRouter(runtimeContext, getClientBasename(runtimeContext));
|
|
279
|
-
if (null != router) return getTanstackSsrHydrationPromise(router).then(()=>void 0);
|
|
280
|
-
}
|
|
281
|
-
});
|
|
282
|
-
api.wrapRoot((App)=>{
|
|
283
|
-
if (0 === getRouteObjects().length) return App;
|
|
284
|
-
const RouterWrapper = ()=>{
|
|
285
|
-
const runtimeContext = (0, external_react_namespaceObject.useContext)(index_js_namespaceObject.InternalRuntimeContext);
|
|
286
|
-
const _basename = getClientBasename(runtimeContext);
|
|
287
|
-
const routeTree = (0, external_react_namespaceObject.useMemo)(()=>getRouteTree(), []);
|
|
288
|
-
if (!routeTree) return App ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(App, {}) : null;
|
|
289
|
-
const router = (0, external_react_namespaceObject.useMemo)(()=>getRouter(runtimeContext, _basename), [
|
|
290
|
-
_basename,
|
|
291
|
-
routeTree,
|
|
292
|
-
runtimeContext
|
|
293
|
-
]);
|
|
294
|
-
if (!router) return App ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(App, {}) : null;
|
|
295
|
-
const runtimeState = (0, external_lifecycle_js_namespaceObject.applyRouterRuntimeState)(runtimeContext, {
|
|
296
|
-
framework: 'tanstack',
|
|
297
|
-
basename: _basename,
|
|
298
|
-
instance: router
|
|
299
|
-
});
|
|
300
|
-
const lifecycleContext = {
|
|
301
|
-
framework: 'tanstack',
|
|
302
|
-
phase: 'client-create',
|
|
303
|
-
routes: getRouteObjects(),
|
|
304
|
-
runtimeContext: runtimeState,
|
|
305
|
-
basename: _basename,
|
|
306
|
-
router
|
|
307
|
-
};
|
|
308
|
-
const hasSSRBootstrap = "u" > typeof window && (Boolean(window.$_TSR) || hasTanstackSsrHydrationRecord(router));
|
|
309
|
-
const needsRouterClient = hasSSRBootstrap;
|
|
310
|
-
if (needsRouterClient) hooks.onBeforeHydrateRouter.call({
|
|
311
|
-
...lifecycleContext,
|
|
312
|
-
phase: 'hydrate',
|
|
313
|
-
router,
|
|
314
|
-
runtimeContext: runtimeState
|
|
315
|
-
});
|
|
316
|
-
const RouterContent = needsRouterClient ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(ModernRouterClient, {
|
|
317
|
-
router: router
|
|
318
|
-
}) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_router_namespaceObject.RouterProvider, {
|
|
319
|
-
router: router
|
|
320
|
-
});
|
|
321
|
-
const HydratableRouterContent = (0, external_hydrationBoundary_js_namespaceObject.wrapTanstackSsrHydrationBoundary)(RouterContent, hasSSRBootstrap);
|
|
322
|
-
if (needsRouterClient) hooks.onAfterHydrateRouter.call({
|
|
323
|
-
...lifecycleContext,
|
|
324
|
-
phase: 'hydrate',
|
|
325
|
-
router,
|
|
326
|
-
runtimeContext: runtimeState
|
|
327
|
-
});
|
|
328
|
-
return App ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(App, {
|
|
329
|
-
children: HydratableRouterContent
|
|
330
|
-
}) : HydratableRouterContent;
|
|
331
|
-
};
|
|
332
|
-
return RouterWrapper;
|
|
333
|
-
});
|
|
334
|
-
}
|
|
335
|
-
});
|
|
336
|
-
exports.tanstackRouterPlugin = __webpack_exports__.tanstackRouterPlugin;
|
|
337
|
-
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
338
|
-
"tanstackRouterPlugin"
|
|
339
|
-
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
340
|
-
Object.defineProperty(exports, '__esModule', {
|
|
341
|
-
value: true
|
|
342
|
-
});
|
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
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");
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
|
-
(()=>{
|
|
16
|
-
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
-
})();
|
|
18
|
-
(()=>{
|
|
19
|
-
__webpack_require__.r = (exports1)=>{
|
|
20
|
-
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
-
value: 'Module'
|
|
22
|
-
});
|
|
23
|
-
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
-
value: true
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
})();
|
|
28
|
-
var __webpack_exports__ = {};
|
|
29
|
-
__webpack_require__.r(__webpack_exports__);
|
|
30
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
-
tanstackRouterPlugin: ()=>tanstackRouterPlugin
|
|
32
|
-
});
|
|
33
|
-
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
34
|
-
const merge_namespaceObject = require("@modern-js/runtime-utils/merge");
|
|
35
|
-
const node_namespaceObject = require("@modern-js/runtime-utils/node");
|
|
36
|
-
const time_namespaceObject = require("@modern-js/runtime-utils/time");
|
|
37
|
-
const constants_namespaceObject = require("@modern-js/utils/universal/constants");
|
|
38
|
-
const react_router_namespaceObject = require("@tanstack/react-router");
|
|
39
|
-
const server_namespaceObject = require("@tanstack/react-router/ssr/server");
|
|
40
|
-
const external_react_namespaceObject = require("react");
|
|
41
|
-
const index_js_namespaceObject = require("../../../core/context/index.js");
|
|
42
|
-
const external_lifecycle_js_namespaceObject = require("../lifecycle.js");
|
|
43
|
-
const external_utils_js_namespaceObject = require("../utils.js");
|
|
44
|
-
const external_basepathRewrite_js_namespaceObject = require("./basepathRewrite.js");
|
|
45
|
-
const external_hydrationBoundary_js_namespaceObject = require("./hydrationBoundary.js");
|
|
46
|
-
const external_routeTree_js_namespaceObject = require("./routeTree.js");
|
|
47
|
-
function isPreloadableRouteComponent(component) {
|
|
48
|
-
if (!component || 'function' != typeof component) return false;
|
|
49
|
-
const preloadable = component;
|
|
50
|
-
return 'function' == typeof preloadable.load || 'function' == typeof preloadable.preload;
|
|
51
|
-
}
|
|
52
|
-
async function preloadRouteComponent(component) {
|
|
53
|
-
if (!isPreloadableRouteComponent(component)) return;
|
|
54
|
-
if ('function' == typeof component.load) return void await component.load({});
|
|
55
|
-
await component.preload?.({});
|
|
56
|
-
}
|
|
57
|
-
async function preloadMatchedRouteComponents(tanstackRouter) {
|
|
58
|
-
const matches = Array.isArray(tanstackRouter.state.matches) ? tanstackRouter.state.matches : [];
|
|
59
|
-
const routesById = tanstackRouter.routesById || {};
|
|
60
|
-
await Promise.all(matches.map(async (match)=>{
|
|
61
|
-
const routeId = 'string' == typeof match.routeId ? match.routeId : 'string' == typeof match.route?.id ? match.route.id : void 0;
|
|
62
|
-
const route = routeId ? routesById[routeId] : match.route;
|
|
63
|
-
const options = route?.options;
|
|
64
|
-
if (!options) return;
|
|
65
|
-
await Promise.all([
|
|
66
|
-
preloadRouteComponent(options.component),
|
|
67
|
-
preloadRouteComponent(options.pendingComponent),
|
|
68
|
-
preloadRouteComponent(options.errorComponent),
|
|
69
|
-
preloadRouteComponent(options.notFoundComponent)
|
|
70
|
-
]);
|
|
71
|
-
}));
|
|
72
|
-
}
|
|
73
|
-
function htmlEscapeAttr(value) {
|
|
74
|
-
return value.replace(/&/g, '&').replace(/"/g, '"');
|
|
75
|
-
}
|
|
76
|
-
function routerManagedTagToHtml(tag) {
|
|
77
|
-
if (!tag || 'object' != typeof tag) return '';
|
|
78
|
-
const managedTag = tag;
|
|
79
|
-
if (!managedTag || "script" !== managedTag.tag) return '';
|
|
80
|
-
const attrs = managedTag.attrs || {};
|
|
81
|
-
const attrsStr = Object.entries(attrs).filter(([, v])=>null != v && false !== v).map(([k, v])=>{
|
|
82
|
-
const name = 'className' === k ? 'class' : k;
|
|
83
|
-
if (true === v) return name;
|
|
84
|
-
return `${name}="${htmlEscapeAttr(String(v))}"`;
|
|
85
|
-
}).join(' ');
|
|
86
|
-
const open = attrsStr.length ? `<script ${attrsStr}>` : "<script>";
|
|
87
|
-
const children = 'string' == typeof managedTag.children ? managedTag.children : '';
|
|
88
|
-
return `${open}${children}</script>`;
|
|
89
|
-
}
|
|
90
|
-
function routerManagedTagsToHtml(tags) {
|
|
91
|
-
const normalizedTags = Array.isArray(tags) ? tags : [
|
|
92
|
-
tags
|
|
93
|
-
];
|
|
94
|
-
return normalizedTags.map(routerManagedTagToHtml).filter(Boolean);
|
|
95
|
-
}
|
|
96
|
-
function createGetSsrHref(request) {
|
|
97
|
-
const url = new URL(request.url);
|
|
98
|
-
return `${url.pathname}${url.search}${url.hash}`;
|
|
99
|
-
}
|
|
100
|
-
function stripSyntheticNotFoundRoute(routes) {
|
|
101
|
-
return routes.filter((route)=>!('*' === route.path && !route.id && !route.loader)).map((route)=>{
|
|
102
|
-
if (!route.children?.length) return route;
|
|
103
|
-
return {
|
|
104
|
-
...route,
|
|
105
|
-
children: stripSyntheticNotFoundRoute(route.children)
|
|
106
|
-
};
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
function collectRouterErrors(tanstackRouter) {
|
|
110
|
-
const state = tanstackRouter.state;
|
|
111
|
-
const matches = Array.isArray(state.matches) ? state.matches : [];
|
|
112
|
-
const errors = matches.reduce((acc, match)=>{
|
|
113
|
-
if (!match.error) return acc;
|
|
114
|
-
const routeId = 'string' == typeof match.routeId ? match.routeId : 'string' == typeof match.route?.id ? match.route.id : `match-${Object.keys(acc).length}`;
|
|
115
|
-
acc[routeId] = match.error;
|
|
116
|
-
return acc;
|
|
117
|
-
}, {});
|
|
118
|
-
return Object.keys(errors).length > 0 ? errors : void 0;
|
|
119
|
-
}
|
|
120
|
-
const tanstackRouterPlugin = (userConfig = {})=>({
|
|
121
|
-
name: '@modern-js/plugin-router-tanstack',
|
|
122
|
-
setup: (api)=>{
|
|
123
|
-
api.onBeforeRender(async (context, interrupt)=>{
|
|
124
|
-
const pluginConfig = api.getRuntimeConfig();
|
|
125
|
-
const mergedConfig = (0, merge_namespaceObject.merge)(pluginConfig.router || {}, userConfig);
|
|
126
|
-
const serializationAdapters = (0, index_js_namespaceObject.getGlobalEnableRsc)() ? (await import("./rsc/server.js")).getTanstackRscSerializationAdapters() : void 0;
|
|
127
|
-
const { basename = '', routesConfig, createRoutes } = mergedConfig;
|
|
128
|
-
const finalRouteConfig = {
|
|
129
|
-
routes: (0, index_js_namespaceObject.getGlobalRoutes)(),
|
|
130
|
-
globalApp: (0, index_js_namespaceObject.getGlobalLayoutApp)(),
|
|
131
|
-
...routesConfig
|
|
132
|
-
};
|
|
133
|
-
if (!finalRouteConfig.routes && !createRoutes) return;
|
|
134
|
-
const hooks = api.getHooks();
|
|
135
|
-
await hooks.onBeforeCreateRoutes.call(context);
|
|
136
|
-
const routeObjects = createRoutes ? createRoutes() : (0, external_utils_js_namespaceObject.createRouteObjectsFromConfig)({
|
|
137
|
-
routesConfig: finalRouteConfig,
|
|
138
|
-
ssrMode: context.ssrContext?.mode
|
|
139
|
-
}) || [];
|
|
140
|
-
const normalizedRouteObjects = createRoutes ? routeObjects : stripSyntheticNotFoundRoute(routeObjects);
|
|
141
|
-
const modifiedRouteObjects = hooks.modifyRoutes.call(normalizedRouteObjects);
|
|
142
|
-
if (!modifiedRouteObjects.length) return;
|
|
143
|
-
const { request, nonce, baseUrl, loaderFailureMode = 'errorBoundary' } = context.ssrContext;
|
|
144
|
-
const _basename = '/' === baseUrl ? (0, external_utils_js_namespaceObject.urlJoin)(baseUrl, basename || '') : baseUrl;
|
|
145
|
-
const initialHref = createGetSsrHref(request.raw);
|
|
146
|
-
const requestContext = (0, node_namespaceObject.createRequestContext)(context.ssrContext?.loaderContext);
|
|
147
|
-
const controller = new AbortController();
|
|
148
|
-
const ssrRequest = new Request(request.raw.url, {
|
|
149
|
-
method: 'GET',
|
|
150
|
-
headers: request.raw.headers,
|
|
151
|
-
signal: controller.signal
|
|
152
|
-
});
|
|
153
|
-
const routerContext = {
|
|
154
|
-
request: ssrRequest,
|
|
155
|
-
requestContext
|
|
156
|
-
};
|
|
157
|
-
const routeTree = (0, external_routeTree_js_namespaceObject.createRouteTreeFromRouteObjects)(modifiedRouteObjects);
|
|
158
|
-
const history = (0, react_router_namespaceObject.createMemoryHistory)({
|
|
159
|
-
initialEntries: [
|
|
160
|
-
initialHref
|
|
161
|
-
]
|
|
162
|
-
});
|
|
163
|
-
const rewrite = (0, external_basepathRewrite_js_namespaceObject.createModernBasepathRewrite)(_basename);
|
|
164
|
-
const routerLifecycleContext = {
|
|
165
|
-
framework: 'tanstack',
|
|
166
|
-
phase: 'ssr-prepare',
|
|
167
|
-
routes: modifiedRouteObjects,
|
|
168
|
-
runtimeContext: context,
|
|
169
|
-
basename: _basename
|
|
170
|
-
};
|
|
171
|
-
hooks.onBeforeCreateRouter.call(routerLifecycleContext);
|
|
172
|
-
const tanstackRouter = (0, react_router_namespaceObject.createRouter)({
|
|
173
|
-
routeTree,
|
|
174
|
-
history,
|
|
175
|
-
basepath: '/',
|
|
176
|
-
rewrite,
|
|
177
|
-
origin: new URL(request.raw.url).origin,
|
|
178
|
-
ssr: {
|
|
179
|
-
nonce
|
|
180
|
-
},
|
|
181
|
-
context: routerContext,
|
|
182
|
-
...serializationAdapters ? {
|
|
183
|
-
serializationAdapters
|
|
184
|
-
} : {}
|
|
185
|
-
});
|
|
186
|
-
const serverRouter = tanstackRouter;
|
|
187
|
-
(0, server_namespaceObject.attachRouterServerSsrUtils)({
|
|
188
|
-
router: serverRouter,
|
|
189
|
-
manifest: void 0
|
|
190
|
-
});
|
|
191
|
-
const end = (0, time_namespaceObject.time)();
|
|
192
|
-
try {
|
|
193
|
-
await tanstackRouter.load({
|
|
194
|
-
sync: true
|
|
195
|
-
});
|
|
196
|
-
} finally{
|
|
197
|
-
const cost = end();
|
|
198
|
-
context.ssrContext?.onTiming?.(constants_namespaceObject.LOADER_REPORTER_NAME, cost);
|
|
199
|
-
}
|
|
200
|
-
if (serverRouter.state.redirect) {
|
|
201
|
-
const resolved = serverRouter.resolveRedirect ? serverRouter.resolveRedirect(serverRouter.state.redirect) : serverRouter.state.redirect;
|
|
202
|
-
try {
|
|
203
|
-
serverRouter.serverSsr?.cleanup?.();
|
|
204
|
-
} catch {}
|
|
205
|
-
return interrupt(resolved);
|
|
206
|
-
}
|
|
207
|
-
const routerErrors = collectRouterErrors(tanstackRouter);
|
|
208
|
-
if (routerErrors && 'clientRender' === loaderFailureMode) {
|
|
209
|
-
context.ssrContext?.response.status(200);
|
|
210
|
-
try {
|
|
211
|
-
serverRouter.serverSsr?.cleanup?.();
|
|
212
|
-
} catch {}
|
|
213
|
-
throw Object.values(routerErrors)[0];
|
|
214
|
-
}
|
|
215
|
-
await preloadMatchedRouteComponents(serverRouter);
|
|
216
|
-
context.ssrContext?.response.status(tanstackRouter.state.statusCode);
|
|
217
|
-
await serverRouter.serverSsr?.dehydrate?.();
|
|
218
|
-
const ssrScriptTags = serverRouter.serverSsr?.takeBufferedScripts?.();
|
|
219
|
-
const hydrationScripts = routerManagedTagsToHtml(ssrScriptTags);
|
|
220
|
-
const matchedRouteIds = (0, external_routeTree_js_namespaceObject.getModernRouteIdsFromMatches)(serverRouter);
|
|
221
|
-
const routerServerSnapshot = (0, external_lifecycle_js_namespaceObject.createRouterServerSnapshot)({
|
|
222
|
-
framework: 'tanstack',
|
|
223
|
-
basename: _basename,
|
|
224
|
-
statusCode: tanstackRouter.state.statusCode,
|
|
225
|
-
errors: routerErrors,
|
|
226
|
-
matchedRouteIds,
|
|
227
|
-
hydrationScripts
|
|
228
|
-
});
|
|
229
|
-
const runtimeContext = (0, external_lifecycle_js_namespaceObject.applyRouterServerPrepareResult)(context, {
|
|
230
|
-
snapshot: routerServerSnapshot,
|
|
231
|
-
cleanup: ()=>serverRouter.serverSsr?.cleanup?.(),
|
|
232
|
-
state: {
|
|
233
|
-
framework: 'tanstack',
|
|
234
|
-
basename: _basename,
|
|
235
|
-
instance: serverRouter,
|
|
236
|
-
hydrationScripts,
|
|
237
|
-
matchedRouteIds,
|
|
238
|
-
serverSnapshot: routerServerSnapshot
|
|
239
|
-
}
|
|
240
|
-
});
|
|
241
|
-
hooks.onAfterCreateRouter.call({
|
|
242
|
-
...routerLifecycleContext,
|
|
243
|
-
router: serverRouter,
|
|
244
|
-
serverSnapshot: routerServerSnapshot,
|
|
245
|
-
runtimeContext
|
|
246
|
-
});
|
|
247
|
-
});
|
|
248
|
-
api.wrapRoot((App)=>{
|
|
249
|
-
const getRouteApp = ()=>(props)=>{
|
|
250
|
-
const context = (0, external_react_namespaceObject.useContext)(index_js_namespaceObject.InternalRuntimeContext);
|
|
251
|
-
const router = context.routerInstance ?? context.routerRuntime?.instance;
|
|
252
|
-
if (!router) return App ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(App, {
|
|
253
|
-
...props
|
|
254
|
-
}) : null;
|
|
255
|
-
const routerWrapper = (0, external_hydrationBoundary_js_namespaceObject.wrapTanstackSsrHydrationBoundary)(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_router_namespaceObject.RouterProvider, {
|
|
256
|
-
router: router
|
|
257
|
-
}), true);
|
|
258
|
-
return App ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(App, {
|
|
259
|
-
children: routerWrapper
|
|
260
|
-
}) : routerWrapper;
|
|
261
|
-
};
|
|
262
|
-
return getRouteApp();
|
|
263
|
-
});
|
|
264
|
-
}
|
|
265
|
-
});
|
|
266
|
-
exports.tanstackRouterPlugin = __webpack_exports__.tanstackRouterPlugin;
|
|
267
|
-
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
268
|
-
"tanstackRouterPlugin"
|
|
269
|
-
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
270
|
-
Object.defineProperty(exports, '__esModule', {
|
|
271
|
-
value: true
|
|
272
|
-
});
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
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");
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
|
-
(()=>{
|
|
16
|
-
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
-
})();
|
|
18
|
-
(()=>{
|
|
19
|
-
__webpack_require__.r = (exports1)=>{
|
|
20
|
-
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
-
value: 'Module'
|
|
22
|
-
});
|
|
23
|
-
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
-
value: true
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
})();
|
|
28
|
-
var __webpack_exports__ = {};
|
|
29
|
-
__webpack_require__.r(__webpack_exports__);
|
|
30
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
-
Link: ()=>Link,
|
|
32
|
-
NavLink: ()=>NavLink
|
|
33
|
-
});
|
|
34
|
-
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
35
|
-
const react_router_namespaceObject = require("@tanstack/react-router");
|
|
36
|
-
function resolvePreloadFromPrefetch(prefetch, preload) {
|
|
37
|
-
if (void 0 !== preload) return preload;
|
|
38
|
-
if ('none' === prefetch) return false;
|
|
39
|
-
if ('intent' === prefetch || 'render' === prefetch || 'viewport' === prefetch) return prefetch;
|
|
40
|
-
return 'viewport';
|
|
41
|
-
}
|
|
42
|
-
const LinkComponentImpl = (props)=>{
|
|
43
|
-
const { prefetch, preload, ...rest } = props;
|
|
44
|
-
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_router_namespaceObject.Link, {
|
|
45
|
-
...rest,
|
|
46
|
-
preload: resolvePreloadFromPrefetch(prefetch, preload)
|
|
47
|
-
});
|
|
48
|
-
};
|
|
49
|
-
const Link = LinkComponentImpl;
|
|
50
|
-
const NavLink = LinkComponentImpl;
|
|
51
|
-
exports.Link = __webpack_exports__.Link;
|
|
52
|
-
exports.NavLink = __webpack_exports__.NavLink;
|
|
53
|
-
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
54
|
-
"Link",
|
|
55
|
-
"NavLink"
|
|
56
|
-
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
57
|
-
Object.defineProperty(exports, '__esModule', {
|
|
58
|
-
value: true
|
|
59
|
-
});
|