@bleedingdev/modern-js-plugin-tanstack 3.5.0-ultramodern.9 → 3.5.0-ultramodern.90

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 (270) hide show
  1. package/dist/cjs/cli/artifacts.js +157 -0
  2. package/dist/cjs/cli/index.js +8 -79
  3. package/dist/cjs/cli/tanstackTypes/canonicalRoutes.js +113 -0
  4. package/dist/cjs/cli/tanstackTypes/shared.js +123 -0
  5. package/dist/cjs/cli/tanstackTypes/source.js +255 -0
  6. package/dist/cjs/cli/tanstackTypes.js +4 -350
  7. package/dist/cjs/runtime/blockingSubscribe.js +57 -0
  8. package/dist/cjs/runtime/{pluginCore.js → clientBasepath.js} +12 -19
  9. package/dist/cjs/runtime/clientHydration.js +118 -0
  10. package/dist/cjs/runtime/dataMutation.js +11 -176
  11. package/dist/cjs/runtime/formData.js +116 -0
  12. package/dist/cjs/runtime/loaderBridge.js +7 -11
  13. package/dist/cjs/runtime/plugin.js +21 -125
  14. package/dist/cjs/runtime/plugin.node.js +45 -125
  15. package/dist/cjs/runtime/pluginShared.js +87 -0
  16. package/dist/cjs/runtime/prefetchLink.js +15 -2
  17. package/dist/cjs/runtime/register.js +3 -16
  18. package/dist/cjs/runtime/routeTree/components.js +102 -0
  19. package/dist/cjs/runtime/routeTree/construction.js +152 -0
  20. package/dist/cjs/runtime/routeTree/index.js +47 -0
  21. package/dist/cjs/runtime/routeTree/loaders.js +158 -0
  22. package/dist/cjs/runtime/routeTree/paths.js +57 -0
  23. package/dist/cjs/runtime/routeTree/staticData.js +63 -0
  24. package/dist/cjs/runtime/routeTree/tanstackRoutes.js +57 -0
  25. package/dist/cjs/runtime/routeTree/types.js +18 -0
  26. package/dist/cjs/runtime/routeTree.js +7 -320
  27. package/dist/cjs/runtime/router.js +15 -2
  28. package/dist/cjs/runtime/rsc/CompositeComponent.js +18 -13
  29. package/dist/cjs/runtime/rsc/ReplayableStream.js +0 -4
  30. package/dist/cjs/runtime/rsc/RscNodeRenderer.js +5 -16
  31. package/dist/cjs/runtime/rsc/client.js +8 -25
  32. package/dist/cjs/runtime/rsc/flightSerialization.js +132 -0
  33. package/dist/cjs/runtime/rsc/payloadErrors.js +99 -0
  34. package/dist/cjs/runtime/rsc/payloadFetch.js +105 -0
  35. package/dist/cjs/runtime/rsc/payloadRouter.js +21 -142
  36. package/dist/cjs/runtime/rsc/payloadRoutes.js +94 -0
  37. package/dist/cjs/runtime/rsc/payloadStorage.js +58 -0
  38. package/dist/cjs/runtime/rsc/server.js +14 -18
  39. package/dist/cjs/runtime/rsc/shared.js +68 -0
  40. package/dist/cjs/runtime/rsc/slotUsageSanitizer.js +1 -0
  41. package/dist/cjs/runtime/rsc/treeGetter.js +72 -0
  42. package/dist/cjs/runtime/shared/isAbsoluteUrl.js +47 -0
  43. package/dist/cjs/runtime/ssrManagedTags.js +103 -0
  44. package/dist/cjs/runtime/ssrPreload.js +89 -0
  45. package/dist/cjs/runtime/ssrTypes.js +18 -0
  46. package/dist/cjs/runtime/state.js +1 -1
  47. package/dist/cjs/runtime/submitAction.js +161 -0
  48. package/dist/cjs/runtime/utils.js +49 -86
  49. package/dist/esm/cli/artifacts.mjs +103 -0
  50. package/dist/esm/cli/index.mjs +8 -82
  51. package/dist/esm/cli/tanstackTypes/canonicalRoutes.mjs +75 -0
  52. package/dist/esm/cli/tanstackTypes/shared.mjs +61 -0
  53. package/dist/esm/cli/tanstackTypes/source.mjs +207 -0
  54. package/dist/esm/cli/tanstackTypes.mjs +2 -339
  55. package/dist/esm/runtime/blockingSubscribe.mjs +19 -0
  56. package/dist/esm/runtime/clientBasepath.mjs +10 -0
  57. package/dist/esm/runtime/clientHydration.mjs +71 -0
  58. package/dist/esm/runtime/dataMutation.mjs +2 -167
  59. package/dist/esm/runtime/formData.mjs +63 -0
  60. package/dist/esm/runtime/loaderBridge.mjs +5 -9
  61. package/dist/esm/runtime/plugin.mjs +14 -118
  62. package/dist/esm/runtime/plugin.node.mjs +41 -121
  63. package/dist/esm/runtime/pluginShared.mjs +40 -0
  64. package/dist/esm/runtime/prefetchLink.mjs +18 -5
  65. package/dist/esm/runtime/register.mjs +1 -14
  66. package/dist/esm/runtime/routeTree/components.mjs +55 -0
  67. package/dist/esm/runtime/routeTree/construction.mjs +111 -0
  68. package/dist/esm/runtime/routeTree/index.mjs +2 -0
  69. package/dist/esm/runtime/routeTree/loaders.mjs +117 -0
  70. package/dist/esm/runtime/routeTree/paths.mjs +16 -0
  71. package/dist/esm/runtime/routeTree/staticData.mjs +22 -0
  72. package/dist/esm/runtime/routeTree/tanstackRoutes.mjs +13 -0
  73. package/dist/esm/runtime/routeTree/types.mjs +0 -0
  74. package/dist/esm/runtime/routeTree.mjs +1 -318
  75. package/dist/esm/runtime/router.mjs +16 -2
  76. package/dist/esm/runtime/rsc/CompositeComponent.mjs +18 -13
  77. package/dist/esm/runtime/rsc/ReplayableStream.mjs +1 -1
  78. package/dist/esm/runtime/rsc/RscNodeRenderer.mjs +4 -15
  79. package/dist/esm/runtime/rsc/client.mjs +6 -26
  80. package/dist/esm/runtime/rsc/flightSerialization.mjs +88 -0
  81. package/dist/esm/runtime/rsc/payloadErrors.mjs +49 -0
  82. package/dist/esm/runtime/rsc/payloadFetch.mjs +55 -0
  83. package/dist/esm/runtime/rsc/payloadRouter.mjs +12 -133
  84. package/dist/esm/runtime/rsc/payloadRoutes.mjs +50 -0
  85. package/dist/esm/runtime/rsc/payloadStorage.mjs +14 -0
  86. package/dist/esm/runtime/rsc/server.mjs +17 -21
  87. package/dist/esm/runtime/rsc/shared.mjs +21 -0
  88. package/dist/esm/runtime/rsc/slotUsageSanitizer.mjs +1 -0
  89. package/dist/esm/runtime/rsc/treeGetter.mjs +34 -0
  90. package/dist/esm/runtime/shared/isAbsoluteUrl.mjs +9 -0
  91. package/dist/esm/runtime/ssrManagedTags.mjs +53 -0
  92. package/dist/esm/runtime/ssrPreload.mjs +51 -0
  93. package/dist/esm/runtime/ssrTypes.mjs +0 -0
  94. package/dist/esm/runtime/state.mjs +1 -1
  95. package/dist/esm/runtime/submitAction.mjs +120 -0
  96. package/dist/esm/runtime/utils.mjs +47 -75
  97. package/dist/esm-node/cli/artifacts.mjs +104 -0
  98. package/dist/esm-node/cli/index.mjs +8 -82
  99. package/dist/esm-node/cli/tanstackTypes/canonicalRoutes.mjs +76 -0
  100. package/dist/esm-node/cli/tanstackTypes/shared.mjs +62 -0
  101. package/dist/esm-node/cli/tanstackTypes/source.mjs +208 -0
  102. package/dist/esm-node/cli/tanstackTypes.mjs +2 -339
  103. package/dist/esm-node/runtime/blockingSubscribe.mjs +20 -0
  104. package/dist/esm-node/runtime/clientBasepath.mjs +11 -0
  105. package/dist/esm-node/runtime/clientHydration.mjs +72 -0
  106. package/dist/esm-node/runtime/dataMutation.mjs +2 -167
  107. package/dist/esm-node/runtime/formData.mjs +64 -0
  108. package/dist/esm-node/runtime/loaderBridge.mjs +5 -9
  109. package/dist/esm-node/runtime/plugin.mjs +14 -118
  110. package/dist/esm-node/runtime/plugin.node.mjs +41 -121
  111. package/dist/esm-node/runtime/pluginShared.mjs +41 -0
  112. package/dist/esm-node/runtime/prefetchLink.mjs +18 -5
  113. package/dist/esm-node/runtime/register.mjs +1 -14
  114. package/dist/esm-node/runtime/routeTree/components.mjs +56 -0
  115. package/dist/esm-node/runtime/routeTree/construction.mjs +112 -0
  116. package/dist/esm-node/runtime/routeTree/index.mjs +3 -0
  117. package/dist/esm-node/runtime/routeTree/loaders.mjs +118 -0
  118. package/dist/esm-node/runtime/routeTree/paths.mjs +17 -0
  119. package/dist/esm-node/runtime/routeTree/staticData.mjs +23 -0
  120. package/dist/esm-node/runtime/routeTree/tanstackRoutes.mjs +14 -0
  121. package/dist/esm-node/runtime/routeTree/types.mjs +1 -0
  122. package/dist/esm-node/runtime/routeTree.mjs +1 -318
  123. package/dist/esm-node/runtime/router.mjs +16 -2
  124. package/dist/esm-node/runtime/rsc/CompositeComponent.mjs +18 -13
  125. package/dist/esm-node/runtime/rsc/ReplayableStream.mjs +1 -1
  126. package/dist/esm-node/runtime/rsc/RscNodeRenderer.mjs +4 -15
  127. package/dist/esm-node/runtime/rsc/client.mjs +6 -26
  128. package/dist/esm-node/runtime/rsc/flightSerialization.mjs +89 -0
  129. package/dist/esm-node/runtime/rsc/payloadErrors.mjs +50 -0
  130. package/dist/esm-node/runtime/rsc/payloadFetch.mjs +56 -0
  131. package/dist/esm-node/runtime/rsc/payloadRouter.mjs +12 -133
  132. package/dist/esm-node/runtime/rsc/payloadRoutes.mjs +51 -0
  133. package/dist/esm-node/runtime/rsc/payloadStorage.mjs +15 -0
  134. package/dist/esm-node/runtime/rsc/server.mjs +17 -21
  135. package/dist/esm-node/runtime/rsc/shared.mjs +22 -0
  136. package/dist/esm-node/runtime/rsc/slotUsageSanitizer.mjs +1 -0
  137. package/dist/esm-node/runtime/rsc/treeGetter.mjs +35 -0
  138. package/dist/esm-node/runtime/shared/isAbsoluteUrl.mjs +10 -0
  139. package/dist/esm-node/runtime/ssrManagedTags.mjs +54 -0
  140. package/dist/esm-node/runtime/ssrPreload.mjs +52 -0
  141. package/dist/esm-node/runtime/ssrTypes.mjs +1 -0
  142. package/dist/esm-node/runtime/state.mjs +1 -1
  143. package/dist/esm-node/runtime/submitAction.mjs +121 -0
  144. package/dist/esm-node/runtime/utils.mjs +47 -75
  145. package/dist/types/cli/artifacts.d.ts +33 -0
  146. package/dist/types/cli/index.d.ts +2 -22
  147. package/dist/types/cli/tanstackTypes/canonicalRoutes.d.ts +22 -0
  148. package/dist/types/cli/tanstackTypes/shared.d.ts +20 -0
  149. package/dist/types/cli/tanstackTypes/source.d.ts +12 -0
  150. package/dist/types/cli/tanstackTypes.d.ts +3 -31
  151. package/dist/types/runtime/blockingSubscribe.d.ts +1 -0
  152. package/dist/types/runtime/clientBasepath.d.ts +1 -0
  153. package/dist/types/runtime/clientHydration.d.ts +10 -0
  154. package/dist/types/runtime/dataMutation.d.ts +3 -12
  155. package/dist/types/runtime/formData.d.ts +24 -0
  156. package/dist/types/runtime/loaderBridge.d.ts +2 -1
  157. package/dist/types/runtime/plugin.d.ts +1 -1
  158. package/dist/types/runtime/plugin.node.d.ts +1 -1
  159. package/dist/types/runtime/pluginShared.d.ts +38 -0
  160. package/dist/types/runtime/register.d.ts +10 -9
  161. package/dist/types/runtime/routeTree/components.d.ts +7 -0
  162. package/dist/types/runtime/routeTree/construction.d.ts +5 -0
  163. package/dist/types/runtime/routeTree/index.d.ts +2 -0
  164. package/dist/types/runtime/routeTree/loaders.d.ts +4 -0
  165. package/dist/types/runtime/routeTree/paths.d.ts +3 -0
  166. package/dist/types/runtime/routeTree/staticData.d.ts +19 -0
  167. package/dist/types/runtime/routeTree/tanstackRoutes.d.ts +4 -0
  168. package/dist/types/runtime/routeTree/types.d.ts +76 -0
  169. package/dist/types/runtime/routeTree.d.ts +1 -9
  170. package/dist/types/runtime/router.d.ts +6 -7
  171. package/dist/types/runtime/rsc/CompositeComponent.d.ts +1 -2
  172. package/dist/types/runtime/rsc/ReplayableStream.d.ts +3 -2
  173. package/dist/types/runtime/rsc/RscNodeRenderer.d.ts +2 -3
  174. package/dist/types/runtime/rsc/SlotContext.d.ts +2 -1
  175. package/dist/types/runtime/rsc/client.d.ts +2 -0
  176. package/dist/types/runtime/rsc/flightSerialization.d.ts +3 -0
  177. package/dist/types/runtime/rsc/payloadErrors.d.ts +6 -0
  178. package/dist/types/runtime/rsc/payloadFetch.d.ts +8 -0
  179. package/dist/types/runtime/rsc/payloadRouter.d.ts +2 -10
  180. package/dist/types/runtime/rsc/payloadRoutes.d.ts +40 -0
  181. package/dist/types/runtime/rsc/payloadStorage.d.ts +5 -0
  182. package/dist/types/runtime/rsc/shared.d.ts +18 -0
  183. package/dist/types/runtime/rsc/treeGetter.d.ts +1 -0
  184. package/dist/types/runtime/shared/isAbsoluteUrl.d.ts +1 -0
  185. package/dist/types/runtime/ssrManagedTags.d.ts +7 -0
  186. package/dist/types/runtime/ssrPreload.d.ts +2 -0
  187. package/dist/types/runtime/ssrTypes.d.ts +44 -0
  188. package/dist/types/runtime/state.d.ts +1 -1
  189. package/dist/types/runtime/submitAction.d.ts +14 -0
  190. package/dist/types/runtime/types.d.ts +4 -10
  191. package/dist/types/runtime/utils.d.ts +4 -24
  192. package/package.json +37 -17
  193. package/rstest.config.mts +23 -0
  194. package/src/cli/artifacts.ts +255 -0
  195. package/src/cli/index.ts +7 -185
  196. package/src/cli/tanstackTypes/canonicalRoutes.ts +157 -0
  197. package/src/cli/tanstackTypes/shared.ts +113 -0
  198. package/src/cli/tanstackTypes/source.ts +414 -0
  199. package/src/cli/tanstackTypes.ts +4 -647
  200. package/src/runtime/blockingSubscribe.ts +48 -0
  201. package/src/runtime/clientBasepath.ts +12 -0
  202. package/src/runtime/clientHydration.ts +149 -0
  203. package/src/runtime/dataMutation.tsx +9 -306
  204. package/src/runtime/formData.ts +153 -0
  205. package/src/runtime/loaderBridge.ts +11 -12
  206. package/src/runtime/plugin.node.tsx +76 -291
  207. package/src/runtime/plugin.tsx +21 -257
  208. package/src/runtime/pluginShared.ts +112 -0
  209. package/src/runtime/prefetchLink.tsx +78 -15
  210. package/src/runtime/register.ts +10 -42
  211. package/src/runtime/routeTree/components.ts +130 -0
  212. package/src/runtime/routeTree/construction.ts +238 -0
  213. package/src/runtime/routeTree/index.ts +7 -0
  214. package/src/runtime/routeTree/loaders.ts +232 -0
  215. package/src/runtime/routeTree/paths.ts +36 -0
  216. package/src/runtime/routeTree/staticData.ts +66 -0
  217. package/src/runtime/routeTree/tanstackRoutes.ts +36 -0
  218. package/src/runtime/routeTree/types.ts +87 -0
  219. package/src/runtime/routeTree.ts +5 -750
  220. package/src/runtime/router.ts +35 -7
  221. package/src/runtime/rsc/CompositeComponent.tsx +29 -20
  222. package/src/runtime/rsc/ReplayableStream.ts +2 -2
  223. package/src/runtime/rsc/RscNodeRenderer.tsx +9 -27
  224. package/src/runtime/rsc/SlotContext.tsx +1 -1
  225. package/src/runtime/rsc/client.tsx +12 -40
  226. package/src/runtime/rsc/flightSerialization.ts +158 -0
  227. package/src/runtime/rsc/payloadErrors.ts +73 -0
  228. package/src/runtime/rsc/payloadFetch.ts +92 -0
  229. package/src/runtime/rsc/payloadRouter.ts +29 -234
  230. package/src/runtime/rsc/payloadRoutes.ts +122 -0
  231. package/src/runtime/rsc/payloadStorage.ts +35 -0
  232. package/src/runtime/rsc/server.tsx +20 -29
  233. package/src/runtime/rsc/shared.ts +70 -0
  234. package/src/runtime/rsc/slotUsageSanitizer.ts +4 -0
  235. package/src/runtime/rsc/treeGetter.tsx +52 -0
  236. package/src/runtime/shared/isAbsoluteUrl.ts +8 -0
  237. package/src/runtime/ssrManagedTags.ts +107 -0
  238. package/src/runtime/ssrPreload.ts +125 -0
  239. package/src/runtime/ssrTypes.ts +51 -0
  240. package/src/runtime/state.ts +9 -3
  241. package/src/runtime/submitAction.ts +201 -0
  242. package/src/runtime/types.ts +4 -18
  243. package/src/runtime/utils.tsx +76 -110
  244. package/src/types/react-server-dom-rspack.d.ts +56 -0
  245. package/tests/castRatchet.test.ts +85 -0
  246. package/tests/realm-isolation.test.ts +114 -0
  247. package/tests/router/cli.test.ts +7 -0
  248. package/tests/router/clientHydration.test.tsx +61 -0
  249. package/tests/router/dataMutation.test.tsx +59 -0
  250. package/tests/router/fixtures/legacyRuntimeRouter.ts +10 -0
  251. package/tests/router/fixtures/router-gen.golden.txt +71 -0
  252. package/tests/router/fixtures/router-gen.oxlint.json +5 -0
  253. package/tests/router/flightSerialization.roundtrip.test.tsx +137 -0
  254. package/tests/router/generateRouteArtifacts.test.ts +106 -0
  255. package/tests/router/hooks.test.ts +14 -0
  256. package/tests/router/loaderBridge.test.ts +21 -0
  257. package/tests/router/prefetchLink.test.tsx +106 -59
  258. package/tests/router/prefetchLinkPreload.test.tsx +85 -0
  259. package/tests/router/register.test.ts +1 -39
  260. package/tests/router/routeTree.test.ts +51 -11
  261. package/tests/router/routerCompatibility.test.ts +245 -0
  262. package/tests/router/rsc.test.tsx +189 -0
  263. package/tests/router/rscPayloadRouterMatrix.test.ts +197 -0
  264. package/tests/router/slotUsageSanitizer.test.ts +23 -0
  265. package/tests/router/ssrPreload.test.ts +30 -0
  266. package/tests/router/tanstackTypes.test.ts +298 -1
  267. package/dist/esm/runtime/pluginCore.mjs +0 -14
  268. package/dist/esm-node/runtime/pluginCore.mjs +0 -15
  269. package/dist/types/runtime/pluginCore.d.ts +0 -21
  270. package/src/runtime/pluginCore.ts +0 -48
