@bleedingdev/modern-js-runtime 3.5.0-ultramodern.10 → 3.5.0-ultramodern.101

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 (155) hide show
  1. package/dist/cjs/boundary-debugger/index.js +13 -3
  2. package/dist/cjs/cli/index.js +1 -11
  3. package/dist/cjs/cli/registry.js +18 -0
  4. package/dist/cjs/cli/ssr/index.js +3 -2
  5. package/dist/cjs/cli/ssr/loadable-bundler-plugin.js +8 -4
  6. package/dist/cjs/core/browser/hydrate.js +16 -2
  7. package/dist/cjs/core/browser/index.js +19 -18
  8. package/dist/cjs/core/context/index.js +3 -0
  9. package/dist/cjs/core/context/public.js +49 -0
  10. package/dist/cjs/core/context/runtime.js +6 -8
  11. package/dist/cjs/core/react/wrapper.js +57 -0
  12. package/dist/cjs/core/server/federatedCss.js +7 -3
  13. package/dist/cjs/core/server/requestHandler.js +15 -45
  14. package/dist/cjs/core/server/requestResponse.js +83 -0
  15. package/dist/cjs/core/server/routerCleanup.js +16 -6
  16. package/dist/cjs/core/server/scriptOrder.js +13 -10
  17. package/dist/cjs/core/server/stream/afterTemplate.js +9 -5
  18. package/dist/cjs/core/server/stream/template.js +3 -3
  19. package/dist/cjs/core/server/string/index.js +3 -3
  20. package/dist/cjs/core/server/string/loadable.js +3 -11
  21. package/dist/cjs/document/cli/index.js +5 -2
  22. package/dist/cjs/index.js +7 -6
  23. package/dist/cjs/module-federation/consume-surface.js +199 -0
  24. package/dist/cjs/module-federation/distributed-ssr.js +134 -0
  25. package/dist/cjs/module-federation/index.js +258 -120
  26. package/dist/cjs/module-federation/last-known-good.js +124 -0
  27. package/dist/cjs/module-federation/manifest-recovery-runtime-plugin.js +140 -0
  28. package/dist/cjs/module-federation/surface-resolution-types.js +61 -0
  29. package/dist/cjs/router/cli/code/nestedRoutes.js +3 -0
  30. package/dist/cjs/router/cli/code/templates.js +3 -2
  31. package/dist/cjs/router/cli/constants.js +1 -0
  32. package/dist/cjs/router/cli/nestedRoutesSpec.js +3 -1
  33. package/dist/cjs/router/runtime/hooks.js +7 -6
  34. package/dist/cjs/router/runtime/internal.js +30 -16
  35. package/dist/cjs/router/runtime/plugin.js +6 -7
  36. package/dist/cjs/router/runtime/provider.js +58 -12
  37. package/dist/esm/boundary-debugger/index.mjs +13 -3
  38. package/dist/esm/cli/code.mjs +12 -12
  39. package/dist/esm/cli/index.mjs +2 -12
  40. package/dist/esm/cli/registry.mjs +0 -0
  41. package/dist/esm/cli/ssr/index.mjs +3 -2
  42. package/dist/esm/cli/ssr/loadable-bundler-plugin.mjs +8 -4
  43. package/dist/esm/core/browser/hydrate.mjs +15 -4
  44. package/dist/esm/core/browser/index.mjs +15 -17
  45. package/dist/esm/core/context/index.mjs +1 -1
  46. package/dist/esm/core/context/public.mjs +5 -0
  47. package/dist/esm/core/context/runtime.mjs +4 -6
  48. package/dist/esm/core/react/wrapper.mjs +58 -1
  49. package/dist/esm/core/server/federatedCss.mjs +7 -3
  50. package/dist/esm/core/server/requestHandler.mjs +15 -45
  51. package/dist/esm/core/server/requestResponse.mjs +39 -0
  52. package/dist/esm/core/server/routerCleanup.mjs +11 -4
  53. package/dist/esm/core/server/scriptOrder.mjs +11 -8
  54. package/dist/esm/core/server/stream/afterTemplate.mjs +10 -6
  55. package/dist/esm/core/server/stream/template.mjs +3 -3
  56. package/dist/esm/core/server/string/index.mjs +3 -3
  57. package/dist/esm/core/server/string/loadable.mjs +3 -8
  58. package/dist/esm/document/cli/index.mjs +1 -1
  59. package/dist/esm/exports/loadable.mjs +3 -3
  60. package/dist/esm/index.mjs +2 -1
  61. package/dist/esm/module-federation/consume-surface.mjs +158 -0
  62. package/dist/esm/module-federation/distributed-ssr.mjs +81 -0
  63. package/dist/esm/module-federation/index.mjs +6 -0
  64. package/dist/esm/module-federation/last-known-good.mjs +80 -0
  65. package/dist/esm/module-federation/manifest-recovery-runtime-plugin.mjs +100 -0
  66. package/dist/esm/module-federation/surface-resolution-types.mjs +8 -0
  67. package/dist/esm/router/cli/code/index.mjs +5 -5
  68. package/dist/esm/router/cli/code/nestedRoutes.mjs +3 -0
  69. package/dist/esm/router/cli/code/templates.mjs +3 -2
  70. package/dist/esm/router/cli/constants.mjs +1 -0
  71. package/dist/esm/router/cli/handler.mjs +3 -3
  72. package/dist/esm/router/cli/nestedRoutesSpec.mjs +3 -1
  73. package/dist/esm/router/runtime/hooks.mjs +7 -6
  74. package/dist/esm/router/runtime/internal.mjs +26 -18
  75. package/dist/esm/router/runtime/plugin.mjs +6 -7
  76. package/dist/esm/router/runtime/provider.mjs +56 -13
  77. package/dist/esm-node/boundary-debugger/index.mjs +13 -3
  78. package/dist/esm-node/cli/code.mjs +12 -12
  79. package/dist/esm-node/cli/index.mjs +2 -12
  80. package/dist/esm-node/cli/registry.mjs +1 -0
  81. package/dist/esm-node/cli/ssr/index.mjs +3 -2
  82. package/dist/esm-node/cli/ssr/loadable-bundler-plugin.mjs +8 -4
  83. package/dist/esm-node/core/browser/hydrate.mjs +15 -4
  84. package/dist/esm-node/core/browser/index.mjs +15 -17
  85. package/dist/esm-node/core/context/index.mjs +1 -1
  86. package/dist/esm-node/core/context/public.mjs +6 -0
  87. package/dist/esm-node/core/context/runtime.mjs +4 -6
  88. package/dist/esm-node/core/react/wrapper.mjs +58 -1
  89. package/dist/esm-node/core/server/federatedCss.mjs +7 -3
  90. package/dist/esm-node/core/server/requestHandler.mjs +15 -45
  91. package/dist/esm-node/core/server/requestResponse.mjs +40 -0
  92. package/dist/esm-node/core/server/routerCleanup.mjs +11 -4
  93. package/dist/esm-node/core/server/scriptOrder.mjs +11 -8
  94. package/dist/esm-node/core/server/stream/afterTemplate.mjs +10 -6
  95. package/dist/esm-node/core/server/stream/template.mjs +3 -3
  96. package/dist/esm-node/core/server/string/index.mjs +3 -3
  97. package/dist/esm-node/core/server/string/loadable.mjs +3 -8
  98. package/dist/esm-node/document/cli/index.mjs +1 -1
  99. package/dist/esm-node/exports/loadable.mjs +3 -3
  100. package/dist/esm-node/index.mjs +2 -1
  101. package/dist/esm-node/module-federation/consume-surface.mjs +159 -0
  102. package/dist/esm-node/module-federation/distributed-ssr.mjs +82 -0
  103. package/dist/esm-node/module-federation/index.mjs +6 -0
  104. package/dist/esm-node/module-federation/last-known-good.mjs +81 -0
  105. package/dist/esm-node/module-federation/manifest-recovery-runtime-plugin.mjs +101 -0
  106. package/dist/esm-node/module-federation/surface-resolution-types.mjs +9 -0
  107. package/dist/esm-node/router/cli/code/index.mjs +5 -5
  108. package/dist/esm-node/router/cli/code/nestedRoutes.mjs +3 -0
  109. package/dist/esm-node/router/cli/code/templates.mjs +3 -2
  110. package/dist/esm-node/router/cli/constants.mjs +1 -0
  111. package/dist/esm-node/router/cli/handler.mjs +3 -3
  112. package/dist/esm-node/router/cli/nestedRoutesSpec.mjs +3 -1
  113. package/dist/esm-node/router/runtime/hooks.mjs +7 -6
  114. package/dist/esm-node/router/runtime/internal.mjs +26 -18
  115. package/dist/esm-node/router/runtime/plugin.mjs +6 -7
  116. package/dist/esm-node/router/runtime/provider.mjs +56 -13
  117. package/dist/types/boundary-debugger/index.d.ts +1 -1
  118. package/dist/types/cli/registry.d.ts +2 -0
  119. package/dist/types/common.d.ts +8 -1
  120. package/dist/types/core/browser/hydrate.d.ts +2 -1
  121. package/dist/types/core/browser/index.d.ts +4 -1
  122. package/dist/types/core/context/index.d.ts +26 -10
  123. package/dist/types/core/context/monitors/default.d.ts +10 -2
  124. package/dist/types/core/context/monitors/index.d.ts +1 -1
  125. package/dist/types/core/context/monitors/index.server.d.ts +2 -2
  126. package/dist/types/core/context/public.d.ts +27 -0
  127. package/dist/types/core/context/runtime.d.ts +12 -22
  128. package/dist/types/core/react/index.d.ts +1 -1
  129. package/dist/types/core/server/requestResponse.d.ts +15 -0
  130. package/dist/types/core/server/routerCleanup.d.ts +2 -1
  131. package/dist/types/core/server/scriptOrder.d.ts +1 -1
  132. package/dist/types/core/server/stream/shared.d.ts +2 -2
  133. package/dist/types/core/server/string/loadable.d.ts +0 -2
  134. package/dist/types/document/cli/index.d.ts +1 -0
  135. package/dist/types/exports/head.d.ts +1 -1
  136. package/dist/types/index.d.ts +5 -5
  137. package/dist/types/internal.d.ts +0 -1
  138. package/dist/types/module-federation/consume-surface.d.ts +104 -0
  139. package/dist/types/module-federation/distributed-ssr.d.ts +61 -0
  140. package/dist/types/module-federation/index.d.ts +6 -0
  141. package/dist/types/module-federation/last-known-good.d.ts +72 -0
  142. package/dist/types/module-federation/manifest-recovery-runtime-plugin.d.ts +25 -0
  143. package/dist/types/module-federation/surface-resolution-types.d.ts +23 -0
  144. package/dist/types/router/cli/constants.d.ts +1 -0
  145. package/dist/types/router/runtime/hooks.d.ts +10 -6
  146. package/dist/types/router/runtime/internal.d.ts +13 -3
  147. package/dist/types/router/runtime/plugin.d.ts +1 -1
  148. package/dist/types/router/runtime/plugin.node.d.ts +1 -1
  149. package/dist/types/router/runtime/provider.d.ts +28 -11
  150. package/dist/types/router/runtime/types.d.ts +27 -5
  151. package/package.json +47 -27
  152. package/dist/cjs/exports/tanstack-router.js +0 -83
  153. package/dist/esm/exports/tanstack-router.mjs +0 -30
  154. package/dist/esm-node/exports/tanstack-router.mjs +0 -31
  155. package/dist/types/exports/tanstack-router.d.ts +0 -88
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  "modern",
18
18
  "modern.js"
