@bleedingdev/modern-js-runtime 3.5.0-ultramodern.9 → 3.5.0-ultramodern.91

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 (145) hide show
  1. package/dist/cjs/boundary-debugger/index.js +13 -3
  2. package/dist/cjs/cli/registry.js +18 -0
  3. package/dist/cjs/cli/ssr/index.js +3 -2
  4. package/dist/cjs/cli/ssr/loadable-bundler-plugin.js +8 -4
  5. package/dist/cjs/core/browser/hydrate.js +16 -2
  6. package/dist/cjs/core/browser/index.js +15 -3
  7. package/dist/cjs/core/context/index.js +3 -0
  8. package/dist/cjs/core/context/public.js +49 -0
  9. package/dist/cjs/core/context/runtime.js +6 -8
  10. package/dist/cjs/core/react/wrapper.js +57 -0
  11. package/dist/cjs/core/server/federatedCss.js +7 -3
  12. package/dist/cjs/core/server/requestHandler.js +15 -45
  13. package/dist/cjs/core/server/requestResponse.js +83 -0
  14. package/dist/cjs/core/server/routerCleanup.js +16 -6
  15. package/dist/cjs/core/server/scriptOrder.js +13 -10
  16. package/dist/cjs/core/server/stream/afterTemplate.js +9 -5
  17. package/dist/cjs/core/server/stream/template.js +3 -3
  18. package/dist/cjs/core/server/string/loadable.js +3 -11
  19. package/dist/cjs/index.js +7 -6
  20. package/dist/cjs/module-federation/consume-surface.js +199 -0
  21. package/dist/cjs/module-federation/distributed-ssr.js +134 -0
  22. package/dist/cjs/module-federation/index.js +258 -120
  23. package/dist/cjs/module-federation/last-known-good.js +124 -0
  24. package/dist/cjs/module-federation/manifest-recovery-runtime-plugin.js +140 -0
  25. package/dist/cjs/module-federation/surface-resolution-types.js +61 -0
  26. package/dist/cjs/router/cli/code/nestedRoutes.js +3 -0
  27. package/dist/cjs/router/cli/code/templates.js +3 -2
  28. package/dist/cjs/router/cli/constants.js +1 -0
  29. package/dist/cjs/router/cli/nestedRoutesSpec.js +3 -1
  30. package/dist/cjs/router/runtime/hooks.js +7 -6
  31. package/dist/cjs/router/runtime/internal.js +30 -16
  32. package/dist/cjs/router/runtime/plugin.js +6 -7
  33. package/dist/cjs/router/runtime/provider.js +58 -12
  34. package/dist/esm/boundary-debugger/index.mjs +13 -3
  35. package/dist/esm/cli/code.mjs +12 -12
  36. package/dist/esm/cli/registry.mjs +0 -0
  37. package/dist/esm/cli/ssr/index.mjs +3 -2
  38. package/dist/esm/cli/ssr/loadable-bundler-plugin.mjs +8 -4
  39. package/dist/esm/core/browser/hydrate.mjs +15 -4
  40. package/dist/esm/core/browser/index.mjs +11 -5
  41. package/dist/esm/core/context/index.mjs +1 -1
  42. package/dist/esm/core/context/public.mjs +5 -0
  43. package/dist/esm/core/context/runtime.mjs +4 -6
  44. package/dist/esm/core/react/wrapper.mjs +58 -1
  45. package/dist/esm/core/server/federatedCss.mjs +7 -3
  46. package/dist/esm/core/server/requestHandler.mjs +15 -45
  47. package/dist/esm/core/server/requestResponse.mjs +39 -0
  48. package/dist/esm/core/server/routerCleanup.mjs +11 -4
  49. package/dist/esm/core/server/scriptOrder.mjs +11 -8
  50. package/dist/esm/core/server/stream/afterTemplate.mjs +10 -6
  51. package/dist/esm/core/server/stream/template.mjs +3 -3
  52. package/dist/esm/core/server/string/loadable.mjs +3 -8
  53. package/dist/esm/exports/loadable.mjs +3 -3
  54. package/dist/esm/index.mjs +2 -1
  55. package/dist/esm/module-federation/consume-surface.mjs +158 -0
  56. package/dist/esm/module-federation/distributed-ssr.mjs +81 -0
  57. package/dist/esm/module-federation/index.mjs +6 -0
  58. package/dist/esm/module-federation/last-known-good.mjs +80 -0
  59. package/dist/esm/module-federation/manifest-recovery-runtime-plugin.mjs +100 -0
  60. package/dist/esm/module-federation/surface-resolution-types.mjs +8 -0
  61. package/dist/esm/router/cli/code/index.mjs +5 -5
  62. package/dist/esm/router/cli/code/nestedRoutes.mjs +3 -0
  63. package/dist/esm/router/cli/code/templates.mjs +3 -2
  64. package/dist/esm/router/cli/constants.mjs +1 -0
  65. package/dist/esm/router/cli/handler.mjs +3 -3
  66. package/dist/esm/router/cli/nestedRoutesSpec.mjs +3 -1
  67. package/dist/esm/router/runtime/hooks.mjs +7 -6
  68. package/dist/esm/router/runtime/internal.mjs +26 -18
  69. package/dist/esm/router/runtime/plugin.mjs +6 -7
  70. package/dist/esm/router/runtime/provider.mjs +56 -13
  71. package/dist/esm-node/boundary-debugger/index.mjs +13 -3
  72. package/dist/esm-node/cli/code.mjs +12 -12
  73. package/dist/esm-node/cli/registry.mjs +1 -0
  74. package/dist/esm-node/cli/ssr/index.mjs +3 -2
  75. package/dist/esm-node/cli/ssr/loadable-bundler-plugin.mjs +8 -4
  76. package/dist/esm-node/core/browser/hydrate.mjs +15 -4
  77. package/dist/esm-node/core/browser/index.mjs +11 -5
  78. package/dist/esm-node/core/context/index.mjs +1 -1
  79. package/dist/esm-node/core/context/public.mjs +6 -0
  80. package/dist/esm-node/core/context/runtime.mjs +4 -6
  81. package/dist/esm-node/core/react/wrapper.mjs +58 -1
  82. package/dist/esm-node/core/server/federatedCss.mjs +7 -3
  83. package/dist/esm-node/core/server/requestHandler.mjs +15 -45
  84. package/dist/esm-node/core/server/requestResponse.mjs +40 -0
  85. package/dist/esm-node/core/server/routerCleanup.mjs +11 -4
  86. package/dist/esm-node/core/server/scriptOrder.mjs +11 -8
  87. package/dist/esm-node/core/server/stream/afterTemplate.mjs +10 -6
  88. package/dist/esm-node/core/server/stream/template.mjs +3 -3
  89. package/dist/esm-node/core/server/string/loadable.mjs +3 -8
  90. package/dist/esm-node/exports/loadable.mjs +3 -3
  91. package/dist/esm-node/index.mjs +2 -1
  92. package/dist/esm-node/module-federation/consume-surface.mjs +159 -0
  93. package/dist/esm-node/module-federation/distributed-ssr.mjs +82 -0
  94. package/dist/esm-node/module-federation/index.mjs +6 -0
  95. package/dist/esm-node/module-federation/last-known-good.mjs +81 -0
  96. package/dist/esm-node/module-federation/manifest-recovery-runtime-plugin.mjs +101 -0
  97. package/dist/esm-node/module-federation/surface-resolution-types.mjs +9 -0
  98. package/dist/esm-node/router/cli/code/index.mjs +5 -5
  99. package/dist/esm-node/router/cli/code/nestedRoutes.mjs +3 -0
  100. package/dist/esm-node/router/cli/code/templates.mjs +3 -2
  101. package/dist/esm-node/router/cli/constants.mjs +1 -0
  102. package/dist/esm-node/router/cli/handler.mjs +3 -3
  103. package/dist/esm-node/router/cli/nestedRoutesSpec.mjs +3 -1
  104. package/dist/esm-node/router/runtime/hooks.mjs +7 -6
  105. package/dist/esm-node/router/runtime/internal.mjs +26 -18
  106. package/dist/esm-node/router/runtime/plugin.mjs +6 -7
  107. package/dist/esm-node/router/runtime/provider.mjs +56 -13
  108. package/dist/types/boundary-debugger/index.d.ts +1 -1
  109. package/dist/types/cli/registry.d.ts +2 -0
  110. package/dist/types/common.d.ts +8 -1
  111. package/dist/types/core/browser/hydrate.d.ts +2 -1
  112. package/dist/types/core/browser/index.d.ts +4 -0
  113. package/dist/types/core/context/index.d.ts +26 -10
  114. package/dist/types/core/context/monitors/default.d.ts +10 -2
  115. package/dist/types/core/context/monitors/index.d.ts +1 -1
  116. package/dist/types/core/context/monitors/index.server.d.ts +2 -2
  117. package/dist/types/core/context/public.d.ts +27 -0
  118. package/dist/types/core/context/runtime.d.ts +12 -22
  119. package/dist/types/core/react/index.d.ts +1 -1
  120. package/dist/types/core/server/requestResponse.d.ts +15 -0
  121. package/dist/types/core/server/routerCleanup.d.ts +2 -1
  122. package/dist/types/core/server/scriptOrder.d.ts +1 -1
  123. package/dist/types/core/server/stream/shared.d.ts +2 -2
  124. package/dist/types/core/server/string/loadable.d.ts +0 -2
  125. package/dist/types/exports/head.d.ts +1 -1
  126. package/dist/types/index.d.ts +5 -5
  127. package/dist/types/internal.d.ts +0 -1
  128. package/dist/types/module-federation/consume-surface.d.ts +104 -0
  129. package/dist/types/module-federation/distributed-ssr.d.ts +61 -0
  130. package/dist/types/module-federation/index.d.ts +6 -0
  131. package/dist/types/module-federation/last-known-good.d.ts +72 -0
  132. package/dist/types/module-federation/manifest-recovery-runtime-plugin.d.ts +25 -0
  133. package/dist/types/module-federation/surface-resolution-types.d.ts +23 -0
  134. package/dist/types/router/cli/constants.d.ts +1 -0
  135. package/dist/types/router/runtime/hooks.d.ts +10 -6
  136. package/dist/types/router/runtime/internal.d.ts +13 -3
  137. package/dist/types/router/runtime/plugin.d.ts +1 -1
  138. package/dist/types/router/runtime/plugin.node.d.ts +1 -1
  139. package/dist/types/router/runtime/provider.d.ts +28 -11
  140. package/dist/types/router/runtime/types.d.ts +27 -5
  141. package/package.json +46 -27
  142. package/dist/cjs/exports/tanstack-router.js +0 -83
  143. package/dist/esm/exports/tanstack-router.mjs +0 -30
  144. package/dist/esm-node/exports/tanstack-router.mjs +0 -31
  145. package/dist/types/exports/tanstack-router.d.ts +0 -88
