@bleedingdev/modern-js-runtime 3.9.0-ultramodern.1 → 3.9.0-ultramodern.11

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 (166) hide show
  1. package/dist/cjs/cli/code.js +3 -1
  2. package/dist/cjs/cli/ssr/index.js +2 -74
  3. package/dist/cjs/core/browser/hydrate.js +6 -1
  4. package/dist/cjs/core/context/index.js +4 -43
  5. package/dist/cjs/core/context/public.js +4 -7
  6. package/dist/cjs/core/context/runtime.js +17 -5
  7. package/dist/cjs/core/react/wrapper.js +22 -65
  8. package/dist/cjs/core/server/helmet.js +5 -4
  9. package/dist/cjs/core/server/requestResponse.js +4 -4
  10. package/dist/cjs/core/server/routerCleanup.js +2 -2
  11. package/dist/cjs/core/server/shared.js +171 -4
  12. package/dist/cjs/core/server/stream/afterTemplate.js +21 -16
  13. package/dist/cjs/core/server/stream/beforeTemplate.js +34 -25
  14. package/dist/cjs/core/server/stream/beforeTemplate.worker.js +28 -21
  15. package/dist/cjs/core/server/stream/createReadableStream.js +208 -123
  16. package/dist/cjs/core/server/stream/createReadableStream.worker.js +159 -90
  17. package/dist/cjs/core/server/stream/deferredScript.js +3 -3
  18. package/dist/cjs/core/server/stream/shared.js +2 -2
  19. package/dist/cjs/core/server/string/index.js +100 -64
  20. package/dist/cjs/core/server/string/loadable.js +34 -19
  21. package/dist/cjs/core/server/string/ssrData.js +5 -12
  22. package/dist/cjs/core/server/utils.js +1 -2
  23. package/dist/cjs/exports/head.js +7 -14
  24. package/dist/cjs/router/runtime/PrefetchLink.js +67 -123
  25. package/dist/cjs/router/runtime/hooks.js +13 -2
  26. package/dist/cjs/router/runtime/internal.js +7 -45
  27. package/dist/cjs/router/runtime/plugin.js +2 -8
  28. package/dist/cjs/router/runtime/plugin.node.js +2 -30
  29. package/dist/cjs/router/runtime/redirect.js +1 -1
  30. package/dist/esm/cli/code.mjs +3 -1
  31. package/dist/esm/cli/ssr/index.mjs +3 -72
  32. package/dist/esm/core/browser/hydrate.mjs +7 -2
  33. package/dist/esm/core/context/index.mjs +2 -5
  34. package/dist/esm/core/context/public.mjs +1 -5
  35. package/dist/esm/core/context/runtime.mjs +13 -4
  36. package/dist/esm/core/react/wrapper.mjs +21 -67
  37. package/dist/esm/core/server/helmet.mjs +5 -4
  38. package/dist/esm/core/server/requestResponse.mjs +3 -3
  39. package/dist/esm/core/server/routerCleanup.mjs +1 -1
  40. package/dist/esm/core/server/shared.mjs +153 -1
  41. package/dist/esm/core/server/stream/afterTemplate.mjs +23 -18
  42. package/dist/esm/core/server/stream/beforeTemplate.mjs +37 -28
  43. package/dist/esm/core/server/stream/beforeTemplate.worker.mjs +31 -24
  44. package/dist/esm/core/server/stream/createReadableStream.mjs +207 -122
  45. package/dist/esm/core/server/stream/createReadableStream.worker.mjs +149 -90
  46. package/dist/esm/core/server/stream/deferredScript.mjs +3 -3
  47. package/dist/esm/core/server/stream/shared.mjs +2 -2
  48. package/dist/esm/core/server/string/index.mjs +104 -68
  49. package/dist/esm/core/server/string/loadable.mjs +34 -19
  50. package/dist/esm/core/server/string/ssrData.mjs +5 -12
  51. package/dist/esm/core/server/utils.mjs +1 -2
  52. package/dist/esm/exports/head.mjs +7 -14
  53. package/dist/esm/router/runtime/PrefetchLink.mjs +67 -123
  54. package/dist/esm/router/runtime/hooks.mjs +9 -1
  55. package/dist/esm/router/runtime/internal.mjs +2 -33
  56. package/dist/esm/router/runtime/plugin.mjs +1 -7
  57. package/dist/esm/router/runtime/plugin.node.mjs +1 -29
  58. package/dist/esm/router/runtime/redirect.mjs +1 -1
  59. package/dist/esm-node/cli/code.mjs +3 -1
  60. package/dist/esm-node/cli/ssr/index.mjs +3 -72
  61. package/dist/esm-node/core/browser/hydrate.mjs +7 -2
  62. package/dist/esm-node/core/context/index.mjs +2 -5
  63. package/dist/esm-node/core/context/public.mjs +1 -5
  64. package/dist/esm-node/core/context/runtime.mjs +13 -4
  65. package/dist/esm-node/core/react/wrapper.mjs +21 -67
  66. package/dist/esm-node/core/server/helmet.mjs +5 -4
  67. package/dist/esm-node/core/server/requestResponse.mjs +3 -3
  68. package/dist/esm-node/core/server/routerCleanup.mjs +1 -1
  69. package/dist/esm-node/core/server/shared.mjs +153 -1
  70. package/dist/esm-node/core/server/stream/afterTemplate.mjs +23 -18
  71. package/dist/esm-node/core/server/stream/beforeTemplate.mjs +37 -28
  72. package/dist/esm-node/core/server/stream/beforeTemplate.worker.mjs +31 -24
  73. package/dist/esm-node/core/server/stream/createReadableStream.mjs +207 -122
  74. package/dist/esm-node/core/server/stream/createReadableStream.worker.mjs +149 -90
  75. package/dist/esm-node/core/server/stream/deferredScript.mjs +3 -3
  76. package/dist/esm-node/core/server/stream/shared.mjs +2 -2
  77. package/dist/esm-node/core/server/string/index.mjs +104 -68
  78. package/dist/esm-node/core/server/string/loadable.mjs +34 -19
  79. package/dist/esm-node/core/server/string/ssrData.mjs +5 -12
  80. package/dist/esm-node/core/server/utils.mjs +1 -2
  81. package/dist/esm-node/exports/head.mjs +7 -14
  82. package/dist/esm-node/router/runtime/PrefetchLink.mjs +67 -123
  83. package/dist/esm-node/router/runtime/hooks.mjs +9 -1
  84. package/dist/esm-node/router/runtime/internal.mjs +2 -33
  85. package/dist/esm-node/router/runtime/plugin.mjs +1 -7
  86. package/dist/esm-node/router/runtime/plugin.node.mjs +1 -29
  87. package/dist/esm-node/router/runtime/redirect.mjs +1 -1
  88. package/dist/types/cli/ssr/index.d.ts +0 -3
  89. package/dist/types/core/context/index.d.ts +4 -6
  90. package/dist/types/core/context/public.d.ts +1 -23
  91. package/dist/types/core/context/runtime.d.ts +26 -2
  92. package/dist/types/core/react/wrapper.d.ts +6 -0
  93. package/dist/types/core/server/helmet.d.ts +4 -5
  94. package/dist/types/core/server/requestHandler.d.ts +2 -2
  95. package/dist/types/core/server/requestResponse.d.ts +1 -1
  96. package/dist/types/core/server/routerCleanup.d.ts +1 -1
  97. package/dist/types/core/server/shared.d.ts +24 -1
  98. package/dist/types/core/server/stream/afterTemplate.d.ts +2 -1
  99. package/dist/types/core/server/stream/beforeTemplate.d.ts +4 -1
  100. package/dist/types/core/server/stream/beforeTemplate.worker.d.ts +4 -1
  101. package/dist/types/core/server/stream/shared.d.ts +2 -2
  102. package/dist/types/core/server/string/loadable.d.ts +6 -3
  103. package/dist/types/core/server/string/ssrData.d.ts +2 -1
  104. package/dist/types/core/server/string/types.d.ts +1 -5
  105. package/dist/types/core/server/tracer.d.ts +1 -1
  106. package/dist/types/core/server/utils.d.ts +1 -1
  107. package/dist/types/core/types.d.ts +1 -2
  108. package/dist/types/exports/head.d.ts +2 -2
  109. package/dist/types/router/runtime/PrefetchLink.d.ts +27 -2
  110. package/dist/types/router/runtime/hooks.d.ts +19 -2
  111. package/dist/types/router/runtime/internal.d.ts +4 -21
  112. package/dist/types/router/runtime/types.d.ts +2 -43
  113. package/package.json +18 -46
  114. package/rstest.config.mts +32 -2
  115. package/dist/cjs/boundary-debugger/index.js +0 -317
  116. package/dist/cjs/core/context/extensions.js +0 -74
  117. package/dist/cjs/core/context/helmetContext.js +0 -54
  118. package/dist/cjs/core/server/federatedCss.js +0 -58
  119. package/dist/cjs/core/server/scriptOrder.js +0 -140
  120. package/dist/cjs/module-federation/consume-surface.js +0 -199
  121. package/dist/cjs/module-federation/distributed-ssr.js +0 -135
  122. package/dist/cjs/module-federation/index.js +0 -316
  123. package/dist/cjs/module-federation/last-known-good.js +0 -157
  124. package/dist/cjs/module-federation/manifest-recovery-runtime-plugin.js +0 -129
  125. package/dist/cjs/module-federation/surface-resolution-types.js +0 -61
  126. package/dist/cjs/router/runtime/lifecycle.js +0 -167
  127. package/dist/cjs/router/runtime/provider.js +0 -153
  128. package/dist/esm/boundary-debugger/index.mjs +0 -277
  129. package/dist/esm/core/context/extensions.mjs +0 -33
  130. package/dist/esm/core/context/helmetContext.mjs +0 -13
  131. package/dist/esm/core/server/federatedCss.mjs +0 -20
  132. package/dist/esm/core/server/scriptOrder.mjs +0 -90
  133. package/dist/esm/module-federation/consume-surface.mjs +0 -158
  134. package/dist/esm/module-federation/distributed-ssr.mjs +0 -82
  135. package/dist/esm/module-federation/index.mjs +0 -115
  136. package/dist/esm/module-federation/last-known-good.mjs +0 -113
  137. package/dist/esm/module-federation/manifest-recovery-runtime-plugin.mjs +0 -89
  138. package/dist/esm/module-federation/surface-resolution-types.mjs +0 -8
  139. package/dist/esm/router/runtime/lifecycle.mjs +0 -105
  140. package/dist/esm/router/runtime/provider.mjs +0 -100
  141. package/dist/esm-node/boundary-debugger/index.mjs +0 -278
  142. package/dist/esm-node/core/context/extensions.mjs +0 -34
  143. package/dist/esm-node/core/context/helmetContext.mjs +0 -14
  144. package/dist/esm-node/core/server/federatedCss.mjs +0 -21
  145. package/dist/esm-node/core/server/scriptOrder.mjs +0 -91
  146. package/dist/esm-node/module-federation/consume-surface.mjs +0 -159
  147. package/dist/esm-node/module-federation/distributed-ssr.mjs +0 -83
  148. package/dist/esm-node/module-federation/index.mjs +0 -116
  149. package/dist/esm-node/module-federation/last-known-good.mjs +0 -114
  150. package/dist/esm-node/module-federation/manifest-recovery-runtime-plugin.mjs +0 -90
  151. package/dist/esm-node/module-federation/surface-resolution-types.mjs +0 -9
  152. package/dist/esm-node/router/runtime/lifecycle.mjs +0 -106
  153. package/dist/esm-node/router/runtime/provider.mjs +0 -101
  154. package/dist/types/boundary-debugger/index.d.ts +0 -28
  155. package/dist/types/core/context/extensions.d.ts +0 -35
  156. package/dist/types/core/context/helmetContext.d.ts +0 -10
  157. package/dist/types/core/server/federatedCss.d.ts +0 -5
  158. package/dist/types/core/server/scriptOrder.d.ts +0 -25
  159. package/dist/types/module-federation/consume-surface.d.ts +0 -104
  160. package/dist/types/module-federation/distributed-ssr.d.ts +0 -61
  161. package/dist/types/module-federation/index.d.ts +0 -71
  162. package/dist/types/module-federation/last-known-good.d.ts +0 -52
  163. package/dist/types/module-federation/manifest-recovery-runtime-plugin.d.ts +0 -25
  164. package/dist/types/module-federation/surface-resolution-types.d.ts +0 -23
  165. package/dist/types/router/runtime/lifecycle.d.ts +0 -27
  166. package/dist/types/router/runtime/provider.d.ts +0 -78