19
19
  ],
20
- "version": "3.5.0-ultramodern.10",
20
+ "version": "3.5.0-ultramodern.101",
21
21
  "engines": {
22
22
  "node": ">=20"
23
23
  },
@@ -55,6 +55,12 @@
55
55
  "types": "./dist/types/core/browser/index.d.ts",
56
56
  "default": "./dist/esm/core/browser/index.mjs"
57
57
  },
58
+ "./registry": {
59
+ "types": "./dist/types/cli/registry.d.ts"
60
+ },
61
+ "./registry/*": {
62
+ "types": "./dist/types/cli/registry.d.ts"
63
+ },
58
64
  "./loadable": {
59
65
  "types": "./dist/types/exports/loadable.d.ts",
60
66
  "default": "./dist/esm/exports/loadable.mjs"
@@ -71,6 +77,18 @@
71
77
  "types": "./dist/types/module-federation/index.d.ts",
72
78
  "default": "./dist/esm/module-federation/index.mjs"
73
79
  },
80
+ "./module-federation/distributed-ssr": {
81
+ "types": "./dist/types/module-federation/distributed-ssr.d.ts",
82
+ "default": "./dist/esm/module-federation/distributed-ssr.mjs"
83
+ },
84
+ "./module-federation/manifest-recovery-runtime-plugin": {
85
+ "types": "./dist/types/module-federation/manifest-recovery-runtime-plugin.d.ts",
86
+ "node": {
87
+ "import": "./dist/esm/module-federation/manifest-recovery-runtime-plugin.mjs",
88
+ "require": "./dist/cjs/module-federation/manifest-recovery-runtime-plugin.js"
89
+ },
90
+ "default": "./dist/esm/module-federation/manifest-recovery-runtime-plugin.mjs"
91
+ },
74
92
  "./ssr": {
75
93
  "types": "./dist/types/core/server/index.d.ts",
76
94
  "default": "./dist/esm/core/server/index.mjs"
@@ -99,10 +117,6 @@
99
117
  },
