@bleedingdev/modern-js-plugin-tanstack 3.9.0-ultramodern.9 → 3.9.3-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/cli/artifacts.js +15 -1
- package/dist/cjs/cli/index.js +13 -2
- package/dist/cjs/cli/routeMetadata.js +131 -0
- package/dist/cjs/cli/rscRouteLayer.js +86 -0
- package/dist/cjs/cli/tanstackTypes/canonicalRoutes.js +7 -7
- package/dist/cjs/cli/tanstackTypes/shared.js +0 -14
- package/dist/cjs/cli/tanstackTypes/source.js +28 -63
- package/dist/cjs/runtime/lifecycle.js +0 -3
- package/dist/cjs/runtime/loaderBridge.js +10 -4
- package/dist/cjs/runtime/navigation.js +102 -0
- package/dist/cjs/runtime/plugin.js +10 -1
- package/dist/cjs/runtime/plugin.node.js +89 -64
- package/dist/cjs/runtime/routeTree/construction.js +19 -61
- package/dist/cjs/runtime/routeTree/loaders.js +1 -1
- package/dist/cjs/runtime/routeTree/paths.js +0 -6
- package/dist/cjs/runtime/ssrManagedTags.js +2 -12
- package/dist/cjs/runtime/utils.js +1 -0
- package/dist/cjs/shared/routeDescriptor.js +60 -0
- package/dist/esm/cli/artifacts.mjs +13 -2
- package/dist/esm/cli/index.mjs +13 -11
- package/dist/esm/cli/routeMetadata.mjs +71 -0
- package/dist/esm/cli/rscRouteLayer.mjs +35 -0
- package/dist/esm/cli/tanstackTypes/canonicalRoutes.mjs +7 -7
- package/dist/esm/cli/tanstackTypes/shared.mjs +1 -9
- package/dist/esm/cli/tanstackTypes/source.mjs +29 -64
- package/dist/esm/runtime/lifecycle.mjs +1 -1
- package/dist/esm/runtime/loaderBridge.mjs +8 -5
- package/dist/esm/runtime/navigation.mjs +64 -0
- package/dist/esm/runtime/plugin.mjs +10 -1
- package/dist/esm/runtime/plugin.node.mjs +91 -66
- package/dist/esm/runtime/routeTree/construction.mjs +19 -61
- package/dist/esm/runtime/routeTree/loaders.mjs +2 -2
- package/dist/esm/runtime/routeTree/paths.mjs +1 -4
- package/dist/esm/runtime/ssrManagedTags.mjs +1 -8
- package/dist/esm/runtime/utils.mjs +1 -0
- package/dist/esm/shared/routeDescriptor.mjs +22 -0
- package/dist/esm-node/cli/artifacts.mjs +13 -2
- package/dist/esm-node/cli/index.mjs +13 -11
- package/dist/esm-node/cli/routeMetadata.mjs +72 -0
- package/dist/esm-node/cli/rscRouteLayer.mjs +36 -0
- package/dist/esm-node/cli/tanstackTypes/canonicalRoutes.mjs +7 -7
- package/dist/esm-node/cli/tanstackTypes/shared.mjs +1 -9
- package/dist/esm-node/cli/tanstackTypes/source.mjs +29 -64
- package/dist/esm-node/runtime/lifecycle.mjs +1 -1
- package/dist/esm-node/runtime/loaderBridge.mjs +8 -5
- package/dist/esm-node/runtime/navigation.mjs +65 -0
- package/dist/esm-node/runtime/plugin.mjs +10 -1
- package/dist/esm-node/runtime/plugin.node.mjs +91 -66
- package/dist/esm-node/runtime/routeTree/construction.mjs +19 -61
- package/dist/esm-node/runtime/routeTree/loaders.mjs +2 -2
- package/dist/esm-node/runtime/routeTree/paths.mjs +1 -4
- package/dist/esm-node/runtime/ssrManagedTags.mjs +1 -8
- package/dist/esm-node/runtime/utils.mjs +1 -0
- package/dist/esm-node/shared/routeDescriptor.mjs +23 -0
- package/dist/types/cli/artifacts.d.ts +16 -7
- package/dist/types/cli/index.d.ts +1 -1
- package/dist/types/cli/routeMetadata.d.ts +18 -0
- package/dist/types/cli/rscRouteLayer.d.ts +11 -0
- package/dist/types/cli/tanstackTypes/shared.d.ts +0 -2
- package/dist/types/cli/tanstackTypes/source.d.ts +3 -2
- package/dist/types/runtime/lifecycle.d.ts +1 -1
- package/dist/types/runtime/loaderBridge.d.ts +1 -0
- package/dist/types/runtime/navigation.d.ts +4 -0
- package/dist/types/runtime/pluginShared.d.ts +5 -0
- package/dist/types/runtime/routeTree/paths.d.ts +0 -2
- package/dist/types/runtime/ssrManagedTags.d.ts +0 -1
- package/dist/types/runtime/ssrTypes.d.ts +0 -7
- package/dist/types/shared/routeDescriptor.d.ts +26 -0
- package/package.json +32 -26
- package/src/cli/artifacts.ts +59 -8
- package/src/cli/index.ts +17 -4
- package/src/cli/routeMetadata.ts +121 -0
- package/src/cli/rscRouteLayer.ts +93 -0
- package/src/cli/tanstackTypes/canonicalRoutes.ts +17 -12
- package/src/cli/tanstackTypes/shared.ts +0 -14
- package/src/cli/tanstackTypes/source.ts +48 -120
- package/src/runtime/lifecycle.ts +0 -1
- package/src/runtime/loaderBridge.ts +9 -9
- package/src/runtime/navigation.ts +78 -0
- package/src/runtime/plugin.node.tsx +121 -91
- package/src/runtime/plugin.tsx +10 -0
- package/src/runtime/pluginShared.ts +12 -0
- package/src/runtime/routeTree/construction.ts +32 -112
- package/src/runtime/routeTree/loaders.ts +2 -4
- package/src/runtime/routeTree/paths.ts +0 -6
- package/src/runtime/ssrManagedTags.ts +0 -17
- package/src/runtime/ssrTypes.ts +0 -7
- package/src/runtime/utils.tsx +1 -0
- package/src/shared/routeDescriptor.ts +46 -0
- package/dist/esm/rslib-runtime~1.mjs +0 -18
- package/dist/esm-node/rslib-runtime~0.mjs +0 -19
- package/rslib.config.mts +0 -4
- package/rstest.config.mts +0 -53
- package/tests/router/cli.test.ts +0 -420
- package/tests/router/clientHydration.test.tsx +0 -200
- package/tests/router/dataMutation.test.tsx +0 -428
- package/tests/router/fixtures/router-gen.oxlint.json +0 -5
- package/tests/router/flightSerialization.roundtrip.test.tsx +0 -140
- package/tests/router/generateRouteArtifacts.test.ts +0 -146
- package/tests/router/loaderBridge.test.ts +0 -207
- package/tests/router/localisedIdentity.test.tsx +0 -95
- package/tests/router/prefetchLink.test.tsx +0 -122
- package/tests/router/prefetchLinkPreload.test.tsx +0 -65
- package/tests/router/routeHooks.test.ts +0 -49
- package/tests/router/routeTree.test.ts +0 -240
- package/tests/router/rsc.test.tsx +0 -480
- package/tests/router/serverPlugin.test.ts +0 -157
- package/tests/router/slotUsageSanitizer.test.ts +0 -23
- package/tests/router/ssrPreload.test.ts +0 -30
- package/tests/router/tanstackTypes.test.ts +0 -384
- package/tsconfig.json +0 -12
- package/tsconfig.tsgo.json +0 -6
|
@@ -30,6 +30,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
30
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
31
31
|
createRouteStaticData: ()=>routeStaticData_js_namespaceObject.createRouteStaticData,
|
|
32
32
|
getLoaderHref: ()=>getLoaderHref,
|
|
33
|
+
getLoaderSignal: ()=>getLoaderSignal,
|
|
33
34
|
handleModernLoaderError: ()=>handleModernLoaderError,
|
|
34
35
|
handleModernLoaderResult: ()=>handleModernLoaderResult,
|
|
35
36
|
isAbsoluteUrl: ()=>isAbsoluteUrl_js_namespaceObject.isAbsoluteUrl,
|
|
@@ -79,10 +80,13 @@ function mapSplatParamsForModernLoader(params, hasSplat) {
|
|
|
79
80
|
return rest;
|
|
80
81
|
}
|
|
81
82
|
function getLoaderSignal(ctx) {
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
const matchSignal = ctx?.abortController?.signal ?? ctx?.signal;
|
|
84
|
+
const requestSignal = ctx?.context?.request?.signal;
|
|
85
|
+
const signals = [
|
|
86
|
+
matchSignal,
|
|
87
|
+
requestSignal
|
|
88
|
+
].filter((signal)=>signal instanceof AbortSignal);
|
|
89
|
+
return AbortSignal.any(signals);
|
|
86
90
|
}
|
|
87
91
|
function getLoaderHref(ctx) {
|
|
88
92
|
if ('string' == typeof ctx?.location) return ctx.location;
|
|
@@ -145,6 +149,7 @@ function modernLoaderToTanstack(opts, modernLoader) {
|
|
|
145
149
|
}
|
|
146
150
|
exports.createRouteStaticData = __webpack_exports__.createRouteStaticData;
|
|
147
151
|
exports.getLoaderHref = __webpack_exports__.getLoaderHref;
|
|
152
|
+
exports.getLoaderSignal = __webpack_exports__.getLoaderSignal;
|
|
148
153
|
exports.handleModernLoaderError = __webpack_exports__.handleModernLoaderError;
|
|
149
154
|
exports.handleModernLoaderResult = __webpack_exports__.handleModernLoaderResult;
|
|
150
155
|
exports.isAbsoluteUrl = __webpack_exports__.isAbsoluteUrl;
|
|
@@ -157,6 +162,7 @@ exports.throwTanstackRedirect = __webpack_exports__.throwTanstackRedirect;
|
|
|
157
162
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
158
163
|
"createRouteStaticData",
|
|
159
164
|
"getLoaderHref",
|
|
165
|
+
"getLoaderSignal",
|
|
160
166
|
"handleModernLoaderError",
|
|
161
167
|
"handleModernLoaderResult",
|
|
162
168
|
"isAbsoluteUrl",
|
|
@@ -0,0 +1,102 @@
|
|
|
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
|
+
createTanstackNavigation: ()=>createTanstackNavigation
|
|
32
|
+
});
|
|
33
|
+
const external_prefetchLink_js_namespaceObject = require("./prefetchLink.js");
|
|
34
|
+
function createTanstackNavigation(router) {
|
|
35
|
+
let location;
|
|
36
|
+
let matches;
|
|
37
|
+
let snapshot;
|
|
38
|
+
return {
|
|
39
|
+
Link: external_prefetchLink_js_namespaceObject.Link,
|
|
40
|
+
getSnapshot () {
|
|
41
|
+
const state = router.state;
|
|
42
|
+
if (location !== state.location || void 0 === matches || matches.length !== state.matches.length || matches.some((match, index)=>match.params !== state.matches[index]?.params)) {
|
|
43
|
+
location = state.location;
|
|
44
|
+
matches = state.matches;
|
|
45
|
+
snapshot = {
|
|
46
|
+
location: {
|
|
47
|
+
pathname: location.pathname,
|
|
48
|
+
search: location.searchStr,
|
|
49
|
+
hash: '' !== location.hash ? `#${location.hash.replace(/^#/, '')}` : ''
|
|
50
|
+
},
|
|
51
|
+
params: Object.assign({}, ...matches.map((match)=>match.params))
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return snapshot;
|
|
55
|
+
},
|
|
56
|
+
subscribe (listener) {
|
|
57
|
+
const stops = [
|
|
58
|
+
'onBeforeNavigate',
|
|
59
|
+
'onBeforeLoad',
|
|
60
|
+
'onLoad',
|
|
61
|
+
'onResolved'
|
|
62
|
+
].map((event)=>router.subscribe(event, listener));
|
|
63
|
+
return ()=>{
|
|
64
|
+
for (const stop of stops)stop();
|
|
65
|
+
};
|
|
66
|
+
},
|
|
67
|
+
navigate (href, options) {
|
|
68
|
+
return router.navigate({
|
|
69
|
+
to: href,
|
|
70
|
+
replace: options?.replace,
|
|
71
|
+
...options?.state === void 0 ? {} : {
|
|
72
|
+
state: options.state
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
},
|
|
76
|
+
createLinkProps (target) {
|
|
77
|
+
const preload = void 0 !== target.preload ? target.preload : 'none' === target.prefetch ? false : target.prefetch;
|
|
78
|
+
return {
|
|
79
|
+
to: target.pathname,
|
|
80
|
+
...void 0 !== target.search ? {
|
|
81
|
+
search: target.search
|
|
82
|
+
} : {},
|
|
83
|
+
...void 0 !== target.hash && '' !== target.hash ? {
|
|
84
|
+
hash: target.hash
|
|
85
|
+
} : {},
|
|
86
|
+
...void 0 === target.hashScrollIntoView ? {} : {
|
|
87
|
+
hashScrollIntoView: target.hashScrollIntoView
|
|
88
|
+
},
|
|
89
|
+
...void 0 === preload ? {} : {
|
|
90
|
+
preload
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
exports.createTanstackNavigation = __webpack_exports__.createTanstackNavigation;
|
|
97
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
98
|
+
"createTanstackNavigation"
|
|
99
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
100
|
+
Object.defineProperty(exports, '__esModule', {
|
|
101
|
+
value: true
|
|
102
|
+
});
|
|
@@ -33,6 +33,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
33
33
|
});
|
|
34
34
|
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
35
35
|
const context_namespaceObject = require("@modern-js/runtime/context");
|
|
36
|
+
const router_state_plugin_namespaceObject = require("@modern-js/runtime-extensions/router-state-plugin");
|
|
36
37
|
const url_namespaceObject = require("@modern-js/runtime-utils/url");
|
|
37
38
|
const react_router_namespaceObject = require("@tanstack/react-router");
|
|
38
39
|
const external_react_namespaceObject = require("react");
|
|
@@ -43,6 +44,7 @@ const external_clientHydration_js_namespaceObject = require("./clientHydration.j
|
|
|
43
44
|
const external_hooks_js_namespaceObject = require("./hooks.js");
|
|
44
45
|
const external_hydrationBoundary_js_namespaceObject = require("./hydrationBoundary.js");
|
|
45
46
|
const external_lifecycle_js_namespaceObject = require("./lifecycle.js");
|
|
47
|
+
const external_navigation_js_namespaceObject = require("./navigation.js");
|
|
46
48
|
const external_pluginShared_js_namespaceObject = require("./pluginShared.js");
|
|
47
49
|
const external_prefetchLink_js_namespaceObject = require("./prefetchLink.js");
|
|
48
50
|
const external_routeHooks_js_namespaceObject = require("./routeHooks.js");
|
|
@@ -54,6 +56,9 @@ const tanstackRouterPlugin = (userConfig = {})=>{
|
|
|
54
56
|
name: '@modern-js/plugin-router-tanstack',
|
|
55
57
|
registryHooks: external_hooks_js_namespaceObject.routerProviderRegistryHooks,
|
|
56
58
|
setup: (api)=>{
|
|
59
|
+
(0, router_state_plugin_namespaceObject.createRouterStatePlugin)({
|
|
60
|
+
registryHooks: external_hooks_js_namespaceObject.routerProviderRegistryHooks
|
|
61
|
+
}).setup(api);
|
|
57
62
|
const hooks = api.getHooks();
|
|
58
63
|
let cachedRouteObjects;
|
|
59
64
|
let cachedRouteTree = null;
|
|
@@ -175,10 +180,14 @@ const tanstackRouterPlugin = (userConfig = {})=>{
|
|
|
175
180
|
runtimeContext
|
|
176
181
|
]);
|
|
177
182
|
if (!router) return App ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(App, {}) : null;
|
|
183
|
+
const navigation = (0, external_react_namespaceObject.useMemo)(()=>(0, external_navigation_js_namespaceObject.createTanstackNavigation)(router), [
|
|
184
|
+
router
|
|
185
|
+
]);
|
|
178
186
|
const runtimeState = (0, external_lifecycle_js_namespaceObject.applyRouterRuntimeState)(runtimeContext, {
|
|
179
187
|
framework: 'tanstack',
|
|
180
188
|
basename: _basename,
|
|
181
|
-
instance: router
|
|
189
|
+
instance: router,
|
|
190
|
+
navigation
|
|
182
191
|
});
|
|
183
192
|
const lifecycleContext = {
|
|
184
193
|
framework: 'tanstack',
|
|
@@ -33,6 +33,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
33
33
|
});
|
|
34
34
|
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
35
35
|
const context_namespaceObject = require("@modern-js/runtime/context");
|
|
36
|
+
const router_state_plugin_namespaceObject = require("@modern-js/runtime-extensions/router-state-plugin");
|
|
36
37
|
const node_namespaceObject = require("@modern-js/runtime-utils/node");
|
|
37
38
|
const time_namespaceObject = require("@modern-js/runtime-utils/time");
|
|
38
39
|
const constants_namespaceObject = require("@modern-js/utils/universal/constants");
|
|
@@ -42,6 +43,7 @@ const external_basepathRewrite_js_namespaceObject = require("./basepathRewrite.j
|
|
|
42
43
|
const external_hooks_js_namespaceObject = require("./hooks.js");
|
|
43
44
|
const external_hydrationBoundary_js_namespaceObject = require("./hydrationBoundary.js");
|
|
44
45
|
const external_lifecycle_js_namespaceObject = require("./lifecycle.js");
|
|
46
|
+
const external_navigation_js_namespaceObject = require("./navigation.js");
|
|
45
47
|
const external_pluginShared_js_namespaceObject = require("./pluginShared.js");
|
|
46
48
|
const external_prefetchLink_js_namespaceObject = require("./prefetchLink.js");
|
|
47
49
|
const index_js_namespaceObject = require("./routeTree/index.js");
|
|
@@ -55,6 +57,9 @@ const tanstackRouterPlugin = (userConfig = {})=>{
|
|
|
55
57
|
name: '@modern-js/plugin-router-tanstack',
|
|
56
58
|
registryHooks: external_hooks_js_namespaceObject.routerProviderRegistryHooks,
|
|
57
59
|
setup: (api)=>{
|
|
60
|
+
(0, router_state_plugin_namespaceObject.createRouterStatePlugin)({
|
|
61
|
+
registryHooks: external_hooks_js_namespaceObject.routerProviderRegistryHooks
|
|
62
|
+
}).setup(api);
|
|
58
63
|
api.onBeforeRender(async (context, interrupt)=>{
|
|
59
64
|
const routeConfig = (0, external_pluginShared_js_namespaceObject.getTanstackRouteConfig)(api, userConfig);
|
|
60
65
|
const { mergedConfig } = routeConfig;
|
|
@@ -120,76 +125,96 @@ const tanstackRouterPlugin = (userConfig = {})=>{
|
|
|
120
125
|
});
|
|
121
126
|
const serverRouter = tanstackRouter;
|
|
122
127
|
if (enableRsc) (0, payloadStorage_js_namespaceObject.setTanstackRscRouter)(serverRouter);
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
if (!serverLoadResult) {
|
|
135
|
-
try {
|
|
136
|
-
serverRouter.serverSsr?.cleanup?.();
|
|
137
|
-
} catch {}
|
|
138
|
-
throw new Error('TanStack Router completed an SSR load without a server result.');
|
|
139
|
-
}
|
|
140
|
-
if ('redirect' === serverLoadResult.type) {
|
|
141
|
-
const { redirect } = serverLoadResult;
|
|
142
|
-
try {
|
|
143
|
-
serverRouter.serverSsr?.cleanup?.();
|
|
144
|
-
} catch {}
|
|
145
|
-
return interrupt(isRSCNavigation ? (0, payloadRouter_js_namespaceObject.handleTanstackRscRedirect)(redirect.headers, _basename, redirect.status) : redirect);
|
|
146
|
-
}
|
|
147
|
-
const routerErrors = (0, external_ssrManagedTags_js_namespaceObject.collectRouterErrors)(tanstackRouter);
|
|
148
|
-
if (routerErrors && 'clientRender' === loaderFailureMode) {
|
|
149
|
-
context.ssrContext?.response?.status(200);
|
|
150
|
-
try {
|
|
151
|
-
serverRouter.serverSsr?.cleanup?.();
|
|
152
|
-
} catch {}
|
|
153
|
-
throw Object.values(routerErrors)[0];
|
|
154
|
-
}
|
|
155
|
-
await (0, external_ssrPreload_js_namespaceObject.preloadMatchedRouteComponents)(serverRouter);
|
|
156
|
-
context.ssrContext?.response?.status(serverLoadResult.status);
|
|
157
|
-
await serverRouter.serverSsr?.dehydrate?.();
|
|
158
|
-
if (enableRsc) {
|
|
159
|
-
if (isRSCNavigation) await (0, external_ssrManagedTags_js_namespaceObject.waitForRouterSerialization)(serverRouter);
|
|
160
|
-
(0, payloadStorage_js_namespaceObject.setTanstackRscServerPayload)((0, payloadRouter_js_namespaceObject.createTanstackRscServerPayload)(serverRouter, {
|
|
161
|
-
omitClientLoaderData: isRSCNavigation
|
|
162
|
-
}));
|
|
163
|
-
}
|
|
164
|
-
const ssrScriptTags = serverRouter.serverSsr?.takeBufferedScripts?.();
|
|
165
|
-
const hydrationScripts = (0, external_ssrManagedTags_js_namespaceObject.routerManagedTagsToHtml)(ssrScriptTags);
|
|
166
|
-
const matchedRouteIds = (0, index_js_namespaceObject.getModernRouteIdsFromMatches)(serverRouter);
|
|
167
|
-
const routerServerSnapshot = (0, external_lifecycle_js_namespaceObject.createRouterServerSnapshot)({
|
|
128
|
+
let disposed = false;
|
|
129
|
+
let prepared = false;
|
|
130
|
+
const onAbort = ()=>controller.abort(rawRequest.signal.reason);
|
|
131
|
+
const cleanup = ()=>{
|
|
132
|
+
if (disposed) return;
|
|
133
|
+
disposed = true;
|
|
134
|
+
rawRequest.signal.removeEventListener('abort', onAbort);
|
|
135
|
+
controller.abort();
|
|
136
|
+
serverRouter.serverSsr?.cleanup();
|
|
137
|
+
};
|
|
138
|
+
(0, external_lifecycle_js_namespaceObject.applyRouterRuntimeState)(context, {
|
|
168
139
|
framework: 'tanstack',
|
|
169
140
|
basename: _basename,
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
141
|
+
instance: serverRouter,
|
|
142
|
+
cleanup
|
|
143
|
+
});
|
|
144
|
+
rawRequest.signal.addEventListener('abort', onAbort, {
|
|
145
|
+
once: true
|
|
174
146
|
});
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
147
|
+
try {
|
|
148
|
+
rawRequest.signal.throwIfAborted();
|
|
149
|
+
await (0, external_ssrManagedTags_js_namespaceObject.attachServerSsrUtils)(serverRouter);
|
|
150
|
+
rawRequest.signal.throwIfAborted();
|
|
151
|
+
const end = (0, time_namespaceObject.time)();
|
|
152
|
+
try {
|
|
153
|
+
await tanstackRouter.load({
|
|
154
|
+
sync: true
|
|
155
|
+
});
|
|
156
|
+
} finally{
|
|
157
|
+
const cost = end();
|
|
158
|
+
context.ssrContext?.onTiming?.(constants_namespaceObject.LOADER_REPORTER_NAME, cost);
|
|
159
|
+
}
|
|
160
|
+
rawRequest.signal.throwIfAborted();
|
|
161
|
+
const serverLoadResult = serverRouter._serverResult;
|
|
162
|
+
if (!serverLoadResult) throw new Error('TanStack Router completed an SSR load without a server result.');
|
|
163
|
+
if ('redirect' === serverLoadResult.type) {
|
|
164
|
+
const { redirect } = serverLoadResult;
|
|
165
|
+
return interrupt(isRSCNavigation ? (0, payloadRouter_js_namespaceObject.handleTanstackRscRedirect)(redirect.headers, _basename, redirect.status) : redirect);
|
|
166
|
+
}
|
|
167
|
+
const routerErrors = (0, external_ssrManagedTags_js_namespaceObject.collectRouterErrors)(tanstackRouter);
|
|
168
|
+
if (routerErrors && 'clientRender' === loaderFailureMode) {
|
|
169
|
+
context.ssrContext?.response?.status(200);
|
|
170
|
+
throw Object.values(routerErrors)[0];
|
|
171
|
+
}
|
|
172
|
+
await (0, external_ssrPreload_js_namespaceObject.preloadMatchedRouteComponents)(serverRouter);
|
|
173
|
+
context.ssrContext?.response?.status(serverLoadResult.status);
|
|
174
|
+
await serverRouter.serverSsr?.dehydrate();
|
|
175
|
+
if (enableRsc) {
|
|
176
|
+
(0, payloadStorage_js_namespaceObject.setTanstackRscServerPayload)((0, payloadRouter_js_namespaceObject.createTanstackRscServerPayload)(serverRouter, {
|
|
177
|
+
omitClientLoaderData: isRSCNavigation
|
|
178
|
+
}));
|
|
179
|
+
if (isRSCNavigation) context.ssrContext.response.setHeader('Content-Type', 'text/x-component');
|
|
180
|
+
}
|
|
181
|
+
const initialScriptTags = serverRouter.serverSsr?.takeInitialHydrationScriptTags();
|
|
182
|
+
const hydrationScripts = initialScriptTags ? (0, external_ssrManagedTags_js_namespaceObject.routerManagedTagsToHtml)([
|
|
183
|
+
...initialScriptTags.before,
|
|
184
|
+
initialScriptTags.boundary
|
|
185
|
+
]) : [];
|
|
186
|
+
const matchedRouteIds = (0, index_js_namespaceObject.getModernRouteIdsFromMatches)(serverRouter);
|
|
187
|
+
const routerServerSnapshot = {
|
|
179
188
|
framework: 'tanstack',
|
|
180
189
|
basename: _basename,
|
|
181
|
-
|
|
182
|
-
|
|
190
|
+
statusCode: serverLoadResult.status,
|
|
191
|
+
errors: routerErrors,
|
|
183
192
|
matchedRouteIds,
|
|
184
|
-
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
+
hydrationScripts
|
|
194
|
+
};
|
|
195
|
+
const runtimeContext = (0, external_lifecycle_js_namespaceObject.applyRouterServerPrepareResult)(context, {
|
|
196
|
+
snapshot: routerServerSnapshot,
|
|
197
|
+
cleanup,
|
|
198
|
+
state: {
|
|
199
|
+
framework: 'tanstack',
|
|
200
|
+
basename: _basename,
|
|
201
|
+
instance: serverRouter,
|
|
202
|
+
navigation: (0, external_navigation_js_namespaceObject.createTanstackNavigation)(tanstackRouter)
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
rawRequest.signal.throwIfAborted();
|
|
206
|
+
hooks.onAfterCreateRouter.call({
|
|
207
|
+
...routerLifecycleContext,
|
|
208
|
+
router: serverRouter,
|
|
209
|
+
serverSnapshot: (0, external_lifecycle_js_namespaceObject.getRouterServerSnapshot)(runtimeContext),
|
|
210
|
+
runtimeContext
|
|
211
|
+
});
|
|
212
|
+
prepared = true;
|
|
213
|
+
} finally{
|
|
214
|
+
if (!prepared) try {
|
|
215
|
+
cleanup();
|
|
216
|
+
} catch {}
|
|
217
|
+
}
|
|
193
218
|
});
|
|
194
219
|
api.wrapRoot((App)=>{
|
|
195
220
|
const getRouteApp = ()=>{
|
|
@@ -31,26 +31,22 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
31
31
|
createRouteTreeFromRouteObjects: ()=>createRouteTreeFromRouteObjects,
|
|
32
32
|
getModernRouteIdsFromMatches: ()=>getModernRouteIdsFromMatches
|
|
33
33
|
});
|
|
34
|
-
const i18n_runtime_extensions_namespaceObject = require("@modern-js/i18n-runtime-extensions");
|
|
35
34
|
const context_namespaceObject = require("@modern-js/runtime/context");
|
|
36
35
|
const react_router_namespaceObject = require("@tanstack/react-router");
|
|
36
|
+
const routeDescriptor_js_namespaceObject = require("../../shared/routeDescriptor.js");
|
|
37
37
|
const routeStaticData_js_namespaceObject = require("../../shared/routeStaticData.js");
|
|
38
38
|
const external_outlet_js_namespaceObject = require("../outlet.js");
|
|
39
39
|
const external_components_js_namespaceObject = require("./components.js");
|
|
40
40
|
const external_loaders_js_namespaceObject = require("./loaders.js");
|
|
41
|
-
const external_paths_js_namespaceObject = require("./paths.js");
|
|
42
41
|
const external_staticData_js_namespaceObject = require("./staticData.js");
|
|
43
42
|
const external_tanstackRoutes_js_namespaceObject = require("./tanstackRoutes.js");
|
|
44
|
-
function
|
|
45
|
-
const { options = {}, parent, pathlessFallbackId = 'pathless', routeObject } = opts;
|
|
43
|
+
function createRouteOptions(routeObject, options) {
|
|
46
44
|
const modernRouteObject = routeObject;
|
|
47
45
|
const revalidationState = {};
|
|
48
46
|
const shouldRevalidate = modernRouteObject.shouldRevalidate;
|
|
49
47
|
const shouldReload = (0, external_loaders_js_namespaceObject.createModernShouldReload)(shouldRevalidate, revalidationState);
|
|
50
|
-
const stableFallbackId = routeObject.id || modernRouteObject.file || pathlessFallbackId;
|
|
51
48
|
const component = (0, external_components_js_namespaceObject.toRouteComponent)(routeObject);
|
|
52
49
|
const base = {
|
|
53
|
-
getParentRoute: ()=>parent,
|
|
54
50
|
component,
|
|
55
51
|
pendingComponent: (0, external_components_js_namespaceObject.toPendingComponent)(routeObject),
|
|
56
52
|
errorComponent: (0, external_components_js_namespaceObject.toErrorComponent)(routeObject),
|
|
@@ -71,67 +67,29 @@ function createRouteFromRouteObject(opts) {
|
|
|
71
67
|
};
|
|
72
68
|
if (modernRouteObject.inValidSSRRoute) base.ssr = false;
|
|
73
69
|
if (shouldReload) base.shouldReload = shouldReload;
|
|
74
|
-
|
|
75
|
-
else base.path = routeObject.index ? '/' : (0, external_paths_js_namespaceObject.toTanstackPath)(routeObject.path || '');
|
|
76
|
-
const route = (0, external_tanstackRoutes_js_namespaceObject.createTanstackRoute)(base);
|
|
77
|
-
(0, external_tanstackRoutes_js_namespaceObject.wrapRouteComponentWithModernContext)(route, component, routeObject.id);
|
|
78
|
-
const children = routeObject.children;
|
|
79
|
-
if (children && children.length > 0) {
|
|
80
|
-
const childRoutes = children.map((child, index)=>createRouteFromRouteObject({
|
|
81
|
-
options,
|
|
82
|
-
parent: route,
|
|
83
|
-
pathlessFallbackId: `pathless-${index}`,
|
|
84
|
-
routeObject: child
|
|
85
|
-
}));
|
|
86
|
-
route.addChildren(childRoutes);
|
|
87
|
-
}
|
|
88
|
-
return route;
|
|
70
|
+
return base;
|
|
89
71
|
}
|
|
90
|
-
function
|
|
91
|
-
|
|
72
|
+
function createRouteFromDescriptor(descriptor, parent, options) {
|
|
73
|
+
const { source, location, children } = descriptor;
|
|
74
|
+
const routeOptions = createRouteOptions(source, options);
|
|
75
|
+
const route = (0, external_tanstackRoutes_js_namespaceObject.createTanstackRoute)({
|
|
76
|
+
...routeOptions,
|
|
77
|
+
...location,
|
|
78
|
+
getParentRoute: ()=>parent
|
|
79
|
+
});
|
|
80
|
+
(0, external_tanstackRoutes_js_namespaceObject.wrapRouteComponentWithModernContext)(route, routeOptions.component, source.id);
|
|
81
|
+
if (children.length) route.addChildren(children.map((child)=>createRouteFromDescriptor(child, route, options)));
|
|
82
|
+
return route;
|
|
92
83
|
}
|
|
93
84
|
function createRouteTreeFromRouteObjects(routes, options = {}) {
|
|
94
|
-
|
|
95
|
-
const rootLikeRoute = getRootLikeRouteObject(routes);
|
|
96
|
-
const rootRevalidationState = {};
|
|
97
|
-
const rootShouldRevalidate = rootLikeRoute?.shouldRevalidate;
|
|
98
|
-
const rootShouldReload = (0, external_loaders_js_namespaceObject.createModernShouldReload)(rootShouldRevalidate, rootRevalidationState);
|
|
99
|
-
const rootComponent = rootLikeRoute ? (0, external_components_js_namespaceObject.toRouteComponent)(rootLikeRoute) : void 0;
|
|
85
|
+
const { root, children } = (0, routeDescriptor_js_namespaceObject.describeRouteTree)(routes);
|
|
100
86
|
const rootRouteOptions = {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
errorComponent: rootLikeRoute ? (0, external_components_js_namespaceObject.toErrorComponent)(rootLikeRoute) : void 0,
|
|
104
|
-
validateSearch: rootLikeRoute?.validateSearch,
|
|
105
|
-
loaderDeps: rootLikeRoute?.loaderDeps,
|
|
106
|
-
notFoundComponent: context_namespaceObject.DefaultNotFound,
|
|
107
|
-
staticData: (0, routeStaticData_js_namespaceObject.createRouteStaticData)({
|
|
108
|
-
modernRouteId: rootLikeRoute?.id,
|
|
109
|
-
modernRouteAction: rootLikeRoute?.action,
|
|
110
|
-
modernRouteHandle: rootLikeRoute ? (0, external_staticData_js_namespaceObject.mergeModernRouteHandle)(rootLikeRoute) : void 0,
|
|
111
|
-
modernRouteHasAction: rootLikeRoute?.hasAction || Boolean(rootLikeRoute?.action),
|
|
112
|
-
modernRouteHasClientLoader: rootLikeRoute?.hasClientLoader || void 0 !== rootLikeRoute?.clientData,
|
|
113
|
-
modernRouteHasLoader: rootLikeRoute?.hasLoader || 'function' == typeof rootLikeRoute?.loader,
|
|
114
|
-
modernRouteIsClientComponent: rootLikeRoute?.isClientComponent,
|
|
115
|
-
modernRouteLoader: rootLikeRoute?.loader,
|
|
116
|
-
modernRouteShouldRevalidate: rootShouldRevalidate
|
|
117
|
-
}),
|
|
118
|
-
loader: rootLikeRoute ? (0, external_loaders_js_namespaceObject.wrapRouteObjectLoader)(rootLikeRoute, rootRevalidationState, options) : void 0
|
|
87
|
+
...root ? createRouteOptions(root, options) : {},
|
|
88
|
+
notFoundComponent: context_namespaceObject.DefaultNotFound
|
|
119
89
|
};
|
|
120
|
-
if (rootShouldReload) rootRouteOptions.shouldReload = rootShouldReload;
|
|
121
|
-
if (rootLikeRoute?.inValidSSRRoute) rootRouteOptions.ssr = false;
|
|
122
90
|
const rootRoute = (0, external_tanstackRoutes_js_namespaceObject.createTanstackRootRoute)(rootRouteOptions);
|
|
123
|
-
if (
|
|
124
|
-
|
|
125
|
-
...rootLikeRoute.children || [],
|
|
126
|
-
...routes.filter((route)=>route !== rootLikeRoute)
|
|
127
|
-
] : routes;
|
|
128
|
-
const childRoutes = topLevel.map((routeObject, index)=>createRouteFromRouteObject({
|
|
129
|
-
options,
|
|
130
|
-
parent: rootRoute,
|
|
131
|
-
pathlessFallbackId: `pathless-${index}`,
|
|
132
|
-
routeObject
|
|
133
|
-
}));
|
|
134
|
-
rootRoute.addChildren(childRoutes);
|
|
91
|
+
if (rootRouteOptions.component) rootRoute.options.component = (0, external_outlet_js_namespaceObject.withModernRouteMatchContext)(rootRouteOptions.component, react_router_namespaceObject.rootRouteId);
|
|
92
|
+
rootRoute.addChildren(children.map((child)=>createRouteFromDescriptor(child, rootRoute, options)));
|
|
135
93
|
return rootRoute;
|
|
136
94
|
}
|
|
137
95
|
function getModernRouteIdsFromMatches(router) {
|
|
@@ -82,7 +82,7 @@ function wrapRouteObjectLoader(route, revalidationState, options = {}) {
|
|
|
82
82
|
if ('function' == typeof modernRoute.lazyImport) try {
|
|
83
83
|
await modernRoute.lazyImport();
|
|
84
84
|
} catch {}
|
|
85
|
-
const signal =
|
|
85
|
+
const signal = (0, external_loaderBridge_js_namespaceObject.getLoaderSignal)(ctx);
|
|
86
86
|
const baseRequest = ctx?.context?.request instanceof Request ? ctx.context.request : void 0;
|
|
87
87
|
const href = (0, external_loaderBridge_js_namespaceObject.getLoaderHref)(ctx);
|
|
88
88
|
const request = void 0 !== baseRequest ? new Request(baseRequest, {
|
|
@@ -39,17 +39,11 @@ function toTanstackPath(pathname) {
|
|
|
39
39
|
return segment;
|
|
40
40
|
}).join('/');
|
|
41
41
|
}
|
|
42
|
-
function isRouteObjectPathlessLayout(route) {
|
|
43
|
-
return !route.path && !route.index;
|
|
44
|
-
}
|
|
45
42
|
__webpack_require__.d(__webpack_exports__, {
|
|
46
|
-
isRouteObjectPathlessLayout: ()=>isRouteObjectPathlessLayout,
|
|
47
43
|
toTanstackPath: ()=>toTanstackPath
|
|
48
44
|
});
|
|
49
|
-
exports.isRouteObjectPathlessLayout = __webpack_exports__.isRouteObjectPathlessLayout;
|
|
50
45
|
exports.toTanstackPath = __webpack_exports__.toTanstackPath;
|
|
51
46
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
52
|
-
"isRouteObjectPathlessLayout",
|
|
53
47
|
"toTanstackPath"
|
|
54
48
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
55
49
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -27,13 +27,6 @@ var __webpack_require__ = {};
|
|
|
27
27
|
})();
|
|
28
28
|
var __webpack_exports__ = {};
|
|
29
29
|
__webpack_require__.r(__webpack_exports__);
|
|
30
|
-
async function waitForRouterSerialization(tanstackRouter) {
|
|
31
|
-
const serverSsr = tanstackRouter.serverSsr;
|
|
32
|
-
if (!serverSsr || 'function' != typeof serverSsr.onSerializationFinished || serverSsr.isSerializationFinished?.()) return;
|
|
33
|
-
await new Promise((resolve)=>{
|
|
34
|
-
serverSsr.onSerializationFinished?.(resolve);
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
30
|
function htmlEscapeAttr(value) {
|
|
38
31
|
return value.replace(/&/g, '&').replace(/"/g, '"');
|
|
39
32
|
}
|
|
@@ -83,20 +76,17 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
83
76
|
attachServerSsrUtils: ()=>attachServerSsrUtils,
|
|
84
77
|
collectRouterErrors: ()=>collectRouterErrors,
|
|
85
78
|
createGetSsrHref: ()=>createGetSsrHref,
|
|
86
|
-
routerManagedTagsToHtml: ()=>routerManagedTagsToHtml
|
|
87
|
-
waitForRouterSerialization: ()=>waitForRouterSerialization
|
|
79
|
+
routerManagedTagsToHtml: ()=>routerManagedTagsToHtml
|
|
88
80
|
});
|
|
89
81
|
exports.attachServerSsrUtils = __webpack_exports__.attachServerSsrUtils;
|
|
90
82
|
exports.collectRouterErrors = __webpack_exports__.collectRouterErrors;
|
|
91
83
|
exports.createGetSsrHref = __webpack_exports__.createGetSsrHref;
|
|
92
84
|
exports.routerManagedTagsToHtml = __webpack_exports__.routerManagedTagsToHtml;
|
|
93
|
-
exports.waitForRouterSerialization = __webpack_exports__.waitForRouterSerialization;
|
|
94
85
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
95
86
|
"attachServerSsrUtils",
|
|
96
87
|
"collectRouterErrors",
|
|
97
88
|
"createGetSsrHref",
|
|
98
|
-
"routerManagedTagsToHtml"
|
|
99
|
-
"waitForRouterSerialization"
|
|
89
|
+
"routerManagedTagsToHtml"
|
|
100
90
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
101
91
|
Object.defineProperty(exports, '__esModule', {
|
|
102
92
|
value: true
|
|
@@ -56,6 +56,7 @@ function withGlobalLayout(Component, globalApp) {
|
|
|
56
56
|
function toTanstackRouteObject(route, globalApp) {
|
|
57
57
|
if ('nested' === route.type) return {
|
|
58
58
|
modernLocalisedRoute: Reflect.get(route, 'modernLocalisedRoute'),
|
|
59
|
+
isRoot: Reflect.get(route, 'isRoot'),
|
|
59
60
|
path: route.path,
|
|
60
61
|
id: route.id,
|
|
61
62
|
loader: route.loader,
|
|
@@ -0,0 +1,60 @@
|
|
|
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
|
+
describeRouteTree: ()=>describeRouteTree
|
|
32
|
+
});
|
|
33
|
+
const paths_js_namespaceObject = require("../runtime/routeTree/paths.js");
|
|
34
|
+
function describeRouteTree(routes) {
|
|
35
|
+
const root = routes.find((route)=>true === route.isRoot || '/' === route.path && true !== route.index);
|
|
36
|
+
const describe = (route, index)=>({
|
|
37
|
+
source: route,
|
|
38
|
+
location: 0 === (route.path ?? '').length && true !== route.index ? {
|
|
39
|
+
id: route.id || route.file || `pathless-${index}`
|
|
40
|
+
} : {
|
|
41
|
+
path: true === route.index ? '/' : (0, paths_js_namespaceObject.toTanstackPath)(route.path || '')
|
|
42
|
+
},
|
|
43
|
+
hasSplat: Boolean(route.path?.includes('*')),
|
|
44
|
+
children: (route.children ?? []).map(describe)
|
|
45
|
+
});
|
|
46
|
+
return {
|
|
47
|
+
root,
|
|
48
|
+
children: (void 0 !== root ? [
|
|
49
|
+
...root.children ?? [],
|
|
50
|
+
...routes.filter((route)=>route !== root)
|
|
51
|
+
] : routes).map(describe)
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
exports.describeRouteTree = __webpack_exports__.describeRouteTree;
|
|
55
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
56
|
+
"describeRouteTree"
|
|
57
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
58
|
+
Object.defineProperty(exports, '__esModule', {
|
|
59
|
+
value: true
|
|
60
|
+
});
|