@bleedingdev/modern-js-runtime 3.2.0-ultramodern.11 → 3.2.0-ultramodern.111

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 (229) hide show
  1. package/dist/cjs/boundary-debugger/index.js +303 -0
  2. package/dist/cjs/cache/index.js +9 -5
  3. package/dist/cjs/cli/alias.js +9 -5
  4. package/dist/cjs/cli/code.js +9 -5
  5. package/dist/cjs/cli/constants.js +20 -16
  6. package/dist/cjs/cli/entry.js +9 -5
  7. package/dist/cjs/cli/index.js +9 -5
  8. package/dist/cjs/cli/ssr/index.js +14 -20
  9. package/dist/cjs/cli/ssr/loadable-bundler-plugin.js +9 -5
  10. package/dist/cjs/cli/ssr/mode.js +12 -8
  11. package/dist/cjs/cli/template.js +9 -5
  12. package/dist/cjs/cli/template.server.js +10 -5
  13. package/dist/cjs/common.js +14 -10
  14. package/dist/cjs/core/browser/hydrate.js +9 -5
  15. package/dist/cjs/core/browser/index.js +9 -5
  16. package/dist/cjs/core/browser/withCallback.js +9 -5
  17. package/dist/cjs/core/compat/hooks.js +14 -10
  18. package/dist/cjs/core/compat/index.js +9 -5
  19. package/dist/cjs/core/compat/requestContext.js +13 -9
  20. package/dist/cjs/core/config.js +12 -8
  21. package/dist/cjs/core/constants.js +15 -10
  22. package/dist/cjs/core/context/index.js +9 -5
  23. package/dist/cjs/core/context/monitors/default.js +12 -8
  24. package/dist/cjs/core/context/monitors/index.js +9 -5
  25. package/dist/cjs/core/context/monitors/index.server.js +9 -5
  26. package/dist/cjs/core/context/request/index.js +12 -8
  27. package/dist/cjs/core/context/request/index.server.js +9 -5
  28. package/dist/cjs/core/context/response/index.js +15 -11
  29. package/dist/cjs/core/context/response/index.server.js +9 -5
  30. package/dist/cjs/core/context/runtime.js +9 -5
  31. package/dist/cjs/core/context/serverPayload/index.js +13 -9
  32. package/dist/cjs/core/context/serverPayload/index.server.js +9 -5
  33. package/dist/cjs/core/index.js +9 -5
  34. package/dist/cjs/core/plugin/index.js +9 -5
  35. package/dist/cjs/core/react/index.js +9 -5
  36. package/dist/cjs/core/react/wrapper.js +18 -8
  37. package/dist/cjs/core/server/constants.js +15 -11
  38. package/dist/cjs/core/server/federatedCss.js +51 -0
  39. package/dist/cjs/core/server/helmet.js +17 -7
  40. package/dist/cjs/core/server/index.js +9 -5
  41. package/dist/cjs/core/server/react/index.js +9 -5
  42. package/dist/cjs/core/server/react/no-ssr-cache/index.js +9 -5
  43. package/dist/cjs/core/server/react/nossr/index.js +9 -5
  44. package/dist/cjs/core/server/requestHandler.js +9 -5
  45. package/dist/cjs/core/server/scriptOrder.js +63 -0
  46. package/dist/cjs/core/server/server.js +9 -5
  47. package/dist/cjs/core/server/shared.js +12 -8
  48. package/dist/cjs/core/server/stream/afterTemplate.js +22 -10
  49. package/dist/cjs/core/server/stream/beforeTemplate.js +22 -25
  50. package/dist/cjs/core/server/stream/beforeTemplate.worker.js +102 -0
  51. package/dist/cjs/core/server/stream/createReadableStream.js +16 -7
  52. package/dist/cjs/core/server/stream/createReadableStream.worker.js +13 -7
  53. package/dist/cjs/core/server/stream/deferredScript.js +9 -5
  54. package/dist/cjs/core/server/stream/index.js +9 -5
  55. package/dist/cjs/core/server/stream/shared.js +12 -6
  56. package/dist/cjs/core/server/stream/template.js +9 -5
  57. package/dist/cjs/core/server/string/index.js +25 -14
  58. package/dist/cjs/core/server/string/loadable.js +83 -15
  59. package/dist/cjs/core/server/string/ssrData.js +9 -5
  60. package/dist/cjs/core/server/tracer.js +13 -9
  61. package/dist/cjs/core/server/utils.js +9 -5
  62. package/dist/cjs/document/Body.js +9 -5
  63. package/dist/cjs/document/Comment.js +9 -5
  64. package/dist/cjs/document/DocumentContext.js +9 -5
  65. package/dist/cjs/document/DocumentStructureContext.js +9 -5
  66. package/dist/cjs/document/Head.js +9 -5
  67. package/dist/cjs/document/Html.js +9 -5
  68. package/dist/cjs/document/Links.js +9 -5
  69. package/dist/cjs/document/Root.js +9 -5
  70. package/dist/cjs/document/Script.js +9 -5
  71. package/dist/cjs/document/Scripts.js +9 -5
  72. package/dist/cjs/document/Style.js +9 -5
  73. package/dist/cjs/document/Title.js +9 -5
  74. package/dist/cjs/document/cli/index.js +12 -6
  75. package/dist/cjs/document/constants.js +9 -5
  76. package/dist/cjs/document/index.js +9 -5
  77. package/dist/cjs/exports/config-routes.js +12 -8
  78. package/dist/cjs/exports/head.js +209 -10
  79. package/dist/cjs/exports/loadable.js +51 -12
  80. package/dist/cjs/exports/tanstack-router.js +320 -59
  81. package/dist/cjs/index.js +9 -5
  82. package/dist/cjs/internal.js +9 -5
  83. package/dist/cjs/react-server.js +9 -5
  84. package/dist/cjs/router/cli/code/getClientRoutes/getRoutes.js +9 -5
  85. package/dist/cjs/router/cli/code/getClientRoutes/index.js +9 -5
  86. package/dist/cjs/router/cli/code/getClientRoutes/utils.js +9 -5
  87. package/dist/cjs/router/cli/code/index.js +9 -5
  88. package/dist/cjs/router/cli/code/inspect.js +9 -5
  89. package/dist/cjs/router/cli/code/makeLegalIdentifier.js +12 -8
  90. package/dist/cjs/router/cli/code/nestedRoutes.js +9 -5
  91. package/dist/cjs/router/cli/code/tanstackTypes.js +125 -56
  92. package/dist/cjs/router/cli/code/templates.js +24 -14
  93. package/dist/cjs/router/cli/code/utils.js +9 -5
  94. package/dist/cjs/router/cli/config-routes/converter.js +9 -5
  95. package/dist/cjs/router/cli/config-routes/parseRouteConfig.js +9 -5
  96. package/dist/cjs/router/cli/constants.js +23 -19
  97. package/dist/cjs/router/cli/entry.js +9 -5
  98. package/dist/cjs/router/cli/handler.js +9 -5
  99. package/dist/cjs/router/cli/index.js +9 -5
  100. package/dist/cjs/router/index.js +9 -5
  101. package/dist/cjs/router/internal.js +12 -8
  102. package/dist/cjs/router/runtime/CSSLinks.js +9 -5
  103. package/dist/cjs/router/runtime/DefaultNotFound.js +9 -5
  104. package/dist/cjs/router/runtime/DeferredDataScripts.js +12 -8
  105. package/dist/cjs/router/runtime/DeferredDataScripts.node.js +9 -5
  106. package/dist/cjs/router/runtime/PrefetchLink.js +162 -26
  107. package/dist/cjs/router/runtime/constants.js +9 -5
  108. package/dist/cjs/router/runtime/hooks.js +9 -5
  109. package/dist/cjs/router/runtime/index.js +15 -10
  110. package/dist/cjs/router/runtime/internal.js +9 -5
  111. package/dist/cjs/router/runtime/lifecycle.js +18 -14
  112. package/dist/cjs/router/runtime/plugin.js +9 -5
  113. package/dist/cjs/router/runtime/plugin.node.js +9 -5
  114. package/dist/cjs/router/runtime/routerHelper.js +9 -5
  115. package/dist/cjs/router/runtime/rsc-router.js +9 -5
  116. package/dist/cjs/router/runtime/rsc.js +9 -5
  117. package/dist/cjs/router/runtime/server.js +9 -5
  118. package/dist/cjs/router/runtime/tanstack/basepathRewrite.js +12 -8
  119. package/dist/cjs/router/runtime/tanstack/dataMutation.js +9 -5
  120. package/dist/cjs/router/runtime/tanstack/hydrationBoundary.js +48 -0
  121. package/dist/cjs/router/runtime/tanstack/outlet.js +58 -0
  122. package/dist/cjs/router/runtime/tanstack/plugin.js +199 -96
  123. package/dist/cjs/router/runtime/tanstack/plugin.node.js +13 -19
  124. package/dist/cjs/router/runtime/tanstack/prefetchLink.js +10 -6
  125. package/dist/cjs/router/runtime/tanstack/routeTree.js +73 -17
  126. package/dist/cjs/router/runtime/tanstack/rsc/ClientSlot.js +9 -5
  127. package/dist/cjs/router/runtime/tanstack/rsc/CompositeComponent.js +9 -5
  128. package/dist/cjs/router/runtime/tanstack/rsc/ReplayableStream.js +14 -9
  129. package/dist/cjs/router/runtime/tanstack/rsc/RscNodeRenderer.js +9 -5
  130. package/dist/cjs/router/runtime/tanstack/rsc/SlotContext.js +9 -5
  131. package/dist/cjs/router/runtime/tanstack/rsc/client.js +9 -5
  132. package/dist/cjs/router/runtime/tanstack/rsc/createRscProxy.js +9 -5
  133. package/dist/cjs/router/runtime/tanstack/rsc/index.js +9 -5
  134. package/dist/cjs/router/runtime/tanstack/rsc/server.js +9 -5
  135. package/dist/cjs/router/runtime/tanstack/rsc/slotUsageSanitizer.js +9 -5
  136. package/dist/cjs/router/runtime/tanstack/rsc/symbols.js +20 -15
  137. package/dist/cjs/router/runtime/utils.js +9 -5
  138. package/dist/cjs/router/runtime/withRouter.js +9 -5
  139. package/dist/cjs/rsc/client.js +12 -8
  140. package/dist/cjs/rsc/server.js +9 -5
  141. package/dist/cjs/rsc/server.worker.js +62 -0
  142. package/dist/cjs/ssr/index.node.js +13 -9
  143. package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +9 -5
  144. package/dist/cjs/ssr/serverRender/renderToString/entry.js +18 -13
  145. package/dist/cjs/ssr/serverRender/types.js +9 -5
  146. package/dist/esm/boundary-debugger/index.mjs +263 -0
  147. package/dist/esm/cli/ssr/index.mjs +5 -15
  148. package/dist/esm/cli/template.server.mjs +1 -0
  149. package/dist/esm/core/react/wrapper.mjs +9 -3
  150. package/dist/esm/core/server/federatedCss.mjs +13 -0
  151. package/dist/esm/core/server/helmet.mjs +5 -2
  152. package/dist/esm/core/server/scriptOrder.mjs +25 -0
  153. package/dist/esm/core/server/stream/afterTemplate.mjs +14 -6
  154. package/dist/esm/core/server/stream/beforeTemplate.mjs +14 -11
  155. package/dist/esm/core/server/stream/beforeTemplate.worker.mjs +64 -0
  156. package/dist/esm/core/server/stream/createReadableStream.mjs +7 -2
  157. package/dist/esm/core/server/stream/createReadableStream.worker.mjs +4 -2
  158. package/dist/esm/core/server/stream/shared.mjs +3 -1
  159. package/dist/esm/core/server/string/index.mjs +17 -9
  160. package/dist/esm/core/server/string/loadable.mjs +70 -9
  161. package/dist/esm/document/cli/index.mjs +3 -1
  162. package/dist/esm/exports/head.mjs +193 -4
  163. package/dist/esm/exports/loadable.mjs +26 -3
  164. package/dist/esm/exports/tanstack-router.mjs +2 -1
  165. package/dist/esm/router/cli/code/tanstackTypes.mjs +116 -51
  166. package/dist/esm/router/cli/code/templates.mjs +15 -9
  167. package/dist/esm/router/runtime/PrefetchLink.mjs +153 -21
  168. package/dist/esm/router/runtime/tanstack/hydrationBoundary.mjs +10 -0
  169. package/dist/esm/router/runtime/tanstack/outlet.mjs +17 -0
  170. package/dist/esm/router/runtime/tanstack/plugin.mjs +193 -94
  171. package/dist/esm/router/runtime/tanstack/plugin.node.mjs +5 -15
  172. package/dist/esm/router/runtime/tanstack/prefetchLink.mjs +1 -1
  173. package/dist/esm/router/runtime/tanstack/routeTree.mjs +65 -13
  174. package/dist/esm/rsc/server.worker.mjs +1 -0
  175. package/dist/esm/ssr/serverRender/renderToString/entry.mjs +9 -6
  176. package/dist/esm-node/boundary-debugger/index.mjs +264 -0
  177. package/dist/esm-node/cli/ssr/index.mjs +5 -15
  178. package/dist/esm-node/cli/template.server.mjs +1 -0
  179. package/dist/esm-node/core/react/wrapper.mjs +9 -3
  180. package/dist/esm-node/core/server/federatedCss.mjs +14 -0
  181. package/dist/esm-node/core/server/helmet.mjs +5 -2
  182. package/dist/esm-node/core/server/scriptOrder.mjs +26 -0
  183. package/dist/esm-node/core/server/stream/afterTemplate.mjs +14 -6
  184. package/dist/esm-node/core/server/stream/beforeTemplate.mjs +14 -11
  185. package/dist/esm-node/core/server/stream/beforeTemplate.worker.mjs +65 -0
  186. package/dist/esm-node/core/server/stream/createReadableStream.mjs +7 -2
  187. package/dist/esm-node/core/server/stream/createReadableStream.worker.mjs +4 -2
  188. package/dist/esm-node/core/server/stream/shared.mjs +3 -1
  189. package/dist/esm-node/core/server/string/index.mjs +17 -9
  190. package/dist/esm-node/core/server/string/loadable.mjs +70 -9
  191. package/dist/esm-node/document/cli/index.mjs +3 -1
  192. package/dist/esm-node/exports/head.mjs +193 -4
  193. package/dist/esm-node/exports/loadable.mjs +26 -3
  194. package/dist/esm-node/exports/tanstack-router.mjs +2 -1
  195. package/dist/esm-node/router/cli/code/tanstackTypes.mjs +116 -51
  196. package/dist/esm-node/router/cli/code/templates.mjs +15 -9
  197. package/dist/esm-node/router/runtime/PrefetchLink.mjs +153 -21
  198. package/dist/esm-node/router/runtime/tanstack/hydrationBoundary.mjs +11 -0
  199. package/dist/esm-node/router/runtime/tanstack/outlet.mjs +18 -0
  200. package/dist/esm-node/router/runtime/tanstack/plugin.mjs +193 -94
  201. package/dist/esm-node/router/runtime/tanstack/plugin.node.mjs +5 -15
  202. package/dist/esm-node/router/runtime/tanstack/prefetchLink.mjs +1 -1
  203. package/dist/esm-node/router/runtime/tanstack/routeTree.mjs +65 -13
  204. package/dist/esm-node/rsc/server.worker.mjs +2 -0
  205. package/dist/esm-node/ssr/serverRender/renderToString/entry.mjs +9 -6
  206. package/dist/types/boundary-debugger/index.d.ts +28 -0
  207. package/dist/types/cli/entry.d.ts +2 -2
  208. package/dist/types/core/context/response/index.server.d.ts +4 -1
  209. package/dist/types/core/context/runtime.d.ts +4 -0
  210. package/dist/types/core/plugin/index.d.ts +1 -1
  211. package/dist/types/core/server/federatedCss.d.ts +5 -0
  212. package/dist/types/core/server/helmet.d.ts +5 -3
  213. package/dist/types/core/server/scriptOrder.d.ts +1 -0
  214. package/dist/types/core/server/stream/beforeTemplate.d.ts +1 -0
  215. package/dist/types/core/server/stream/beforeTemplate.worker.d.ts +10 -0
  216. package/dist/types/core/server/stream/shared.d.ts +8 -0
  217. package/dist/types/core/server/string/loadable.d.ts +11 -0
  218. package/dist/types/core/server/utils.d.ts +11 -1
  219. package/dist/types/document/constants.d.ts +3 -1
  220. package/dist/types/exports/head.d.ts +10 -3
  221. package/dist/types/exports/loadable.d.ts +8 -1
  222. package/dist/types/exports/tanstack-router.d.ts +3 -1
  223. package/dist/types/router/cli/code/utils.d.ts +1 -1
  224. package/dist/types/router/cli/entry.d.ts +1 -1
  225. package/dist/types/router/runtime/PrefetchLink.d.ts +5 -1
  226. package/dist/types/router/runtime/tanstack/hydrationBoundary.d.ts +2 -0
  227. package/dist/types/router/runtime/tanstack/outlet.d.ts +2 -0
  228. package/dist/types/rsc/server.worker.d.ts +1 -0
  229. package/package.json +31 -25
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -23,9 +27,6 @@ var __webpack_require__ = {};
23
27
  })();