100
118
  "default": "./dist/esm/router/index.mjs"
101
119
  },
102
- "./tanstack-router": {
103
- "types": "./dist/types/exports/tanstack-router.d.ts",
104
- "default": "./dist/esm/exports/tanstack-router.mjs"
105
- },
106
120
  "./router/server": {
107
121
  "types": "./dist/types/router/runtime/server.d.ts",
108
122
  "default": "./dist/esm/router/runtime/server.mjs"
@@ -173,6 +187,12 @@
173
187
  "browser": [
174
188
  "./dist/types/core/browser/index.d.ts"
175
189
  ],
190
+ "registry": [
191
+ "./dist/types/cli/registry.d.ts"
192
+ ],
193
+ "registry/*": [
194
+ "./dist/types/cli/registry.d.ts"
195
+ ],
176
196
  "head": [
177
197
  "./dist/types/exports/head.d.ts"
178
198
  ],
@@ -182,6 +202,9 @@
182
202
  "module-federation": [
183
203
  "./dist/types/module-federation/index.d.ts"
184
204
  ],
205
+ "module-federation/manifest-recovery-runtime-plugin": [
206
+ "./dist/types/module-federation/manifest-recovery-runtime-plugin.d.ts"
207
+ ],
185
208
  "document": [
186
209
  "./dist/types/document/index.d.ts"
187
210
  ],
@@ -194,9 +217,6 @@
194
217
  "router": [
195
218
  "./dist/types/router/index.d.ts"
196
219
  ],
197
- "tanstack-router": [
198
- "./dist/types/exports/tanstack-router.d.ts"
199
- ],
200
220
  "router/server": [
201
221
  "./dist/types/router/runtime/server.d.ts"
202
222
  ],
@@ -226,51 +246,51 @@
226
246
  "dependencies": {
227
247
  "@loadable/component": "5.16.7",
228
248
  "@loadable/server": "5.16.7",
249
+ "@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.5.0-ultramodern.101",
250
+ "@modern-js/plugin-data-loader": "npm:@bleedingdev/modern-js-plugin-data-loader@3.5.0-ultramodern.101",
251
+ "@modern-js/render": "npm:@bleedingdev/modern-js-render@3.5.0-ultramodern.101",
252
+ "@modern-js/runtime-utils": "npm:@bleedingdev/modern-js-runtime-utils@3.5.0-ultramodern.101",
253
+ "@modern-js/types": "npm:@bleedingdev/modern-js-types@3.5.0-ultramodern.101",
254
+ "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.101",
229
255
  "@swc/core": "1.15.43",
230
256
  "@swc/helpers": "^0.5.23",
231
- "@swc/plugin-loadable-components": "^11.14.0",
257
+ "@swc/plugin-loadable-components": "^11.15.0",
232
258
  "@types/loadable__component": "^5.13.10",
233
259
  "@types/react-helmet": "^6.1.11",
234
- "cookie": "2.0.0",
260
+ "cookie": "2.0.1",
235
261
  "entities": "^8.0.0",
236
- "es-module-lexer": "^2.1.0",
262
+ "es-module-lexer": "^2.3.0",
237
263
  "esbuild": "^0.28.1",
238
264
  "invariant": "^2.2.4",
239
- "isbot": "5.1.44",
265
+ "isbot": "5.2.0",
240
266
  "react-helmet": "^6.1.0",
241
267
  "react-helmet-async": "3.0.0",
242
- "react-is": "^19.2.7",
243
- "@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.5.0-ultramodern.10",
244
- "@modern-js/plugin-data-loader": "npm:@bleedingdev/modern-js-plugin-data-loader@3.5.0-ultramodern.10",
245
- "@modern-js/runtime-utils": "npm:@bleedingdev/modern-js-runtime-utils@3.5.0-ultramodern.10",
246
- "@modern-js/render": "npm:@bleedingdev/modern-js-render@3.5.0-ultramodern.10",
247
- "@modern-js/types": "npm:@bleedingdev/modern-js-types@3.5.0-ultramodern.10",
248
- "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.10"
268
+ "react-is": "^19.2.7"
249
269
  },
250
270
  "peerDependencies": {
251
271
  "react": "^19.2.7",
252
272
  "react-dom": "^19.2.7"
253
273
  },
254
274
  "devDependencies": {
275
+ "@modern-js/app-tools": "npm:@bleedingdev/modern-js-app-tools@3.5.0-ultramodern.101",
255
276
  "@remix-run/web-fetch": "^4.4.2",
256
- "@rsbuild/core": "2.1.1",
257
- "@rslib/core": "0.23.1",
277
+ "@rsbuild/core": "2.1.5",
278
+ "@rslib/core": "0.23.2",
279
+ "@scripts/rstest-config": "2.66.0",
258
280
  "@testing-library/dom": "^10.4.1",
259
281
  "@testing-library/react": "^16.3.2",
282
+ "@types/cookie": "0.6.0",
260
283
  "@types/invariant": "^2.2.37",
261
284
  "@types/loadable__server": "5.12.11",
262
- "@types/node": "^26.0.1",
263
- "@typescript/native-preview": "7.0.0-dev.20260628.1",
285
+ "@types/node": "^26.1.1",
286
+ "@typescript/native-preview": "7.0.0-dev.20260707.2",
264
287
  "react": "^19.2.7",
265
288
  "react-dom": "^19.2.7",
266
289
  "ts-node": "^10.9.2",
267
- "typescript": "^6.0.3",
268
- "@modern-js/app-tools": "npm:@bleedingdev/modern-js-app-tools@3.5.0-ultramodern.10",
269
- "@scripts/rstest-config": "2.66.0"
290
+ "typescript": "^7.0.2"
270
291
  },
271
292
  "sideEffects": false,
272
293
  "publishConfig": {
273
- "registry": "https://registry.npmjs.org/",
274
294
  "access": "public"
275
295
  },
276
296
  "scripts": {
@@ -1,83 +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
- Form: ()=>Form,
32
- Link: ()=>Link,
33
- NavLink: ()=>NavLink,
34
- Outlet: ()=>Outlet,
35
- RouteActionResponseError: ()=>RouteActionResponseError,
36
- useFetcher: ()=>useFetcher
37
- });
38
- const external_react_namespaceObject = require("react");
39
- const COMPAT_BINDINGS_SLOT = Symbol.for('@modern-js/plugin-tanstack:runtime-compat-bindings');
40
- function readCompatBindings() {
41
- return globalThis[COMPAT_BINDINGS_SLOT];
42
- }
43
- function resolveCompatBindings(exportName) {
44
- const bindings = readCompatBindings();
45
- if (void 0 === bindings) throw new Error(`[@modern-js/runtime] '${exportName}' from the deprecated '@modern-js/runtime/tanstack-router' alias is provided by @modern-js/plugin-tanstack. Install @modern-js/plugin-tanstack, add \`tanstackRouterPlugin()\` to the \`plugins\` array in modern.config.ts, and make sure '@modern-js/plugin-tanstack/runtime' is imported (e.g. in modern.runtime.ts) before '${exportName}' is used. Prefer importing '${exportName}' from '@modern-js/plugin-tanstack/runtime' directly.`);
46
- return bindings;
47
- }
48
- const Link = (props)=>(0, external_react_namespaceObject.createElement)(resolveCompatBindings('Link').Link, props);
49
- const NavLink = (props)=>(0, external_react_namespaceObject.createElement)(resolveCompatBindings('NavLink').NavLink, props);
50
- const Outlet = ()=>(0, external_react_namespaceObject.createElement)(resolveCompatBindings('Outlet').Outlet);
51
- const Form = (props)=>(0, external_react_namespaceObject.createElement)(resolveCompatBindings('Form').Form, props);
52
- function useFetcher() {
53
- return resolveCompatBindings('useFetcher').useFetcher();
54
- }
55
- function RouteActionResponseErrorPlaceholder() {}
56
- const RouteActionResponseError = new Proxy(RouteActionResponseErrorPlaceholder, {
57
- construct (_target, args) {
58
- const RealError = resolveCompatBindings('RouteActionResponseError').RouteActionResponseError;
59
- return new RealError(...args);
60
- },
61
- get (target, property, receiver) {
62
- const RealError = readCompatBindings()?.RouteActionResponseError;
63
- if (void 0 !== RealError) return Reflect.get(RealError, property);
64
- return Reflect.get(target, property, receiver);
65
- }
66
- });
67
- exports.Form = __webpack_exports__.Form;
68
- exports.Link = __webpack_exports__.Link;
69
- exports.NavLink = __webpack_exports__.NavLink;
70
- exports.Outlet = __webpack_exports__.Outlet;
71
- exports.RouteActionResponseError = __webpack_exports__.RouteActionResponseError;
72
- exports.useFetcher = __webpack_exports__.useFetcher;
73
- for(var __rspack_i in __webpack_exports__)if (-1 === [
74
- "Form",
75
- "Link",
76
- "NavLink",
77
- "Outlet",
78
- "RouteActionResponseError",
79
- "useFetcher"
80
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
81
- Object.defineProperty(exports, '__esModule', {
82
- value: true
83
- });
@@ -1,30 +0,0 @@
1
- import { createElement } from "react";
2
- const COMPAT_BINDINGS_SLOT = Symbol.for('@modern-js/plugin-tanstack:runtime-compat-bindings');
3
- function readCompatBindings() {
4
- return globalThis[COMPAT_BINDINGS_SLOT];
5
- }
6
- function resolveCompatBindings(exportName) {
7
- const bindings = readCompatBindings();
8
- if (void 0 === bindings) throw new Error(`[@modern-js/runtime] '${exportName}' from the deprecated '@modern-js/runtime/tanstack-router' alias is provided by @modern-js/plugin-tanstack. Install @modern-js/plugin-tanstack, add \`tanstackRouterPlugin()\` to the \`plugins\` array in modern.config.ts, and make sure '@modern-js/plugin-tanstack/runtime' is imported (e.g. in modern.runtime.ts) before '${exportName}' is used. Prefer importing '${exportName}' from '@modern-js/plugin-tanstack/runtime' directly.`);
9
- return bindings;
10
- }
11
- const Link = (props)=>createElement(resolveCompatBindings('Link').Link, props);
12
- const NavLink = (props)=>createElement(resolveCompatBindings('NavLink').NavLink, props);
13
- const Outlet = ()=>createElement(resolveCompatBindings('Outlet').Outlet);
14
- const Form = (props)=>createElement(resolveCompatBindings('Form').Form, props);
15
- function useFetcher() {
16
- return resolveCompatBindings('useFetcher').useFetcher();
17
- }
18
- function RouteActionResponseErrorPlaceholder() {}
19
- const RouteActionResponseError = new Proxy(RouteActionResponseErrorPlaceholder, {
20
- construct (_target, args) {
21
- const RealError = resolveCompatBindings('RouteActionResponseError').RouteActionResponseError;
22
- return new RealError(...args);
23
- },
24
- get (target, property, receiver) {
25
- const RealError = readCompatBindings()?.RouteActionResponseError;
26
- if (void 0 !== RealError) return Reflect.get(RealError, property);
27
- return Reflect.get(target, property, receiver);
28
- }
29
- });
30
- export { Form, Link, NavLink, Outlet, RouteActionResponseError, useFetcher };
@@ -1,31 +0,0 @@
1
- import "node:module";
2
- import { createElement } from "react";
3
- const COMPAT_BINDINGS_SLOT = Symbol.for('@modern-js/plugin-tanstack:runtime-compat-bindings');
4
- function readCompatBindings() {
5
- return globalThis[COMPAT_BINDINGS_SLOT];
6
- }
7
- function resolveCompatBindings(exportName) {
8
- const bindings = readCompatBindings();
9
- if (void 0 === bindings) throw new Error(`[@modern-js/runtime] '${exportName}' from the deprecated '@modern-js/runtime/tanstack-router' alias is provided by @modern-js/plugin-tanstack. Install @modern-js/plugin-tanstack, add \`tanstackRouterPlugin()\` to the \`plugins\` array in modern.config.ts, and make sure '@modern-js/plugin-tanstack/runtime' is imported (e.g. in modern.runtime.ts) before '${exportName}' is used. Prefer importing '${exportName}' from '@modern-js/plugin-tanstack/runtime' directly.`);
10
- return bindings;
11
- }
12
- const Link = (props)=>createElement(resolveCompatBindings('Link').Link, props);
13
- const NavLink = (props)=>createElement(resolveCompatBindings('NavLink').NavLink, props);
14
- const Outlet = ()=>createElement(resolveCompatBindings('Outlet').Outlet);
15
- const Form = (props)=>createElement(resolveCompatBindings('Form').Form, props);
16
- function useFetcher() {
17
- return resolveCompatBindings('useFetcher').useFetcher();
18
- }
19
- function RouteActionResponseErrorPlaceholder() {}
20
- const RouteActionResponseError = new Proxy(RouteActionResponseErrorPlaceholder, {
21
- construct (_target, args) {
22
- const RealError = resolveCompatBindings('RouteActionResponseError').RouteActionResponseError;
23
- return new RealError(...args);
24
- },
25
- get (target, property, receiver) {
26
- const RealError = readCompatBindings()?.RouteActionResponseError;
27
- if (void 0 !== RealError) return Reflect.get(RealError, property);
28
- return Reflect.get(target, property, receiver);
29
- }
30
- });
31
- export { Form, Link, NavLink, Outlet, RouteActionResponseError, useFetcher };
@@ -1,88 +0,0 @@
1
- /**
2
- * @deprecated Legacy alias kept so the published `@modern-js/runtime/tanstack-router`
3
- * subpath keeps resolving. Use `@modern-js/plugin-tanstack/runtime` instead.
4
- *
5
- * Only the Modern.js specific `Link`, `NavLink`, `Outlet`, `Form`,
6
- * `useFetcher` and `RouteActionResponseError` bindings are still exported from
7
- * here for compatibility. They are thin delegates: the real implementations
8
- * live in `@modern-js/plugin-tanstack` and are looked up at use time through a
9
- * `Symbol.for` slot that '@modern-js/plugin-tanstack/runtime' populates on
10
- * import. (`@modern-js/runtime` cannot import `@modern-js/plugin-tanstack`
11
- * directly — the package dependency points the other way.)
12
- */
13
- import type React from 'react';
14
- export type PrefetchBehavior = 'intent' | 'render' | 'viewport' | 'none';
15
- export type LinkProps<_TRouter = unknown, TFrom extends string = string, TTo extends string | undefined = '.', TMaskFrom extends string = TFrom, TMaskTo extends string = '.'> = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> & {
16
- prefetch?: PrefetchBehavior;
17
- from?: TFrom;
18
- mask?: {
19
- from?: TMaskFrom;
20
- to?: TMaskTo;
21
- };
22
- params?: unknown;
23
- search?: unknown;
24
- to?: TTo;
25
- };
26
- export type NavLinkProps<TRouter = unknown, TFrom extends string = string, TTo extends string | undefined = '.', TMaskFrom extends string = TFrom, TMaskTo extends string = '.'> = LinkProps<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>;
27
- type LinkComponent = <TRouter = unknown, const TFrom extends string = string, const TTo extends string | undefined = undefined, const TMaskFrom extends string = TFrom, const TMaskTo extends string = ''>(props: LinkProps<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>) => React.ReactElement;
28
- export type SubmitOptions = {
29
- action?: string;
30
- method?: string;
31
- encType?: string;
32
- };
33
- export type FetcherState = 'idle' | 'submitting' | 'loading';
34
- export type FetcherSubmitOptions = SubmitOptions;
35
- export type FormProps = Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onSubmit' | 'action'> & {
36
- action?: string;
37
- onSubmit?: React.FormEventHandler<HTMLFormElement>;
38
- reloadDocument?: boolean;
39
- };
40
- type SubmitTarget = HTMLFormElement | FormData | URLSearchParams | Record<string, string | number | boolean | null | undefined>;
41
- export type Fetcher = {
42
- state: FetcherState;
43
- data: unknown;
44
- error: unknown;
45
- Form: React.ComponentType<FormProps>;
46
- submit: (target: SubmitTarget, options?: FetcherSubmitOptions) => Promise<void>;
47
- };
48
- export interface RouteActionResponseError<TData = unknown> extends Error {
49
- readonly response: Response;
50
- readonly data: TData;
51
- }
52
- interface RouteActionResponseErrorConstructor {
53
- new <TData = unknown>(response: Response, data: TData): RouteActionResponseError<TData>;
54
- readonly prototype: RouteActionResponseError<unknown>;
55
- }
56
- /**
57
- * @deprecated Import `Link` from `@modern-js/plugin-tanstack/runtime` instead.
58
- */
59
- export declare const Link: LinkComponent;
60
- /**
61
- * @deprecated Import `NavLink` from `@modern-js/plugin-tanstack/runtime` instead.
62
- */
63
- export declare const NavLink: LinkComponent;
64
- /**
65
- * @deprecated Import `Outlet` from `@modern-js/plugin-tanstack/runtime` instead.
66
- */
67
- export declare const Outlet: React.ComponentType;
68
- /**
69
- * @deprecated Import `Form` from `@modern-js/plugin-tanstack/runtime` instead.
70
- */
71
- export declare const Form: React.ComponentType<FormProps>;
72
- /**
73
- * @deprecated Import `useFetcher` from `@modern-js/plugin-tanstack/runtime`
74
- * instead.
75
- */
76
- export declare function useFetcher(): Fetcher;
77
- /**
78
- * @deprecated Import `RouteActionResponseError` from
79
- * `@modern-js/plugin-tanstack/runtime` instead.
80
- *
81
- * Delegates to the real class registered by '@modern-js/plugin-tanstack/runtime'
82
- * so that `instanceof` checks observe the same class identity. Before the
83
- * registration happens no instance can exist, so `instanceof` is gracefully
84
- * `false`; constructing without @modern-js/plugin-tanstack installed throws an
85
- * actionable error.
86
- */
87
- export declare const RouteActionResponseError: RouteActionResponseErrorConstructor;
88
- export {};