@bleedingdev/modern-js-runtime 3.2.0-ultramodern.120 → 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.
Files changed (203) hide show
  1. package/dist/cjs/boundary-debugger/index.js +4 -0
  2. package/dist/cjs/cli/index.js +11 -0
  3. package/dist/cjs/{router/runtime/tanstack/rsc/ClientSlot.js → core/context/extensions.js} +33 -21
  4. package/dist/cjs/{router/runtime/tanstack/rsc/SlotContext.js → core/context/helmetContext.js} +16 -20
  5. package/dist/cjs/core/context/index.js +65 -0
  6. package/dist/cjs/core/react/wrapper.js +6 -4
  7. package/dist/cjs/core/server/helmet.js +2 -1
  8. package/dist/cjs/core/server/requestHandler.js +42 -29
  9. package/dist/cjs/core/server/routerCleanup.js +110 -0
  10. package/dist/cjs/core/server/scriptOrder.js +75 -4
  11. package/dist/cjs/core/server/stream/afterTemplate.js +6 -18
  12. package/dist/cjs/core/server/stream/deferredScript.js +4 -1
  13. package/dist/cjs/core/server/string/index.js +1 -7
  14. package/dist/cjs/core/server/string/loadable.js +13 -40
  15. package/dist/cjs/core/server/string/ssrData.js +1 -1
  16. package/dist/cjs/core/server/utils.js +31 -8
  17. package/dist/cjs/exports/head.js +135 -74
  18. package/dist/cjs/exports/tanstack-router.js +36 -305
  19. package/dist/cjs/module-federation/index.js +178 -0
  20. package/dist/cjs/router/cli/code/index.js +1 -47
  21. package/dist/cjs/router/cli/code/templates.js +1 -14
  22. package/dist/cjs/router/cli/handler.js +1 -1
  23. package/dist/cjs/router/cli/index.js +2 -23
  24. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +16 -4
  25. package/dist/cjs/router/runtime/PrefetchLink.js +2 -3
  26. package/dist/cjs/router/runtime/internal.js +20 -13
  27. package/dist/cjs/router/runtime/lifecycle.js +37 -22
  28. package/dist/cjs/router/runtime/plugin.js +2 -9
  29. package/dist/cjs/router/runtime/plugin.node.js +2 -7
  30. package/dist/cjs/router/runtime/provider.js +107 -0
  31. package/dist/cjs/router/runtime/utils.js +35 -9
  32. package/dist/esm/boundary-debugger/index.mjs +4 -0
  33. package/dist/esm/cli/index.mjs +4 -2
  34. package/dist/esm/core/context/extensions.mjs +28 -0
  35. package/dist/esm/core/context/helmetContext.mjs +13 -0
  36. package/dist/esm/core/context/index.mjs +5 -0
  37. package/dist/esm/core/react/wrapper.mjs +6 -4
  38. package/dist/esm/core/server/helmet.mjs +2 -1
  39. package/dist/esm/core/server/requestHandler.mjs +43 -30
  40. package/dist/esm/core/server/routerCleanup.mjs +66 -0
  41. package/dist/esm/core/server/scriptOrder.mjs +60 -1
  42. package/dist/esm/core/server/stream/afterTemplate.mjs +8 -20
  43. package/dist/esm/core/server/stream/deferredScript.mjs +4 -1
  44. package/dist/esm/core/server/string/index.mjs +3 -9
  45. package/dist/esm/core/server/string/loadable.mjs +11 -38
  46. package/dist/esm/core/server/string/ssrData.mjs +2 -2
  47. package/dist/esm/core/server/utils.mjs +31 -8
  48. package/dist/esm/exports/head.mjs +135 -74
  49. package/dist/esm/exports/tanstack-router.mjs +30 -4
  50. package/dist/esm/module-federation/index.mjs +109 -0
  51. package/dist/esm/router/cli/code/index.mjs +1 -47
  52. package/dist/esm/router/cli/code/templates.mjs +1 -14
  53. package/dist/esm/router/cli/handler.mjs +1 -1
  54. package/dist/esm/router/cli/index.mjs +3 -24
  55. package/dist/esm/router/runtime/DeferredDataScripts.node.mjs +16 -4
  56. package/dist/esm/router/runtime/PrefetchLink.mjs +2 -3
  57. package/dist/esm/router/runtime/internal.mjs +16 -15
  58. package/dist/esm/router/runtime/lifecycle.mjs +22 -13
  59. package/dist/esm/router/runtime/plugin.mjs +4 -11
  60. package/dist/esm/router/runtime/plugin.node.mjs +4 -9
  61. package/dist/esm/router/runtime/provider.mjs +57 -0
  62. package/dist/esm/router/runtime/utils.mjs +35 -9
  63. package/dist/esm-node/boundary-debugger/index.mjs +4 -0
  64. package/dist/esm-node/cli/index.mjs +4 -2
  65. package/dist/esm-node/core/context/extensions.mjs +29 -0
  66. package/dist/esm-node/core/context/helmetContext.mjs +14 -0
  67. package/dist/esm-node/core/context/index.mjs +5 -0
  68. package/dist/esm-node/core/react/wrapper.mjs +6 -4
  69. package/dist/esm-node/core/server/helmet.mjs +2 -1
  70. package/dist/esm-node/core/server/requestHandler.mjs +43 -30
  71. package/dist/esm-node/core/server/routerCleanup.mjs +67 -0
  72. package/dist/esm-node/core/server/scriptOrder.mjs +60 -1
  73. package/dist/esm-node/core/server/stream/afterTemplate.mjs +8 -20
  74. package/dist/esm-node/core/server/stream/deferredScript.mjs +4 -1
  75. package/dist/esm-node/core/server/string/index.mjs +3 -9
  76. package/dist/esm-node/core/server/string/loadable.mjs +11 -38
  77. package/dist/esm-node/core/server/string/ssrData.mjs +2 -2
  78. package/dist/esm-node/core/server/utils.mjs +31 -8
  79. package/dist/esm-node/exports/head.mjs +135 -74
  80. package/dist/esm-node/exports/tanstack-router.mjs +30 -4
  81. package/dist/esm-node/module-federation/index.mjs +110 -0
  82. package/dist/esm-node/router/cli/code/index.mjs +1 -47
  83. package/dist/esm-node/router/cli/code/templates.mjs +1 -14
  84. package/dist/esm-node/router/cli/handler.mjs +1 -1
  85. package/dist/esm-node/router/cli/index.mjs +3 -24
  86. package/dist/esm-node/router/runtime/DeferredDataScripts.node.mjs +16 -4
  87. package/dist/esm-node/router/runtime/PrefetchLink.mjs +2 -3
  88. package/dist/esm-node/router/runtime/internal.mjs +16 -15
  89. package/dist/esm-node/router/runtime/lifecycle.mjs +22 -13
  90. package/dist/esm-node/router/runtime/plugin.mjs +4 -11
  91. package/dist/esm-node/router/runtime/plugin.node.mjs +4 -9
  92. package/dist/esm-node/router/runtime/provider.mjs +58 -0
  93. package/dist/esm-node/router/runtime/utils.mjs +35 -9
  94. package/dist/types/cli/index.d.ts +3 -1
  95. package/dist/types/core/context/extensions.d.ts +37 -0
  96. package/dist/types/core/context/helmetContext.d.ts +10 -0
  97. package/dist/types/core/context/index.d.ts +6 -0
  98. package/dist/types/core/context/runtime.d.ts +1 -11
  99. package/dist/types/core/server/routerCleanup.d.ts +28 -0
  100. package/dist/types/core/server/scriptOrder.d.ts +24 -0
  101. package/dist/types/core/server/string/loadable.d.ts +1 -7
  102. package/dist/types/core/server/utils.d.ts +1 -0
  103. package/dist/types/exports/tanstack-router.d.ts +88 -7
  104. package/dist/types/module-federation/index.d.ts +65 -0
  105. package/dist/types/router/cli/code/index.d.ts +1 -3
  106. package/dist/types/router/cli/handler.d.ts +0 -3
  107. package/dist/types/router/runtime/internal.d.ts +1 -0
  108. package/dist/types/router/runtime/lifecycle.d.ts +2 -0
  109. package/dist/types/router/runtime/plugin.d.ts +1 -1
  110. package/dist/types/router/runtime/plugin.node.d.ts +1 -1
  111. package/dist/types/router/runtime/provider.d.ts +61 -0
  112. package/package.json +15 -11
  113. package/rstest.config.mts +2 -4
  114. package/dist/cjs/router/cli/code/tanstackTypes.js +0 -447
  115. package/dist/cjs/router/runtime/tanstack/basepathRewrite.js +0 -66
  116. package/dist/cjs/router/runtime/tanstack/dataMutation.js +0 -349
  117. package/dist/cjs/router/runtime/tanstack/hydrationBoundary.js +0 -48
  118. package/dist/cjs/router/runtime/tanstack/outlet.js +0 -58
  119. package/dist/cjs/router/runtime/tanstack/plugin.js +0 -342
  120. package/dist/cjs/router/runtime/tanstack/plugin.node.js +0 -272
  121. package/dist/cjs/router/runtime/tanstack/prefetchLink.js +0 -59
  122. package/dist/cjs/router/runtime/tanstack/routeTree.js +0 -525
  123. package/dist/cjs/router/runtime/tanstack/rsc/CompositeComponent.js +0 -79
  124. package/dist/cjs/router/runtime/tanstack/rsc/ReplayableStream.js +0 -146
  125. package/dist/cjs/router/runtime/tanstack/rsc/RscNodeRenderer.js +0 -69
  126. package/dist/cjs/router/runtime/tanstack/rsc/client.js +0 -97
  127. package/dist/cjs/router/runtime/tanstack/rsc/createRscProxy.js +0 -145
  128. package/dist/cjs/router/runtime/tanstack/rsc/index.js +0 -46
  129. package/dist/cjs/router/runtime/tanstack/rsc/server.js +0 -250
  130. package/dist/cjs/router/runtime/tanstack/rsc/slotUsageSanitizer.js +0 -69
  131. package/dist/cjs/router/runtime/tanstack/rsc/symbols.js +0 -77
  132. package/dist/cjs/ssr/index.node.js +0 -125
  133. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -88
  134. package/dist/cjs/ssr/serverRender/renderToString/entry.js +0 -200
  135. package/dist/cjs/ssr/serverRender/types.js +0 -40
  136. package/dist/esm/router/cli/code/tanstackTypes.mjs +0 -396
  137. package/dist/esm/router/runtime/tanstack/basepathRewrite.mjs +0 -28
  138. package/dist/esm/router/runtime/tanstack/dataMutation.mjs +0 -305
  139. package/dist/esm/router/runtime/tanstack/hydrationBoundary.mjs +0 -10
  140. package/dist/esm/router/runtime/tanstack/outlet.mjs +0 -17
  141. package/dist/esm/router/runtime/tanstack/plugin.mjs +0 -304
  142. package/dist/esm/router/runtime/tanstack/plugin.node.mjs +0 -234
  143. package/dist/esm/router/runtime/tanstack/prefetchLink.mjs +0 -18
  144. package/dist/esm/router/runtime/tanstack/routeTree.mjs +0 -481
  145. package/dist/esm/router/runtime/tanstack/rsc/ClientSlot.mjs +0 -19
  146. package/dist/esm/router/runtime/tanstack/rsc/CompositeComponent.mjs +0 -41
  147. package/dist/esm/router/runtime/tanstack/rsc/ReplayableStream.mjs +0 -104
  148. package/dist/esm/router/runtime/tanstack/rsc/RscNodeRenderer.mjs +0 -31
  149. package/dist/esm/router/runtime/tanstack/rsc/SlotContext.mjs +0 -17
  150. package/dist/esm/router/runtime/tanstack/rsc/client.mjs +0 -53
  151. package/dist/esm/router/runtime/tanstack/rsc/createRscProxy.mjs +0 -107
  152. package/dist/esm/router/runtime/tanstack/rsc/index.mjs +0 -1
  153. package/dist/esm/router/runtime/tanstack/rsc/server.mjs +0 -200
  154. package/dist/esm/router/runtime/tanstack/rsc/slotUsageSanitizer.mjs +0 -31
  155. package/dist/esm/router/runtime/tanstack/rsc/symbols.mjs +0 -17
  156. package/dist/esm/ssr/index.node.mjs +0 -44
  157. package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.mjs +0 -50
  158. package/dist/esm/ssr/serverRender/renderToString/entry.mjs +0 -151
  159. package/dist/esm/ssr/serverRender/types.mjs +0 -1
  160. package/dist/esm-node/router/cli/code/tanstackTypes.mjs +0 -397
  161. package/dist/esm-node/router/runtime/tanstack/basepathRewrite.mjs +0 -29
  162. package/dist/esm-node/router/runtime/tanstack/dataMutation.mjs +0 -306
  163. package/dist/esm-node/router/runtime/tanstack/hydrationBoundary.mjs +0 -11
  164. package/dist/esm-node/router/runtime/tanstack/outlet.mjs +0 -18
  165. package/dist/esm-node/router/runtime/tanstack/plugin.mjs +0 -305
  166. package/dist/esm-node/router/runtime/tanstack/plugin.node.mjs +0 -235
  167. package/dist/esm-node/router/runtime/tanstack/prefetchLink.mjs +0 -19
  168. package/dist/esm-node/router/runtime/tanstack/routeTree.mjs +0 -482
  169. package/dist/esm-node/router/runtime/tanstack/rsc/ClientSlot.mjs +0 -20
  170. package/dist/esm-node/router/runtime/tanstack/rsc/CompositeComponent.mjs +0 -42
  171. package/dist/esm-node/router/runtime/tanstack/rsc/ReplayableStream.mjs +0 -105
  172. package/dist/esm-node/router/runtime/tanstack/rsc/RscNodeRenderer.mjs +0 -32
  173. package/dist/esm-node/router/runtime/tanstack/rsc/SlotContext.mjs +0 -18
  174. package/dist/esm-node/router/runtime/tanstack/rsc/client.mjs +0 -54
  175. package/dist/esm-node/router/runtime/tanstack/rsc/createRscProxy.mjs +0 -108
  176. package/dist/esm-node/router/runtime/tanstack/rsc/index.mjs +0 -2
  177. package/dist/esm-node/router/runtime/tanstack/rsc/server.mjs +0 -201
  178. package/dist/esm-node/router/runtime/tanstack/rsc/slotUsageSanitizer.mjs +0 -32
  179. package/dist/esm-node/router/runtime/tanstack/rsc/symbols.mjs +0 -18
  180. package/dist/esm-node/ssr/index.node.mjs +0 -45
  181. package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.mjs +0 -51
  182. package/dist/esm-node/ssr/serverRender/renderToString/entry.mjs +0 -152
  183. package/dist/esm-node/ssr/serverRender/types.mjs +0 -2
  184. package/dist/types/router/cli/code/tanstackTypes.d.ts +0 -10
  185. package/dist/types/router/runtime/tanstack/basepathRewrite.d.ts +0 -8
  186. package/dist/types/router/runtime/tanstack/dataMutation.d.ts +0 -29
  187. package/dist/types/router/runtime/tanstack/hydrationBoundary.d.ts +0 -2
  188. package/dist/types/router/runtime/tanstack/outlet.d.ts +0 -2
  189. package/dist/types/router/runtime/tanstack/plugin.d.ts +0 -6
  190. package/dist/types/router/runtime/tanstack/plugin.node.d.ts +0 -6
  191. package/dist/types/router/runtime/tanstack/prefetchLink.d.ts +0 -11
  192. package/dist/types/router/runtime/tanstack/routeTree.d.ts +0 -8
  193. package/dist/types/router/runtime/tanstack/rsc/ClientSlot.d.ts +0 -5
  194. package/dist/types/router/runtime/tanstack/rsc/CompositeComponent.d.ts +0 -3
  195. package/dist/types/router/runtime/tanstack/rsc/ReplayableStream.d.ts +0 -24
  196. package/dist/types/router/runtime/tanstack/rsc/RscNodeRenderer.d.ts +0 -5
  197. package/dist/types/router/runtime/tanstack/rsc/SlotContext.d.ts +0 -11
  198. package/dist/types/router/runtime/tanstack/rsc/client.d.ts +0 -11
  199. package/dist/types/router/runtime/tanstack/rsc/createRscProxy.d.ts +0 -7
  200. package/dist/types/router/runtime/tanstack/rsc/index.d.ts +0 -2
  201. package/dist/types/router/runtime/tanstack/rsc/server.d.ts +0 -14
  202. package/dist/types/router/runtime/tanstack/rsc/slotUsageSanitizer.d.ts +0 -2
  203. 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, '&amp;').replace(/"/g, '&quot;');
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
- });