24
28
  var __webpack_exports__ = {};
25
29
  __webpack_require__.r(__webpack_exports__);
26
- __webpack_require__.d(__webpack_exports__, {
27
- makeLegalIdentifier: ()=>makeLegalIdentifier
28
- });
29
30
  const reservedWords = 'break case class catch const continue debugger default delete do else export extends finally for function if import in instanceof let new return super switch this throw try typeof var void while with yield enum await implements package protected static interface private public';
30
31
  const builtins = 'arguments Infinity NaN undefined null true false eval uneval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Symbol Error EvalError InternalError RangeError ReferenceError SyntaxError TypeError URIError Number Math Date String RegExp Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array Map Set WeakMap WeakSet SIMD ArrayBuffer DataView JSON Promise Generator GeneratorFunction Reflect Proxy Intl';
31
32
  const forbidList = new Set(`${reservedWords} ${builtins}`.split(' '));
@@ -34,6 +35,9 @@ function makeLegalIdentifier(str) {
34
35
  if (/\d/.test(identifier[0]) || forbidList.has(identifier)) return `_${identifier}`;
35
36
  return identifier || '_';
36
37
  }
38
+ __webpack_require__.d(__webpack_exports__, {
39
+ makeLegalIdentifier: ()=>makeLegalIdentifier
40
+ });
37
41
  exports.makeLegalIdentifier = __webpack_exports__.makeLegalIdentifier;