@@ -1,199 +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
- consumeSurface: ()=>consumeSurface,
32
- createSurfaceConsumer: ()=>createSurfaceConsumer
33
- });
34
- const external_index_js_namespaceObject = require("./index.js");
35
- const external_surface_resolution_types_js_namespaceObject = require("./surface-resolution-types.js");
36
- function classifyDiscoveryError(code) {
37
- switch(code){
38
- case 'major-not-published':
39
- case 'stale-record':
40
- return 'version-skew';
41
- case 'identity-mismatch':
42
- return 'contract';
43
- case 'unknown-unit':
44
- case 'unknown-surface':
45
- case 'provider-unavailable':
46
- return 'remote-unavailable';
47
- default:
48
- return 'remote-unavailable';
49
- }
50
- }
51
- function toRemoteString(ref) {
52
- return void 0 === (0, external_surface_resolution_types_js_namespaceObject.validateSurfaceRef)(ref) ? (0, external_surface_resolution_types_js_namespaceObject.formatSurfaceRef)(ref) : `${ref.unitId}#${ref.surfaceId}`;
53
- }
54
- async function reportFailure(options, ref, base) {
55
- const remote = toRemoteString(ref);
56
- const telemetry = (0, external_index_js_namespaceObject.createModuleFederationFallbackTelemetry)({
57
- appName: options.appName,
58
- classification: base.classification,
59
- error: base.error ?? base.discoveryError,
60
- metadata: {
61
- env: options.env,
62
- surfaceRef: remote,
63
- ...base.discoveryError ? {
64
- discoveryErrorCode: base.discoveryError.code
65
- } : {},
66
- ...base.resolved ? {
67
- buildMarker: base.resolved.buildMarker
68
- } : {}
69
- },
70
- phase: base.phase,
71
- remote,
72
- status: 'degraded'
73
- });
74
- try {
75
- await (0, external_index_js_namespaceObject.emitModuleFederationFallbackTelemetry)({
76
- appName: options.appName,
77
- classification: base.classification,
78
- error: base.error ?? base.discoveryError,
79
- metadata: telemetry.metadata,
80
- phase: base.phase,
81
- remote,
82
- status: 'degraded'
83
- }, options.telemetry ?? {});
84
- } catch {}
85
- const failure = {
86
- ref,
87
- env: options.env,
88
- phase: base.phase,
89
- classification: base.classification,
90
- telemetry
91
- };
92
- if (base.discoveryError) failure.discoveryError = base.discoveryError;
93
- if (void 0 !== base.error) failure.error = base.error;
94
- if (base.resolved) failure.resolved = base.resolved;
95
- const critical = (options.classification ?? 'critical') === 'critical';
96
- const reason = base.discoveryError ?? (void 0 !== base.error ? base.error : (0, external_surface_resolution_types_js_namespaceObject.createDiscoveryError)('identity-mismatch', remote, `resolved record for "${remote}" is incompatible`, {
97
- env: options.env
98
- }));
99
- let degradedValue;
100
- try {
101
- degradedValue = await options.degraded(failure);
102
- } catch (handlerError) {
103
- try {
104
- await (0, external_index_js_namespaceObject.emitModuleFederationFallbackTelemetry)({
105
- appName: options.appName,
106
- classification: base.classification,
107
- error: handlerError,
108
- metadata: {
109
- ...telemetry.metadata,
110
- degradedHandlerFailed: true
111
- },
112
- phase: base.phase,
113
- remote,
114
- status: 'failed'
115
- }, options.telemetry ?? {});
116
- } catch {}
117
- if (critical) throw reason;
118
- return;
119
- }
120
- if (critical) throw reason;
121
- return degradedValue;
122
- }
123
- async function consumeSurface(options) {
124
- let ref;
125
- if ('string' == typeof options.ref) {
126
- const parsed = (0, external_surface_resolution_types_js_namespaceObject.parseSurfaceRef)(options.ref);
127
- if (!parsed.ok) {
128
- const hashIndex = options.ref.indexOf('#');
129
- const echoed = -1 === hashIndex ? {
130
- unitId: options.ref,
131
- surfaceId: ''
132
- } : {
133
- unitId: options.ref.slice(0, hashIndex),
134
- surfaceId: options.ref.slice(hashIndex + 1)
135
- };
136
- return reportFailure(options, echoed, {
137
- phase: 'discovery',
138
- classification: 'remote-unavailable',
139
- discoveryError: (0, external_surface_resolution_types_js_namespaceObject.createDiscoveryError)('unknown-surface', options.ref, `SurfaceRef "${options.ref}" is not a valid canonical reference (${parsed.error.code}).`, {
140
- parseError: parsed.error,
141
- env: options.env
142
- })
143
- });
144
- }
145
- ref = parsed.ref;
146
- } else ref = options.ref;
147
- let resolution;
148
- try {
149
- resolution = await options.provider.resolve(ref, options.env);
150
- } catch (error) {
151
- return reportFailure(options, ref, {
152
- phase: 'discovery',
153
- classification: (0, external_index_js_namespaceObject.classifyModuleFederationFallback)(error),
154
- error
155
- });
156
- }
157
- if (!resolution.ok) return reportFailure(options, ref, {
158
- phase: 'discovery',
159
- classification: classifyDiscoveryError(resolution.error.code),
160
- discoveryError: resolution.error
161
- });
162
- const resolved = resolution.unit;
163
- if ('incompatible' === resolved.compatibility.status) return reportFailure(options, ref, {
164
- phase: 'discovery',
165
- classification: 'contract',
166
- resolved
167
- });
168
- try {
169
- return await options.load({
170
- resolved,
171
- ref,
172
- env: options.env
173
- });
174
- } catch (error) {
175
- return reportFailure(options, ref, {
176
- phase: 'load',
177
- classification: (0, external_index_js_namespaceObject.classifyModuleFederationFallback)(error),
178
- error,
179
- resolved
180
- });
181
- }
182
- }
183
- function createSurfaceConsumer(base) {
184
- return function(options) {
185
- return consumeSurface({
186
- ...base,
187
- ...options
188
- });
189
- };
190
- }
191
- exports.consumeSurface = __webpack_exports__.consumeSurface;
192
- exports.createSurfaceConsumer = __webpack_exports__.createSurfaceConsumer;
193
- for(var __rspack_i in __webpack_exports__)if (-1 === [
194
- "consumeSurface",
195
- "createSurfaceConsumer"
196
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
197
- Object.defineProperty(exports, '__esModule', {
198
- value: true
199
- });
@@ -1,135 +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
- DISTRIBUTED_SSR_FRAGMENTS_LOCALS_KEY: ()=>DISTRIBUTED_SSR_FRAGMENTS_LOCALS_KEY,
32
- DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY: ()=>DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY,
33
- DistributedSsrBoundary: ()=>DistributedSsrBoundary,
34
- createDistributedSsrComponent: ()=>createDistributedSsrComponent,
35
- distributedSsrFragmentKey: ()=>distributedSsrFragmentKey,
36
- useDistributedSsrFragmentProps: ()=>useDistributedSsrFragmentProps
37
- });
38
- const jsx_runtime_namespaceObject = require("react/jsx-runtime");
39
- const runtime_js_namespaceObject = require("../core/context/runtime.js");
40
- const DISTRIBUTED_SSR_FRAGMENTS_LOCALS_KEY = '__modernDistributedSsrFragments';
41
- const DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY = '__modernDistributedSsrFragmentRequest';
42
- function distributedSsrFragmentKey(remote, expose) {
43
- return `${remote}::${expose}`;
44
- }
45
- function getDistributedSsrFragmentContext(response) {
46
- const locals = response?.locals;
47
- if ('object' != typeof locals || null === locals) return;
48
- const context = DISTRIBUTED_SSR_FRAGMENTS_LOCALS_KEY in locals ? locals[DISTRIBUTED_SSR_FRAGMENTS_LOCALS_KEY] : void 0;
49
- if ('object' != typeof context || null === context) return;
50
- return context;
51
- }
52
- function useDistributedSsrFragmentProps({ boundaryId, expose }) {
53
- const runtimeContext = (0, runtime_js_namespaceObject.useRuntimeContext)();
54
- const locals = runtimeContext.requestContext?.response?.locals;
55
- const request = 'object' == typeof locals && null !== locals && DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY in locals ? locals[DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY] : void 0;
56
- if ('object' != typeof request || null === request || !('boundaryId' in request) || request.boundaryId !== boundaryId || !('expose' in request) || request.expose !== expose) throw new Error(`Distributed SSR fragment request contract mismatch for ${boundaryId} ${expose}.`);
57
- const props = 'props' in request ? request.props : void 0;
58
- if ('object' != typeof props || null === props || Array.isArray(props)) throw new Error(`Distributed SSR fragment request props must be an object for ${boundaryId} ${expose}.`);
59
- return props;
60
- }
61
- function isThenable(value) {
62
- return void 0 !== value && 'then' in value && 'function' == typeof value.then;
63
- }
64
- function DistributedSsrBoundary({ children, expose, fallback, fragmentProps, remote }) {
65
- const runtimeContext = (0, runtime_js_namespaceObject.useRuntimeContext)();
66
- const key = distributedSsrFragmentKey(remote, expose);
67
- const attributes = {
68
- 'data-modern-distributed-ssr-boundary': key
69
- };
70
- if (runtimeContext.isBrowser) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
71
- ...attributes,
72
- children: children
73
- });
74
- const fragmentContext = getDistributedSsrFragmentContext(runtimeContext.requestContext?.response);
75
- if (void 0 === fragmentContext) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
76
- ...attributes,
77
- children: children
78
- });
79
- const resolverFragmentProps = void 0 === fragmentProps ? {} : Object.fromEntries(Object.entries(fragmentProps));
80
- const fragmentOrPromise = fragmentContext.resolve?.(remote, expose, resolverFragmentProps) ?? fragmentContext.fragments?.[key];
81
- if (isThenable(fragmentOrPromise)) throw fragmentOrPromise;
82
- const fragment = fragmentOrPromise;
83
- if (fragment?.status === 'ready') return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
84
- ...attributes,
85
- "data-modern-distributed-ssr-build": fragment.buildMarker,
86
- "data-modern-distributed-ssr-digest": fragment.digest,
87
- "data-modern-distributed-ssr-status": "ready",
88
- dangerouslySetInnerHTML: {
89
- __html: fragment.html
90
- }
91
- });
92
- return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
93
- ...attributes,
94
- "data-modern-distributed-ssr-reason": fragment?.reason ?? 'missing',
95
- "data-modern-distributed-ssr-status": "degraded",
96
- children: fallback
97
- });
98
- }
99
- function createDistributedSsrComponent({ createComponent, expose, fallback, remote }) {
100
- let RemoteComponent;
101
- function DeferredRemoteComponent(props) {
102
- RemoteComponent ??= createComponent();
103
- return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(RemoteComponent, {
104
- ...props
105
- });
106
- }
107
- return function(props) {
108
- return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(DistributedSsrBoundary, {
109
- expose: expose,
110
- fallback: fallback,
111
- fragmentProps: props,
112
- remote: remote,
113
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(DeferredRemoteComponent, {
114
- ...props
115
- })
116
- });
117
- };
118
- }
119
- exports.DISTRIBUTED_SSR_FRAGMENTS_LOCALS_KEY = __webpack_exports__.DISTRIBUTED_SSR_FRAGMENTS_LOCALS_KEY;
120
- exports.DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY = __webpack_exports__.DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY;
121
- exports.DistributedSsrBoundary = __webpack_exports__.DistributedSsrBoundary;
122
- exports.createDistributedSsrComponent = __webpack_exports__.createDistributedSsrComponent;
123
- exports.distributedSsrFragmentKey = __webpack_exports__.distributedSsrFragmentKey;
124
- exports.useDistributedSsrFragmentProps = __webpack_exports__.useDistributedSsrFragmentProps;
125
- for(var __rspack_i in __webpack_exports__)if (-1 === [
126
- "DISTRIBUTED_SSR_FRAGMENTS_LOCALS_KEY",
127
- "DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY",
128
- "DistributedSsrBoundary",
129
- "createDistributedSsrComponent",
130
- "distributedSsrFragmentKey",
131
- "useDistributedSsrFragmentProps"
132
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
133
- Object.defineProperty(exports, '__esModule', {
134
- value: true
135
- });
@@ -1,316 +0,0 @@
1
- "use strict";
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
- })();
38
- (()=>{
39
- __webpack_require__.d = (exports1, getters, values)=>{
40
- var define = (defs, kind)=>{
41
- for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
42
- enumerable: true,
43
- [kind]: defs[key]
44
- });
45
- };
46
- define(getters, "get");
47
- define(values, "value");
48
- };
49
- })();
50
- (()=>{
51
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
52
- })();
53
- (()=>{
54
- __webpack_require__.r = (exports1)=>{
55
- if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
56
- value: 'Module'
57
- });
58
- Object.defineProperty(exports1, '__esModule', {
59
- value: true
60
- });
61
- };
62
- })();
63
- var __webpack_exports__ = {};
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
- }
170
- }
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
- }
179
- }
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
- }
185
- }
186
- function toError(error) {
187
- if (error instanceof Error) return error;
188
- return new Error('string' == typeof error ? error : 'Unknown remote load error');
189
- }
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
284
- });
285
- })();
286
- exports.DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER = __webpack_exports__.DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER;
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;
289
- exports.MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT = __webpack_exports__.MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT;
290
- exports.MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT = __webpack_exports__.MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT;
291
- exports.ModuleFederationRemoteComponentContractError = __webpack_exports__.ModuleFederationRemoteComponentContractError;
292
- exports.ModuleFederationRemoteLoadError = __webpack_exports__.ModuleFederationRemoteLoadError;
293
- exports.ModuleFederationRemoteLoadTimeoutError = __webpack_exports__.ModuleFederationRemoteLoadTimeoutError;
294
- exports.classifyModuleFederationFallback = __webpack_exports__.classifyModuleFederationFallback;
295
- exports.createModuleFederationFallbackTelemetry = __webpack_exports__.createModuleFederationFallbackTelemetry;
296
- exports.emitModuleFederationFallbackTelemetry = __webpack_exports__.emitModuleFederationFallbackTelemetry;
297
- exports.toModuleFederationFallbackAttributes = __webpack_exports__.toModuleFederationFallbackAttributes;
298
- exports.useDistributedSsrFragmentProps = __webpack_exports__.useDistributedSsrFragmentProps;
299
- for(var __rspack_i in __webpack_exports__)if (-1 === [
300
- "DEFAULT_RUNTIME_FALLBACK_SIGNAL_AUTH_HEADER",
301
- "DEFAULT_RUNTIME_FALLBACK_SIGNAL_ENDPOINT",
302
- "DISTRIBUTED_SSR_FRAGMENT_REQUEST_LOCALS_KEY",
303
- "MODULE_FEDERATION_FALLBACK_SIGNAL_EVENT",
304
- "MODULE_FEDERATION_RECOVERY_SIGNAL_EVENT",
305
- "ModuleFederationRemoteComponentContractError",
306
- "ModuleFederationRemoteLoadError",
307
- "ModuleFederationRemoteLoadTimeoutError",
308
- "classifyModuleFederationFallback",
309
- "createModuleFederationFallbackTelemetry",
310
- "emitModuleFederationFallbackTelemetry",
311
- "toModuleFederationFallbackAttributes",
312
- "useDistributedSsrFragmentProps"
313
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
314
- Object.defineProperty(exports, '__esModule', {
315
- value: true
316
- });