@bleedingdev/modern-js-plugin-tanstack 3.2.0-ultramodern.12 → 3.2.0-ultramodern.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/cli/index.js +89 -31
- package/dist/cjs/cli/routeSplitting.js +55 -0
- package/dist/cjs/cli/tanstackTypes.js +172 -170
- package/dist/cjs/cli.js +12 -8
- package/dist/cjs/runtime/basepathRewrite.js +12 -8
- package/dist/cjs/runtime/dataMutation.js +9 -5
- package/dist/cjs/runtime/hooks.js +20 -19
- package/dist/cjs/runtime/hydrationBoundary.js +48 -0
- package/dist/cjs/runtime/index.js +79 -35
- package/dist/cjs/runtime/lifecycle.js +21 -91
- package/dist/cjs/runtime/loaderBridge.js +173 -0
- package/dist/cjs/runtime/outlet.js +58 -0
- package/dist/cjs/runtime/plugin.js +195 -114
- package/dist/cjs/runtime/plugin.node.js +45 -45
- package/dist/cjs/runtime/plugin.worker.js +53 -0
- package/dist/cjs/runtime/pluginCore.js +55 -0
- package/dist/cjs/runtime/prefetchLink.js +10 -6
- package/dist/cjs/runtime/register.js +56 -0
- package/dist/cjs/runtime/routeTree.js +74 -207
- package/dist/cjs/runtime/router.js +41 -0
- package/dist/cjs/runtime/rsc/ClientSlot.js +9 -5
- package/dist/cjs/runtime/rsc/CompositeComponent.js +9 -5
- package/dist/cjs/runtime/rsc/ReplayableStream.js +14 -9
- package/dist/cjs/runtime/rsc/RscNodeRenderer.js +9 -5
- package/dist/cjs/runtime/rsc/SlotContext.js +9 -5
- package/dist/cjs/runtime/rsc/client.js +9 -5
- package/dist/cjs/runtime/rsc/createRscProxy.js +9 -5
- package/dist/cjs/runtime/rsc/index.js +9 -5
- package/dist/cjs/runtime/rsc/payloadRouter.js +44 -6
- package/dist/cjs/runtime/rsc/server.js +9 -5
- package/dist/cjs/runtime/rsc/slotUsageSanitizer.js +9 -5
- package/dist/cjs/runtime/rsc/symbols.js +20 -15
- package/dist/cjs/runtime/state.js +45 -0
- package/dist/cjs/runtime/types.js +31 -1
- package/dist/cjs/runtime/utils.js +9 -10
- package/dist/cjs/runtime.js +9 -5
- package/dist/esm/cli/index.mjs +75 -27
- package/dist/esm/cli/routeSplitting.mjs +14 -0
- package/dist/esm/cli/tanstackTypes.mjs +158 -160
- package/dist/esm/runtime/hooks.mjs +1 -8
- package/dist/esm/runtime/hydrationBoundary.mjs +10 -0
- package/dist/esm/runtime/index.mjs +5 -2
- package/dist/esm/runtime/lifecycle.mjs +1 -82
- package/dist/esm/runtime/loaderBridge.mjs +114 -0
- package/dist/esm/runtime/outlet.mjs +17 -0
- package/dist/esm/runtime/plugin.mjs +191 -114
- package/dist/esm/runtime/plugin.node.mjs +40 -44
- package/dist/esm/runtime/plugin.worker.mjs +1 -0
- package/dist/esm/runtime/pluginCore.mjs +14 -0
- package/dist/esm/runtime/prefetchLink.mjs +1 -1
- package/dist/esm/runtime/register.mjs +18 -0
- package/dist/esm/runtime/routeTree.mjs +59 -193
- package/dist/esm/runtime/router.mjs +2 -0
- package/dist/esm/runtime/rsc/payloadRouter.mjs +35 -1
- package/dist/esm/runtime/state.mjs +7 -0
- package/dist/esm/runtime/types.mjs +7 -0
- package/dist/esm/runtime/utils.mjs +0 -5
- package/dist/esm-node/cli/index.mjs +75 -27
- package/dist/esm-node/cli/routeSplitting.mjs +15 -0
- package/dist/esm-node/cli/tanstackTypes.mjs +158 -160
- package/dist/esm-node/runtime/hooks.mjs +1 -8
- package/dist/esm-node/runtime/hydrationBoundary.mjs +11 -0
- package/dist/esm-node/runtime/index.mjs +5 -2
- package/dist/esm-node/runtime/lifecycle.mjs +1 -82
- package/dist/esm-node/runtime/loaderBridge.mjs +115 -0
- package/dist/esm-node/runtime/outlet.mjs +18 -0
- package/dist/esm-node/runtime/plugin.mjs +191 -114
- package/dist/esm-node/runtime/plugin.node.mjs +40 -44
- package/dist/esm-node/runtime/plugin.worker.mjs +2 -0
- package/dist/esm-node/runtime/pluginCore.mjs +15 -0
- package/dist/esm-node/runtime/prefetchLink.mjs +1 -1
- package/dist/esm-node/runtime/register.mjs +19 -0
- package/dist/esm-node/runtime/routeTree.mjs +59 -193
- package/dist/esm-node/runtime/router.mjs +3 -0
- package/dist/esm-node/runtime/rsc/payloadRouter.mjs +35 -1
- package/dist/esm-node/runtime/state.mjs +8 -0
- package/dist/esm-node/runtime/types.mjs +7 -0
- package/dist/esm-node/runtime/utils.mjs +0 -5
- package/dist/types/cli/index.d.ts +14 -1
- package/dist/types/cli/routeSplitting.d.ts +20 -0
- package/dist/types/cli/tanstackTypes.d.ts +21 -1
- package/dist/types/runtime/hooks.d.ts +8 -33
- package/dist/types/runtime/hydrationBoundary.d.ts +2 -0
- package/dist/types/runtime/index.d.ts +8 -3
- package/dist/types/runtime/lifecycle.d.ts +7 -22
- package/dist/types/runtime/loaderBridge.d.ts +48 -0
- package/dist/types/runtime/outlet.d.ts +2 -0
- package/dist/types/runtime/plugin.d.ts +2 -15
- package/dist/types/runtime/plugin.node.d.ts +2 -15
- package/dist/types/runtime/plugin.worker.d.ts +1 -0
- package/dist/types/runtime/pluginCore.d.ts +21 -0
- package/dist/types/runtime/register.d.ts +9 -0
- package/dist/types/runtime/routeTree.d.ts +0 -2
- package/dist/types/runtime/router.d.ts +14 -0
- package/dist/types/runtime/state.d.ts +16 -0
- package/dist/types/runtime/types.d.ts +14 -53
- package/package.json +42 -40
- package/rstest.config.mts +6 -0
- package/src/cli/index.ts +162 -23
- package/src/cli/routeSplitting.ts +43 -0
- package/src/cli/tanstackTypes.ts +331 -187
- package/src/runtime/hooks.ts +10 -27
- package/src/runtime/hydrationBoundary.tsx +12 -0
- package/src/runtime/index.tsx +17 -7
- package/src/runtime/lifecycle.ts +16 -151
- package/src/runtime/loaderBridge.ts +257 -0
- package/src/runtime/outlet.tsx +48 -0
- package/src/runtime/plugin.node.tsx +72 -85
- package/src/runtime/plugin.tsx +361 -206
- package/src/runtime/plugin.worker.tsx +4 -0
- package/src/runtime/pluginCore.ts +48 -0
- package/src/runtime/prefetchLink.tsx +1 -1
- package/src/runtime/register.ts +58 -0
- package/src/runtime/routeTree.ts +163 -354
- package/src/runtime/router.ts +15 -0
- package/src/runtime/rsc/payloadRouter.ts +45 -2
- package/src/runtime/ssr-shim.d.ts +1 -3
- package/src/runtime/state.ts +29 -0
- package/src/runtime/types.ts +32 -66
- package/src/runtime/utils.tsx +3 -6
- package/tests/router/cli.test.ts +586 -5
- package/tests/router/fastDefaults.test.ts +25 -0
- package/tests/router/hooks.test.ts +26 -0
- package/tests/router/hydrationBoundary.test.tsx +23 -0
- package/tests/router/loaderBridge.test.ts +211 -0
- package/tests/router/packageSurface.test.ts +24 -0
- package/tests/router/prefetchLink.test.tsx +43 -7
- package/tests/router/register.test.ts +46 -0
- package/tests/router/routeTree.test.ts +381 -81
- package/tests/router/rsc.test.tsx +70 -0
- package/tests/router/tanstackTypes.test.ts +573 -1
- package/dist/cjs/runtime/DefaultNotFound.js +0 -47
- package/dist/esm/runtime/DefaultNotFound.mjs +0 -13
- package/dist/esm-node/runtime/DefaultNotFound.mjs +0 -14
- package/dist/types/runtime/DefaultNotFound.d.ts +0 -2
- package/src/runtime/DefaultNotFound.tsx +0 -15
|
@@ -0,0 +1,55 @@
|
|
|
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
|
+
getFinalRouteConfig: ()=>getFinalRouteConfig,
|
|
32
|
+
getMergedRouterConfig: ()=>getMergedRouterConfig
|
|
33
|
+
});
|
|
34
|
+
const context_namespaceObject = require("@modern-js/runtime/context");
|
|
35
|
+
const merge_namespaceObject = require("@modern-js/runtime-utils/merge");
|
|
36
|
+
function getMergedRouterConfig(api, userConfig) {
|
|
37
|
+
const pluginConfig = api.getRuntimeConfig();
|
|
38
|
+
return (0, merge_namespaceObject.merge)(pluginConfig.router || {}, userConfig);
|
|
39
|
+
}
|
|
40
|
+
function getFinalRouteConfig(mergedConfig) {
|
|
41
|
+
return {
|
|
42
|
+
routes: (0, context_namespaceObject.getGlobalRoutes)(),
|
|
43
|
+
globalApp: (0, context_namespaceObject.getGlobalLayoutApp)(),
|
|
44
|
+
...mergedConfig.routesConfig
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
exports.getFinalRouteConfig = __webpack_exports__.getFinalRouteConfig;
|
|
48
|
+
exports.getMergedRouterConfig = __webpack_exports__.getMergedRouterConfig;
|
|
49
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
50
|
+
"getFinalRouteConfig",
|
|
51
|
+
"getMergedRouterConfig"
|
|
52
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
53
|
+
Object.defineProperty(exports, '__esModule', {
|
|
54
|
+
value: true
|
|
55
|
+
});
|
|
@@ -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
|
(()=>{
|
|
@@ -33,7 +37,7 @@ function resolvePreloadFromPrefetch(prefetch, preload) {
|
|
|
33
37
|
if (void 0 !== preload) return preload;
|
|
34
38
|
if ('none' === prefetch) return false;
|
|
35
39
|
if ('intent' === prefetch || 'render' === prefetch || 'viewport' === prefetch) return prefetch;
|
|
36
|
-
return
|
|
40
|
+
return 'viewport';
|
|
37
41
|
}
|
|
38
42
|
const LinkComponentImpl = (props)=>{
|
|
39
43
|
const { prefetch, preload, ...rest } = props;
|
|
@@ -0,0 +1,56 @@
|
|
|
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
|
+
tanstackRouterCompatBindings: ()=>tanstackRouterCompatBindings
|
|
32
|
+
});
|
|
33
|
+
const context_namespaceObject = require("@modern-js/runtime/context");
|
|
34
|
+
const external_dataMutation_js_namespaceObject = require("./dataMutation.js");
|
|
35
|
+
const external_outlet_js_namespaceObject = require("./outlet.js");
|
|
36
|
+
const external_plugin_js_namespaceObject = require("./plugin.js");
|
|
37
|
+
const external_prefetchLink_js_namespaceObject = require("./prefetchLink.js");
|
|
38
|
+
const tanstackRouterProviderFactory = (userConfig)=>(0, external_plugin_js_namespaceObject.tanstackRouterPlugin)(userConfig);
|
|
39
|
+
(0, context_namespaceObject.registerRouterProvider)('tanstack', tanstackRouterProviderFactory);
|
|
40
|
+
const COMPAT_BINDINGS_SLOT = Symbol.for('@modern-js/plugin-tanstack:runtime-compat-bindings');
|
|
41
|
+
const tanstackRouterCompatBindings = {
|
|
42
|
+
Form: external_dataMutation_js_namespaceObject.Form,
|
|
43
|
+
Link: external_prefetchLink_js_namespaceObject.Link,
|
|
44
|
+
NavLink: external_prefetchLink_js_namespaceObject.NavLink,
|
|
45
|
+
Outlet: external_outlet_js_namespaceObject.Outlet,
|
|
46
|
+
RouteActionResponseError: external_dataMutation_js_namespaceObject.RouteActionResponseError,
|
|
47
|
+
useFetcher: external_dataMutation_js_namespaceObject.useFetcher
|
|
48
|
+
};
|
|
49
|
+
globalThis[COMPAT_BINDINGS_SLOT] ??= tanstackRouterCompatBindings;
|
|
50
|
+
exports.tanstackRouterCompatBindings = __webpack_exports__.tanstackRouterCompatBindings;
|
|
51
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
52
|
+
"tanstackRouterCompatBindings"
|
|
53
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
54
|
+
Object.defineProperty(exports, '__esModule', {
|
|
55
|
+
value: true
|
|
56
|
+
});
|
|
@@ -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
|
(()=>{
|
|
@@ -24,12 +28,14 @@ var __webpack_require__ = {};
|
|
|
24
28
|
var __webpack_exports__ = {};
|
|
25
29
|
__webpack_require__.r(__webpack_exports__);
|
|
26
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
createRouteTreeFromModernRoutes: ()=>createRouteTreeFromModernRoutes,
|
|
28
31
|
createRouteTreeFromRouteObjects: ()=>createRouteTreeFromRouteObjects,
|
|
29
32
|
getModernRouteIdsFromMatches: ()=>getModernRouteIdsFromMatches
|
|
30
33
|
});
|
|
34
|
+
const context_namespaceObject = require("@modern-js/runtime/context");
|
|
31
35
|
const react_router_namespaceObject = require("@tanstack/react-router");
|
|
32
|
-
const
|
|
36
|
+
const external_react_namespaceObject = require("react");
|
|
37
|
+
const external_loaderBridge_js_namespaceObject = require("./loaderBridge.js");
|
|
38
|
+
const external_outlet_js_namespaceObject = require("./outlet.js");
|
|
33
39
|
const payloadRouter_js_namespaceObject = require("./rsc/payloadRouter.js");
|
|
34
40
|
function createTanstackRoute(options) {
|
|
35
41
|
return (0, react_router_namespaceObject.createRoute)(options);
|
|
@@ -37,6 +43,10 @@ function createTanstackRoute(options) {
|
|
|
37
43
|
function createTanstackRootRoute(options) {
|
|
38
44
|
return (0, react_router_namespaceObject.createRootRoute)(options);
|
|
39
45
|
}
|
|
46
|
+
function wrapRouteComponentWithModernContext(route, component, routeId) {
|
|
47
|
+
const routeMatchId = routeId || route.id;
|
|
48
|
+
if (component && routeMatchId) route.options.component = (0, external_outlet_js_namespaceObject.withModernRouteMatchContext)(component, routeMatchId);
|
|
49
|
+
}
|
|
40
50
|
function toTanstackPath(pathname) {
|
|
41
51
|
return pathname.split('/').map((segment)=>{
|
|
42
52
|
if (!segment) return segment;
|
|
@@ -49,23 +59,6 @@ function toTanstackPath(pathname) {
|
|
|
49
59
|
return segment;
|
|
50
60
|
}).join('/');
|
|
51
61
|
}
|
|
52
|
-
function isResponse(value) {
|
|
53
|
-
const record = value;
|
|
54
|
-
return null != record && 'object' == typeof record && 'number' == typeof record.status && 'object' == typeof record.headers;
|
|
55
|
-
}
|
|
56
|
-
function isTanstackRedirect(value) {
|
|
57
|
-
return isResponse(value) && 'object' == typeof value.options;
|
|
58
|
-
}
|
|
59
|
-
const redirectStatusCodes = new Set([
|
|
60
|
-
301,
|
|
61
|
-
302,
|
|
62
|
-
303,
|
|
63
|
-
307,
|
|
64
|
-
308
|
|
65
|
-
]);
|
|
66
|
-
function isRedirectResponse(res) {
|
|
67
|
-
return redirectStatusCodes.has(res.status);
|
|
68
|
-
}
|
|
69
62
|
function isModernDeferredData(value) {
|
|
70
63
|
if (!value || 'object' != typeof value) return false;
|
|
71
64
|
const deferred = value;
|
|
@@ -75,42 +68,48 @@ function normalizeModernLoaderResult(result) {
|
|
|
75
68
|
return isModernDeferredData(result) ? result.data : result;
|
|
76
69
|
}
|
|
77
70
|
function normalizeModernLoaderResponse(result) {
|
|
78
|
-
if (isResponse(result)) {
|
|
79
|
-
if (isRedirectResponse(result)) {
|
|
71
|
+
if ((0, external_loaderBridge_js_namespaceObject.isResponse)(result)) {
|
|
72
|
+
if ((0, external_loaderBridge_js_namespaceObject.isRedirectResponse)(result)) {
|
|
80
73
|
const location = result.headers.get('Location') || '/';
|
|
81
|
-
throwTanstackRedirect(location);
|
|
74
|
+
(0, external_loaderBridge_js_namespaceObject.throwTanstackRedirect)(location);
|
|
82
75
|
}
|
|
83
76
|
if (404 === result.status) throw (0, react_router_namespaceObject.notFound)();
|
|
84
77
|
}
|
|
85
78
|
return normalizeModernLoaderResult(result);
|
|
86
79
|
}
|
|
87
|
-
function
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
80
|
+
function pickRouteModuleComponent(routeModule, seen = new Set()) {
|
|
81
|
+
if ('function' == typeof routeModule || routeModule && 'object' == typeof routeModule && '$$typeof' in routeModule) return routeModule;
|
|
82
|
+
if (!routeModule || 'object' != typeof routeModule) return;
|
|
83
|
+
if (seen.has(routeModule)) return;
|
|
84
|
+
seen.add(routeModule);
|
|
85
|
+
const module = routeModule;
|
|
86
|
+
for (const candidate of [
|
|
87
|
+
module.default,
|
|
88
|
+
module.Component
|
|
89
|
+
]){
|
|
90
|
+
const component = pickRouteModuleComponent(candidate, seen);
|
|
91
|
+
if (component) return component;
|
|
93
92
|
}
|
|
94
93
|
}
|
|
95
|
-
function
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
if (
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
return
|
|
94
|
+
function createServerLazyImportComponent(lazyImport, fallbackComponent) {
|
|
95
|
+
if ("u" > typeof document) return fallbackComponent;
|
|
96
|
+
let resolvedComponent;
|
|
97
|
+
let pendingLoad;
|
|
98
|
+
const load = async ()=>{
|
|
99
|
+
if (resolvedComponent) return resolvedComponent;
|
|
100
|
+
const routeModule = await lazyImport();
|
|
101
|
+
const component = pickRouteModuleComponent(routeModule);
|
|
102
|
+
if (component) resolvedComponent = component;
|
|
103
|
+
return resolvedComponent;
|
|
104
|
+
};
|
|
105
|
+
const Component = (props)=>{
|
|
106
|
+
if (resolvedComponent) return (0, external_react_namespaceObject.createElement)(resolvedComponent, props);
|
|
107
|
+
pendingLoad ||= load();
|
|
108
|
+
throw pendingLoad;
|
|
109
|
+
};
|
|
110
|
+
Component.load = load;
|
|
111
|
+
Component.preload = load;
|
|
112
|
+
return Component;
|
|
114
113
|
}
|
|
115
114
|
function createModernRequest(input, signal) {
|
|
116
115
|
return new Request(input, {
|
|
@@ -145,52 +144,6 @@ function createModernShouldReload(shouldRevalidate, state) {
|
|
|
145
144
|
return 'boolean' == typeof result ? result : void 0;
|
|
146
145
|
};
|
|
147
146
|
}
|
|
148
|
-
function wrapModernLoader(modernRoute, modernLoader, revalidationState, options = {}) {
|
|
149
|
-
const route = modernRoute;
|
|
150
|
-
return async (ctx)=>{
|
|
151
|
-
try {
|
|
152
|
-
if (revalidationState) rememberRouteLocation(revalidationState, ctx);
|
|
153
|
-
if ('function' == typeof route.lazyImport) try {
|
|
154
|
-
await route.lazyImport();
|
|
155
|
-
} catch {}
|
|
156
|
-
const signal = ctx?.abortController?.signal || ctx?.signal || new AbortController().signal;
|
|
157
|
-
const baseRequest = ctx?.context?.request instanceof Request ? ctx.context.request : void 0;
|
|
158
|
-
const href = 'string' == typeof ctx?.location ? ctx.location : ctx?.location?.publicHref || ctx?.location?.href || ctx?.location?.url?.href || '';
|
|
159
|
-
const request = baseRequest ? new Request(baseRequest, {
|
|
160
|
-
signal
|
|
161
|
-
}) : createModernRequest(href, signal);
|
|
162
|
-
const params = mapParamsForModernLoader({
|
|
163
|
-
modernRoute,
|
|
164
|
-
params: ctx.params || {}
|
|
165
|
-
});
|
|
166
|
-
const loadModernData = async ()=>{
|
|
167
|
-
const result = modernLoader ? await modernLoader({
|
|
168
|
-
request,
|
|
169
|
-
params,
|
|
170
|
-
context: ctx?.context?.requestContext
|
|
171
|
-
}) : null;
|
|
172
|
-
return normalizeModernLoaderResponse(result);
|
|
173
|
-
};
|
|
174
|
-
if (options.rscPayloadRouter && (0, payloadRouter_js_namespaceObject.isTanstackRscPayloadNavigationEnabled)()) return (0, payloadRouter_js_namespaceObject.loadTanstackRscRouteData)({
|
|
175
|
-
hasClientLoader: route.hasClientLoader || void 0 !== route.clientData,
|
|
176
|
-
loadClientData: loadModernData,
|
|
177
|
-
request,
|
|
178
|
-
routeId: ctx.route?.id
|
|
179
|
-
});
|
|
180
|
-
return loadModernData();
|
|
181
|
-
} catch (err) {
|
|
182
|
-
if (isResponse(err)) {
|
|
183
|
-
if (isTanstackRedirect(err)) throw err;
|
|
184
|
-
if (isRedirectResponse(err)) {
|
|
185
|
-
const location = err.headers.get('Location') || '/';
|
|
186
|
-
throwTanstackRedirect(location);
|
|
187
|
-
}
|
|
188
|
-
if (404 === err.status) throw (0, react_router_namespaceObject.notFound)();
|
|
189
|
-
}
|
|
190
|
-
throw err;
|
|
191
|
-
}
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
147
|
function isRouteObjectPathlessLayout(route) {
|
|
195
148
|
return !route.path && !route.index;
|
|
196
149
|
}
|
|
@@ -221,7 +174,7 @@ function wrapRouteObjectLoader(route, revalidationState, options = {}) {
|
|
|
221
174
|
const signal = ctx?.abortController?.signal || ctx?.signal || new AbortController().signal;
|
|
222
175
|
const baseRequest = ctx?.context?.request instanceof Request ? ctx.context.request : void 0;
|
|
223
176
|
const href = 'string' == typeof ctx?.location ? ctx.location : ctx?.location?.publicHref || ctx?.location?.href || ctx?.location?.url?.href || '';
|
|
224
|
-
const request = baseRequest ? new Request(baseRequest, {
|
|
177
|
+
const request = void 0 !== baseRequest ? new Request(baseRequest, {
|
|
225
178
|
signal
|
|
226
179
|
}) : createModernRequest(href, signal);
|
|
227
180
|
const params = mapParamsForRouteObjectLoader({
|
|
@@ -244,11 +197,11 @@ function wrapRouteObjectLoader(route, revalidationState, options = {}) {
|
|
|
244
197
|
});
|
|
245
198
|
return loadModernData();
|
|
246
199
|
} catch (err) {
|
|
247
|
-
if (isResponse(err)) {
|
|
248
|
-
if (isTanstackRedirect(err)) throw err;
|
|
249
|
-
if (isRedirectResponse(err)) {
|
|
200
|
+
if ((0, external_loaderBridge_js_namespaceObject.isResponse)(err)) {
|
|
201
|
+
if ((0, external_loaderBridge_js_namespaceObject.isTanstackRedirect)(err)) throw err;
|
|
202
|
+
if ((0, external_loaderBridge_js_namespaceObject.isRedirectResponse)(err)) {
|
|
250
203
|
const location = err.headers.get('Location') || '/';
|
|
251
|
-
throwTanstackRedirect(location);
|
|
204
|
+
(0, external_loaderBridge_js_namespaceObject.throwTanstackRedirect)(location);
|
|
252
205
|
}
|
|
253
206
|
if (404 === err.status) throw (0, react_router_namespaceObject.notFound)();
|
|
254
207
|
}
|
|
@@ -258,6 +211,9 @@ function wrapRouteObjectLoader(route, revalidationState, options = {}) {
|
|
|
258
211
|
}
|
|
259
212
|
function toRouteComponent(routeObject) {
|
|
260
213
|
const route = routeObject;
|
|
214
|
+
const lazyImport = 'function' == typeof route.lazyImport ? route.lazyImport : void 0;
|
|
215
|
+
const fallbackComponent = route.Component ? route.Component : route.element ? ()=>route.element : void 0;
|
|
216
|
+
if (lazyImport && fallbackComponent) return createServerLazyImportComponent(lazyImport, fallbackComponent);
|
|
261
217
|
if (route.Component) return route.Component;
|
|
262
218
|
const element = route.element;
|
|
263
219
|
if (element) return ()=>element;
|
|
@@ -299,12 +255,14 @@ function createRouteFromRouteObject(opts) {
|
|
|
299
255
|
const shouldRevalidate = modernRouteObject.shouldRevalidate;
|
|
300
256
|
const shouldReload = createModernShouldReload(shouldRevalidate, revalidationState);
|
|
301
257
|
const stableFallbackId = routeObject.id || modernRouteObject.file || routeObject.path || 'pathless';
|
|
258
|
+
const component = toRouteComponent(routeObject);
|
|
302
259
|
const base = {
|
|
303
260
|
getParentRoute: ()=>parent,
|
|
304
|
-
component
|
|
261
|
+
component,
|
|
305
262
|
pendingComponent: toPendingComponent(routeObject),
|
|
306
263
|
errorComponent: toErrorComponent(routeObject),
|
|
307
|
-
|
|
264
|
+
validateSearch: modernRouteObject.validateSearch,
|
|
265
|
+
loaderDeps: modernRouteObject.loaderDeps,
|
|
308
266
|
staticData: createRouteStaticData({
|
|
309
267
|
modernRouteId: routeObject.id,
|
|
310
268
|
modernRouteAction: modernRouteObject.action,
|
|
@@ -323,6 +281,7 @@ function createRouteFromRouteObject(opts) {
|
|
|
323
281
|
if (isRouteObjectPathlessLayout(routeObject)) base.id = stableFallbackId;
|
|
324
282
|
else base.path = routeObject.index ? '/' : toTanstackPath(routeObject.path || '');
|
|
325
283
|
const route = createTanstackRoute(base);
|
|
284
|
+
wrapRouteComponentWithModernContext(route, component, routeObject.id);
|
|
326
285
|
const children = routeObject.children;
|
|
327
286
|
if (children && children.length > 0) {
|
|
328
287
|
const childRoutes = children.map((child)=>createRouteFromRouteObject({
|
|
@@ -334,101 +293,6 @@ function createRouteFromRouteObject(opts) {
|
|
|
334
293
|
}
|
|
335
294
|
return route;
|
|
336
295
|
}
|
|
337
|
-
function createRouteFromModernRoute(opts) {
|
|
338
|
-
const { options = {}, parent, modernRoute } = opts;
|
|
339
|
-
const route = modernRoute;
|
|
340
|
-
const revalidationState = {};
|
|
341
|
-
const modernId = route.id;
|
|
342
|
-
const stableFallbackId = modernId || route._component || route.filename || route.data || ('function' == typeof route.loader ? route.id : void 0);
|
|
343
|
-
const pendingComponent = route.loading || route.pendingComponent;
|
|
344
|
-
const errorComponent = route.error || route.errorComponent;
|
|
345
|
-
const component = route.component;
|
|
346
|
-
const modernLoader = route.loader;
|
|
347
|
-
const modernAction = route.action;
|
|
348
|
-
const modernShouldRevalidate = route.shouldRevalidate;
|
|
349
|
-
const shouldReload = createModernShouldReload(modernShouldRevalidate, revalidationState);
|
|
350
|
-
const isPathlessLayout = 'nested' === route.type && 'boolean' != typeof route.index && void 0 === route.path;
|
|
351
|
-
const isIndexRoute = 'nested' === route.type && Boolean(route.index);
|
|
352
|
-
const base = {
|
|
353
|
-
getParentRoute: ()=>parent,
|
|
354
|
-
component: component || void 0,
|
|
355
|
-
pendingComponent: pendingComponent || void 0,
|
|
356
|
-
errorComponent: errorComponent || void 0,
|
|
357
|
-
wrapInSuspense: true,
|
|
358
|
-
staticData: createRouteStaticData({
|
|
359
|
-
modernRouteId: modernId,
|
|
360
|
-
modernRouteAction: modernAction,
|
|
361
|
-
modernRouteHandle: mergeModernRouteHandle(route),
|
|
362
|
-
modernRouteHasAction: route.hasAction || Boolean(modernAction),
|
|
363
|
-
modernRouteHasClientLoader: route.hasClientLoader || void 0 !== route.clientData,
|
|
364
|
-
modernRouteHasLoader: route.hasLoader || 'function' == typeof modernLoader,
|
|
365
|
-
modernRouteIsClientComponent: route.isClientComponent,
|
|
366
|
-
modernRouteLoader: modernLoader,
|
|
367
|
-
modernRouteShouldRevalidate: modernShouldRevalidate
|
|
368
|
-
}),
|
|
369
|
-
loader: wrapModernLoader(modernRoute, modernLoader, revalidationState, options)
|
|
370
|
-
};
|
|
371
|
-
if (route.inValidSSRRoute) base.ssr = false;
|
|
372
|
-
if (shouldReload) base.shouldReload = shouldReload;
|
|
373
|
-
if (isPathlessLayout) base.id = stableFallbackId || 'pathless';
|
|
374
|
-
else {
|
|
375
|
-
const rawPath = route.path;
|
|
376
|
-
base.path = isIndexRoute ? '/' : toTanstackPath(rawPath || '');
|
|
377
|
-
}
|
|
378
|
-
const tanstackRoute = createTanstackRoute(base);
|
|
379
|
-
const children = route.children;
|
|
380
|
-
if (children && children.length > 0) {
|
|
381
|
-
const childRoutes = children.map((child)=>createRouteFromModernRoute({
|
|
382
|
-
options,
|
|
383
|
-
parent: tanstackRoute,
|
|
384
|
-
modernRoute: child
|
|
385
|
-
}));
|
|
386
|
-
tanstackRoute.addChildren(childRoutes);
|
|
387
|
-
}
|
|
388
|
-
return tanstackRoute;
|
|
389
|
-
}
|
|
390
|
-
function createRouteTreeFromModernRoutes(routes, options = {}) {
|
|
391
|
-
const rootModern = routes.find((r)=>r && 'nested' === r.type && r.isRoot);
|
|
392
|
-
const rootComponent = rootModern?.component;
|
|
393
|
-
const pendingComponent = rootModern?.loading;
|
|
394
|
-
const errorComponent = rootModern?.error;
|
|
395
|
-
const rootLoader = rootModern?.loader;
|
|
396
|
-
const rootAction = rootModern?.action;
|
|
397
|
-
const rootModernId = rootModern?.id;
|
|
398
|
-
const rootShouldRevalidate = rootModern?.shouldRevalidate;
|
|
399
|
-
const rootRevalidationState = {};
|
|
400
|
-
const rootShouldReload = createModernShouldReload(rootShouldRevalidate, rootRevalidationState);
|
|
401
|
-
const rootRouteOptions = {
|
|
402
|
-
component: rootComponent || void 0,
|
|
403
|
-
pendingComponent: pendingComponent || void 0,
|
|
404
|
-
errorComponent: errorComponent || void 0,
|
|
405
|
-
wrapInSuspense: true,
|
|
406
|
-
notFoundComponent: external_DefaultNotFound_js_namespaceObject.DefaultNotFound,
|
|
407
|
-
staticData: createRouteStaticData({
|
|
408
|
-
modernRouteId: rootModernId,
|
|
409
|
-
modernRouteAction: rootAction,
|
|
410
|
-
modernRouteHandle: rootModern ? mergeModernRouteHandle(rootModern) : void 0,
|
|
411
|
-
modernRouteHasAction: rootModern?.hasAction || Boolean(rootAction),
|
|
412
|
-
modernRouteHasClientLoader: rootModern?.hasClientLoader || void 0 !== rootModern?.clientData,
|
|
413
|
-
modernRouteHasLoader: rootModern?.hasLoader || 'function' == typeof rootLoader,
|
|
414
|
-
modernRouteIsClientComponent: rootModern?.isClientComponent,
|
|
415
|
-
modernRouteLoader: rootLoader,
|
|
416
|
-
modernRouteShouldRevalidate: rootShouldRevalidate
|
|
417
|
-
}),
|
|
418
|
-
loader: rootModern ? wrapModernLoader(rootModern, rootLoader, rootRevalidationState, options) : void 0
|
|
419
|
-
};
|
|
420
|
-
if (rootShouldReload) rootRouteOptions.shouldReload = rootShouldReload;
|
|
421
|
-
if (rootModern?.inValidSSRRoute) rootRouteOptions.ssr = false;
|
|
422
|
-
const rootRoute = createTanstackRootRoute(rootRouteOptions);
|
|
423
|
-
const topLevel = rootModern ? rootModern.children || [] : routes;
|
|
424
|
-
const childRoutes = topLevel.map((child)=>createRouteFromModernRoute({
|
|
425
|
-
options,
|
|
426
|
-
parent: rootRoute,
|
|
427
|
-
modernRoute: child
|
|
428
|
-
}));
|
|
429
|
-
rootRoute.addChildren(childRoutes);
|
|
430
|
-
return rootRoute;
|
|
431
|
-
}
|
|
432
296
|
function getRootLikeRouteObject(routes) {
|
|
433
297
|
return routes.find((route)=>'/' === route.path && !route.index);
|
|
434
298
|
}
|
|
@@ -437,12 +301,14 @@ function createRouteTreeFromRouteObjects(routes, options = {}) {
|
|
|
437
301
|
const rootRevalidationState = {};
|
|
438
302
|
const rootShouldRevalidate = rootLikeRoute?.shouldRevalidate;
|
|
439
303
|
const rootShouldReload = createModernShouldReload(rootShouldRevalidate, rootRevalidationState);
|
|
304
|
+
const rootComponent = rootLikeRoute ? toRouteComponent(rootLikeRoute) : void 0;
|
|
440
305
|
const rootRouteOptions = {
|
|
441
|
-
component:
|
|
306
|
+
component: rootComponent,
|
|
442
307
|
pendingComponent: rootLikeRoute ? toPendingComponent(rootLikeRoute) : void 0,
|
|
443
308
|
errorComponent: rootLikeRoute ? toErrorComponent(rootLikeRoute) : void 0,
|
|
444
|
-
|
|
445
|
-
|
|
309
|
+
validateSearch: rootLikeRoute?.validateSearch,
|
|
310
|
+
loaderDeps: rootLikeRoute?.loaderDeps,
|
|
311
|
+
notFoundComponent: context_namespaceObject.DefaultNotFound,
|
|
446
312
|
staticData: createRouteStaticData({
|
|
447
313
|
modernRouteId: rootLikeRoute?.id,
|
|
448
314
|
modernRouteAction: rootLikeRoute?.action,
|
|
@@ -459,6 +325,7 @@ function createRouteTreeFromRouteObjects(routes, options = {}) {
|
|
|
459
325
|
if (rootShouldReload) rootRouteOptions.shouldReload = rootShouldReload;
|
|
460
326
|
if (rootLikeRoute?.inValidSSRRoute) rootRouteOptions.ssr = false;
|
|
461
327
|
const rootRoute = createTanstackRootRoute(rootRouteOptions);
|
|
328
|
+
if (rootComponent) rootRoute.options.component = (0, external_outlet_js_namespaceObject.withModernRouteMatchContext)(rootComponent, react_router_namespaceObject.rootRouteId);
|
|
462
329
|
const topLevel = rootLikeRoute ? [
|
|
463
330
|
...rootLikeRoute.children || [],
|
|
464
331
|
...routes.filter((route)=>route !== rootLikeRoute)
|
|
@@ -473,17 +340,17 @@ function createRouteTreeFromRouteObjects(routes, options = {}) {
|
|
|
473
340
|
}
|
|
474
341
|
function getModernRouteIdsFromMatches(router) {
|
|
475
342
|
const matches = router.state.matches || [];
|
|
343
|
+
const routesById = router.routesById;
|
|
476
344
|
const ids = matches.map((match)=>{
|
|
477
|
-
const
|
|
478
|
-
|
|
345
|
+
const normalizedMatch = match;
|
|
346
|
+
const routeId = 'string' == typeof normalizedMatch.routeId ? normalizedMatch.routeId : void 0;
|
|
347
|
+
return normalizedMatch.route?.options?.staticData?.modernRouteId ?? (routeId ? routesById?.[routeId]?.options?.staticData?.modernRouteId : void 0);
|
|
479
348
|
}).filter((id)=>'string' == typeof id);
|
|
480
349
|
return Array.from(new Set(ids));
|
|
481
350
|
}
|
|
482
|
-
exports.createRouteTreeFromModernRoutes = __webpack_exports__.createRouteTreeFromModernRoutes;
|
|
483
351
|
exports.createRouteTreeFromRouteObjects = __webpack_exports__.createRouteTreeFromRouteObjects;
|
|
484
352
|
exports.getModernRouteIdsFromMatches = __webpack_exports__.getModernRouteIdsFromMatches;
|
|
485
353
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
486
|
-
"createRouteTreeFromModernRoutes",
|
|
487
354
|
"createRouteTreeFromRouteObjects",
|
|
488
355
|
"getModernRouteIdsFromMatches"
|
|
489
356
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
routerPlugin: ()=>internal_namespaceObject.routerPlugin
|
|
32
|
+
});
|
|
33
|
+
require("./register.js");
|
|
34
|
+
const internal_namespaceObject = require("@modern-js/runtime/router/internal");
|
|
35
|
+
exports.routerPlugin = __webpack_exports__.routerPlugin;
|
|
36
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
37
|
+
"routerPlugin"
|
|
38
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
39
|
+
Object.defineProperty(exports, '__esModule', {
|
|
40
|
+
value: true
|
|
41
|
+
});
|
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
var __webpack_require__ = {};
|
|
4
4
|
(()=>{
|
|
5
|
-
__webpack_require__.d = (exports1,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
6
|
+
var define = (defs, kind)=>{
|
|
7
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
[kind]: defs[key]
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
define(getters, "get");
|
|
13
|
+
define(values, "value");
|
|
10
14
|
};
|
|
11
15
|
})();
|
|
12
16
|
(()=>{
|
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
"use client";
|
|
3
3
|
var __webpack_require__ = {};
|
|
4
4
|
(()=>{
|
|
5
|
-
__webpack_require__.d = (exports1,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
6
|
+
var define = (defs, kind)=>{
|
|
7
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
[kind]: defs[key]
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
define(getters, "get");
|
|
13
|
+
define(values, "value");
|
|
10
14
|
};
|
|
11
15
|
})();
|
|
12
16
|
(()=>{
|