38
42
  for(var __rspack_i in __webpack_exports__)if (-1 === [
39
43
  "makeLegalIdentifier"
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
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
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -116,9 +120,21 @@ async function generateTanstackRouterTypesSourceForEntry(opts) {
116
120
  const topLevel = rootModern ? rootModern.children || [] : routes;
117
121
  const imports = [];
118
122
  const statements = [];
123
+ const componentImportMap = new Map();
119
124
  const loaderImportMap = new Map();
125
+ const usedRouteVarNames = new Set();
126
+ let componentIndex = 0;
120
127
  let loaderIndex = 0;
121
128
  let routeIndex = 0;
129
+ const getImportNameForComponent = (componentPath)=>{
130
+ if ('string' != typeof componentPath || 0 === componentPath.length) return null;
131
+ const existing = componentImportMap.get(componentPath);
132
+ if (existing) return existing;
133
+ const componentName = `component_${componentIndex++}`;
134
+ imports.push(`import ${componentName} from ${quote(componentPath)};`);
135
+ componentImportMap.set(componentPath, componentName);
136
+ return componentName;
137
+ };
122
138
  const getImportNamesForLoader = async (aliasedNoExtPath, inline, hasAction)=>{
123
139
  const key = `${inline ? 'inline' : 'default'}:${hasAction ? 'action' : 'loader'}:${aliasedNoExtPath}`;
124
140
  const existing = loaderImportMap.get(key);
@@ -150,10 +166,17 @@ async function generateTanstackRouterTypesSourceForEntry(opts) {
150
166
  actionName
151
167
  };
152
168
  };
169
+ const reserveRouteVarName = (preferred)=>{
170
+ let candidate = preferred;
171
+ let suffix = 1;
172
+ while(usedRouteVarNames.has(candidate))candidate = `${preferred}_${suffix++}`;
173
+ usedRouteVarNames.add(candidate);
174
+ return candidate;
175
+ };
153
176
  const createRouteVarName = (route)=>{
154
177
  const id = route.id;
155
178
  const base = id ? (0, external_makeLegalIdentifier_js_namespaceObject.makeLegalIdentifier)(id) : `r_${routeIndex++}`;
156
- return `route_${base}`;
179
+ return reserveRouteVarName(`route_${base}`);
157
180
  };
158
181
  const buildRoute = async (opts)=>{
159
182
  const { parentVar, route } = opts;
@@ -168,6 +191,8 @@ async function generateTanstackRouterTypesSourceForEntry(opts) {
168
191
  const routeOpts = [
169
192
  `getParentRoute: () => ${parentVar},`
170
193
  ];
194
+ const componentName = getImportNameForComponent(route._component);
195
+ if (componentName) routeOpts.push(`component: ${componentName},`);
171
196
  if (isPathlessLayout(route)) {
172
197
  const id = route.id;
173
198
  routeOpts.push(`id: ${quote(id || 'pathless')},`);
@@ -182,14 +207,16 @@ async function generateTanstackRouterTypesSourceForEntry(opts) {
182
207
  actionName
183
208
  });
184
209
  if (staticDataSnippet) routeOpts.push(staticDataSnippet);
185
- statements.push(`const ${varName} = createRoute({\n ${routeOpts.join('\n ')}\n});`);
186
210
  const children = route.children;
211
+ const hasChildren = Boolean(children && children.length > 0);
212
+ const routeCtorVarName = hasChildren ? reserveRouteVarName(`${varName}__base`) : varName;
213
+ statements.push(`const ${routeCtorVarName} = createRoute({\n ${routeOpts.join('\n ')}\n});`);
187
214
  if (children && children.length > 0) {
188
215
  const childVars = await Promise.all(children.map((child)=>buildRoute({
189
- parentVar: varName,
216
+ parentVar: routeCtorVarName,
190
217
  route: child
191
218
  })));
192
- statements.push(`${varName}.addChildren([${childVars.join(', ')}]);`);
219
+ statements.push(`const ${varName} = ${routeCtorVarName}.addChildren([${childVars.join(', ')}]);`);
193
220
  }
194
221
  return varName;
195
222
  };
@@ -203,6 +230,8 @@ async function generateTanstackRouterTypesSourceForEntry(opts) {
203
230
  route
204
231
  })));
205
232
  const rootOpts = [];
233
+ const rootComponentName = getImportNameForComponent(rootModern?._component);
234
+ if (rootComponentName) rootOpts.push(`component: ${rootComponentName},`);
206
235
  if (rootLoaderName) rootOpts.push(`loader: modernLoaderToTanstack({ hasSplat: false }, ${rootLoaderName}),`);
207
236
  const routerGenTs = `/* eslint-disable */
208
237
  // This file is auto-generated by Modern.js. Do not edit manually.
@@ -236,7 +265,7 @@ function isRedirectResponse(res: Response) {
236
265
  }
237
266
 
238
267
  function throwTanstackRedirect(location: string) {
239
- const target = location || '/';
268
+ const target = location.length > 0 ? location : '/';
240
269
  try {
241
270
  void new URL(target);
242
271
  throw redirect({ href: target });
@@ -262,21 +291,87 @@ function createRouteStaticData(opts: {
262
291
  modernRouteAction?: unknown;
263
292
  modernRouteLoader?: unknown;
264
293
  }) {
265
- const staticData: Record<string, unknown> = {};
294
+ const staticData: {
295
+ modernRouteId?: string;
296
+ modernRouteAction?: unknown;
297
+ modernRouteLoader?: unknown;
298
+ } = {};
266
299
 
267
- if (opts.modernRouteId) {
300
+ if (typeof opts.modernRouteId === 'string' && opts.modernRouteId.length > 0) {
268
301
  staticData.modernRouteId = opts.modernRouteId;
269
302
  }
270
303
 
271
- if (opts.modernRouteLoader) {
304
+ if (typeof opts.modernRouteLoader !== 'undefined') {
272
305
  staticData.modernRouteLoader = opts.modernRouteLoader;
273
306
  }
274
307
 
275
- if (opts.modernRouteAction) {
308
+ if (typeof opts.modernRouteAction !== 'undefined') {
276
309
  staticData.modernRouteAction = opts.modernRouteAction;
277
310
  }
278
311
 
279
- return Object.keys(staticData).length > 0 ? staticData : undefined;
312
+ return staticData;
313
+ }
314
+
315
+ function getLoaderSignal(ctx: any): AbortSignal {
316
+ const abortSignal = ctx?.abortController?.signal;
317
+ if (abortSignal instanceof AbortSignal) {
318
+ return abortSignal;
319
+ }
320
+ if (ctx?.signal instanceof AbortSignal) {
321
+ return ctx.signal;
322
+ }
323
+ return new AbortController().signal;
324
+ }
325
+
326
+ function getLoaderHref(ctx: any): string {
327
+ if (typeof ctx?.location === 'string') {
328
+ return ctx.location;
329
+ }
330
+
331
+ const publicHref = ctx?.location?.publicHref;
332
+ if (typeof publicHref === 'string') {
333
+ return publicHref;
334
+ }
335
+
336
+ const href = ctx?.location?.href;
337
+ if (typeof href === 'string') {
338
+ return href;
339
+ }
340
+
341
+ const urlHref = ctx?.location?.url?.href;
342
+ return typeof urlHref === 'string' ? urlHref : '';
343
+ }
344
+
345
+ function getLoaderParams(ctx: any): Record<string, string> {
346
+ return typeof ctx?.params === 'object' && ctx.params !== null ? ctx.params : {};
347
+ }
348
+
349
+ function handleModernLoaderResult<LoaderResult>(result: LoaderResult): LoaderResult {
350
+ if (isResponse(result)) {
351
+ if (isRedirectResponse(result)) {
352
+ const location = result.headers.get('Location') ?? '/';
353
+ throwTanstackRedirect(location);
354
+ }
355
+ if (result.status === 404) {
356
+ throw notFound();
357
+ }
358
+ }
359
+
360
+ return result;
361
+ }
362
+
363
+ function handleModernLoaderError(err: unknown): never {
364
+ if (isResponse(err)) {
365
+ if (isRedirectResponse(err)) {
366
+ const location = err.headers.get('Location') ?? '/';
367
+ throwTanstackRedirect(location);
368
+ }
369
+ if (err.status === 404) {
370
+ throw notFound();
371
+ }
372
+ }
373
+
374
+ throw err;
280
375
  }
281
376
 
282
377
  function modernLoaderToTanstack<TLoader extends (args: any) => any>(
@@ -285,57 +380,31 @@ function modernLoaderToTanstack<TLoader extends (args: any) => any>(
285
380
  ) {
286
381
  type LoaderResult = Awaited<ReturnType<TLoader>>;
287
382
 
288
- return async (ctx: any): Promise<LoaderResult> => {
383
+ return (ctx: any): Promise<LoaderResult> => {
289
384
  try {
290
- const signal: AbortSignal =
291
- ctx?.abortController?.signal ||
292
- ctx?.signal ||
293
- new AbortController().signal;
385
+ const signal = getLoaderSignal(ctx);
294
386
  const baseRequest: Request | undefined =
295
387
  ctx?.context?.request instanceof Request ? ctx.context.request : undefined;
296
388
 
297
- const href =
298
- typeof ctx?.location === 'string'
299
- ? ctx.location
300
- : ctx?.location?.publicHref ||
301
- ctx?.location?.href ||
302
- ctx?.location?.url?.href ||
303
- '';
389
+ const href = getLoaderHref(ctx);
304
390
 
305
- const request = baseRequest
391
+ const request = baseRequest !== undefined
306
392
  ? new Request(baseRequest, { signal })
307
393
  : new Request(href, { signal });
308
394
 
309
- const params = mapParamsForModernLoader(ctx?.params || {}, opts.hasSplat);
395
+ const params = mapParamsForModernLoader(getLoaderParams(ctx), opts.hasSplat);
310
396
 
311
- const result = await (modernLoader as any)({
312
- request,
313
- params,
314
- context: ctx?.context?.requestContext,
315
- });
316
-
317
- if (isResponse(result)) {
318
- if (isRedirectResponse(result)) {
319
- const location = result.headers.get('Location') || '/';
320
- throwTanstackRedirect(location);
321
- }
322
- if (result.status === 404) {
323
- throw notFound();
324
- }
325
- }
326
-
327
- return result as LoaderResult;
397
+ return Promise.resolve(
398
+ (modernLoader as any)({
399
+ request,
400
+ params,
401
+ context: ctx?.context?.requestContext,
402
+ }),
403
+ )
404
+ .then((result: LoaderResult) => handleModernLoaderResult(result))
405
+ .catch(handleModernLoaderError);
328
406
  } catch (err) {
329
- if (isResponse(err)) {
330
- if (isRedirectResponse(err)) {
331
- const location = err.headers.get('Location') || '/';
332
- throwTanstackRedirect(location);
333
- }
334
- if (err.status === 404) {
335
- throw notFound();
336
- }
337
- }
338
- throw err;
407
+ handleModernLoaderError(err);
339
408
  }
340
409
  };
341
410
  }
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -141,7 +145,20 @@ const fileSystemRoutes = async ({ metaName, routes, ssrMode, nestedRoutesEntry,
141
145
  const loadersMapFile = external_path_default().join(internalDirectory, entryName, external_constants_js_namespaceObject.TEMP_LOADERS_DIR, 'map.json');
142
146
  const importLazyCode = `
143
147
  import { lazy } from "react";
144
- import loadable, { lazy as loadableLazy } from "@${metaName}/runtime/loadable"
148
+ import * as loadableModule from "@${metaName}/runtime/loadable"
149
+
150
+ const resolveLoadableExport = module => {
151
+ const candidates = [module, module.default, module.default?.default];
152
+ const loadable = candidates.find(candidate => typeof candidate === 'function');
153
+
154
+ if (!loadable) {
155
+ throw new TypeError('Modern.js runtime loadable export must resolve to a function');
156
+ }
157
+
158
+ return loadable;
159
+ };
160
+ const loadable = resolveLoadableExport(loadableModule);
161
+ const loadableLazy = loadableModule.lazy || loadableModule.default?.lazy || loadable.lazy;
145
162
  `;
146
163
  let rootLayoutCode = "";
147
164
  const getDataLoaderPath = ({ loaderId, clientData, action, inline, routeId, inValidSSRRoute })=>{
@@ -211,16 +228,9 @@ const fileSystemRoutes = async ({ metaName, routes, ssrMode, nestedRoutesEntry,
211
228
  webpackChunkName: true
212
229
  });
213
230
  component = 'string' === ssrMode ? `loadable(${lazyImport})` : `lazy(${lazyImport})`;
214
- } else if ('string' === ssrMode) {
231
+ } else {
215
232
  components.push(route._component);
216
233
  component = `component_${components.length - 1}`;
217
- } else {
218
- lazyImport = createLazyImport({
219
- componentPath: route._component,
220
- routeId: route.id,
221
- eager: true
222
- });
223
- component = `lazy(${lazyImport})`;
224
234
  }
225
235
  } else if (route._component) if (splitRouteChunks) {
226
236
  lazyImport = `() => import('${route._component}')`;
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -1,11 +1,15 @@
1
1
  "use strict";
2
2
  var __webpack_require__ = {};
3
3
  (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
9
13
  };
10
14
  })();
11
15
  (()=>{
@@ -23,20 +27,6 @@ var __webpack_require__ = {};
23
27
  })();
24
28
  var __webpack_exports__ = {};
25
29
  __webpack_require__.r(__webpack_exports__);
26
- __webpack_require__.d(__webpack_exports__, {
27
- ACTION_EXPORT_NAME: ()=>ACTION_EXPORT_NAME,
28
- APP_CONFIG_NAME: ()=>APP_CONFIG_NAME,
29
- APP_INIT_EXPORTED: ()=>APP_INIT_EXPORTED,
30
- FILE_SYSTEM_ROUTES_COMPONENTS_DIR: ()=>FILE_SYSTEM_ROUTES_COMPONENTS_DIR,
31
- FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP: ()=>FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP,
32
- FILE_SYSTEM_ROUTES_FILE_NAME: ()=>FILE_SYSTEM_ROUTES_FILE_NAME,
33
- FILE_SYSTEM_ROUTES_IGNORED_REGEX: ()=>FILE_SYSTEM_ROUTES_IGNORED_REGEX,
34
- FILE_SYSTEM_ROUTES_INDEX: ()=>FILE_SYSTEM_ROUTES_INDEX,
35
- LOADER_EXPORT_NAME: ()=>LOADER_EXPORT_NAME,
36
- NESTED_ROUTE: ()=>NESTED_ROUTE,
37
- NESTED_ROUTES_DIR: ()=>NESTED_ROUTES_DIR,
38
- TEMP_LOADERS_DIR: ()=>TEMP_LOADERS_DIR
39
- });
40
30
  const NESTED_ROUTES_DIR = 'routes';
41
31
  const FILE_SYSTEM_ROUTES_FILE_NAME = 'routes.js';
42
32
  const LOADER_EXPORT_NAME = 'loader';
@@ -68,6 +58,20 @@ const NESTED_ROUTE = {
68
58
  ERROR_FILE: 'error',
69
59
  LOADER_FILE: 'loader'
70
60
  };
61
+ __webpack_require__.d(__webpack_exports__, {}, {
62
+ ACTION_EXPORT_NAME: ACTION_EXPORT_NAME,
63
+ APP_CONFIG_NAME: APP_CONFIG_NAME,
64
+ APP_INIT_EXPORTED: APP_INIT_EXPORTED,
65
+ FILE_SYSTEM_ROUTES_COMPONENTS_DIR: FILE_SYSTEM_ROUTES_COMPONENTS_DIR,
66
+ FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP: FILE_SYSTEM_ROUTES_DYNAMIC_REGEXP,
67
+ FILE_SYSTEM_ROUTES_FILE_NAME: FILE_SYSTEM_ROUTES_FILE_NAME,
68
+ FILE_SYSTEM_ROUTES_IGNORED_REGEX: FILE_SYSTEM_ROUTES_IGNORED_REGEX,
69
+ FILE_SYSTEM_ROUTES_INDEX: FILE_SYSTEM_ROUTES_INDEX,
70
+ LOADER_EXPORT_NAME: LOADER_EXPORT_NAME,
71
+ NESTED_ROUTE: NESTED_ROUTE,
72
+ NESTED_ROUTES_DIR: NESTED_ROUTES_DIR,
73
+ TEMP_LOADERS_DIR: TEMP_LOADERS_DIR
74
+ });
71
75
  exports.ACTION_EXPORT_NAME = __webpack_exports__.ACTION_EXPORT_NAME;
72
76
  exports.APP_CONFIG_NAME = __webpack_exports__.APP_CONFIG_NAME;
73
77
  exports.APP_INIT_EXPORTED = __webpack_exports__.APP_INIT_EXPORTED;
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -10,11 +10,15 @@ var __webpack_require__ = {};
10
10
  };
11
11
  })();
12
12
  (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
18
22
  };
19
23
  })();
20
24
  (()=>{
@@ -24,11 +24,15 @@ function __webpack_require__(moduleId) {
24
24
  };
25
25
  })();
26
26
  (()=>{
27
- __webpack_require__.d = (exports1, definition)=>{
28
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
29
- enumerable: true,
30
- get: definition[key]
31
- });
27
+ __webpack_require__.d = (exports1, getters, values)=>{
28
+ var define = (defs, kind)=>{
29
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
30
+ enumerable: true,
31
+ [kind]: defs[key]
32
+ });
33
+ };
34
+ define(getters, "get");
35
+ define(values, "value");
32
36
  };
33
37
  })();
34
38
  (()=>{
@@ -24,11 +24,15 @@ function __webpack_require__(moduleId) {
24
24
  };
25
25
  })();
26
26
  (()=>{
27
- __webpack_require__.d = (exports1, definition)=>{
28
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
29
- enumerable: true,
30
- get: definition[key]
31
- });
27
+ __webpack_require__.d = (exports1, getters, values)=>{
28
+ var define = (defs, kind)=>{
29
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
30
+ enumerable: true,
31
+ [kind]: defs[key]
32
+ });
33
+ };
34
+ define(getters, "get");
35
+ define(values, "value");
32
36
  };
33
37
  })();
34
38
  (()=>{
@@ -47,13 +51,13 @@ function __webpack_require__(moduleId) {
47
51
  var __webpack_exports__ = {};
48
52
  (()=>{
49
53
  __webpack_require__.r(__webpack_exports__);
50
- __webpack_require__.d(__webpack_exports__, {
51
- default: ()=>_runtime_internal__rspack_import_0.routerPlugin
52
- });
53
54
  var _runtime_internal__rspack_import_0 = __webpack_require__("./runtime/internal");
54
55
  var __rspack_reexport = {};
55
56
  for(const __rspack_import_key in _runtime_internal__rspack_import_0)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_runtime_internal__rspack_import_0[__rspack_import_key];
56
57
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
58
+ __webpack_require__.d(__webpack_exports__, {
59
+ default: ()=>_runtime_internal__rspack_import_0.routerPlugin
60
+ });
57
61
  })();
58
62
  exports["default"] = __webpack_exports__["default"];
59
63
  for(var __rspack_i in __webpack_exports__)if (-1 === [