@@ -1,5 +1,40 @@
1
1
  "use strict";
2
- var __webpack_require__ = {};
2
+ var __webpack_modules__ = {
3
+ "./consume-surface" (module) {
4
+ module.exports = require("./consume-surface.js");
5
+ },
6
+ "./distributed-ssr" (module) {
7
+ module.exports = require("./distributed-ssr.js");
8
+ },
9
+ "./last-known-good" (module) {
10
+ module.exports = require("./last-known-good.js");
11
+ },
12
+ "./manifest-recovery-runtime-plugin" (module) {
13
+ module.exports = require("./manifest-recovery-runtime-plugin.js");
14
+ },
15
+ "./surface-resolution-types" (module) {
16
+ module.exports = require("./surface-resolution-types.js");
17
+ }
18
+ };
19
+ var __webpack_module_cache__ = {};
20
+ function __webpack_require__(moduleId) {
21
+ var cachedModule = __webpack_module_cache__[moduleId];
22
+ if (void 0 !== cachedModule) return cachedModule.exports;
23
+ var module = __webpack_module_cache__[moduleId] = {
24
+ exports: {}
25
+ };
26
+ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
27
+ return module.exports;
28
+ }
29
+ (()=>{
30
+ __webpack_require__.n = (module)=>{
31
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
32
+ __webpack_require__.d(getter, {
33
+ a: getter
34
+ });
35
+ return getter;
36
+ };
37
+ })();
3
38
  (()=>{
4
39
  __webpack_require__.d = (exports1, getters, values)=>{
5
40
  var define = (defs, kind)=>{
@@ -26,131 +61,231 @@ var __webpack_require__ = {};
26
61
  };
27
62
  })();
28
63
  var __webpack_exports__ = {};
29
- __webpack_require__.r(__webpack_exports__);
30
- const MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT = 'modernjs:mf-runtime-fallback';
31
- const MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT = 'modernjs:mf-runtime-recovery';
32
- const DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT = '/_modern/contract-gates/runtime-fallback';
33
- const DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER = 'x-modernjs-runtime-signal-token';
34
- class ModuleFederationRemoteLoadTimeoutError extends Error {
35
- constructor(remote, timeoutMs){
36
- super(`Loading remote "${remote}" timed out after ${timeoutMs}ms`);
37
- this.name = 'ModuleFederationRemoteLoadTimeoutError';
64
+ (()=>{
65
+ __webpack_require__.r(__webpack_exports__);
66
+ var _consume_surface__rspack_import_0 = __webpack_require__("./consume-surface");
67
+ var __rspack_reexport = {};
68
+ for(const __rspack_import_key in _consume_surface__rspack_import_0)if ([
69
+ "MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT",
70
+ "MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT",
71
+ "DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT",
72
+ "createModuleFederationFallbackTelemetry",
73
+ "toModuleFederationFallbackAttributes",
74
+ "ModuleFederationRemoteComponentContractError",
75
+ "emitModuleFederationFallbackTelemetry",
76
+ "default",
77
+ "DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER",
78
+ "classifyModuleFederationFallback",
79
+ "ModuleFederationRemoteLoadTimeoutError",
80
+ "useDistributedSsrFragmentProps",
81
+ "ModuleFederationRemoteLoadError",
82
+ "DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY"
83
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_consume_surface__rspack_import_0[__rspack_import_key];
84
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
85
+ var _distributed_ssr__rspack_import_1 = __webpack_require__("./distributed-ssr");
86
+ var __rspack_reexport = {};
87
+ for(const __rspack_import_key in _distributed_ssr__rspack_import_1)if ([
88
+ "MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT",
89
+ "MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT",
90
+ "DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT",
91
+ "createModuleFederationFallbackTelemetry",
92
+ "toModuleFederationFallbackAttributes",
93
+ "ModuleFederationRemoteComponentContractError",
94
+ "emitModuleFederationFallbackTelemetry",
95
+ "default",
96
+ "DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER",
97
+ "classifyModuleFederationFallback",
98
+ "ModuleFederationRemoteLoadTimeoutError",
99
+ "useDistributedSsrFragmentProps",
100
+ "ModuleFederationRemoteLoadError",
101
+ "DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY"
102
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_distributed_ssr__rspack_import_1[__rspack_import_key];
103
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
104
+ var _last_known_good__rspack_import_2 = __webpack_require__("./last-known-good");
105
+ var __rspack_reexport = {};
106
+ for(const __rspack_import_key in _last_known_good__rspack_import_2)if ([
107
+ "MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT",
108
+ "MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT",
109
+ "DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT",
110
+ "createModuleFederationFallbackTelemetry",
111
+ "toModuleFederationFallbackAttributes",
112
+ "ModuleFederationRemoteComponentContractError",
113
+ "emitModuleFederationFallbackTelemetry",
114
+ "default",
115
+ "DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER",
116
+ "classifyModuleFederationFallback",
117
+ "ModuleFederationRemoteLoadTimeoutError",
118
+ "useDistributedSsrFragmentProps",
119
+ "ModuleFederationRemoteLoadError",
120
+ "DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY"
121
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_last_known_good__rspack_import_2[__rspack_import_key];
122
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
123
+ var _manifest_recovery_runtime_plugin__rspack_import_3 = __webpack_require__("./manifest-recovery-runtime-plugin");
124
+ var __rspack_reexport = {};
125
+ for(const __rspack_import_key in _manifest_recovery_runtime_plugin__rspack_import_3)if ([
126
+ "MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT",
127
+ "MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT",
128
+ "DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT",
129
+ "createModuleFederationFallbackTelemetry",
130
+ "toModuleFederationFallbackAttributes",
131
+ "ModuleFederationRemoteComponentContractError",
132
+ "emitModuleFederationFallbackTelemetry",
133
+ "default",
134
+ "DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER",
135
+ "classifyModuleFederationFallback",
136
+ "ModuleFederationRemoteLoadTimeoutError",
137
+ "useDistributedSsrFragmentProps",
138
+ "ModuleFederationRemoteLoadError",
139
+ "DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY"
140
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_manifest_recovery_runtime_plugin__rspack_import_3[__rspack_import_key];
141
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
142
+ var _surface_resolution_types__rspack_import_4 = __webpack_require__("./surface-resolution-types");
143
+ var __rspack_reexport = {};
144
+ for(const __rspack_import_key in _surface_resolution_types__rspack_import_4)if ([
145
+ "MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT",
146
+ "MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT",
147
+ "DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT",
148
+ "createModuleFederationFallbackTelemetry",
149
+ "toModuleFederationFallbackAttributes",
150
+ "ModuleFederationRemoteComponentContractError",
151
+ "emitModuleFederationFallbackTelemetry",
152
+ "default",
153
+ "DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER",
154
+ "classifyModuleFederationFallback",
155
+ "ModuleFederationRemoteLoadTimeoutError",
156
+ "useDistributedSsrFragmentProps",
157
+ "ModuleFederationRemoteLoadError",
158
+ "DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY"
159
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_surface_resolution_types__rspack_import_4[__rspack_import_key];
160
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
161
+ const MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT = 'modernjs:mf-runtime-fallback';
162
+ const MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT = 'modernjs:mf-runtime-recovery';
163
+ const DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT = '/_modern/contract-gates/runtime-fallback';
164
+ const DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER = 'x-modernjs-runtime-signal-token';
165
+ class ModuleFederationRemoteLoadTimeoutError extends Error {
166
+ constructor(remote, timeoutMs){
167
+ super(`Loading remote "${remote}" timed out after ${timeoutMs}ms`);
168
+ this.name = 'ModuleFederationRemoteLoadTimeoutError';
169
+ }
38
170
  }
39
- }
40
- class ModuleFederationRemoteLoadError extends Error {
41
- constructor(remote, attempts, causeError){
42
- super(`Unable to load remote "${remote}" after ${attempts} attempt${attempts > 1 ? 's' : ''}: ${causeError.message}`);
43
- this.name = 'ModuleFederationRemoteLoadError';
44
- this.remote = remote;
45
- this.attempts = attempts;
46
- this.causeError = causeError;
171
+ class ModuleFederationRemoteLoadError extends Error {
172
+ constructor(remote, attempts, causeError){
173
+ super(`Unable to load remote "${remote}" after ${attempts} attempt${attempts > 1 ? 's' : ''}: ${causeError.message}`);
174
+ this.name = 'ModuleFederationRemoteLoadError';
175
+ this.remote = remote;
176
+ this.attempts = attempts;
177
+ this.causeError = causeError;
178
+ }
47
179
  }
48
- }
49
- class ModuleFederationRemoteComponentContractError extends Error {
50
- constructor(remote, exportName){
51
- super(`Remote "${remote}" export "${exportName}" is not a valid React component`);
52
- this.name = 'ModuleFederationRemoteComponentContractError';
180
+ class ModuleFederationRemoteComponentContractError extends Error {
181
+ constructor(remote, exportName){
182
+ super(`Remote "${remote}" export "${exportName}" is not a valid React component`);
183
+ this.name = 'ModuleFederationRemoteComponentContractError';
184
+ }
53
185
  }
54
- }
55
- function toError(error) {
56
- if (error instanceof Error) return error;
57
- return new Error('string' == typeof error ? error : 'Unknown remote load error');
58
- }
59
- function classifyModuleFederationFallback(error) {
60
- const normalizedError = toError(error);
61
- if (normalizedError instanceof ModuleFederationRemoteLoadError) return classifyModuleFederationFallback(normalizedError.causeError);
62
- if (normalizedError instanceof ModuleFederationRemoteLoadTimeoutError) return 'timeout';
63
- if (normalizedError instanceof ModuleFederationRemoteComponentContractError) return 'contract';
64
- const message = normalizedError.message;
65
- if (/version|requiredVersion|singleton|share scope|shared module/i.test(message)) return 'version-skew';
66
- if (/network|fetch|script|timeout|chunk|loading/i.test(message)) return 'network';
67
- return 'remote-unavailable';
68
- }
69
- function createModuleFederationFallbackTelemetry(input) {
70
- const error = void 0 !== input.error ? toError(input.error) : void 0;
71
- const status = input.status ?? 'degraded';
72
- const eventName = input.eventName ?? ('recovered' === status ? MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT : MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT);
73
- const metadata = {
74
- ...input.metadata ?? {},
75
- classification: input.classification,
76
- remote: input.remote,
77
- status
78
- };
79
- if (void 0 !== input.exportName) metadata.exportName = input.exportName;
80
- if (void 0 !== input.runtimeDigest) metadata.runtimeDigest = input.runtimeDigest;
81
- if (void 0 !== error) {
82
- metadata.errorName = error.name;
83
- metadata.errorMessage = error.message;
186
+ function toError(error) {
187
+ if (error instanceof Error) return error;
188
+ return new Error('string' == typeof error ? error : 'Unknown remote load error');
84
189
  }
85
- const payload = {
86
- appName: input.appName,
87
- eventName,
88
- metadata,
89
- phase: input.phase,
90
- reason: input.classification,
91
- schemaVersion: 1
92
- };
93
- if (void 0 !== input.entry) payload.entry = input.entry;
94
- if (void 0 !== input.runtimeDigest) payload.runtimeDigest = input.runtimeDigest;
95
- return payload;
96
- }
97
- function toModuleFederationFallbackAttributes(payload) {
98
- return {
99
- 'data-mf-fallback-app': payload.appName,
100
- 'data-mf-fallback-classification': payload.reason,
101
- 'data-mf-fallback-phase': payload.phase,
102
- 'data-mf-fallback-remote': String(payload.metadata.remote),
103
- 'data-mf-fallback-status': String(payload.metadata.status),
104
- 'data-mf-telemetry-event': payload.eventName
105
- };
106
- }
107
- async function emitModuleFederationFallbackTelemetry(input, options = {}) {
108
- const payload = createModuleFederationFallbackTelemetry(input);
109
- if ("u" > typeof window && 'function' == typeof window.dispatchEvent && "u" > typeof CustomEvent) window.dispatchEvent(new CustomEvent(payload.eventName, {
110
- detail: payload
111
- }));
112
- const shouldPost = true === options.postSignal || Boolean(options.endpoint);
113
- if (!shouldPost) return {
114
- dispatched: true,
115
- posted: false
116
- };
117
- const fetchImpl = options.fetchImpl ?? globalThis.fetch;
118
- if ('function' != typeof fetchImpl) return {
119
- dispatched: true,
120
- posted: false
121
- };
122
- const headers = new Headers({
123
- 'content-type': 'application/json'
124
- });
125
- if (void 0 !== options.authToken && options.authToken.length > 0) headers.set(options.authHeaderName ?? DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER, options.authToken);
126
- const response = await fetchImpl(options.endpoint ?? DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT, {
127
- body: JSON.stringify(payload),
128
- headers,
129
- method: 'POST',
130
- keepalive: true
190
+ function classifyModuleFederationFallback(error) {
191
+ const normalizedError = toError(error);
192
+ if (normalizedError instanceof ModuleFederationRemoteLoadError) return classifyModuleFederationFallback(normalizedError.causeError);
193
+ if (normalizedError instanceof ModuleFederationRemoteLoadTimeoutError) return 'timeout';
194
+ if (normalizedError instanceof ModuleFederationRemoteComponentContractError) return 'contract';
195
+ const message = normalizedError.message;
196
+ if (/version|requiredVersion|singleton|share scope|shared module/i.test(message)) return 'version-skew';
197
+ if (/network|fetch|script|timeout|chunk|loading/i.test(message)) return 'network';
198
+ return 'remote-unavailable';
199
+ }
200
+ function createModuleFederationFallbackTelemetry(input) {
201
+ const error = void 0 !== input.error ? toError(input.error) : void 0;
202
+ const status = input.status ?? 'degraded';
203
+ const eventName = input.eventName ?? ('recovered' === status ? MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT : MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT);
204
+ const metadata = {
205
+ ...input.metadata ?? {},
206
+ classification: input.classification,
207
+ remote: input.remote,
208
+ status
209
+ };
210
+ if (void 0 !== input.exportName) metadata.exportName = input.exportName;
211
+ if (void 0 !== input.runtimeDigest) metadata.runtimeDigest = input.runtimeDigest;
212
+ if (void 0 !== error) {
213
+ metadata.errorName = error.name;
214
+ metadata.errorMessage = error.message;
215
+ }
216
+ const payload = {
217
+ appName: input.appName,
218
+ eventName,
219
+ metadata,
220
+ phase: input.phase,
221
+ reason: input.classification,
222
+ schemaVersion: 1
223
+ };
224
+ if (void 0 !== input.entry) payload.entry = input.entry;
225
+ if (void 0 !== input.runtimeDigest) payload.runtimeDigest = input.runtimeDigest;
226
+ return payload;
227
+ }
228
+ function toModuleFederationFallbackAttributes(payload) {
229
+ return {
230
+ 'data-mf-fallback-app': payload.appName,
231
+ 'data-mf-fallback-classification': payload.reason,
232
+ 'data-mf-fallback-phase': payload.phase,
233
+ 'data-mf-fallback-remote': String(payload.metadata.remote),
234
+ 'data-mf-fallback-status': String(payload.metadata.status),
235
+ 'data-mf-telemetry-event': payload.eventName
236
+ };
237
+ }
238
+ async function emitModuleFederationFallbackTelemetry(input, options = {}) {
239
+ const payload = createModuleFederationFallbackTelemetry(input);
240
+ if ("u" > typeof window && 'function' == typeof window.dispatchEvent && "u" > typeof CustomEvent) window.dispatchEvent(new CustomEvent(payload.eventName, {
241
+ detail: payload
242
+ }));
243
+ const shouldPost = true === options.postSignal || Boolean(options.endpoint);
244
+ if (!shouldPost) return {
245
+ dispatched: true,
246
+ posted: false
247
+ };
248
+ const fetchImpl = options.fetchImpl ?? globalThis.fetch;
249
+ if ('function' != typeof fetchImpl) return {
250
+ dispatched: true,
251
+ posted: false
252
+ };
253
+ const headers = new Headers({
254
+ 'content-type': 'application/json'
255
+ });
256
+ if (void 0 !== options.authToken && options.authToken.length > 0) headers.set(options.authHeaderName ?? DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER, options.authToken);
257
+ const response = await fetchImpl(options.endpoint ?? DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT, {
258
+ body: JSON.stringify(payload),
259
+ headers,
260
+ method: 'POST',
261
+ keepalive: true
262
+ });
263
+ return {
264
+ dispatched: true,
265
+ posted: true,
266
+ postStatus: response.status
267
+ };
268
+ }
269
+ __webpack_require__.d(__webpack_exports__, {
270
+ DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY: ()=>_distributed_ssr__rspack_import_1.DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY,
271
+ ModuleFederationRemoteComponentContractError: ()=>ModuleFederationRemoteComponentContractError,
272
+ ModuleFederationRemoteLoadError: ()=>ModuleFederationRemoteLoadError,
273
+ ModuleFederationRemoteLoadTimeoutError: ()=>ModuleFederationRemoteLoadTimeoutError,
274
+ classifyModuleFederationFallback: ()=>classifyModuleFederationFallback,
275
+ createModuleFederationFallbackTelemetry: ()=>createModuleFederationFallbackTelemetry,
276
+ emitModuleFederationFallbackTelemetry: ()=>emitModuleFederationFallbackTelemetry,
277
+ toModuleFederationFallbackAttributes: ()=>toModuleFederationFallbackAttributes,
278
+ useDistributedSsrFragmentProps: ()=>_distributed_ssr__rspack_import_1.useDistributedSsrFragmentProps
279
+ }, {
280
+ DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER: DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER,
281
+ DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT: DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT,
282
+ MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT: MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT,
283
+ MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT: MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT
131
284
  });
132
- return {
133
- dispatched: true,
134
- posted: true,
135
- postStatus: response.status
136
- };
137
- }
138
- __webpack_require__.d(__webpack_exports__, {
139
- ModuleFederationRemoteComponentContractError: ()=>ModuleFederationRemoteComponentContractError,
140
- ModuleFederationRemoteLoadError: ()=>ModuleFederationRemoteLoadError,
141
- ModuleFederationRemoteLoadTimeoutError: ()=>ModuleFederationRemoteLoadTimeoutError,
142
- classifyModuleFederationFallback: ()=>classifyModuleFederationFallback,
143
- createModuleFederationFallbackTelemetry: ()=>createModuleFederationFallbackTelemetry,
144
- emitModuleFederationFallbackTelemetry: ()=>emitModuleFederationFallbackTelemetry,
145
- toModuleFederationFallbackAttributes: ()=>toModuleFederationFallbackAttributes
146
- }, {
147
- DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER: DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER,
148
- DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT: DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT,
149
- MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT: MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT,
150
- MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT: MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT
151
- });
285
+ })();
152
286
  exports.DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER = __webpack_exports__.DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER;
153
287
  exports.DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT = __webpack_exports__.DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT;
288
+ exports.DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY = __webpack_exports__.DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY;
154
289
  exports.MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT = __webpack_exports__.MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT;
155
290
  exports.MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT = __webpack_exports__.MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT;
156
291
  exports.ModuleFederationRemoteComponentContractError = __webpack_exports__.ModuleFederationRemoteComponentContractError;
@@ -160,9 +295,11 @@ exports.classifyModuleFederationFallback = __webpack_exports__.classifyModuleFed
160
295
  exports.createModuleFederationFallbackTelemetry = __webpack_exports__.createModuleFederationFallbackTelemetry;
161
296
  exports.emitModuleFederationFallbackTelemetry = __webpack_exports__.emitModuleFederationFallbackTelemetry;
162
297
  exports.toModuleFederationFallbackAttributes = __webpack_exports__.toModuleFederationFallbackAttributes;
298
+ exports.useDistributedSsrFragmentProps = __webpack_exports__.useDistributedSsrFragmentProps;
163
299
  for(var __rspack_i in __webpack_exports__)if (-1 === [
164
300
  "DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER",
165
301
  "DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT",
302
+ "DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY",
166
303
  "MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT",
167
304
  "MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT",
168
305
  "ModuleFederationRemoteComponentContractError",
@@ -171,7 +308,8 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
171
308
  "classifyModuleFederationFallback",
172
309
  "createModuleFederationFallbackTelemetry",
173
310
  "emitModuleFederationFallbackTelemetry",
174
- "toModuleFederationFallbackAttributes"
311
+ "toModuleFederationFallbackAttributes",
312
+ "useDistributedSsrFragmentProps"
175
313
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
176
314
  Object.defineProperty(exports, '__esModule', {
177
315
  value: true
@@ -0,0 +1,124 @@
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
+ LAST_KNOWN_GOOD_PROVIDER_NAME: ()=>LAST_KNOWN_GOOD_PROVIDER_NAME,
32
+ createInMemoryLkgStorage: ()=>createInMemoryLkgStorage,
33
+ createLastKnownGoodProvider: ()=>createLastKnownGoodProvider
34
+ });
35
+ const external_surface_resolution_types_js_namespaceObject = require("./surface-resolution-types.js");
36
+ const LAST_KNOWN_GOOD_PROVIDER_NAME = 'last-known-good';
37
+ function createInMemoryLkgStorage() {
38
+ const map = new Map();
39
+ return {
40
+ read (key) {
41
+ return map.get(key);
42
+ },
43
+ write (key, record) {
44
+ map.set(key, record);
45
+ }
46
+ };
47
+ }
48
+ function markDegraded(resolved, reason) {
49
+ return {
50
+ ...resolved,
51
+ compatibility: {
52
+ ...resolved.compatibility,
53
+ status: 'degraded',
54
+ reason
55
+ }
56
+ };
57
+ }
58
+ function staleRecordResult(ref, env, ageMs, maxStaleMs) {
59
+ return {
60
+ ok: false,
61
+ error: (0, external_surface_resolution_types_js_namespaceObject.createDiscoveryError)('stale-record', ref, `Last-known-good record for surface is stale: age ${ageMs}ms exceeds maxStaleMs ${maxStaleMs}ms`, {
62
+ env,
63
+ ageMs,
64
+ maxStaleMs
65
+ })
66
+ };
67
+ }
68
+ function createLastKnownGoodProvider(options) {
69
+ const storage = options.storage ?? createInMemoryLkgStorage();
70
+ const now = options.now ?? (()=>Date.now());
71
+ const maxStaleMs = options.freshness?.maxStaleMs;
72
+ async function serveFromCache(ref, env, fallback) {
73
+ const key = (0, external_surface_resolution_types_js_namespaceObject.deliveryUnitResolutionKey)(ref.unitId, env);
74
+ const cached = await storage.read(key);
75
+ if (!cached) return fallback();
76
+ if (cached.major !== ref.major) return fallback();
77
+ if ('incompatible' === cached.resolved.compatibility.status) return fallback();
78
+ const ageMs = now() - cached.storedAt;
79
+ if (void 0 !== maxStaleMs && ageMs > maxStaleMs) return staleRecordResult(ref, env, ageMs, maxStaleMs);
80
+ return {
81
+ ok: true,
82
+ unit: markDegraded(cached.resolved, `served last-known-good record (age ${ageMs}ms) after provider failure`)
83
+ };
84
+ }
85
+ return {
86
+ name: LAST_KNOWN_GOOD_PROVIDER_NAME,
87
+ async resolve (ref, env) {
88
+ const key = (0, external_surface_resolution_types_js_namespaceObject.deliveryUnitResolutionKey)(ref.unitId, env);
89
+ let resolution;
90
+ try {
91
+ resolution = await options.provider.resolve(ref, env);
92
+ } catch (error) {
93
+ return serveFromCache(ref, env, ()=>({
94
+ ok: false,
95
+ error: (0, external_surface_resolution_types_js_namespaceObject.createDiscoveryError)('provider-unavailable', ref, error instanceof Error ? error.message : 'provider threw a non-error value', {
96
+ env,
97
+ provider: options.provider.name
98
+ })
99
+ }));
100
+ }
101
+ if (!resolution.ok) {
102
+ const failure = resolution;
103
+ return serveFromCache(ref, env, ()=>failure);
104
+ }
105
+ if ('incompatible' !== resolution.unit.compatibility.status) await storage.write(key, {
106
+ resolved: resolution.unit,
107
+ storedAt: now(),
108
+ major: ref.major
109
+ });
110
+ return resolution;
111
+ }
112
+ };
113
+ }
114
+ exports.LAST_KNOWN_GOOD_PROVIDER_NAME = __webpack_exports__.LAST_KNOWN_GOOD_PROVIDER_NAME;
115
+ exports.createInMemoryLkgStorage = __webpack_exports__.createInMemoryLkgStorage;
116
+ exports.createLastKnownGoodProvider = __webpack_exports__.createLastKnownGoodProvider;
117
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
118
+ "LAST_KNOWN_GOOD_PROVIDER_NAME",
119
+ "createInMemoryLkgStorage",
120
+ "createLastKnownGoodProvider"
121
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
122
+ Object.defineProperty(exports, '__esModule', {
123
+ value: true
124
+ });