@@ -27,28 +27,21 @@ var __webpack_require__ = {};
27
27
  })();
28
28
  var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
- __webpack_require__.d(__webpack_exports__, {
31
- getFinalRouteConfig: ()=>getFinalRouteConfig,
32
- getMergedRouterConfig: ()=>getMergedRouterConfig
33
- });
34
- const context_namespaceObject = require("@modern-js/runtime/context");
35
- const merge_namespaceObject = require("@modern-js/runtime-utils/merge");
36
- function getMergedRouterConfig(api, userConfig) {
37
- const pluginConfig = api.getRuntimeConfig();
38
- return (0, merge_namespaceObject.merge)(pluginConfig.router || {}, userConfig);
30
+ function normalizeBase(b) {
31
+ if (b.length > 1 && b.endsWith('/')) return b.slice(0, -1);
32
+ return b || '/';
39
33
  }
40
- function getFinalRouteConfig(mergedConfig) {
41
- return {
42
- routes: (0, context_namespaceObject.getGlobalRoutes)(),
43
- globalApp: (0, context_namespaceObject.getGlobalLayoutApp)(),
44
- ...mergedConfig.routesConfig
45
- };
34
+ function isSegmentPrefix(pathname, base) {
35
+ const b = normalizeBase(base);
36
+ const p = pathname || '/';
37
+ return p === b || p.startsWith(`${b}/`);
46
38
  }
47
- exports.getFinalRouteConfig = __webpack_exports__.getFinalRouteConfig;
48
- exports.getMergedRouterConfig = __webpack_exports__.getMergedRouterConfig;
39
+ __webpack_require__.d(__webpack_exports__, {
40
+ isSegmentPrefix: ()=>isSegmentPrefix
41
+ });
42
+ exports.isSegmentPrefix = __webpack_exports__.isSegmentPrefix;
49
43
  for(var __rspack_i in __webpack_exports__)if (-1 === [
50
- "getFinalRouteConfig",
51
- "getMergedRouterConfig"
44
+ "isSegmentPrefix"
52
45
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
53
46
  Object.defineProperty(exports, '__esModule', {
54
47
  value: true
@@ -0,0 +1,118 @@
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
+ ModernRouterClient: ()=>ModernRouterClient,
32
+ getTanstackSsrHydrationPromise: ()=>getTanstackSsrHydrationPromise,
33
+ hasTanstackSsrHydrationRecord: ()=>hasTanstackSsrHydrationRecord,
34
+ hydrateTanstackRouter: ()=>hydrateTanstackRouter
35
+ });
36
+ const react_router_namespaceObject = require("@tanstack/react-router");
37
+ const external_react_namespaceObject = require("react");
38
+ const external_outlet_js_namespaceObject = require("./outlet.js");
39
+ const external_routeTree_js_namespaceObject = require("./routeTree.js");
40
+ const routerHydrationRecords = new WeakMap();
41
+ const routeModulesKey = '_routeModules';
42
+ function getCachedRouteModule(routeId) {
43
+ if ("u" < typeof window) return;
44
+ return window[routeModulesKey]?.[routeId];
45
+ }
46
+ function preloadHydratedRouteComponents(router) {
47
+ const preloadableRouter = router;
48
+ const routesById = preloadableRouter.routesById || {};
49
+ const matches = preloadableRouter.stores.matches.get();
50
+ return Promise.all(matches.map((match)=>{
51
+ if (void 0 === match.routeId || '' === match.routeId) return;
52
+ const route = routesById[match.routeId];
53
+ const component = route?.options?.component;
54
+ const preload = component?.load || component?.preload;
55
+ if ('function' != typeof preload) return;
56
+ return Promise.resolve(preload.call(component)).then((routeModule)=>{
57
+ const modernRouteId = route?.options?.staticData?.modernRouteId;
58
+ const cachedRouteModule = 'string' == typeof modernRouteId && '' !== modernRouteId ? getCachedRouteModule(modernRouteId) : void 0;
59
+ const resolvedComponent = (0, external_routeTree_js_namespaceObject.pickRouteModuleComponent)(cachedRouteModule ?? routeModule);
60
+ if (void 0 !== resolvedComponent && 'string' == typeof modernRouteId && '' !== modernRouteId) route.options.component = (0, external_outlet_js_namespaceObject.withModernRouteMatchContext)(resolvedComponent, modernRouteId);
61
+ });
62
+ })).then(()=>void 0);
63
+ }
64
+ function hydrateTanstackRouter(router) {
65
+ return import("@tanstack/react-router/ssr/client").then(({ hydrate })=>hydrate(router));
66
+ }
67
+ function getTanstackSsrHydrationRecord(router) {
68
+ const existingHydrationRecord = routerHydrationRecords.get(router);
69
+ if (void 0 !== existingHydrationRecord) return existingHydrationRecord;
70
+ const hydrationRecord = {
71
+ promise: Promise.resolve(),
72
+ status: 'pending'
73
+ };
74
+ routerHydrationRecords.set(router, hydrationRecord);
75
+ try {
76
+ hydrationRecord.promise = hydrateTanstackRouter(router).then((value)=>preloadHydratedRouteComponents(router).then(()=>value)).then((value)=>{
77
+ hydrationRecord.status = 'fulfilled';
78
+ return value;
79
+ }, (error)=>{
80
+ hydrationRecord.status = 'rejected';
81
+ hydrationRecord.error = error;
82
+ throw error;
83
+ });
84
+ } catch (error) {
85
+ hydrationRecord.status = 'rejected';
86
+ hydrationRecord.error = error;
87
+ hydrationRecord.promise = Promise.reject(error);
88
+ hydrationRecord.promise.catch(()=>{});
89
+ }
90
+ return hydrationRecord;
91
+ }
92
+ function getTanstackSsrHydrationPromise(router) {
93
+ return getTanstackSsrHydrationRecord(router).promise;
94
+ }
95
+ function hasTanstackSsrHydrationRecord(router) {
96
+ return routerHydrationRecords.has(router);
97
+ }
98
+ function ModernRouterClient({ router }) {
99
+ const hydrationRecord = getTanstackSsrHydrationRecord(router);
100
+ if ('pending' === hydrationRecord.status) throw hydrationRecord.promise;
101
+ if ('rejected' === hydrationRecord.status) throw hydrationRecord.error;
102
+ return (0, external_react_namespaceObject.createElement)(react_router_namespaceObject.RouterProvider, {
103
+ router
104
+ });
105
+ }
106
+ exports.ModernRouterClient = __webpack_exports__.ModernRouterClient;
107
+ exports.getTanstackSsrHydrationPromise = __webpack_exports__.getTanstackSsrHydrationPromise;
108
+ exports.hasTanstackSsrHydrationRecord = __webpack_exports__.hasTanstackSsrHydrationRecord;
109
+ exports.hydrateTanstackRouter = __webpack_exports__.hydrateTanstackRouter;
110
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
111
+ "ModernRouterClient",
112
+ "getTanstackSsrHydrationPromise",
113
+ "hasTanstackSsrHydrationRecord",
114
+ "hydrateTanstackRouter"
115
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
116
+ Object.defineProperty(exports, '__esModule', {
117
+ value: true
118
+ });
@@ -29,198 +29,33 @@ var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
31
  Form: ()=>Form,
32
- RouteActionResponseError: ()=>RouteActionResponseError,
32
+ RouteActionResponseError: ()=>external_submitAction_js_namespaceObject.RouteActionResponseError,
33
33
  useFetcher: ()=>useFetcher
34
34
  });
35
35
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
36
36
  const react_router_namespaceObject = require("@tanstack/react-router");
37
37
  const external_react_namespaceObject = require("react");
38
- class RouteActionResponseError extends Error {
39
- constructor(response, data){
40
- super(`Route action failed with status ${response.status}`);
41
- this.name = 'RouteActionResponseError';
42
- this.response = response;
43
- this.data = data;
44
- }
45
- }
46
- function formDataToUrlSearchParams(formData) {
47
- const searchParams = new URLSearchParams();
48
- formData.forEach((value, key)=>{
49
- if ('string' == typeof value) searchParams.append(key, value);
50
- });
51
- return searchParams;
52
- }
53
- function formDataToTextPlain(formData) {
54
- return Array.from(formData.entries()).map(([key, value])=>`${key}=${String(value)}`).join('\n');
55
- }
56
- function toFormData(target) {
57
- if (target instanceof HTMLFormElement) return new FormData(target);
58
- if (target instanceof FormData) return target;
59
- if (target instanceof URLSearchParams) {
60
- const formData = new FormData();
61
- target.forEach((value, key)=>{
62
- formData.append(key, value);
63
- });
64
- return formData;
65
- }
66
- const formData = new FormData();
67
- Object.entries(target).forEach(([key, value])=>{
68
- if (null == value) return;
69
- formData.append(key, String(value));
70
- });
71
- return formData;
72
- }
73
- function getSubmitter(event) {
74
- const nativeEvent = event.nativeEvent;
75
- const submitter = nativeEvent?.submitter;
76
- if (submitter instanceof HTMLButtonElement || submitter instanceof HTMLInputElement) return submitter;
77
- return null;
78
- }
79
- function createFormDataFromSubmit({ form, submitter }) {
80
- if (submitter) try {
81
- return new FormData(form, submitter);
82
- } catch {}
83
- return new FormData(form);
84
- }
85
- function resolveSubmitOptionsFromForm({ form, submitter, action, method, encType }) {
86
- const resolvedAction = submitter?.getAttribute('formaction') || action || form.getAttribute('action') || '.';
87
- const resolvedMethod = (submitter?.getAttribute('formmethod') || method || form.getAttribute('method') || 'get').toLowerCase();
88
- const resolvedEncType = submitter?.getAttribute('formenctype') || encType || form.getAttribute('enctype') || 'application/x-www-form-urlencoded';
89
- return {
90
- action: resolvedAction,
91
- method: resolvedMethod,
92
- encType: resolvedEncType
93
- };
94
- }
95
- function resolveRouteHandlers(router, actionTo) {
96
- const builtLocation = router.buildLocation({
97
- to: actionTo
98
- });
99
- const href = router.getParsedLocationHref(builtLocation);
100
- const matchedRoutes = router.getMatchedRoutes(builtLocation.pathname);
101
- const routeStaticData = matchedRoutes.foundRoute?.options?.staticData;
102
- const action = routeStaticData?.modernRouteAction;
103
- const loader = routeStaticData?.modernRouteLoader;
104
- return {
105
- action,
106
- loader,
107
- href,
108
- params: matchedRoutes.routeParams || {}
109
- };
110
- }
111
- function isRedirectResponse(value) {
112
- if (!(value instanceof Response)) return false;
113
- return [
114
- 301,
115
- 302,
116
- 303,
117
- 307,
118
- 308
119
- ].includes(value.status);
120
- }
121
- async function parseResponseData(response) {
122
- if (204 === response.status) return null;
123
- const contentType = response.headers.get('Content-Type') || '';
124
- if (contentType.includes('application/json')) return response.json();
125
- return response.text();
126
- }
127
- async function parseResponseResultOrThrow(response) {
128
- const parsed = await parseResponseData(response);
129
- if (!response.ok) throw new RouteActionResponseError(response, parsed);
130
- return parsed;
131
- }
132
- async function submitRouteAction({ router, target, options = {}, isFetcher = false, onInvalidateStart }) {
133
- const method = (options.method || 'post').toLowerCase();
134
- const encType = options.encType || 'application/x-www-form-urlencoded';
135
- const actionTo = options.action || '.';
136
- const formData = toFormData(target);
137
- const resolved = resolveRouteHandlers(router, actionTo);
138
- if ('get' === method) {
139
- const search = formDataToUrlSearchParams(formData).toString();
140
- const requestUrl = new URL(resolved.href, window.location.origin);
141
- requestUrl.search = search;
142
- if (isFetcher && resolved.loader) {
143
- const result = await resolved.loader({
144
- request: new Request(requestUrl, {
145
- method: 'GET'
146
- }),
147
- params: resolved.params
148
- });
149
- if (result instanceof Response) {
150
- const redirectTo = result.headers.get('X-Modernjs-Redirect') || result.headers.get('Location');
151
- if (redirectTo || isRedirectResponse(result)) {
152
- await router.navigate({
153
- to: redirectTo || '/'
154
- });
155
- return parseResponseData(result);
156
- }
157
- return parseResponseResultOrThrow(result);
158
- }
159
- return result;
160
- }
161
- await router.navigate({
162
- href: search ? `${resolved.href}?${search}` : resolved.href
163
- });
164
- return;
165
- }
166
- if (!resolved.action) throw new Error(`No route action found for "${actionTo}"`);
167
- const headers = new Headers();
168
- let body = null;
169
- if (encType.includes('application/json')) {
170
- headers.set('Content-Type', 'application/json');
171
- body = JSON.stringify(Object.fromEntries(formDataToUrlSearchParams(formData).entries()));
172
- } else if (encType.includes('text/plain')) {
173
- headers.set('Content-Type', 'text/plain;charset=UTF-8');
174
- body = formDataToTextPlain(formData);
175
- } else if (encType.includes('application/x-www-form-urlencoded')) {
176
- headers.set('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');
177
- body = formDataToUrlSearchParams(formData);
178
- } else body = formData;
179
- const request = new Request(new URL(resolved.href, window.location.origin), {
180
- method: method.toUpperCase(),
181
- headers,
182
- body
183
- });
184
- const result = await resolved.action({
185
- request,
186
- params: resolved.params
187
- });
188
- if (result instanceof Response) {
189
- const redirectTo = result.headers.get('X-Modernjs-Redirect') || result.headers.get('Location');
190
- if (redirectTo || isRedirectResponse(result)) {
191
- await router.navigate({
192
- to: redirectTo || '/'
193
- });
194
- return parseResponseData(result);
195
- }
196
- const parsed = isFetcher ? await parseResponseResultOrThrow(result) : await parseResponseData(result);
197
- onInvalidateStart?.();
198
- await router.invalidate();
199
- return parsed;
200
- }
201
- onInvalidateStart?.();
202
- await router.invalidate();
203
- return result;
204
- }
38
+ const external_formData_js_namespaceObject = require("./formData.js");
39
+ const external_submitAction_js_namespaceObject = require("./submitAction.js");
205
40
  function Form({ action, method = 'get', encType, reloadDocument, onSubmit, ...rest }) {
206
41
  const router = (0, react_router_namespaceObject.useRouter)();
207
42
  const handleSubmit = (0, external_react_namespaceObject.useCallback)(async (event)=>{
208
43
  onSubmit?.(event);
209
44
  if (event.defaultPrevented || reloadDocument) return;
210
45
  event.preventDefault();
211
- const submitter = getSubmitter(event);
212
- const formData = createFormDataFromSubmit({
46
+ const submitter = (0, external_formData_js_namespaceObject.getSubmitter)(event);
47
+ const formData = (0, external_formData_js_namespaceObject.createFormDataFromSubmit)({
213
48
  form: event.currentTarget,
214
49
  submitter
215
50
  });
216
- const normalizedOptions = resolveSubmitOptionsFromForm({
51
+ const normalizedOptions = (0, external_formData_js_namespaceObject.resolveSubmitOptionsFromForm)({
217
52
  form: event.currentTarget,
218
53
  submitter,
219
54
  action,
220
55
  method,
221
56
  encType
222
57
  });
223
- await submitRouteAction({
58
+ await (0, external_submitAction_js_namespaceObject.submitRouteAction)({
224
59
  router,
225
60
  target: formData,
226
61
  options: normalizedOptions
@@ -278,7 +113,7 @@ function useFetcher() {
278
113
  const isLoaderSubmit = 'get' === normalizedMethod;
279
114
  setRequestState(requestId, isLoaderSubmit ? 'loading' : 'submitting');
280
115
  try {
281
- const result = await submitRouteAction({
116
+ const result = await (0, external_submitAction_js_namespaceObject.submitRouteAction)({
282
117
  router,
283
118
  target,
284
119
  options,
@@ -304,12 +139,12 @@ function useFetcher() {
304
139
  onSubmit?.(event);
305
140
  if (event.defaultPrevented || reloadDocument) return;
306
141
  event.preventDefault();
307
- const submitter = getSubmitter(event);
308
- const formData = createFormDataFromSubmit({
142
+ const submitter = (0, external_formData_js_namespaceObject.getSubmitter)(event);
143
+ const formData = (0, external_formData_js_namespaceObject.createFormDataFromSubmit)({
309
144
  form: event.currentTarget,
310
145
  submitter
311
146
  });
312
- const normalizedOptions = resolveSubmitOptionsFromForm({
147
+ const normalizedOptions = (0, external_formData_js_namespaceObject.resolveSubmitOptionsFromForm)({
313
148
  form: event.currentTarget,
314
149
  submitter,
315
150
  action,
@@ -0,0 +1,116 @@
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
+ function formDataToUrlSearchParams(formData) {
31
+ const searchParams = new URLSearchParams();
32
+ formData.forEach((value, key)=>{
33
+ if ('string' == typeof value) searchParams.append(key, value);
34
+ });
35
+ return searchParams;
36
+ }
37
+ function formDataToTextPlain(formData) {
38
+ return Array.from(formData.entries()).map(([key, value])=>`${key}=${String(value)}`).join('\n');
39
+ }
40
+ function toFormData(target) {
41
+ if (target instanceof HTMLFormElement) return new FormData(target);
42
+ if (target instanceof FormData) return target;
43
+ if (target instanceof URLSearchParams) {
44
+ const formData = new FormData();
45
+ target.forEach((value, key)=>{
46
+ formData.append(key, value);
47
+ });
48
+ return formData;
49
+ }
50
+ const formData = new FormData();
51
+ Object.entries(target).forEach(([key, value])=>{
52
+ if (null == value) return;
53
+ formData.append(key, String(value));
54
+ });
55
+ return formData;
56
+ }
57
+ function getSubmitter(event) {
58
+ const nativeEvent = event.nativeEvent;
59
+ const submitter = nativeEvent?.submitter;
60
+ if (submitter instanceof HTMLButtonElement || submitter instanceof HTMLInputElement) return submitter;
61
+ return null;
62
+ }
63
+ function appendSubmitterValue(formData, form, submitter) {
64
+ if (submitter.form !== form || submitter.disabled) return;
65
+ if (submitter instanceof HTMLInputElement && 'image' === submitter.type) {
66
+ const namePrefix = submitter.name ? `${submitter.name}.` : '';
67
+ formData.append(`${namePrefix}x`, '0');
68
+ formData.append(`${namePrefix}y`, '0');
69
+ return;
70
+ }
71
+ if (!submitter.name || 'button' === submitter.type || 'reset' === submitter.type) return;
72
+ formData.append(submitter.name, submitter.value);
73
+ }
74
+ function createFormDataFromSubmit({ form, submitter }) {
75
+ if (submitter) try {
76
+ return new FormData(form, submitter);
77
+ } catch {}
78
+ const formData = new FormData(form);
79
+ if (submitter) appendSubmitterValue(formData, form, submitter);
80
+ return formData;
81
+ }
82
+ function resolveSubmitOptionsFromForm({ form, submitter, action, method, encType }) {
83
+ const resolvedAction = submitter?.getAttribute('formaction') || action || form.getAttribute('action') || '.';
84
+ const resolvedMethod = (submitter?.getAttribute('formmethod') || method || form.getAttribute('method') || 'get').toLowerCase();
85
+ const resolvedEncType = submitter?.getAttribute('formenctype') || encType || form.getAttribute('enctype') || 'application/x-www-form-urlencoded';
86
+ return {
87
+ action: resolvedAction,
88
+ method: resolvedMethod,
89
+ encType: resolvedEncType
90
+ };
91
+ }
92
+ __webpack_require__.d(__webpack_exports__, {
93
+ createFormDataFromSubmit: ()=>createFormDataFromSubmit,
94
+ formDataToTextPlain: ()=>formDataToTextPlain,
95
+ formDataToUrlSearchParams: ()=>formDataToUrlSearchParams,
96
+ getSubmitter: ()=>getSubmitter,
97
+ resolveSubmitOptionsFromForm: ()=>resolveSubmitOptionsFromForm,
98
+ toFormData: ()=>toFormData
99
+ });
100
+ exports.createFormDataFromSubmit = __webpack_exports__.createFormDataFromSubmit;
101
+ exports.formDataToTextPlain = __webpack_exports__.formDataToTextPlain;
102
+ exports.formDataToUrlSearchParams = __webpack_exports__.formDataToUrlSearchParams;
103
+ exports.getSubmitter = __webpack_exports__.getSubmitter;
104
+ exports.resolveSubmitOptionsFromForm = __webpack_exports__.resolveSubmitOptionsFromForm;
105
+ exports.toFormData = __webpack_exports__.toFormData;
106
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
107
+ "createFormDataFromSubmit",
108
+ "formDataToTextPlain",
109
+ "formDataToUrlSearchParams",
110
+ "getSubmitter",
111
+ "resolveSubmitOptionsFromForm",
112
+ "toFormData"
113
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
114
+ Object.defineProperty(exports, '__esModule', {
115
+ value: true
116
+ });
@@ -29,7 +29,7 @@ var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
31
  createRouteStaticData: ()=>createRouteStaticData,
32
- isAbsoluteUrl: ()=>isAbsoluteUrl,
32
+ isAbsoluteUrl: ()=>isAbsoluteUrl_js_namespaceObject.isAbsoluteUrl,
33
33
  isRedirectResponse: ()=>isRedirectResponse,
34
34
  isResponse: ()=>isResponse,
35
35
  isTanstackRedirect: ()=>isTanstackRedirect,
@@ -38,6 +38,7 @@ __webpack_require__.d(__webpack_exports__, {
38
38
  throwTanstackRedirect: ()=>throwTanstackRedirect
39
39
  });
40
40
  const react_router_namespaceObject = require("@tanstack/react-router");
41
+ const isAbsoluteUrl_js_namespaceObject = require("./shared/isAbsoluteUrl.js");
41
42
  function isResponse(value) {
42
43
  const record = value;
43
44
  return null != record && 'object' == typeof record && 'number' == typeof record.status && 'object' == typeof record.headers;
@@ -55,17 +56,9 @@ function isRedirectResponse(res) {
55
56
  function isTanstackRedirect(value) {
56
57
  return isResponse(value) && 'object' == typeof value.options;
57
58
  }
58
- function isAbsoluteUrl(value) {
59
- try {
60
- new URL(value);
61
- return true;
62
- } catch {
63
- return false;
64
- }
65
- }
66
59
  function throwTanstackRedirect(location) {
67
60
  const target = location || '/';
68
- if (isAbsoluteUrl(target)) throw (0, react_router_namespaceObject.redirect)({
61
+ if ((0, isAbsoluteUrl_js_namespaceObject.isAbsoluteUrl)(target)) throw (0, react_router_namespaceObject.redirect)({
69
62
  href: target
70
63
  });
71
64
  throw (0, react_router_namespaceObject.redirect)({
@@ -134,7 +127,10 @@ function modernLoaderToTanstack(opts, modernLoader) {
134
127
  const signal = getLoaderSignal(ctx);
135
128
  const baseRequest = ctx?.context?.request instanceof Request ? ctx.context.request : void 0;
136
129
  const href = getLoaderHref(ctx);
137
- const request = void 0 !== baseRequest ? new Request(baseRequest, {
130
+ const request = void 0 !== baseRequest && '' !== href ? new Request(new URL(href, baseRequest.url).href, {
131
+ headers: baseRequest.headers,
132
+ signal
133
+ }) : void 0 !== baseRequest ? new Request(baseRequest, {
138
134
  signal
139
135
  }) : new Request(href, {
140
136
  signal