@module-federation/bridge-vue3 2.0.0 → 2.1.0

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.
package/dist/index.js CHANGED
@@ -1,134 +1,131 @@
1
- import * as Vue from "vue";
2
- import { defineComponent, ref, useAttrs, watch, onMounted, onBeforeUnmount, createVNode, mergeProps, defineAsyncComponent, h } from "vue";
3
- import * as VueRouter from "vue-router";
4
- import { useRoute } from "vue-router";
5
- const MANIFEST_EXT = ".json", BROWSER_LOG_KEY = "FEDERATION_DEBUG", SEPARATOR = ":";
6
- function isBrowserEnv() {
1
+ import * as Mt from "vue";
2
+ import { defineComponent as Ct, ref as Ee, useAttrs as Dt, watch as Ft, onMounted as Ht, onBeforeUnmount as Gt, createVNode as Ut, mergeProps as xt, defineAsyncComponent as Bt, h as Vt } from "vue";
3
+ import * as ae from "vue-router";
4
+ import { useRoute as Ke } from "vue-router";
5
+ const Wt = ".json", jt = "FEDERATION_DEBUG", Kt = ":";
6
+ let $e = /* @__PURE__ */ function(e) {
7
+ return e[e.UNKNOWN = 1] = "UNKNOWN", e[e.CALCULATED = 2] = "CALCULATED", e[e.NO_USE = 0] = "NO_USE", e;
8
+ }({});
9
+ function F() {
7
10
  return typeof window < "u" && typeof window.document < "u";
8
11
  }
9
- function isReactNativeEnv() {
12
+ function qe() {
10
13
  return typeof navigator < "u" && (navigator == null ? void 0 : navigator.product) === "ReactNative";
11
14
  }
12
- function isBrowserDebug() {
15
+ function qt() {
13
16
  try {
14
- if (isBrowserEnv() && window.localStorage)
15
- return !!localStorage.getItem(BROWSER_LOG_KEY);
17
+ if (F() && window.localStorage) return !!localStorage.getItem(jt);
16
18
  } catch {
17
19
  return !1;
18
20
  }
19
21
  return !1;
20
22
  }
21
- function isDebugMode() {
22
- return typeof process < "u" && process.env && process.env.FEDERATION_DEBUG ? !!process.env.FEDERATION_DEBUG : typeof FEDERATION_DEBUG < "u" && FEDERATION_DEBUG ? !0 : isBrowserDebug();
23
- }
24
- const LOG_CATEGORY$1 = "[ Federation Runtime ]", composeKeyWithSeparator = function(...r) {
25
- return r.length ? r.reduce((t, n) => n ? t ? `${t}${SEPARATOR}${n}` : n : t, "") : "";
26
- }, getResourceUrl = (r, t) => {
27
- if ("getPublicPath" in r) {
28
- let n;
29
- return r.getPublicPath.startsWith("function") ? n = new Function("return " + r.getPublicPath)()() : n = new Function(r.getPublicPath)(), `${n}${t}`;
30
- } else return "publicPath" in r ? !isBrowserEnv() && !isReactNativeEnv() && "ssrPublicPath" in r ? `${r.ssrPublicPath}${t}` : `${r.publicPath}${t}` : (console.warn("Cannot get resource URL. If in debug mode, please ignore.", r, t), "");
31
- }, warn$1 = (r) => {
32
- console.warn(`${LOG_CATEGORY$1}: ${r}`);
23
+ function we() {
24
+ return typeof process < "u" && process.env && process.env.FEDERATION_DEBUG ? !!process.env.FEDERATION_DEBUG : typeof FEDERATION_DEBUG < "u" && FEDERATION_DEBUG ? !0 : qt();
25
+ }
26
+ const zt = "[ Federation Runtime ]", ze = function(...e) {
27
+ return e.length ? e.reduce((t, r) => r ? t ? `${t}${Kt}${r}` : r : t, "") : "";
28
+ }, Ie = (e, t) => {
29
+ if ("getPublicPath" in e) {
30
+ let r;
31
+ return e.getPublicPath.startsWith("function") ? r = new Function("return " + e.getPublicPath)()() : r = new Function(e.getPublicPath)(), `${r}${t}`;
32
+ } else return "publicPath" in e ? !F() && !qe() && "ssrPublicPath" in e && typeof e.ssrPublicPath == "string" ? `${e.ssrPublicPath}${t}` : `${e.publicPath}${t}` : (console.warn("Cannot get resource URL. If in debug mode, please ignore.", e, t), "");
33
+ }, Je = (e) => {
34
+ console.warn(`${zt}: ${e}`);
33
35
  };
34
- function safeToString(r) {
36
+ function Xe(e) {
35
37
  try {
36
- return JSON.stringify(r, null, 2);
38
+ return JSON.stringify(e, null, 2);
37
39
  } catch {
38
40
  return "";
39
41
  }
40
42
  }
41
- const simpleJoinRemoteEntry = (r, t) => {
42
- if (!r)
43
- return t;
44
- const o = ((s) => {
45
- if (s === ".")
46
- return "";
47
- if (s.startsWith("./"))
48
- return s.replace("./", "");
49
- if (s.startsWith("/")) {
50
- const i = s.slice(1);
51
- return i.endsWith("/") ? i.slice(0, -1) : i;
43
+ const ne = (e, t) => {
44
+ if (!e) return t;
45
+ const n = ((o) => {
46
+ if (o === ".") return "";
47
+ if (o.startsWith("./")) return o.replace("./", "");
48
+ if (o.startsWith("/")) {
49
+ const s = o.slice(1);
50
+ return s.endsWith("/") ? s.slice(0, -1) : s;
52
51
  }
53
- return s;
54
- })(r);
55
- return o ? o.endsWith("/") ? `${o}${t}` : `${o}/${t}` : t;
52
+ return o;
53
+ })(e);
54
+ return n ? n.endsWith("/") ? `${n}${t}` : `${n}/${t}` : t;
56
55
  };
57
- function inferAutoPublicPath(r) {
58
- return r.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
59
- }
60
- function generateSnapshotFromManifest(r, t = {}) {
61
- var S, _, T;
62
- const { remotes: n = {}, overrides: o = {}, version: s } = t;
63
- let i;
64
- const c = () => "publicPath" in r.metaData ? r.metaData.publicPath === "auto" && s ? inferAutoPublicPath(s) : r.metaData.publicPath : r.metaData.getPublicPath, a = Object.keys(o);
65
- let u = {};
66
- Object.keys(n).length || (u = ((S = r.remotes) == null ? void 0 : S.reduce((I, A) => {
67
- let w;
68
- const k = A.federationContainerName;
69
- return a.includes(k) ? w = o[k] : "version" in A ? w = A.version : w = A.entry, I[k] = {
70
- matchedVersion: w
71
- }, I;
72
- }, {})) || {}), Object.keys(n).forEach((I) => u[I] = {
73
- // overrides will override dependencies
74
- matchedVersion: a.includes(I) ? o[I] : n[I]
75
- });
76
- const { remoteEntry: { path: l, name: d, type: y }, types: p = { path: "", name: "", zip: "", api: "" }, buildInfo: { buildVersion: m }, globalName: g, ssrRemoteEntry: b } = r.metaData, { exposes: E } = r;
77
- let R = {
78
- version: s || "",
79
- buildVersion: m,
80
- globalName: g,
81
- remoteEntry: simpleJoinRemoteEntry(l, d),
82
- remoteEntryType: y,
83
- remoteTypes: simpleJoinRemoteEntry(p.path, p.name),
84
- remoteTypesZip: p.zip || "",
85
- remoteTypesAPI: p.api || "",
86
- remotesInfo: u,
87
- shared: r == null ? void 0 : r.shared.map((I) => ({
88
- assets: I.assets,
89
- sharedName: I.name,
90
- version: I.version,
91
- // @ts-ignore
92
- usedExports: I.referenceExports || []
56
+ function Jt(e) {
57
+ return e.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
58
+ }
59
+ function Xt(e, t = {}) {
60
+ var g, b, w;
61
+ const { remotes: r = {}, overrides: n = {}, version: o } = t;
62
+ let s;
63
+ const i = () => "publicPath" in e.metaData ? (e.metaData.publicPath === "auto" || e.metaData.publicPath === "") && o ? Jt(o) : e.metaData.publicPath : e.metaData.getPublicPath, a = Object.keys(n);
64
+ let c = {};
65
+ Object.keys(r).length || (c = ((g = e.remotes) == null ? void 0 : g.reduce((_, S) => {
66
+ let R;
67
+ const $ = S.federationContainerName;
68
+ return a.includes($) ? R = n[$] : "version" in S ? R = S.version : R = S.entry, _[$] = { matchedVersion: R }, _;
69
+ }, {})) || {}), Object.keys(r).forEach((_) => c[_] = { matchedVersion: a.includes(_) ? n[_] : r[_] });
70
+ const { remoteEntry: { path: l, name: f, type: d }, types: u = {
71
+ path: "",
72
+ name: "",
73
+ zip: "",
74
+ api: ""
75
+ }, buildInfo: { buildVersion: h }, globalName: p, ssrRemoteEntry: y } = e.metaData, { exposes: E } = e;
76
+ let m = {
77
+ version: o || "",
78
+ buildVersion: h,
79
+ globalName: p,
80
+ remoteEntry: ne(l, f),
81
+ remoteEntryType: d,
82
+ remoteTypes: ne(u.path, u.name),
83
+ remoteTypesZip: u.zip || "",
84
+ remoteTypesAPI: u.api || "",
85
+ remotesInfo: c,
86
+ shared: e == null ? void 0 : e.shared.map((_) => ({
87
+ assets: _.assets,
88
+ sharedName: _.name,
89
+ version: _.version,
90
+ usedExports: _.referenceExports || []
93
91
  })),
94
- modules: E == null ? void 0 : E.map((I) => ({
95
- moduleName: I.name,
96
- modulePath: I.path,
97
- assets: I.assets
92
+ modules: E == null ? void 0 : E.map((_) => ({
93
+ moduleName: _.name,
94
+ modulePath: _.path,
95
+ assets: _.assets
98
96
  }))
99
97
  };
100
- if ((_ = r.metaData) != null && _.prefetchInterface) {
101
- const I = r.metaData.prefetchInterface;
102
- R = {
103
- ...R,
104
- prefetchInterface: I
98
+ if ((b = e.metaData) != null && b.prefetchInterface) {
99
+ const _ = e.metaData.prefetchInterface;
100
+ m = {
101
+ ...m,
102
+ prefetchInterface: _
105
103
  };
106
104
  }
107
- if ((T = r.metaData) != null && T.prefetchEntry) {
108
- const { path: I, name: A, type: w } = r.metaData.prefetchEntry;
109
- R = {
110
- ...R,
111
- prefetchEntry: simpleJoinRemoteEntry(I, A),
112
- prefetchEntryType: w
105
+ if ((w = e.metaData) != null && w.prefetchEntry) {
106
+ const { path: _, name: S, type: R } = e.metaData.prefetchEntry;
107
+ m = {
108
+ ...m,
109
+ prefetchEntry: ne(_, S),
110
+ prefetchEntryType: R
113
111
  };
114
112
  }
115
- if ("publicPath" in r.metaData ? i = {
116
- ...R,
117
- publicPath: c(),
118
- ssrPublicPath: r.metaData.ssrPublicPath
119
- } : i = {
120
- ...R,
121
- getPublicPath: c()
122
- }, b) {
123
- const I = simpleJoinRemoteEntry(b.path, b.name);
124
- i.ssrRemoteEntry = I, i.ssrRemoteEntryType = b.type || "commonjs-module";
113
+ if ("publicPath" in e.metaData ? (s = {
114
+ ...m,
115
+ publicPath: i()
116
+ }, typeof e.metaData.ssrPublicPath == "string" && (s.ssrPublicPath = e.metaData.ssrPublicPath)) : s = {
117
+ ...m,
118
+ getPublicPath: i()
119
+ }, y) {
120
+ const _ = ne(y.path, y.name);
121
+ s.ssrRemoteEntry = _, s.ssrRemoteEntryType = y.type || "commonjs-module";
125
122
  }
126
- return i;
123
+ return s;
127
124
  }
128
- function isManifestProvider(r) {
129
- return !!("remoteEntry" in r && r.remoteEntry.includes(MANIFEST_EXT));
125
+ function Ye(e) {
126
+ return !!("remoteEntry" in e && e.remoteEntry.includes(Wt));
130
127
  }
131
- const PREFIX = "[ Module Federation ]", DEFAULT_DELEGATE = console, LOGGER_STACK_SKIP_TOKENS = [
128
+ const Yt = "[ Module Federation ]", J = console, Zt = [
132
129
  "logger.ts",
133
130
  "logger.js",
134
131
  "captureStackTrace",
@@ -139,1439 +136,1367 @@ const PREFIX = "[ Module Federation ]", DEFAULT_DELEGATE = console, LOGGER_STACK
139
136
  "Logger.error",
140
137
  "Logger.debug"
141
138
  ];
142
- function captureStackTrace() {
139
+ function Qt() {
143
140
  try {
144
- const r = new Error().stack;
145
- if (!r)
146
- return;
147
- const [, ...t] = r.split(`
148
- `), n = t.filter((s) => !LOGGER_STACK_SKIP_TOKENS.some((i) => s.includes(i)));
149
- return n.length ? `Stack trace:
150
- ${n.slice(0, 5).join(`
141
+ const e = (/* @__PURE__ */ new Error()).stack;
142
+ if (!e) return;
143
+ const [, ...t] = e.split(`
144
+ `), r = t.filter((n) => !Zt.some((o) => n.includes(o)));
145
+ return r.length ? `Stack trace:
146
+ ${r.slice(0, 5).join(`
151
147
  `)}` : void 0;
152
148
  } catch {
153
149
  return;
154
150
  }
155
151
  }
156
- class Logger {
157
- constructor(t, n = DEFAULT_DELEGATE) {
158
- this.prefix = t, this.delegate = n ?? DEFAULT_DELEGATE;
152
+ var Ze = class {
153
+ constructor(e, t = J) {
154
+ this.prefix = e, this.delegate = t ?? J;
159
155
  }
160
- setPrefix(t) {
161
- this.prefix = t;
156
+ setPrefix(e) {
157
+ this.prefix = e;
162
158
  }
163
- setDelegate(t) {
164
- this.delegate = t ?? DEFAULT_DELEGATE;
159
+ setDelegate(e) {
160
+ this.delegate = e ?? J;
165
161
  }
166
- emit(t, n) {
167
- const o = this.delegate, i = isDebugMode() ? captureStackTrace() : void 0, c = i ? [...n, i] : n, a = (() => {
168
- switch (t) {
162
+ emit(e, t) {
163
+ const r = this.delegate, n = we() ? Qt() : void 0, o = n ? [...t, n] : t, s = (() => {
164
+ switch (e) {
169
165
  case "log":
170
166
  return ["log", "info"];
171
167
  case "info":
172
168
  return ["info", "log"];
173
169
  case "warn":
174
- return ["warn", "info", "log"];
170
+ return [
171
+ "warn",
172
+ "info",
173
+ "log"
174
+ ];
175
175
  case "error":
176
- return ["error", "warn", "log"];
177
- case "debug":
176
+ return [
177
+ "error",
178
+ "warn",
179
+ "log"
180
+ ];
178
181
  default:
179
182
  return ["debug", "log"];
180
183
  }
181
184
  })();
182
- for (const u of a) {
183
- const l = o[u];
184
- if (typeof l == "function") {
185
- l.call(o, this.prefix, ...c);
185
+ for (const i of s) {
186
+ const a = r[i];
187
+ if (typeof a == "function") {
188
+ a.call(r, this.prefix, ...o);
186
189
  return;
187
190
  }
188
191
  }
189
- for (const u of a) {
190
- const l = DEFAULT_DELEGATE[u];
191
- if (typeof l == "function") {
192
- l.call(DEFAULT_DELEGATE, this.prefix, ...c);
192
+ for (const i of s) {
193
+ const a = J[i];
194
+ if (typeof a == "function") {
195
+ a.call(J, this.prefix, ...o);
193
196
  return;
194
197
  }
195
198
  }
196
199
  }
197
- log(...t) {
198
- this.emit("log", t);
200
+ log(...e) {
201
+ this.emit("log", e);
199
202
  }
200
- warn(...t) {
201
- this.emit("warn", t);
203
+ warn(...e) {
204
+ this.emit("warn", e);
202
205
  }
203
- error(...t) {
204
- this.emit("error", t);
206
+ error(...e) {
207
+ this.emit("error", e);
205
208
  }
206
- success(...t) {
207
- this.emit("info", t);
209
+ success(...e) {
210
+ this.emit("info", e);
208
211
  }
209
- info(...t) {
210
- this.emit("info", t);
212
+ info(...e) {
213
+ this.emit("info", e);
211
214
  }
212
- ready(...t) {
213
- this.emit("info", t);
215
+ ready(...e) {
216
+ this.emit("info", e);
214
217
  }
215
- debug(...t) {
216
- isDebugMode() && this.emit("debug", t);
218
+ debug(...e) {
219
+ we() && this.emit("debug", e);
217
220
  }
221
+ };
222
+ function Qe(e) {
223
+ return new Ze(e);
218
224
  }
219
- function createLogger(r) {
220
- return new Logger(r);
221
- }
222
- function createInfrastructureLogger(r) {
223
- const t = new Logger(r);
225
+ function er(e) {
226
+ const t = new Ze(e);
224
227
  return Object.defineProperty(t, "__mf_infrastructure_logger__", {
225
228
  value: !0,
226
229
  enumerable: !1,
227
230
  configurable: !1
228
231
  }), t;
229
232
  }
230
- createInfrastructureLogger(PREFIX);
231
- async function safeWrapper(r, t) {
233
+ er(Yt);
234
+ async function et(e, t) {
232
235
  try {
233
- return await r();
234
- } catch (n) {
235
- warn$1(n);
236
+ return await e();
237
+ } catch (r) {
238
+ Je(r);
236
239
  return;
237
240
  }
238
241
  }
239
- function isStaticResourcesEqual(r, t) {
240
- const n = /^(https?:)?\/\//i, o = r.replace(n, "").replace(/\/$/, ""), s = t.replace(n, "").replace(/\/$/, "");
241
- return o === s;
242
+ function tt(e, t) {
243
+ const r = /^(https?:)?\/\//i;
244
+ return e.replace(r, "").replace(/\/$/, "") === t.replace(r, "").replace(/\/$/, "");
242
245
  }
243
- function createScript(r) {
244
- let t = null, n = !0, o = 2e4, s;
245
- const i = document.getElementsByTagName("script");
246
- for (let a = 0; a < i.length; a++) {
247
- const u = i[a], l = u.getAttribute("src");
248
- if (l && isStaticResourcesEqual(l, r.url)) {
249
- t = u, n = !1;
246
+ function rt(e) {
247
+ let t = null, r = !0, n = 2e4, o;
248
+ const s = document.getElementsByTagName("script");
249
+ for (let a = 0; a < s.length; a++) {
250
+ const c = s[a], l = c.getAttribute("src");
251
+ if (l && tt(l, e.url)) {
252
+ t = c, r = !1;
250
253
  break;
251
254
  }
252
255
  }
253
256
  if (!t) {
254
- const a = r.attrs;
257
+ const a = e.attrs;
255
258
  t = document.createElement("script"), t.type = (a == null ? void 0 : a.type) === "module" ? "module" : "text/javascript";
256
- let u;
257
- r.createScriptHook && (u = r.createScriptHook(r.url, r.attrs), u instanceof HTMLScriptElement ? t = u : typeof u == "object" && ("script" in u && u.script && (t = u.script), "timeout" in u && u.timeout && (o = u.timeout))), t.src || (t.src = r.url), a && !u && Object.keys(a).forEach((l) => {
259
+ let c;
260
+ e.createScriptHook && (c = e.createScriptHook(e.url, e.attrs), c instanceof HTMLScriptElement ? t = c : typeof c == "object" && ("script" in c && c.script && (t = c.script), "timeout" in c && c.timeout && (n = c.timeout))), t.src || (t.src = e.url), a && !c && Object.keys(a).forEach((l) => {
258
261
  t && (l === "async" || l === "defer" ? t[l] = a[l] : t.getAttribute(l) || t.setAttribute(l, a[l]));
259
262
  });
260
263
  }
261
- const c = async (a, u) => {
262
- clearTimeout(s);
264
+ const i = async (a, c) => {
265
+ clearTimeout(o);
263
266
  const l = () => {
264
- (u == null ? void 0 : u.type) === "error" ? r != null && r.onErrorCallback && (r == null || r.onErrorCallback(u)) : r != null && r.cb && (r == null || r.cb());
267
+ (c == null ? void 0 : c.type) === "error" ? e != null && e.onErrorCallback && (e == null || e.onErrorCallback(c)) : e != null && e.cb && (e == null || e.cb());
265
268
  };
266
- if (t && (t.onerror = null, t.onload = null, safeWrapper(() => {
267
- const { needDeleteScript: d = !0 } = r;
268
- d && t != null && t.parentNode && t.parentNode.removeChild(t);
269
+ if (t && (t.onerror = null, t.onload = null, et(() => {
270
+ const { needDeleteScript: f = !0 } = e;
271
+ f && t != null && t.parentNode && t.parentNode.removeChild(t);
269
272
  }), a && typeof a == "function")) {
270
- const d = a(u);
271
- if (d instanceof Promise) {
272
- const y = await d;
273
- return l(), y;
273
+ const f = a(c);
274
+ if (f instanceof Promise) {
275
+ const d = await f;
276
+ return l(), d;
274
277
  }
275
- return l(), d;
278
+ return l(), f;
276
279
  }
277
280
  l();
278
281
  };
279
- return t.onerror = c.bind(null, t.onerror), t.onload = c.bind(null, t.onload), s = setTimeout(() => {
280
- c(null, new Error(`Remote script "${r.url}" time-outed.`));
281
- }, o), { script: t, needAttach: n };
282
- }
283
- function createLink(r) {
284
- let t = null, n = !0;
285
- const o = document.getElementsByTagName("link");
286
- for (let i = 0; i < o.length; i++) {
287
- const c = o[i], a = c.getAttribute("href"), u = c.getAttribute("rel");
288
- if (a && isStaticResourcesEqual(a, r.url) && u === r.attrs.rel) {
289
- t = c, n = !1;
282
+ return t.onerror = i.bind(null, t.onerror), t.onload = i.bind(null, t.onload), o = setTimeout(() => {
283
+ i(null, /* @__PURE__ */ new Error(`Remote script "${e.url}" time-outed.`));
284
+ }, n), {
285
+ script: t,
286
+ needAttach: r
287
+ };
288
+ }
289
+ function ge(e) {
290
+ let t = null, r = !0;
291
+ const n = document.getElementsByTagName("link");
292
+ for (let s = 0; s < n.length; s++) {
293
+ const i = n[s], a = i.getAttribute("href"), c = i.getAttribute("rel");
294
+ if (a && tt(a, e.url) && c === e.attrs.rel) {
295
+ t = i, r = !1;
290
296
  break;
291
297
  }
292
298
  }
293
299
  if (!t) {
294
- t = document.createElement("link"), t.setAttribute("href", r.url);
295
- let i;
296
- const c = r.attrs;
297
- r.createLinkHook && (i = r.createLinkHook(r.url, c), i instanceof HTMLLinkElement && (t = i)), c && !i && Object.keys(c).forEach((a) => {
298
- t && !t.getAttribute(a) && t.setAttribute(a, c[a]);
300
+ t = document.createElement("link"), t.setAttribute("href", e.url);
301
+ let s;
302
+ const i = e.attrs;
303
+ e.createLinkHook && (s = e.createLinkHook(e.url, i), s instanceof HTMLLinkElement && (t = s)), i && !s && Object.keys(i).forEach((a) => {
304
+ t && !t.getAttribute(a) && t.setAttribute(a, i[a]);
299
305
  });
300
306
  }
301
- const s = (i, c) => {
307
+ const o = (s, i) => {
302
308
  const a = () => {
303
- (c == null ? void 0 : c.type) === "error" ? r != null && r.onErrorCallback && (r == null || r.onErrorCallback(c)) : r != null && r.cb && (r == null || r.cb());
309
+ (i == null ? void 0 : i.type) === "error" ? e != null && e.onErrorCallback && (e == null || e.onErrorCallback(i)) : e != null && e.cb && (e == null || e.cb());
304
310
  };
305
- if (t && (t.onerror = null, t.onload = null, safeWrapper(() => {
306
- const { needDeleteLink: u = !0 } = r;
307
- u && t != null && t.parentNode && t.parentNode.removeChild(t);
308
- }), i)) {
309
- const u = i(c);
310
- return a(), u;
311
+ if (t && (t.onerror = null, t.onload = null, et(() => {
312
+ const { needDeleteLink: c = !0 } = e;
313
+ c && t != null && t.parentNode && t.parentNode.removeChild(t);
314
+ }), s)) {
315
+ const c = s(i);
316
+ return a(), c;
311
317
  }
312
318
  a();
313
319
  };
314
- return t.onerror = s.bind(null, t.onerror), t.onload = s.bind(null, t.onload), { link: t, needAttach: n };
315
- }
316
- function loadScript(r, t) {
317
- const { attrs: n = {}, createScriptHook: o } = t;
318
- return new Promise((s, i) => {
319
- const { script: c, needAttach: a } = createScript({
320
- url: r,
321
- cb: s,
322
- onErrorCallback: i,
320
+ return t.onerror = o.bind(null, t.onerror), t.onload = o.bind(null, t.onload), {
321
+ link: t,
322
+ needAttach: r
323
+ };
324
+ }
325
+ function tr(e, t) {
326
+ const { attrs: r = {}, createScriptHook: n } = t;
327
+ return new Promise((o, s) => {
328
+ const { script: i, needAttach: a } = rt({
329
+ url: e,
330
+ cb: o,
331
+ onErrorCallback: s,
323
332
  attrs: {
324
333
  fetchpriority: "high",
325
- ...n
334
+ ...r
326
335
  },
327
- createScriptHook: o,
336
+ createScriptHook: n,
328
337
  needDeleteScript: !0
329
338
  });
330
- a && document.head.appendChild(c);
339
+ a && document.head.appendChild(i);
331
340
  });
332
341
  }
333
- const sdkImportCache = /* @__PURE__ */ new Map();
334
- function importNodeModule(r) {
335
- if (!r)
336
- throw new Error("import specifier is required");
337
- if (sdkImportCache.has(r))
338
- return sdkImportCache.get(r);
339
- const n = new Function("name", "return import(name)")(r).then((o) => o).catch((o) => {
340
- throw console.error(`Error importing module ${r}:`, o), sdkImportCache.delete(r), o;
342
+ const oe = /* @__PURE__ */ new Map();
343
+ function B(e) {
344
+ if (!e) throw new Error("import specifier is required");
345
+ if (oe.has(e)) return oe.get(e);
346
+ const t = new Function("name", "return import(name)")(e).then((r) => r).catch((r) => {
347
+ throw console.error(`Error importing module ${e}:`, r), oe.delete(e), r;
341
348
  });
342
- return sdkImportCache.set(r, n), n;
343
- }
344
- const loadNodeFetch = async () => {
345
- const r = await importNodeModule("node-fetch");
346
- return r.default || r;
347
- }, lazyLoaderHookFetch = async (r, t, n) => {
348
- const s = await ((i, c) => n.lifecycle.fetch.emit(i, c))(r, t || {});
349
- return !s || !(s instanceof Response) ? (typeof fetch > "u" ? await loadNodeFetch() : fetch)(r, t || {}) : s;
350
- }, createScriptNode = typeof ENV_TARGET > "u" || ENV_TARGET !== "web" ? (url, cb, attrs, loaderHook) => {
351
- if (loaderHook != null && loaderHook.createScriptHook) {
352
- const r = loaderHook.createScriptHook(url);
353
- r && typeof r == "object" && "url" in r && (url = r.url);
354
- }
355
- let urlObj;
349
+ return oe.set(e, t), t;
350
+ }
351
+ const nt = async () => {
352
+ const e = await B("node-fetch");
353
+ return e.default || e;
354
+ }, rr = async (e, t, r) => {
355
+ const o = await ((s, i) => r.lifecycle.fetch.emit(s, i))(e, t || {});
356
+ return !o || !(o instanceof Response) ? (typeof fetch > "u" ? await nt() : fetch)(e, t || {}) : o;
357
+ }, nr = typeof ENV_TARGET > "u" || ENV_TARGET !== "web" ? (e, t, r, n) => {
358
+ if (n != null && n.createScriptHook) {
359
+ const a = n.createScriptHook(e);
360
+ a && typeof a == "object" && "url" in a && (e = a.url);
361
+ }
362
+ let o;
356
363
  try {
357
- urlObj = new URL(url);
358
- } catch (r) {
359
- console.error("Error constructing URL:", r), cb(new Error(`Invalid URL: ${r}`));
364
+ o = new URL(e);
365
+ } catch (a) {
366
+ console.error("Error constructing URL:", a), t(/* @__PURE__ */ new Error(`Invalid URL: ${a}`));
360
367
  return;
361
368
  }
362
- const getFetch = async () => loaderHook != null && loaderHook.fetch ? (r, t) => lazyLoaderHookFetch(r, t, loaderHook) : typeof fetch > "u" ? loadNodeFetch() : fetch, handleScriptFetch = async (f, urlObj) => {
363
- var r;
369
+ const s = async () => n != null && n.fetch ? (a, c) => rr(a, c, n) : typeof fetch > "u" ? nt() : fetch, i = async (a, c) => {
370
+ var l;
364
371
  try {
365
- const res = await f(urlObj.href), data = await res.text(), [path, vm] = await Promise.all([
366
- importNodeModule("path"),
367
- importNodeModule("vm")
368
- ]), scriptContext = { exports: {}, module: { exports: {} } }, urlDirname = urlObj.pathname.split("/").slice(0, -1).join("/"), filename = path.basename(urlObj.pathname), script = new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data}
372
+ const d = await (await a(c.href)).text(), [u, h] = await Promise.all([B("path"), B("vm")]), p = {
373
+ exports: {},
374
+ module: { exports: {} }
375
+ }, y = c.pathname.split("/").slice(0, -1).join("/"), E = u.basename(c.pathname), m = new h.Script(`(function(exports, module, require, __dirname, __filename) {${d}
369
376
  })`, {
370
- filename,
371
- importModuleDynamically: (
372
- //@ts-ignore
373
- ((r = vm.constants) == null ? void 0 : r.USE_MAIN_CONTEXT_DEFAULT_LOADER) ?? importNodeModule
374
- )
377
+ filename: E,
378
+ importModuleDynamically: ((l = h.constants) == null ? void 0 : l.USE_MAIN_CONTEXT_DEFAULT_LOADER) ?? B
375
379
  });
376
- script.runInThisContext()(scriptContext.exports, scriptContext.module, eval("require"), urlDirname, filename);
377
- const exportedInterface = scriptContext.module.exports || scriptContext.exports;
378
- if (attrs && exportedInterface && attrs.globalName) {
379
- const t = exportedInterface[attrs.globalName] || exportedInterface;
380
- cb(void 0, t);
380
+ let g;
381
+ g = (await B("node:module")).createRequire(c.protocol === "file:" || c.protocol === "node:" ? c.href : u.join(process.cwd(), "__mf_require_base__.js")), m.runInThisContext()(p.exports, p.module, g, y, E);
382
+ const b = p.module.exports || p.exports;
383
+ if (r && b && r.globalName) {
384
+ t(void 0, b[r.globalName] || b);
381
385
  return;
382
386
  }
383
- cb(void 0, exportedInterface);
384
- } catch (t) {
385
- cb(t instanceof Error ? t : new Error(`Script execution error: ${t}`));
387
+ t(void 0, b);
388
+ } catch (f) {
389
+ t(f instanceof Error ? f : /* @__PURE__ */ new Error(`Script execution error: ${f}`));
386
390
  }
387
391
  };
388
- getFetch().then(async (r) => {
389
- if ((attrs == null ? void 0 : attrs.type) === "esm" || (attrs == null ? void 0 : attrs.type) === "module")
390
- return loadModule(urlObj.href, {
391
- fetch: r,
392
- vm: await importNodeModule("vm")
393
- }).then(async (t) => {
394
- await t.evaluate(), cb(void 0, t.namespace);
395
- }).catch((t) => {
396
- cb(t instanceof Error ? t : new Error(`Script execution error: ${t}`));
397
- });
398
- handleScriptFetch(r, urlObj);
399
- }).catch((r) => {
400
- cb(r);
392
+ s().then(async (a) => {
393
+ if ((r == null ? void 0 : r.type) === "esm" || (r == null ? void 0 : r.type) === "module") return Ne(o.href, {
394
+ fetch: a,
395
+ vm: await B("vm")
396
+ }).then(async (c) => {
397
+ await c.evaluate(), t(void 0, c.namespace);
398
+ }).catch((c) => {
399
+ t(c instanceof Error ? c : /* @__PURE__ */ new Error(`Script execution error: ${c}`));
400
+ });
401
+ i(a, o);
402
+ }).catch((a) => {
403
+ t(a);
401
404
  });
402
- } : (r, t, n, o) => {
403
- t(new Error("createScriptNode is disabled in non-Node.js environment"));
404
- }, loadScriptNode = typeof ENV_TARGET > "u" || ENV_TARGET !== "web" ? (r, t) => new Promise((n, o) => {
405
- createScriptNode(r, (s, i) => {
406
- var c, a;
407
- if (s)
408
- o(s);
405
+ } : (e, t, r, n) => {
406
+ t(/* @__PURE__ */ new Error("createScriptNode is disabled in non-Node.js environment"));
407
+ }, or = typeof ENV_TARGET > "u" || ENV_TARGET !== "web" ? (e, t) => new Promise((r, n) => {
408
+ nr(e, (o, s) => {
409
+ var i, a;
410
+ if (o) n(o);
409
411
  else {
410
- const u = ((c = t == null ? void 0 : t.attrs) == null ? void 0 : c.globalName) || `__FEDERATION_${(a = t == null ? void 0 : t.attrs) == null ? void 0 : a.name}:custom__`, l = globalThis[u] = i;
411
- n(l);
412
+ const c = ((i = t == null ? void 0 : t.attrs) == null ? void 0 : i.globalName) || `__FEDERATION_${(a = t == null ? void 0 : t.attrs) == null ? void 0 : a.name}:custom__`;
413
+ r(globalThis[c] = s);
412
414
  }
413
415
  }, t.attrs, t.loaderHook);
414
- }) : (r, t) => {
416
+ }) : (e, t) => {
415
417
  throw new Error("loadScriptNode is disabled in non-Node.js environment");
416
- }, esmModuleCache = /* @__PURE__ */ new Map();
417
- async function loadModule(r, t) {
418
- if (esmModuleCache.has(r))
419
- return esmModuleCache.get(r);
420
- const { fetch: n, vm: o } = t, i = await (await n(r)).text(), c = new o.SourceTextModule(i, {
421
- // @ts-ignore
422
- importModuleDynamically: async (a, u) => {
423
- const l = new URL(a, r).href;
424
- return loadModule(l, t);
425
- }
426
- });
427
- return esmModuleCache.set(r, c), await c.link(async (a) => {
428
- const u = new URL(a, r).href;
429
- return await loadModule(u, t);
430
- }), c;
431
- }
432
- const LoggerInstance = createLogger("[ Module Federation Bridge Vue3 ]"), RUNTIME_001 = "RUNTIME-001", RUNTIME_002 = "RUNTIME-002", RUNTIME_003 = "RUNTIME-003", RUNTIME_004 = "RUNTIME-004", RUNTIME_005 = "RUNTIME-005", RUNTIME_006 = "RUNTIME-006", RUNTIME_007 = "RUNTIME-007", RUNTIME_008 = "RUNTIME-008", RUNTIME_009 = "RUNTIME-009", getDocsUrl = (r) => `View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${r.split("-")[0].toLowerCase()}#${r.toLowerCase()}`, getShortErrorMsg = (r, t, n, o) => {
433
- const s = [`${[t[r]]} #${r}`];
434
- return n && s.push(`args: ${JSON.stringify(n)}`), s.push(getDocsUrl(r)), o && s.push(`Original Error Message:
435
- ${o}`), s.join(`
436
- `);
437
- }, runtimeDescMap = {
438
- [RUNTIME_001]: "Failed to get remoteEntry exports.",
439
- [RUNTIME_002]: 'The remote entry interface does not contain "init"',
440
- [RUNTIME_003]: "Failed to get manifest.",
441
- [RUNTIME_004]: "Failed to locate remote.",
442
- [RUNTIME_005]: "Invalid loadShareSync function call from bundler runtime",
443
- [RUNTIME_006]: "Invalid loadShareSync function call from runtime",
444
- [RUNTIME_007]: "Failed to get remote snapshot.",
445
- [RUNTIME_008]: "Failed to load script resources.",
446
- [RUNTIME_009]: "Please call createInstance first."
447
- }, LOG_CATEGORY = "[ Federation Runtime ]", logger = createLogger(LOG_CATEGORY);
448
- function assert(r, t) {
449
- r || error(t);
418
+ }, _e = /* @__PURE__ */ new Map();
419
+ async function Ne(e, t) {
420
+ if (_e.has(e)) return _e.get(e);
421
+ const { fetch: r, vm: n } = t, o = await (await r(e)).text(), s = new n.SourceTextModule(o, { importModuleDynamically: async (i, a) => {
422
+ const c = new URL(i, e).href;
423
+ return Ne(c, t);
424
+ } });
425
+ return _e.set(e, s), await s.link(async (i) => {
426
+ const a = new URL(i, e).href;
427
+ return await Ne(a, t);
428
+ }), s;
429
+ }
430
+ const C = Qe("[ Module Federation Bridge Vue3 ]"), W = "[ Federation Runtime ]", Te = Qe(W);
431
+ function T(e, t) {
432
+ e || k(t);
450
433
  }
451
- function error(r) {
452
- throw r instanceof Error ? (r.message.startsWith(LOG_CATEGORY) || (r.message = `${LOG_CATEGORY}: ${r.message}`), r) : new Error(`${LOG_CATEGORY}: ${r}`);
434
+ function k(e) {
435
+ throw e instanceof Error ? (e.message.startsWith(W) || (e.message = `${W}: ${e.message}`), e) : new Error(`${W}: ${e}`);
453
436
  }
454
- function warn(r) {
455
- r instanceof Error && (r.message.startsWith(LOG_CATEGORY) || (r.message = `${LOG_CATEGORY}: ${r.message}`)), logger.warn(r);
437
+ function ke(e) {
438
+ e instanceof Error && (e.message.startsWith(W) || (e.message = `${W}: ${e.message}`)), Te.warn(e);
456
439
  }
457
- function addUniqueItem(r, t) {
458
- return r.findIndex((n) => n === t) === -1 && r.push(t), r;
440
+ function sr(e, t) {
441
+ return e.findIndex((r) => r === t) === -1 && e.push(t), e;
459
442
  }
460
- function getFMId(r) {
461
- return "version" in r && r.version ? `${r.name}:${r.version}` : "entry" in r && r.entry ? `${r.name}:${r.entry}` : `${r.name}`;
443
+ function Z(e) {
444
+ return "version" in e && e.version ? `${e.name}:${e.version}` : "entry" in e && e.entry ? `${e.name}:${e.entry}` : `${e.name}`;
462
445
  }
463
- function isRemoteInfoWithEntry(r) {
464
- return typeof r.entry < "u";
446
+ function Oe(e) {
447
+ return typeof e.entry < "u";
465
448
  }
466
- function isPureRemoteEntry(r) {
467
- return !r.entry.includes(".json");
449
+ function ot(e) {
450
+ return !e.entry.includes(".json");
468
451
  }
469
- function isObject(r) {
470
- return r && typeof r == "object";
452
+ function Le(e) {
453
+ return e && typeof e == "object";
471
454
  }
472
- const objectToString = Object.prototype.toString;
473
- function isPlainObject(r) {
474
- return objectToString.call(r) === "[object Object]";
455
+ const ir = Object.prototype.toString;
456
+ function ar(e) {
457
+ return ir.call(e) === "[object Object]";
475
458
  }
476
- function arrayOptions(r) {
477
- return Array.isArray(r) ? r : [r];
459
+ function st(e) {
460
+ return Array.isArray(e) ? e : [e];
478
461
  }
479
- function getRemoteEntryInfoFromSnapshot(r) {
462
+ function it(e) {
480
463
  const t = {
481
464
  url: "",
482
465
  type: "global",
483
466
  globalName: ""
484
467
  };
485
- return isBrowserEnv() || isReactNativeEnv() || !("ssrRemoteEntry" in r) ? "remoteEntry" in r ? {
486
- url: r.remoteEntry,
487
- type: r.remoteEntryType,
488
- globalName: r.globalName
489
- } : t : "ssrRemoteEntry" in r ? {
490
- url: r.ssrRemoteEntry || t.url,
491
- type: r.ssrRemoteEntryType || t.type,
492
- globalName: r.globalName
468
+ return F() || qe() || !("ssrRemoteEntry" in e) ? "remoteEntry" in e ? {
469
+ url: e.remoteEntry,
470
+ type: e.remoteEntryType,
471
+ globalName: e.globalName
472
+ } : t : "ssrRemoteEntry" in e ? {
473
+ url: e.ssrRemoteEntry || t.url,
474
+ type: e.ssrRemoteEntryType || t.type,
475
+ globalName: e.globalName
493
476
  } : t;
494
477
  }
495
- const processModuleAlias = (r, t) => {
496
- let n;
497
- return r.endsWith("/") ? n = r.slice(0, -1) : n = r, t.startsWith(".") && (t = t.slice(1)), n = n + t, n;
498
- }, CurrentGlobal = typeof globalThis == "object" ? globalThis : window, nativeGlobal = (() => {
478
+ const cr = (e, t) => {
479
+ let r;
480
+ return e.endsWith("/") ? r = e.slice(0, -1) : r = e, t.startsWith(".") && (t = t.slice(1)), r = r + t, r;
481
+ }, I = typeof globalThis == "object" ? globalThis : window, P = (() => {
499
482
  try {
500
483
  return document.defaultView;
501
484
  } catch {
502
- return CurrentGlobal;
485
+ return I;
503
486
  }
504
- })(), Global = nativeGlobal;
505
- function definePropertyGlobalVal(r, t, n) {
506
- Object.defineProperty(r, t, {
507
- value: n,
487
+ })(), Q = P;
488
+ function ce(e, t, r) {
489
+ Object.defineProperty(e, t, {
490
+ value: r,
508
491
  configurable: !1,
509
492
  writable: !0
510
493
  });
511
494
  }
512
- function includeOwnProperty(r, t) {
513
- return Object.hasOwnProperty.call(r, t);
495
+ function le(e, t) {
496
+ return Object.hasOwnProperty.call(e, t);
514
497
  }
515
- includeOwnProperty(CurrentGlobal, "__GLOBAL_LOADING_REMOTE_ENTRY__") || definePropertyGlobalVal(CurrentGlobal, "__GLOBAL_LOADING_REMOTE_ENTRY__", {});
516
- const globalLoading = CurrentGlobal.__GLOBAL_LOADING_REMOTE_ENTRY__;
517
- function setGlobalDefaultVal(r) {
518
- var t, n, o, s, i, c;
519
- includeOwnProperty(r, "__VMOK__") && !includeOwnProperty(r, "__FEDERATION__") && definePropertyGlobalVal(r, "__FEDERATION__", r.__VMOK__), includeOwnProperty(r, "__FEDERATION__") || (definePropertyGlobalVal(r, "__FEDERATION__", {
498
+ le(I, "__GLOBAL_LOADING_REMOTE_ENTRY__") || ce(I, "__GLOBAL_LOADING_REMOTE_ENTRY__", {});
499
+ const V = I.__GLOBAL_LOADING_REMOTE_ENTRY__;
500
+ function at(e) {
501
+ var t, r, n, o, s, i;
502
+ le(e, "__VMOK__") && !le(e, "__FEDERATION__") && ce(e, "__FEDERATION__", e.__VMOK__), le(e, "__FEDERATION__") || (ce(e, "__FEDERATION__", {
520
503
  __GLOBAL_PLUGIN__: [],
521
504
  __INSTANCES__: [],
522
505
  moduleInfo: {},
523
506
  __SHARE__: {},
524
507
  __MANIFEST_LOADING__: {},
525
508
  __PRELOADED_MAP__: /* @__PURE__ */ new Map()
526
- }), definePropertyGlobalVal(r, "__VMOK__", r.__FEDERATION__)), (t = r.__FEDERATION__).__GLOBAL_PLUGIN__ ?? (t.__GLOBAL_PLUGIN__ = []), (n = r.__FEDERATION__).__INSTANCES__ ?? (n.__INSTANCES__ = []), (o = r.__FEDERATION__).moduleInfo ?? (o.moduleInfo = {}), (s = r.__FEDERATION__).__SHARE__ ?? (s.__SHARE__ = {}), (i = r.__FEDERATION__).__MANIFEST_LOADING__ ?? (i.__MANIFEST_LOADING__ = {}), (c = r.__FEDERATION__).__PRELOADED_MAP__ ?? (c.__PRELOADED_MAP__ = /* @__PURE__ */ new Map());
509
+ }), ce(e, "__VMOK__", e.__FEDERATION__)), (t = e.__FEDERATION__).__GLOBAL_PLUGIN__ ?? (t.__GLOBAL_PLUGIN__ = []), (r = e.__FEDERATION__).__INSTANCES__ ?? (r.__INSTANCES__ = []), (n = e.__FEDERATION__).moduleInfo ?? (n.moduleInfo = {}), (o = e.__FEDERATION__).__SHARE__ ?? (o.__SHARE__ = {}), (s = e.__FEDERATION__).__MANIFEST_LOADING__ ?? (s.__MANIFEST_LOADING__ = {}), (i = e.__FEDERATION__).__PRELOADED_MAP__ ?? (i.__PRELOADED_MAP__ = /* @__PURE__ */ new Map());
527
510
  }
528
- setGlobalDefaultVal(CurrentGlobal);
529
- setGlobalDefaultVal(nativeGlobal);
530
- function setGlobalFederationConstructor(r, t = isDebugMode()) {
531
- t && (CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = r, CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = "2.0.0");
511
+ at(I);
512
+ at(P);
513
+ function lr(e, t = we()) {
514
+ t && (I.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = e, I.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = "2.1.0");
532
515
  }
533
- function getInfoWithoutType(r, t) {
516
+ function q(e, t) {
534
517
  if (typeof t == "string") {
535
- if (r[t])
536
- return {
537
- value: r[t],
538
- key: t
539
- };
518
+ if (e[t]) return {
519
+ value: e[t],
520
+ key: t
521
+ };
540
522
  {
541
- const o = Object.keys(r);
542
- for (const s of o) {
543
- const [i, c] = s.split(":"), a = `${i}:${t}`, u = r[a];
544
- if (u)
545
- return {
546
- value: u,
547
- key: a
548
- };
523
+ const r = Object.keys(e);
524
+ for (const n of r) {
525
+ const [o, s] = n.split(":"), i = `${o}:${t}`, a = e[i];
526
+ if (a) return {
527
+ value: a,
528
+ key: i
529
+ };
549
530
  }
550
531
  return {
551
532
  value: void 0,
552
533
  key: t
553
534
  };
554
535
  }
555
- } else
556
- throw new Error("key must be string");
557
- }
558
- const getGlobalSnapshot = () => nativeGlobal.__FEDERATION__.moduleInfo, getTargetSnapshotInfoByModuleInfo = (r, t) => {
559
- const n = getFMId(r), o = getInfoWithoutType(t, n).value;
560
- if (o && !o.version && "version" in r && r.version && (o.version = r.version), o)
561
- return o;
562
- if ("version" in r && r.version) {
563
- const { version: s, ...i } = r, c = getFMId(i), a = getInfoWithoutType(nativeGlobal.__FEDERATION__.moduleInfo, c).value;
564
- if ((a == null ? void 0 : a.version) === s)
565
- return a;
566
- }
567
- }, getGlobalSnapshotInfoByModuleInfo = (r) => getTargetSnapshotInfoByModuleInfo(r, nativeGlobal.__FEDERATION__.moduleInfo), setGlobalSnapshotInfoByModuleInfo = (r, t) => {
568
- const n = getFMId(r);
569
- return nativeGlobal.__FEDERATION__.moduleInfo[n] = t, nativeGlobal.__FEDERATION__.moduleInfo;
570
- }, addGlobalSnapshot = (r) => (nativeGlobal.__FEDERATION__.moduleInfo = {
571
- ...nativeGlobal.__FEDERATION__.moduleInfo,
572
- ...r
536
+ } else throw new Error("key must be string");
537
+ }
538
+ const He = () => P.__FEDERATION__.moduleInfo, ur = (e, t) => {
539
+ const r = q(t, Z(e)).value;
540
+ if (r && !r.version && "version" in e && e.version && (r.version = e.version), r) return r;
541
+ if ("version" in e && e.version) {
542
+ const { version: n, ...o } = e, s = Z(o), i = q(P.__FEDERATION__.moduleInfo, s).value;
543
+ if ((i == null ? void 0 : i.version) === n) return i;
544
+ }
545
+ }, ue = (e) => ur(e, P.__FEDERATION__.moduleInfo), Ge = (e, t) => {
546
+ const r = Z(e);
547
+ return P.__FEDERATION__.moduleInfo[r] = t, P.__FEDERATION__.moduleInfo;
548
+ }, fr = (e) => (P.__FEDERATION__.moduleInfo = {
549
+ ...P.__FEDERATION__.moduleInfo,
550
+ ...e
573
551
  }, () => {
574
- const t = Object.keys(r);
575
- for (const n of t)
576
- delete nativeGlobal.__FEDERATION__.moduleInfo[n];
577
- }), getRemoteEntryExports = (r, t) => {
578
- const n = t || `__FEDERATION_${r}:custom__`, o = CurrentGlobal[n];
552
+ const t = Object.keys(e);
553
+ for (const r of t) delete P.__FEDERATION__.moduleInfo[r];
554
+ }), Me = (e, t) => {
555
+ const r = t || `__FEDERATION_${e}:custom__`;
579
556
  return {
580
- remoteEntryKey: n,
581
- entryExports: o
557
+ remoteEntryKey: r,
558
+ entryExports: I[r]
582
559
  };
583
- }, getGlobalHostPlugins = () => nativeGlobal.__FEDERATION__.__GLOBAL_PLUGIN__, getPreloaded = (r) => CurrentGlobal.__FEDERATION__.__PRELOADED_MAP__.get(r), setPreloaded = (r) => CurrentGlobal.__FEDERATION__.__PRELOADED_MAP__.set(r, !0), DEFAULT_SCOPE = "default", DEFAULT_REMOTE_TYPE = "global", buildIdentifier = "[0-9A-Za-z-]+", build = `(?:\\+(${buildIdentifier}(?:\\.${buildIdentifier})*))`, numericIdentifier = "0|[1-9]\\d*", numericIdentifierLoose = "[0-9]+", nonNumericIdentifier = "\\d*[a-zA-Z-][a-zA-Z0-9-]*", preReleaseIdentifierLoose = `(?:${numericIdentifierLoose}|${nonNumericIdentifier})`, preReleaseLoose = `(?:-?(${preReleaseIdentifierLoose}(?:\\.${preReleaseIdentifierLoose})*))`, preReleaseIdentifier = `(?:${numericIdentifier}|${nonNumericIdentifier})`, preRelease = `(?:-(${preReleaseIdentifier}(?:\\.${preReleaseIdentifier})*))`, xRangeIdentifier = `${numericIdentifier}|x|X|\\*`, xRangePlain = `[v=\\s]*(${xRangeIdentifier})(?:\\.(${xRangeIdentifier})(?:\\.(${xRangeIdentifier})(?:${preRelease})?${build}?)?)?`, hyphenRange = `^\\s*(${xRangePlain})\\s+-\\s+(${xRangePlain})\\s*$`, mainVersionLoose = `(${numericIdentifierLoose})\\.(${numericIdentifierLoose})\\.(${numericIdentifierLoose})`, loosePlain = `[v=\\s]*${mainVersionLoose}${preReleaseLoose}?${build}?`, gtlt = "((?:<|>)?=?)", comparatorTrim = `(\\s*)${gtlt}\\s*(${loosePlain}|${xRangePlain})`, loneTilde = "(?:~>?)", tildeTrim = `(\\s*)${loneTilde}\\s+`, loneCaret = "(?:\\^)", caretTrim = `(\\s*)${loneCaret}\\s+`, star = "(<|>)?=?\\s*\\*", caret = `^${loneCaret}${xRangePlain}$`, mainVersion = `(${numericIdentifier})\\.(${numericIdentifier})\\.(${numericIdentifier})`, fullPlain = `v?${mainVersion}${preRelease}?${build}?`, tilde = `^${loneTilde}${xRangePlain}$`, xRange = `^${gtlt}\\s*${xRangePlain}$`, comparator = `^${gtlt}\\s*(${fullPlain})$|^$`, gte0 = "^\\s*>=\\s*0.0.0\\s*$";
584
- function parseRegex(r) {
585
- return new RegExp(r);
560
+ }, hr = () => P.__FEDERATION__.__GLOBAL_PLUGIN__, dr = (e) => I.__FEDERATION__.__PRELOADED_MAP__.get(e), pr = (e) => I.__FEDERATION__.__PRELOADED_MAP__.set(e, !0), Ue = "[0-9A-Za-z-]+", Ce = `(?:\\+(${Ue}(?:\\.${Ue})*))`, Y = "0|[1-9]\\d*", fe = "[0-9]+", ct = "\\d*[a-zA-Z-][a-zA-Z0-9-]*", xe = `(?:${fe}|${ct})`, mr = `(?:-?(${xe}(?:\\.${xe})*))`, Be = `(?:${Y}|${ct})`, lt = `(?:-(${Be}(?:\\.${Be})*))`, be = `${Y}|x|X|\\*`, z = `[v=\\s]*(${be})(?:\\.(${be})(?:\\.(${be})(?:${lt})?${Ce}?)?)?`, yr = `^\\s*(${z})\\s+-\\s+(${z})\\s*$`, Er = `[v=\\s]*${`(${fe})\\.(${fe})\\.(${fe})`}${mr}?${Ce}?`, De = "((?:<|>)?=?)", gr = `(\\s*)${De}\\s*(${Er}|${z})`, ut = "(?:~>?)", _r = `(\\s*)${ut}\\s+`, ft = "(?:\\^)", br = `(\\s*)${ft}\\s+`, Rr = "(<|>)?=?\\s*\\*", Sr = `^${ft}${z}$`, $r = `v?${`(${Y})\\.(${Y})\\.(${Y})`}${lt}?${Ce}?`, wr = `^${ut}${z}$`, Ir = `^${De}\\s*${z}$`, Nr = `^${De}\\s*(${$r})$|^$`, Tr = "^\\s*>=\\s*0.0.0\\s*$";
561
+ function M(e) {
562
+ return new RegExp(e);
586
563
  }
587
- function isXVersion(r) {
588
- return !r || r.toLowerCase() === "x" || r === "*";
564
+ function N(e) {
565
+ return !e || e.toLowerCase() === "x" || e === "*";
589
566
  }
590
- function pipe(...r) {
591
- return (t) => r.reduce((n, o) => o(n), t);
567
+ function ht(...e) {
568
+ return (t) => e.reduce((r, n) => n(r), t);
592
569
  }
593
- function extractComparator(r) {
594
- return r.match(parseRegex(comparator));
570
+ function Ve(e) {
571
+ return e.match(M(Nr));
595
572
  }
596
- function combineVersion(r, t, n, o) {
597
- const s = `${r}.${t}.${n}`;
598
- return o ? `${s}-${o}` : s;
573
+ function We(e, t, r, n) {
574
+ const o = `${e}.${t}.${r}`;
575
+ return n ? `${o}-${n}` : o;
599
576
  }
600
- function parseHyphen(r) {
601
- return r.replace(parseRegex(hyphenRange), (t, n, o, s, i, c, a, u, l, d, y, p) => (isXVersion(o) ? n = "" : isXVersion(s) ? n = `>=${o}.0.0` : isXVersion(i) ? n = `>=${o}.${s}.0` : n = `>=${n}`, isXVersion(l) ? u = "" : isXVersion(d) ? u = `<${Number(l) + 1}.0.0-0` : isXVersion(y) ? u = `<${l}.${Number(d) + 1}.0-0` : p ? u = `<=${l}.${d}.${y}-${p}` : u = `<=${u}`, `${n} ${u}`.trim()));
577
+ function Ar(e) {
578
+ return e.replace(M(yr), (t, r, n, o, s, i, a, c, l, f, d, u) => (N(n) ? r = "" : N(o) ? r = `>=${n}.0.0` : N(s) ? r = `>=${n}.${o}.0` : r = `>=${r}`, N(l) ? c = "" : N(f) ? c = `<${Number(l) + 1}.0.0-0` : N(d) ? c = `<${l}.${Number(f) + 1}.0-0` : u ? c = `<=${l}.${f}.${d}-${u}` : c = `<=${c}`, `${r} ${c}`.trim()));
602
579
  }
603
- function parseComparatorTrim(r) {
604
- return r.replace(parseRegex(comparatorTrim), "$1$2$3");
580
+ function vr(e) {
581
+ return e.replace(M(gr), "$1$2$3");
605
582
  }
606
- function parseTildeTrim(r) {
607
- return r.replace(parseRegex(tildeTrim), "$1~");
583
+ function Pr(e) {
584
+ return e.replace(M(_r), "$1~");
608
585
  }
609
- function parseCaretTrim(r) {
610
- return r.replace(parseRegex(caretTrim), "$1^");
586
+ function kr(e) {
587
+ return e.replace(M(br), "$1^");
611
588
  }
612
- function parseCarets(r) {
613
- return r.trim().split(/\s+/).map((t) => t.replace(parseRegex(caret), (n, o, s, i, c) => isXVersion(o) ? "" : isXVersion(s) ? `>=${o}.0.0 <${Number(o) + 1}.0.0-0` : isXVersion(i) ? o === "0" ? `>=${o}.${s}.0 <${o}.${Number(s) + 1}.0-0` : `>=${o}.${s}.0 <${Number(o) + 1}.0.0-0` : c ? o === "0" ? s === "0" ? `>=${o}.${s}.${i}-${c} <${o}.${s}.${Number(i) + 1}-0` : `>=${o}.${s}.${i}-${c} <${o}.${Number(s) + 1}.0-0` : `>=${o}.${s}.${i}-${c} <${Number(o) + 1}.0.0-0` : o === "0" ? s === "0" ? `>=${o}.${s}.${i} <${o}.${s}.${Number(i) + 1}-0` : `>=${o}.${s}.${i} <${o}.${Number(s) + 1}.0-0` : `>=${o}.${s}.${i} <${Number(o) + 1}.0.0-0`)).join(" ");
589
+ function Or(e) {
590
+ return e.trim().split(/\s+/).map((t) => t.replace(M(Sr), (r, n, o, s, i) => N(n) ? "" : N(o) ? `>=${n}.0.0 <${Number(n) + 1}.0.0-0` : N(s) ? n === "0" ? `>=${n}.${o}.0 <${n}.${Number(o) + 1}.0-0` : `>=${n}.${o}.0 <${Number(n) + 1}.0.0-0` : i ? n === "0" ? o === "0" ? `>=${n}.${o}.${s}-${i} <${n}.${o}.${Number(s) + 1}-0` : `>=${n}.${o}.${s}-${i} <${n}.${Number(o) + 1}.0-0` : `>=${n}.${o}.${s}-${i} <${Number(n) + 1}.0.0-0` : n === "0" ? o === "0" ? `>=${n}.${o}.${s} <${n}.${o}.${Number(s) + 1}-0` : `>=${n}.${o}.${s} <${n}.${Number(o) + 1}.0-0` : `>=${n}.${o}.${s} <${Number(n) + 1}.0.0-0`)).join(" ");
614
591
  }
615
- function parseTildes(r) {
616
- return r.trim().split(/\s+/).map((t) => t.replace(parseRegex(tilde), (n, o, s, i, c) => isXVersion(o) ? "" : isXVersion(s) ? `>=${o}.0.0 <${Number(o) + 1}.0.0-0` : isXVersion(i) ? `>=${o}.${s}.0 <${o}.${Number(s) + 1}.0-0` : c ? `>=${o}.${s}.${i}-${c} <${o}.${Number(s) + 1}.0-0` : `>=${o}.${s}.${i} <${o}.${Number(s) + 1}.0-0`)).join(" ");
592
+ function Lr(e) {
593
+ return e.trim().split(/\s+/).map((t) => t.replace(M(wr), (r, n, o, s, i) => N(n) ? "" : N(o) ? `>=${n}.0.0 <${Number(n) + 1}.0.0-0` : N(s) ? `>=${n}.${o}.0 <${n}.${Number(o) + 1}.0-0` : i ? `>=${n}.${o}.${s}-${i} <${n}.${Number(o) + 1}.0-0` : `>=${n}.${o}.${s} <${n}.${Number(o) + 1}.0-0`)).join(" ");
617
594
  }
618
- function parseXRanges(r) {
619
- return r.split(/\s+/).map((t) => t.trim().replace(parseRegex(xRange), (n, o, s, i, c, a) => {
620
- const u = isXVersion(s), l = u || isXVersion(i), d = l || isXVersion(c);
621
- return o === "=" && d && (o = ""), a = "", u ? o === ">" || o === "<" ? "<0.0.0-0" : "*" : o && d ? (l && (i = 0), c = 0, o === ">" ? (o = ">=", l ? (s = Number(s) + 1, i = 0, c = 0) : (i = Number(i) + 1, c = 0)) : o === "<=" && (o = "<", l ? s = Number(s) + 1 : i = Number(i) + 1), o === "<" && (a = "-0"), `${o + s}.${i}.${c}${a}`) : l ? `>=${s}.0.0${a} <${Number(s) + 1}.0.0-0` : d ? `>=${s}.${i}.0${a} <${s}.${Number(i) + 1}.0-0` : n;
595
+ function Mr(e) {
596
+ return e.split(/\s+/).map((t) => t.trim().replace(M(Ir), (r, n, o, s, i, a) => {
597
+ const c = N(o), l = c || N(s), f = l || N(i);
598
+ return n === "=" && f && (n = ""), a = "", c ? n === ">" || n === "<" ? "<0.0.0-0" : "*" : n && f ? (l && (s = 0), i = 0, n === ">" ? (n = ">=", l ? (o = Number(o) + 1, s = 0, i = 0) : (s = Number(s) + 1, i = 0)) : n === "<=" && (n = "<", l ? o = Number(o) + 1 : s = Number(s) + 1), n === "<" && (a = "-0"), `${n + o}.${s}.${i}${a}`) : l ? `>=${o}.0.0${a} <${Number(o) + 1}.0.0-0` : f ? `>=${o}.${s}.0${a} <${o}.${Number(s) + 1}.0-0` : r;
622
599
  })).join(" ");
623
600
  }
624
- function parseStar(r) {
625
- return r.trim().replace(parseRegex(star), "");
601
+ function Cr(e) {
602
+ return e.trim().replace(M(Rr), "");
626
603
  }
627
- function parseGTE0(r) {
628
- return r.trim().replace(parseRegex(gte0), "");
604
+ function Dr(e) {
605
+ return e.trim().replace(M(Tr), "");
629
606
  }
630
- function compareAtom(r, t) {
631
- return r = Number(r) || r, t = Number(t) || t, r > t ? 1 : r === t ? 0 : -1;
607
+ function he(e, t) {
608
+ return e = Number(e) || e, t = Number(t) || t, e > t ? 1 : e === t ? 0 : -1;
632
609
  }
633
- function comparePreRelease(r, t) {
634
- const { preRelease: n } = r, { preRelease: o } = t;
635
- if (n === void 0 && o)
636
- return 1;
637
- if (n && o === void 0)
638
- return -1;
639
- if (n === void 0 && o === void 0)
640
- return 0;
641
- for (let s = 0, i = n.length; s <= i; s++) {
642
- const c = n[s], a = o[s];
643
- if (c !== a)
644
- return c === void 0 && a === void 0 ? 0 : c ? a ? compareAtom(c, a) : -1 : 1;
610
+ function Fr(e, t) {
611
+ const { preRelease: r } = e, { preRelease: n } = t;
612
+ if (r === void 0 && n) return 1;
613
+ if (r && n === void 0) return -1;
614
+ if (r === void 0 && n === void 0) return 0;
615
+ for (let o = 0, s = r.length; o <= s; o++) {
616
+ const i = r[o], a = n[o];
617
+ if (i !== a)
618
+ return i === void 0 && a === void 0 ? 0 : i ? a ? he(i, a) : -1 : 1;
645
619
  }
646
620
  return 0;
647
621
  }
648
- function compareVersion(r, t) {
649
- return compareAtom(r.major, t.major) || compareAtom(r.minor, t.minor) || compareAtom(r.patch, t.patch) || comparePreRelease(r, t);
622
+ function se(e, t) {
623
+ return he(e.major, t.major) || he(e.minor, t.minor) || he(e.patch, t.patch) || Fr(e, t);
650
624
  }
651
- function eq(r, t) {
652
- return r.version === t.version;
625
+ function Re(e, t) {
626
+ return e.version === t.version;
653
627
  }
654
- function compare(r, t) {
655
- switch (r.operator) {
628
+ function Hr(e, t) {
629
+ switch (e.operator) {
656
630
  case "":
657
631
  case "=":
658
- return eq(r, t);
632
+ return Re(e, t);
659
633
  case ">":
660
- return compareVersion(r, t) < 0;
634
+ return se(e, t) < 0;
661
635
  case ">=":
662
- return eq(r, t) || compareVersion(r, t) < 0;
636
+ return Re(e, t) || se(e, t) < 0;
663
637
  case "<":
664
- return compareVersion(r, t) > 0;
638
+ return se(e, t) > 0;
665
639
  case "<=":
666
- return eq(r, t) || compareVersion(r, t) > 0;
640
+ return Re(e, t) || se(e, t) > 0;
667
641
  case void 0:
668
642
  return !0;
669
643
  default:
670
644
  return !1;
671
645
  }
672
646
  }
673
- function parseComparatorString(r) {
674
- return pipe(
675
- // handle caret
676
- // ^ --> * (any, kinda silly)
677
- // ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0
678
- // ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0
679
- // ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0
680
- // ^1.2.3 --> >=1.2.3 <2.0.0-0
681
- // ^1.2.0 --> >=1.2.0 <2.0.0-0
682
- parseCarets,
683
- // handle tilde
684
- // ~, ~> --> * (any, kinda silly)
685
- // ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0
686
- // ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0
687
- // ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0
688
- // ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0
689
- // ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0
690
- parseTildes,
691
- parseXRanges,
692
- parseStar
693
- )(r);
694
- }
695
- function parseRange(r) {
696
- return pipe(
697
- // handle hyphenRange
698
- // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
699
- parseHyphen,
700
- // handle trim comparator
701
- // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
702
- parseComparatorTrim,
703
- // handle trim tilde
704
- // `~ 1.2.3` => `~1.2.3`
705
- parseTildeTrim,
706
- // handle trim caret
707
- // `^ 1.2.3` => `^1.2.3`
708
- parseCaretTrim
709
- )(r.trim()).split(/\s+/).join(" ");
710
- }
711
- function satisfy(r, t) {
712
- if (!r)
713
- return !1;
714
- const n = extractComparator(r);
715
- if (!n)
716
- return !1;
717
- const [, o, , s, i, c, a] = n, u = {
718
- operator: o,
719
- version: combineVersion(s, i, c, a),
720
- // exclude build atom
721
- major: s,
722
- minor: i,
723
- patch: c,
647
+ function Gr(e) {
648
+ return ht(Or, Lr, Mr, Cr)(e);
649
+ }
650
+ function Ur(e) {
651
+ return ht(Ar, vr, Pr, kr)(e.trim()).split(/\s+/).join(" ");
652
+ }
653
+ function X(e, t) {
654
+ if (!e) return !1;
655
+ const r = Ve(e);
656
+ if (!r) return !1;
657
+ const [, n, , o, s, i, a] = r, c = {
658
+ operator: n,
659
+ version: We(o, s, i, a),
660
+ major: o,
661
+ minor: s,
662
+ patch: i,
724
663
  preRelease: a == null ? void 0 : a.split(".")
725
664
  }, l = t.split("||");
726
- for (const d of l) {
727
- const y = d.trim();
728
- if (!y || y === "*" || y === "x")
729
- return !0;
665
+ for (const f of l) {
666
+ const d = f.trim();
667
+ if (!d || d === "*" || d === "x") return !0;
730
668
  try {
731
- const p = parseRange(y);
732
- if (!p.trim())
733
- return !0;
734
- const m = p.split(" ").map((E) => parseComparatorString(E)).join(" ");
735
- if (!m.trim())
736
- return !0;
737
- const g = m.split(/\s+/).map((E) => parseGTE0(E)).filter(Boolean);
738
- if (g.length === 0)
739
- continue;
740
- let b = !0;
741
- for (const E of g) {
742
- const R = extractComparator(E);
743
- if (!R) {
744
- b = !1;
669
+ const u = Ur(d);
670
+ if (!u.trim()) return !0;
671
+ const h = u.split(" ").map((E) => Gr(E)).join(" ");
672
+ if (!h.trim()) return !0;
673
+ const p = h.split(/\s+/).map((E) => Dr(E)).filter(Boolean);
674
+ if (p.length === 0) continue;
675
+ let y = !0;
676
+ for (const E of p) {
677
+ const m = Ve(E);
678
+ if (!m) {
679
+ y = !1;
745
680
  break;
746
681
  }
747
- const [, S, , _, T, I, A] = R, w = {
748
- operator: S,
749
- version: combineVersion(_, T, I, A),
750
- major: _,
751
- minor: T,
752
- patch: I,
753
- preRelease: A == null ? void 0 : A.split(".")
754
- };
755
- if (!compare(w, u)) {
756
- b = !1;
682
+ const [, g, , b, w, _, S] = m;
683
+ if (!Hr({
684
+ operator: g,
685
+ version: We(b, w, _, S),
686
+ major: b,
687
+ minor: w,
688
+ patch: _,
689
+ preRelease: S == null ? void 0 : S.split(".")
690
+ }, c)) {
691
+ y = !1;
757
692
  break;
758
693
  }
759
694
  }
760
- if (b)
761
- return !0;
762
- } catch (p) {
763
- console.error(`[semver] Error processing range part "${y}":`, p);
695
+ if (y) return !0;
696
+ } catch (u) {
697
+ console.error(`[semver] Error processing range part "${d}":`, u);
764
698
  continue;
765
699
  }
766
700
  }
767
701
  return !1;
768
702
  }
769
- function formatShare(r, t, n, o) {
770
- var i;
771
- let s;
772
- if ("get" in r ? s = r.get : "lib" in r ? s = () => Promise.resolve(r.lib) : s = () => Promise.resolve(() => {
773
- throw new Error(`Can not get shared '${n}'!`);
774
- }), (i = r.shareConfig) != null && i.eager && r.treeShaking)
775
- throw new Error('Can not set "eager:true" and "treeShaking" at the same time!');
703
+ const re = "default", dt = "global";
704
+ function xr(e, t, r, n) {
705
+ var s, i;
706
+ let o;
707
+ if ("get" in e ? o = e.get : "lib" in e ? o = () => Promise.resolve(e.lib) : o = () => Promise.resolve(() => {
708
+ throw new Error(`Can not get shared '${r}'!`);
709
+ }), (s = e.shareConfig) != null && s.eager && ((i = e.treeShaking) != null && i.mode)) throw new Error('Can not set "eager:true" and "treeShaking" at the same time!');
776
710
  return {
777
711
  deps: [],
778
712
  useIn: [],
779
713
  from: t,
780
714
  loading: null,
781
- ...r,
715
+ ...e,
782
716
  shareConfig: {
783
- requiredVersion: `^${r.version}`,
717
+ requiredVersion: `^${e.version}`,
784
718
  singleton: !1,
785
719
  eager: !1,
786
720
  strictVersion: !1,
787
- ...r.shareConfig
721
+ ...e.shareConfig
788
722
  },
789
- get: s,
790
- loaded: r != null && r.loaded || "lib" in r ? !0 : void 0,
791
- version: r.version ?? "0",
792
- scope: Array.isArray(r.scope) ? r.scope : [r.scope ?? "default"],
793
- strategy: (r.strategy ?? o) || "version-first",
794
- treeShaking: r.treeShaking ? {
795
- ...r.treeShaking,
796
- mode: r.treeShaking.mode ?? "server-calc",
797
- status: r.treeShaking.status ?? 1,
723
+ get: o,
724
+ loaded: e != null && e.loaded || "lib" in e ? !0 : void 0,
725
+ version: e.version ?? "0",
726
+ scope: Array.isArray(e.scope) ? e.scope : [e.scope ?? "default"],
727
+ strategy: (e.strategy ?? n) || "version-first",
728
+ treeShaking: e.treeShaking ? {
729
+ ...e.treeShaking,
730
+ mode: e.treeShaking.mode ?? "server-calc",
731
+ status: e.treeShaking.status ?? $e.UNKNOWN,
798
732
  useIn: []
799
733
  } : void 0
800
734
  };
801
735
  }
802
- function formatShareConfigs(r, t) {
803
- const n = t.shared || {}, o = t.name, s = Object.keys(n).reduce((c, a) => {
804
- const u = arrayOptions(n[a]);
805
- return c[a] = c[a] || [], u.forEach((l) => {
806
- c[a].push(formatShare(l, o, a, t.shareStrategy));
807
- }), c;
808
- }, {}), i = {
809
- ...r.shared
736
+ function pt(e, t) {
737
+ const r = t.shared || {}, n = t.name, o = Object.keys(r).reduce((i, a) => {
738
+ const c = st(r[a]);
739
+ return i[a] = i[a] || [], c.forEach((l) => {
740
+ i[a].push(xr(l, n, a, t.shareStrategy));
741
+ }), i;
742
+ }, {}), s = { ...e.shared };
743
+ return Object.keys(o).forEach((i) => {
744
+ s[i] ? o[i].forEach((a) => {
745
+ s[i].find((c) => c.version === a.version) || s[i].push(a);
746
+ }) : s[i] = o[i];
747
+ }), {
748
+ allShareInfos: s,
749
+ newShareInfos: o
810
750
  };
811
- return Object.keys(s).forEach((c) => {
812
- i[c] ? s[c].forEach((a) => {
813
- i[c].find((l) => l.version === a.version) || i[c].push(a);
814
- }) : i[c] = s[c];
815
- }), { allShareInfos: i, newShareInfos: s };
816
- }
817
- function shouldUseTreeShaking(r, t) {
818
- if (!r)
819
- return !1;
820
- const { status: n, mode: o } = r;
821
- return n === 0 ? !1 : n === 2 ? !0 : o === "runtime-infer" ? t ? isMatchUsedExports(r, t) : !0 : !1;
822
- }
823
- function versionLt(r, t) {
824
- const n = (o) => {
825
- if (!Number.isNaN(Number(o))) {
826
- const i = o.split(".");
827
- let c = o;
828
- for (let a = 0; a < 3 - i.length; a++)
829
- c += ".0";
830
- return c;
751
+ }
752
+ function ee(e, t) {
753
+ if (!e) return !1;
754
+ const { status: r, mode: n } = e;
755
+ return r === $e.NO_USE ? !1 : r === $e.CALCULATED ? !0 : n === "runtime-infer" ? t ? Vr(e, t) : !0 : !1;
756
+ }
757
+ function G(e, t) {
758
+ const r = (n) => {
759
+ if (!Number.isNaN(Number(n))) {
760
+ const o = n.split(".");
761
+ let s = n;
762
+ for (let i = 0; i < 3 - o.length; i++) s += ".0";
763
+ return s;
831
764
  }
832
- return o;
765
+ return n;
833
766
  };
834
- return !!satisfy(n(r), `<=${n(t)}`);
767
+ return !!X(r(e), `<=${r(t)}`);
835
768
  }
836
- const findVersion = (r, t) => {
837
- const n = t || function(o, s) {
838
- return versionLt(o, s);
769
+ const te = (e, t) => {
770
+ const r = t || function(n, o) {
771
+ return G(n, o);
839
772
  };
840
- return Object.keys(r).reduce((o, s) => !o || n(o, s) || o === "0" ? s : o, 0);
841
- }, isLoaded = (r) => !!r.loaded || typeof r.lib == "function", isLoading = (r) => !!r.loading, isMatchUsedExports = (r, t) => {
842
- if (!r || !t)
843
- return !1;
844
- const { usedExports: n } = r;
845
- return n ? !!t.every((o) => n.includes(o)) : !1;
773
+ return Object.keys(e).reduce((n, o) => !n || r(n, o) || n === "0" ? o : n, 0);
774
+ }, pe = (e) => !!e.loaded || typeof e.lib == "function", Br = (e) => !!e.loading, Vr = (e, t) => {
775
+ if (!e || !t) return !1;
776
+ const { usedExports: r } = e;
777
+ return r ? !!t.every((n) => r.includes(n)) : !1;
846
778
  };
847
- function findSingletonVersionOrderByVersion(r, t, n, o) {
848
- const s = r[t][n];
849
- let i = "", c = shouldUseTreeShaking(o);
850
- const a = function(u, l) {
851
- return c ? s[u].treeShaking ? s[l].treeShaking ? !isLoaded(s[u].treeShaking) && versionLt(u, l) : !1 : !0 : !isLoaded(s[u]) && versionLt(u, l);
779
+ function Wr(e, t, r, n) {
780
+ const o = e[t][r];
781
+ let s = "", i = ee(n);
782
+ const a = function(c, l) {
783
+ return i ? o[c].treeShaking ? o[l].treeShaking ? !pe(o[c].treeShaking) && G(c, l) : !1 : !0 : !pe(o[c]) && G(c, l);
852
784
  };
853
- if (c) {
854
- if (i = findVersion(r[t][n], a), i)
855
- return {
856
- version: i,
857
- useTreesShaking: c
858
- };
859
- c = !1;
785
+ if (i) {
786
+ if (s = te(e[t][r], a), s) return {
787
+ version: s,
788
+ useTreesShaking: i
789
+ };
790
+ i = !1;
860
791
  }
861
792
  return {
862
- version: findVersion(r[t][n], a),
863
- useTreesShaking: c
793
+ version: te(e[t][r], a),
794
+ useTreesShaking: i
864
795
  };
865
796
  }
866
- const isLoadingOrLoaded = (r) => isLoaded(r) || isLoading(r);
867
- function findSingletonVersionOrderByLoaded(r, t, n, o) {
868
- const s = r[t][n];
869
- let i = "", c = shouldUseTreeShaking(o);
870
- const a = function(u, l) {
871
- if (c) {
872
- if (!s[u].treeShaking)
873
- return !0;
874
- if (!s[l].treeShaking)
875
- return !1;
876
- if (isLoadingOrLoaded(s[l].treeShaking))
877
- return isLoadingOrLoaded(s[u].treeShaking) ? !!versionLt(u, l) : !0;
878
- if (isLoadingOrLoaded(s[u].treeShaking))
879
- return !1;
797
+ const U = (e) => pe(e) || Br(e);
798
+ function jr(e, t, r, n) {
799
+ const o = e[t][r];
800
+ let s = "", i = ee(n);
801
+ const a = function(c, l) {
802
+ if (i) {
803
+ if (!o[c].treeShaking) return !0;
804
+ if (!o[l].treeShaking) return !1;
805
+ if (U(o[l].treeShaking)) return U(o[c].treeShaking) ? !!G(c, l) : !0;
806
+ if (U(o[c].treeShaking)) return !1;
880
807
  }
881
- return isLoadingOrLoaded(s[l]) ? isLoadingOrLoaded(s[u]) ? !!versionLt(u, l) : !0 : isLoadingOrLoaded(s[u]) ? !1 : versionLt(u, l);
808
+ return U(o[l]) ? U(o[c]) ? !!G(c, l) : !0 : U(o[c]) ? !1 : G(c, l);
882
809
  };
883
- if (c) {
884
- if (i = findVersion(r[t][n], a), i)
885
- return {
886
- version: i,
887
- useTreesShaking: c
888
- };
889
- c = !1;
810
+ if (i) {
811
+ if (s = te(e[t][r], a), s) return {
812
+ version: s,
813
+ useTreesShaking: i
814
+ };
815
+ i = !1;
890
816
  }
891
817
  return {
892
- version: findVersion(r[t][n], a),
893
- useTreesShaking: c
818
+ version: te(e[t][r], a),
819
+ useTreesShaking: i
894
820
  };
895
821
  }
896
- function getFindShareFunction(r) {
897
- return r === "loaded-first" ? findSingletonVersionOrderByLoaded : findSingletonVersionOrderByVersion;
898
- }
899
- function getRegisteredShare(r, t, n, o) {
900
- if (!r)
901
- return;
902
- const { shareConfig: s, scope: i = DEFAULT_SCOPE, strategy: c, treeShaking: a } = n, u = Array.isArray(i) ? i : [i];
903
- for (const l of u)
904
- if (s && r[l] && r[l][t]) {
905
- const { requiredVersion: d } = s, y = getFindShareFunction(c), { version: p, useTreesShaking: m } = y(r, l, t, a), g = () => {
906
- const R = r[l][t][p];
907
- if (s.singleton) {
908
- if (typeof d == "string" && !satisfy(p, d)) {
909
- const S = `Version ${p} from ${p && R.from} of shared singleton module ${t} does not satisfy the requirement of ${n.from} which needs ${d})`;
910
- s.strictVersion ? error(S) : warn(S);
911
- }
912
- return {
913
- shared: R,
914
- useTreesShaking: m
915
- };
916
- } else {
917
- if (d === !1 || d === "*")
918
- return {
919
- shared: R,
920
- useTreesShaking: m
921
- };
922
- if (satisfy(p, d))
923
- return {
924
- shared: R,
925
- useTreesShaking: m
926
- };
927
- const S = shouldUseTreeShaking(a);
928
- if (S) {
929
- for (const [_, T] of Object.entries(r[l][t]))
930
- if (shouldUseTreeShaking(T.treeShaking, a == null ? void 0 : a.usedExports) && satisfy(_, d))
931
- return {
932
- shared: T,
933
- useTreesShaking: S
934
- };
935
- }
936
- for (const [_, T] of Object.entries(r[l][t]))
937
- if (satisfy(_, d))
822
+ function Kr(e) {
823
+ return e === "loaded-first" ? jr : Wr;
824
+ }
825
+ function de(e, t, r, n) {
826
+ if (!e) return;
827
+ const { shareConfig: o, scope: s = re, strategy: i, treeShaking: a } = r, c = Array.isArray(s) ? s : [s];
828
+ for (const l of c) if (o && e[l] && e[l][t]) {
829
+ const { requiredVersion: f } = o, { version: d, useTreesShaking: u } = Kr(i)(e, l, t, a), h = () => {
830
+ const y = e[l][t][d];
831
+ if (o.singleton) {
832
+ if (typeof f == "string" && !X(d, f)) {
833
+ const E = `Version ${d} from ${d && y.from} of shared singleton module ${t} does not satisfy the requirement of ${r.from} which needs ${f})`;
834
+ o.strictVersion ? k(E) : ke(E);
835
+ }
836
+ return {
837
+ shared: y,
838
+ useTreesShaking: u
839
+ };
840
+ } else {
841
+ if (f === !1 || f === "*") return {
842
+ shared: y,
843
+ useTreesShaking: u
844
+ };
845
+ if (X(d, f)) return {
846
+ shared: y,
847
+ useTreesShaking: u
848
+ };
849
+ const E = ee(a);
850
+ if (E) {
851
+ for (const [m, g] of Object.entries(e[l][t]))
852
+ if (ee(g.treeShaking, a == null ? void 0 : a.usedExports) && X(m, f))
938
853
  return {
939
- shared: T,
940
- useTreesShaking: !1
854
+ shared: g,
855
+ useTreesShaking: E
941
856
  };
942
857
  }
943
- }, b = {
944
- shareScopeMap: r,
945
- scope: l,
946
- pkgName: t,
947
- version: p,
948
- GlobalFederation: Global.__FEDERATION__,
949
- shareInfo: n,
950
- resolver: g
951
- };
952
- return (o.emit(b) || b).resolver();
953
- }
858
+ for (const [m, g] of Object.entries(e[l][t])) if (X(m, f)) return {
859
+ shared: g,
860
+ useTreesShaking: !1
861
+ };
862
+ }
863
+ }, p = {
864
+ shareScopeMap: e,
865
+ scope: l,
866
+ pkgName: t,
867
+ version: d,
868
+ GlobalFederation: Q.__FEDERATION__,
869
+ shareInfo: r,
870
+ resolver: h
871
+ };
872
+ return (n.emit(p) || p).resolver();
873
+ }
954
874
  }
955
- function getGlobalShareScope() {
956
- return Global.__FEDERATION__.__SHARE__;
875
+ function mt() {
876
+ return Q.__FEDERATION__.__SHARE__;
957
877
  }
958
- function getTargetSharedOptions(r) {
959
- const { pkgName: t, extraOptions: n, shareInfos: o } = r, s = (u) => {
960
- if (!u)
961
- return;
878
+ function je(e) {
879
+ const { pkgName: t, extraOptions: r, shareInfos: n } = e, o = (c) => {
880
+ if (!c) return;
962
881
  const l = {};
963
- u.forEach((p) => {
964
- l[p.version] = p;
965
- });
966
- const y = findVersion(l, function(p, m) {
967
- return (
968
- // TODO: consider multiple treeShaking shared scenes
969
- !isLoaded(l[p]) && versionLt(p, m)
970
- );
971
- });
972
- return l[y];
973
- }, i = (n == null ? void 0 : n.resolver) ?? s, c = (u) => u !== null && typeof u == "object" && !Array.isArray(u), a = (...u) => {
882
+ return c.forEach((d) => {
883
+ l[d.version] = d;
884
+ }), l[te(l, function(d, u) {
885
+ return !pe(l[d]) && G(d, u);
886
+ })];
887
+ }, s = (r == null ? void 0 : r.resolver) ?? o, i = (c) => c !== null && typeof c == "object" && !Array.isArray(c), a = (...c) => {
974
888
  const l = {};
975
- for (const d of u)
976
- if (d)
977
- for (const [y, p] of Object.entries(d)) {
978
- const m = l[y];
979
- c(m) && c(p) ? l[y] = a(m, p) : p !== void 0 && (l[y] = p);
889
+ for (const f of c)
890
+ if (f)
891
+ for (const [d, u] of Object.entries(f)) {
892
+ const h = l[d];
893
+ i(h) && i(u) ? l[d] = a(h, u) : u !== void 0 && (l[d] = u);
980
894
  }
981
895
  return l;
982
896
  };
983
- return a(i(o[t]), n == null ? void 0 : n.customShareInfo);
897
+ return a(s(n[t]), r == null ? void 0 : r.customShareInfo);
984
898
  }
985
- const addUseIn = (r, t) => {
986
- r.useIn || (r.useIn = []), addUniqueItem(r.useIn, t);
899
+ const x = (e, t) => {
900
+ e.useIn || (e.useIn = []), sr(e.useIn, t);
987
901
  };
988
- function directShare(r, t) {
989
- return t && r.treeShaking ? r.treeShaking : r;
990
- }
991
- function getBuilderId() {
992
- return typeof FEDERATION_BUILD_IDENTIFIER < "u" ? (
993
- //@ts-ignore
994
- FEDERATION_BUILD_IDENTIFIER
995
- ) : "";
996
- }
997
- function matchRemoteWithNameAndExpose(r, t) {
998
- for (const n of r) {
999
- const o = t.startsWith(n.name);
1000
- let s = t.replace(n.name, "");
1001
- if (o) {
1002
- if (s.startsWith("/")) {
1003
- const a = n.name;
1004
- return s = `.${s}`, {
902
+ function ie(e, t) {
903
+ return t && e.treeShaking ? e.treeShaking : e;
904
+ }
905
+ function qr(e, t) {
906
+ for (const r of e) {
907
+ const n = t.startsWith(r.name);
908
+ let o = t.replace(r.name, "");
909
+ if (n) {
910
+ if (o.startsWith("/")) {
911
+ const a = r.name;
912
+ return o = `.${o}`, {
1005
913
  pkgNameOrAlias: a,
1006
- expose: s,
1007
- remote: n
1008
- };
1009
- } else if (s === "")
1010
- return {
1011
- pkgNameOrAlias: n.name,
1012
- expose: ".",
1013
- remote: n
914
+ expose: o,
915
+ remote: r
1014
916
  };
917
+ } else if (o === "") return {
918
+ pkgNameOrAlias: r.name,
919
+ expose: ".",
920
+ remote: r
921
+ };
1015
922
  }
1016
- const i = n.alias && t.startsWith(n.alias);
1017
- let c = n.alias && t.replace(n.alias, "");
1018
- if (n.alias && i) {
1019
- if (c && c.startsWith("/")) {
1020
- const a = n.alias;
1021
- return c = `.${c}`, {
923
+ const s = r.alias && t.startsWith(r.alias);
924
+ let i = r.alias && t.replace(r.alias, "");
925
+ if (r.alias && s) {
926
+ if (i && i.startsWith("/")) {
927
+ const a = r.alias;
928
+ return i = `.${i}`, {
1022
929
  pkgNameOrAlias: a,
1023
- expose: c,
1024
- remote: n
1025
- };
1026
- } else if (c === "")
1027
- return {
1028
- pkgNameOrAlias: n.alias,
1029
- expose: ".",
1030
- remote: n
930
+ expose: i,
931
+ remote: r
1031
932
  };
933
+ } else if (i === "") return {
934
+ pkgNameOrAlias: r.alias,
935
+ expose: ".",
936
+ remote: r
937
+ };
1032
938
  }
1033
939
  }
1034
940
  }
1035
- function matchRemote(r, t) {
1036
- for (const n of r)
1037
- if (t === n.name || n.alias && t === n.alias)
1038
- return n;
941
+ function zr(e, t) {
942
+ for (const r of e)
943
+ if (t === r.name || r.alias && t === r.alias) return r;
1039
944
  }
1040
- function registerPlugins(r, t) {
1041
- const n = getGlobalHostPlugins(), o = [
1042
- t.hooks,
1043
- t.remoteHandler.hooks,
1044
- t.sharedHandler.hooks,
1045
- t.snapshotHandler.hooks,
1046
- t.loaderHook,
1047
- t.bridgeHook
1048
- ];
1049
- return n.length > 0 && n.forEach((s) => {
1050
- r != null && r.find((i) => i.name !== s.name) && r.push(s);
1051
- }), r && r.length > 0 && r.forEach((s) => {
1052
- o.forEach((i) => {
1053
- i.applyPlugin(s, t);
1054
- });
1055
- }), r;
1056
- }
1057
- const importCallback = ".then(callbacks[0]).catch(callbacks[1])";
1058
- async function loadEsmEntry({ entry: r, remoteEntryExports: t }) {
1059
- return new Promise((n, o) => {
945
+ const yt = "RUNTIME-001", Et = "RUNTIME-002", gt = "RUNTIME-003", _t = "RUNTIME-004", bt = "RUNTIME-005", Ae = "RUNTIME-006", Rt = "RUNTIME-007", Fe = "RUNTIME-008", Jr = "RUNTIME-009", St = "RUNTIME-010", Xr = (e) => `View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${e.split("-")[0].toLowerCase()}#${e.toLowerCase()}`, D = (e, t, r, n) => {
946
+ const o = [`${[t[e]]} #${e}`];
947
+ return r && o.push(`args: ${JSON.stringify(r)}`), o.push(Xr(e)), n && o.push(`Original Error Message:
948
+ ${n}`), o.join(`
949
+ `);
950
+ }, L = {
951
+ [yt]: "Failed to get remoteEntry exports.",
952
+ [Et]: 'The remote entry interface does not contain "init"',
953
+ [gt]: "Failed to get manifest.",
954
+ [_t]: "Failed to locate remote.",
955
+ [bt]: "Invalid loadShareSync function call from bundler runtime",
956
+ [Ae]: "Invalid loadShareSync function call from runtime",
957
+ [Rt]: "Failed to get remote snapshot.",
958
+ [Fe]: "Failed to load script resources.",
959
+ [Jr]: "Please call createInstance first.",
960
+ [St]: 'The name option cannot be changed after initialization. If you want to create a new instance with a different name, please use "createInstance" api.'
961
+ };
962
+ ({
963
+ ...L
964
+ });
965
+ const $t = ".then(callbacks[0]).catch(callbacks[1])";
966
+ async function Yr({ entry: e, remoteEntryExports: t }) {
967
+ return new Promise((r, n) => {
1060
968
  try {
1061
- t ? n(t) : typeof FEDERATION_ALLOW_NEW_FUNCTION < "u" ? new Function("callbacks", `import("${r}")${importCallback}`)([
1062
- n,
1063
- o
1064
- ]) : import(
969
+ t ? r(t) : typeof FEDERATION_ALLOW_NEW_FUNCTION < "u" ? new Function("callbacks", `import("${e}")${$t}`)([r, n]) : import(
1065
970
  /* webpackIgnore: true */
1066
971
  /* @vite-ignore */
1067
- r
1068
- ).then(n).catch(o);
1069
- } catch (s) {
1070
- o(s);
972
+ e
973
+ ).then(r).catch(n);
974
+ } catch (o) {
975
+ n(o);
1071
976
  }
1072
977
  });
1073
978
  }
1074
- async function loadSystemJsEntry({ entry: r, remoteEntryExports: t }) {
1075
- return new Promise((n, o) => {
979
+ async function Zr({ entry: e, remoteEntryExports: t }) {
980
+ return new Promise((r, n) => {
1076
981
  try {
1077
- t ? n(t) : typeof __system_context__ > "u" ? System.import(r).then(n).catch(o) : new Function("callbacks", `System.import("${r}")${importCallback}`)([n, o]);
1078
- } catch (s) {
1079
- o(s);
982
+ t ? r(t) : typeof __system_context__ > "u" ? System.import(e).then(r).catch(n) : new Function("callbacks", `System.import("${e}")${$t}`)([r, n]);
983
+ } catch (o) {
984
+ n(o);
1080
985
  }
1081
986
  });
1082
987
  }
1083
- function handleRemoteEntryLoaded(r, t, n) {
1084
- const { remoteEntryKey: o, entryExports: s } = getRemoteEntryExports(r, t);
1085
- return assert(s, getShortErrorMsg(RUNTIME_001, runtimeDescMap, {
1086
- remoteName: r,
1087
- remoteEntryUrl: n,
1088
- remoteEntryKey: o
1089
- })), s;
1090
- }
1091
- async function loadEntryScript({ name: r, globalName: t, entry: n, loaderHook: o, getEntryUrl: s }) {
1092
- const { entryExports: i } = getRemoteEntryExports(r, t);
1093
- if (i)
1094
- return i;
1095
- const c = s ? s(n) : n;
1096
- return loadScript(c, {
988
+ function wt(e, t, r) {
989
+ const { remoteEntryKey: n, entryExports: o } = Me(e, t);
990
+ return T(o, D(yt, L, {
991
+ remoteName: e,
992
+ remoteEntryUrl: r,
993
+ remoteEntryKey: n
994
+ })), o;
995
+ }
996
+ async function Qr({ name: e, globalName: t, entry: r, loaderHook: n, getEntryUrl: o }) {
997
+ const { entryExports: s } = Me(e, t);
998
+ return s || tr(o ? o(r) : r, {
1097
999
  attrs: {},
1098
- createScriptHook: (a, u) => {
1099
- const l = o.lifecycle.createScript.emit({ url: a, attrs: u });
1100
- if (l && (l instanceof HTMLScriptElement || "script" in l || "timeout" in l))
1101
- return l;
1000
+ createScriptHook: (i, a) => {
1001
+ const c = n.lifecycle.createScript.emit({
1002
+ url: i,
1003
+ attrs: a
1004
+ });
1005
+ if (c && (c instanceof HTMLScriptElement || "script" in c || "timeout" in c))
1006
+ return c;
1102
1007
  }
1103
- }).then(() => handleRemoteEntryLoaded(r, t, n)).catch((a) => {
1104
- throw assert(void 0, getShortErrorMsg(RUNTIME_008, runtimeDescMap, {
1105
- remoteName: r,
1106
- resourceUrl: n
1107
- })), a;
1008
+ }).then(() => wt(e, t, r)).catch((i) => {
1009
+ throw T(void 0, D(Fe, L, {
1010
+ remoteName: e,
1011
+ resourceUrl: r
1012
+ })), i;
1108
1013
  });
1109
1014
  }
1110
- async function loadEntryDom({ remoteInfo: r, remoteEntryExports: t, loaderHook: n, getEntryUrl: o }) {
1111
- const { entry: s, entryGlobalName: i, name: c, type: a } = r;
1015
+ async function en({ remoteInfo: e, remoteEntryExports: t, loaderHook: r, getEntryUrl: n }) {
1016
+ const { entry: o, entryGlobalName: s, name: i, type: a } = e;
1112
1017
  switch (a) {
1113
1018
  case "esm":
1114
1019
  case "module":
1115
- return loadEsmEntry({ entry: s, remoteEntryExports: t });
1020
+ return Yr({
1021
+ entry: o,
1022
+ remoteEntryExports: t
1023
+ });
1116
1024
  case "system":
1117
- return loadSystemJsEntry({ entry: s, remoteEntryExports: t });
1025
+ return Zr({
1026
+ entry: o,
1027
+ remoteEntryExports: t
1028
+ });
1118
1029
  default:
1119
- return loadEntryScript({
1120
- entry: s,
1121
- globalName: i,
1122
- name: c,
1123
- loaderHook: n,
1124
- getEntryUrl: o
1030
+ return Qr({
1031
+ entry: o,
1032
+ globalName: s,
1033
+ name: i,
1034
+ loaderHook: r,
1035
+ getEntryUrl: n
1125
1036
  });
1126
1037
  }
1127
1038
  }
1128
- async function loadEntryNode({ remoteInfo: r, loaderHook: t }) {
1129
- const { entry: n, entryGlobalName: o, name: s, type: i } = r, { entryExports: c } = getRemoteEntryExports(s, o);
1130
- return c || loadScriptNode(n, {
1131
- attrs: { name: s, globalName: o, type: i },
1132
- loaderHook: {
1133
- createScriptHook: (a, u = {}) => {
1134
- const l = t.lifecycle.createScript.emit({ url: a, attrs: u });
1135
- if (l && "url" in l)
1136
- return l;
1137
- }
1138
- }
1139
- }).then(() => handleRemoteEntryLoaded(s, o, n)).catch((a) => {
1039
+ async function tn({ remoteInfo: e, loaderHook: t }) {
1040
+ const { entry: r, entryGlobalName: n, name: o, type: s } = e, { entryExports: i } = Me(o, n);
1041
+ return i || or(r, {
1042
+ attrs: {
1043
+ name: o,
1044
+ globalName: n,
1045
+ type: s
1046
+ },
1047
+ loaderHook: { createScriptHook: (a, c = {}) => {
1048
+ const l = t.lifecycle.createScript.emit({
1049
+ url: a,
1050
+ attrs: c
1051
+ });
1052
+ if (l && "url" in l)
1053
+ return l;
1054
+ } }
1055
+ }).then(() => wt(o, n, r)).catch((a) => {
1140
1056
  throw a;
1141
1057
  });
1142
1058
  }
1143
- function getRemoteEntryUniqueKey(r) {
1144
- const { entry: t, name: n } = r;
1145
- return composeKeyWithSeparator(n, t);
1146
- }
1147
- async function getRemoteEntry(r) {
1148
- const { origin: t, remoteEntryExports: n, remoteInfo: o, getEntryUrl: s, _inErrorHandling: i = !1 } = r, c = getRemoteEntryUniqueKey(o);
1149
- if (n)
1150
- return n;
1151
- if (!globalLoading[c]) {
1152
- const a = t.remoteHandler.hooks.lifecycle.loadEntry, u = t.loaderHook;
1153
- globalLoading[c] = a.emit({
1154
- loaderHook: u,
1155
- remoteInfo: o,
1156
- remoteEntryExports: n
1157
- }).then((l) => l || ((typeof ENV_TARGET < "u" ? ENV_TARGET === "web" : isBrowserEnv()) ? loadEntryDom({
1158
- remoteInfo: o,
1159
- remoteEntryExports: n,
1160
- loaderHook: u,
1161
- getEntryUrl: s
1162
- }) : loadEntryNode({ remoteInfo: o, loaderHook: u }))).catch(async (l) => {
1163
- const d = getRemoteEntryUniqueKey(o);
1164
- if (l instanceof Error && l.message.includes(RUNTIME_008) && !i) {
1165
- const p = (g) => getRemoteEntry({ ...g, _inErrorHandling: !0 }), m = await t.loaderHook.lifecycle.loadEntryError.emit({
1166
- getRemoteEntry: p,
1059
+ function ve(e) {
1060
+ const { entry: t, name: r } = e;
1061
+ return ze(r, t);
1062
+ }
1063
+ async function me(e) {
1064
+ const { origin: t, remoteEntryExports: r, remoteInfo: n, getEntryUrl: o, _inErrorHandling: s = !1 } = e, i = ve(n);
1065
+ if (r) return r;
1066
+ if (!V[i]) {
1067
+ const a = t.remoteHandler.hooks.lifecycle.loadEntry, c = t.loaderHook;
1068
+ V[i] = a.emit({
1069
+ loaderHook: c,
1070
+ remoteInfo: n,
1071
+ remoteEntryExports: r
1072
+ }).then((l) => l || ((typeof ENV_TARGET < "u" ? ENV_TARGET === "web" : F()) ? en({
1073
+ remoteInfo: n,
1074
+ remoteEntryExports: r,
1075
+ loaderHook: c,
1076
+ getEntryUrl: o
1077
+ }) : tn({
1078
+ remoteInfo: n,
1079
+ loaderHook: c
1080
+ }))).catch(async (l) => {
1081
+ const f = ve(n);
1082
+ if (l instanceof Error && l.message.includes(Fe) && !s) {
1083
+ const d = (h) => me({
1084
+ ...h,
1085
+ _inErrorHandling: !0
1086
+ }), u = await t.loaderHook.lifecycle.loadEntryError.emit({
1087
+ getRemoteEntry: d,
1167
1088
  origin: t,
1168
- remoteInfo: o,
1169
- remoteEntryExports: n,
1170
- globalLoading,
1171
- uniqueKey: d
1089
+ remoteInfo: n,
1090
+ remoteEntryExports: r,
1091
+ globalLoading: V,
1092
+ uniqueKey: f
1172
1093
  });
1173
- if (m)
1174
- return m;
1094
+ if (u) return u;
1175
1095
  }
1176
1096
  throw l;
1177
1097
  });
1178
1098
  }
1179
- return globalLoading[c];
1099
+ return V[i];
1180
1100
  }
1181
- function getRemoteInfo(r) {
1101
+ function Pe(e) {
1182
1102
  return {
1183
- ...r,
1184
- entry: "entry" in r ? r.entry : "",
1185
- type: r.type || DEFAULT_REMOTE_TYPE,
1186
- entryGlobalName: r.entryGlobalName || r.name,
1187
- shareScope: r.shareScope || DEFAULT_SCOPE
1103
+ ...e,
1104
+ entry: "entry" in e ? e.entry : "",
1105
+ type: e.type || dt,
1106
+ entryGlobalName: e.entryGlobalName || e.name,
1107
+ shareScope: e.shareScope || re
1188
1108
  };
1189
1109
  }
1190
- function defaultPreloadArgs(r) {
1110
+ function rn() {
1111
+ return typeof FEDERATION_BUILD_IDENTIFIER < "u" ? FEDERATION_BUILD_IDENTIFIER : "";
1112
+ }
1113
+ function nn(e, t) {
1114
+ const r = hr(), n = [
1115
+ t.hooks,
1116
+ t.remoteHandler.hooks,
1117
+ t.sharedHandler.hooks,
1118
+ t.snapshotHandler.hooks,
1119
+ t.loaderHook,
1120
+ t.bridgeHook
1121
+ ];
1122
+ return r.length > 0 && r.forEach((o) => {
1123
+ e != null && e.find((s) => s.name !== o.name) && e.push(o);
1124
+ }), e && e.length > 0 && e.forEach((o) => {
1125
+ n.forEach((s) => {
1126
+ s.applyPlugin(o, t);
1127
+ });
1128
+ }), e;
1129
+ }
1130
+ function It(e) {
1191
1131
  return {
1192
1132
  resourceCategory: "sync",
1193
1133
  share: !0,
1194
1134
  depsRemote: !0,
1195
1135
  prefetchInterface: !1,
1196
- ...r
1136
+ ...e
1197
1137
  };
1198
1138
  }
1199
- function formatPreloadArgs(r, t) {
1200
- return t.map((n) => {
1201
- const o = matchRemote(r, n.nameOrAlias);
1202
- return assert(o, `Unable to preload ${n.nameOrAlias} as it is not included in ${!o && safeToString({
1203
- remoteInfo: o,
1204
- remotes: r
1139
+ function on(e, t) {
1140
+ return t.map((r) => {
1141
+ const n = zr(e, r.nameOrAlias);
1142
+ return T(n, `Unable to preload ${r.nameOrAlias} as it is not included in ${!n && Xe({
1143
+ remoteInfo: n,
1144
+ remotes: e
1205
1145
  })}`), {
1206
- remote: o,
1207
- preloadConfig: defaultPreloadArgs(n)
1146
+ remote: n,
1147
+ preloadConfig: It(r)
1208
1148
  };
1209
1149
  });
1210
1150
  }
1211
- function normalizePreloadExposes(r) {
1212
- return r ? r.map((t) => t === "." ? t : t.startsWith("./") ? t.replace("./", "") : t) : [];
1151
+ function sn(e) {
1152
+ return e ? e.map((t) => t === "." ? t : t.startsWith("./") ? t.replace("./", "") : t) : [];
1213
1153
  }
1214
- function preloadAssets(r, t, n, o = !0) {
1215
- const { cssAssets: s, jsAssetsWithoutEntry: i, entryAssets: c } = n;
1154
+ function Nt(e, t, r, n = !0) {
1155
+ const { cssAssets: o, jsAssetsWithoutEntry: s, entryAssets: i } = r;
1216
1156
  if (t.options.inBrowser) {
1217
- if (c.forEach((a) => {
1218
- const { moduleInfo: u } = a, l = t.moduleCache.get(r.name);
1219
- getRemoteEntry(l ? {
1157
+ if (i.forEach((a) => {
1158
+ const { moduleInfo: c } = a, l = t.moduleCache.get(e.name);
1159
+ me(l ? {
1220
1160
  origin: t,
1221
- remoteInfo: u,
1161
+ remoteInfo: c,
1222
1162
  remoteEntryExports: l.remoteEntryExports
1223
1163
  } : {
1224
1164
  origin: t,
1225
- remoteInfo: u,
1165
+ remoteInfo: c,
1226
1166
  remoteEntryExports: void 0
1227
1167
  });
1228
- }), o) {
1168
+ }), n) {
1229
1169
  const a = {
1230
1170
  rel: "preload",
1231
1171
  as: "style"
1232
1172
  };
1233
- s.forEach((u) => {
1234
- const { link: l, needAttach: d } = createLink({
1235
- url: u,
1173
+ o.forEach((c) => {
1174
+ const { link: l, needAttach: f } = ge({
1175
+ url: c,
1236
1176
  cb: () => {
1237
1177
  },
1238
1178
  attrs: a,
1239
- createLinkHook: (y, p) => {
1240
- const m = t.loaderHook.lifecycle.createLink.emit({
1241
- url: y,
1242
- attrs: p
1179
+ createLinkHook: (d, u) => {
1180
+ const h = t.loaderHook.lifecycle.createLink.emit({
1181
+ url: d,
1182
+ attrs: u
1243
1183
  });
1244
- if (m instanceof HTMLLinkElement)
1245
- return m;
1184
+ if (h instanceof HTMLLinkElement) return h;
1246
1185
  }
1247
1186
  });
1248
- d && document.head.appendChild(l);
1187
+ f && document.head.appendChild(l);
1249
1188
  });
1250
1189
  } else {
1251
1190
  const a = {
1252
1191
  rel: "stylesheet",
1253
1192
  type: "text/css"
1254
1193
  };
1255
- s.forEach((u) => {
1256
- const { link: l, needAttach: d } = createLink({
1257
- url: u,
1194
+ o.forEach((c) => {
1195
+ const { link: l, needAttach: f } = ge({
1196
+ url: c,
1258
1197
  cb: () => {
1259
1198
  },
1260
1199
  attrs: a,
1261
- createLinkHook: (y, p) => {
1262
- const m = t.loaderHook.lifecycle.createLink.emit({
1263
- url: y,
1264
- attrs: p
1200
+ createLinkHook: (d, u) => {
1201
+ const h = t.loaderHook.lifecycle.createLink.emit({
1202
+ url: d,
1203
+ attrs: u
1265
1204
  });
1266
- if (m instanceof HTMLLinkElement)
1267
- return m;
1205
+ if (h instanceof HTMLLinkElement) return h;
1268
1206
  },
1269
1207
  needDeleteLink: !1
1270
1208
  });
1271
- d && document.head.appendChild(l);
1209
+ f && document.head.appendChild(l);
1272
1210
  });
1273
1211
  }
1274
- if (o) {
1212
+ if (n) {
1275
1213
  const a = {
1276
1214
  rel: "preload",
1277
1215
  as: "script"
1278
1216
  };
1279
- i.forEach((u) => {
1280
- const { link: l, needAttach: d } = createLink({
1281
- url: u,
1217
+ s.forEach((c) => {
1218
+ const { link: l, needAttach: f } = ge({
1219
+ url: c,
1282
1220
  cb: () => {
1283
1221
  },
1284
1222
  attrs: a,
1285
- createLinkHook: (y, p) => {
1286
- const m = t.loaderHook.lifecycle.createLink.emit({
1287
- url: y,
1288
- attrs: p
1223
+ createLinkHook: (d, u) => {
1224
+ const h = t.loaderHook.lifecycle.createLink.emit({
1225
+ url: d,
1226
+ attrs: u
1289
1227
  });
1290
- if (m instanceof HTMLLinkElement)
1291
- return m;
1228
+ if (h instanceof HTMLLinkElement) return h;
1292
1229
  }
1293
1230
  });
1294
- d && document.head.appendChild(l);
1231
+ f && document.head.appendChild(l);
1295
1232
  });
1296
1233
  } else {
1297
1234
  const a = {
1298
1235
  fetchpriority: "high",
1299
- type: (r == null ? void 0 : r.type) === "module" ? "module" : "text/javascript"
1236
+ type: (e == null ? void 0 : e.type) === "module" ? "module" : "text/javascript"
1300
1237
  };
1301
- i.forEach((u) => {
1302
- const { script: l, needAttach: d } = createScript({
1303
- url: u,
1238
+ s.forEach((c) => {
1239
+ const { script: l, needAttach: f } = rt({
1240
+ url: c,
1304
1241
  cb: () => {
1305
1242
  },
1306
1243
  attrs: a,
1307
- createScriptHook: (y, p) => {
1308
- const m = t.loaderHook.lifecycle.createScript.emit({
1309
- url: y,
1310
- attrs: p
1244
+ createScriptHook: (d, u) => {
1245
+ const h = t.loaderHook.lifecycle.createScript.emit({
1246
+ url: d,
1247
+ attrs: u
1311
1248
  });
1312
- if (m instanceof HTMLScriptElement)
1313
- return m;
1249
+ if (h instanceof HTMLScriptElement) return h;
1314
1250
  },
1315
1251
  needDeleteScript: !0
1316
1252
  });
1317
- d && document.head.appendChild(l);
1253
+ f && document.head.appendChild(l);
1318
1254
  });
1319
1255
  }
1320
1256
  }
1321
1257
  }
1322
- function createRemoteEntryInitOptions(r, t) {
1323
- const n = t, o = Array.isArray(r.shareScope) ? r.shareScope : [r.shareScope];
1324
- o.length || o.push("default"), o.forEach((a) => {
1325
- n[a] || (n[a] = {});
1258
+ function an(e, t, r) {
1259
+ const n = t, o = Array.isArray(e.shareScope) ? e.shareScope : [e.shareScope];
1260
+ o.length || o.push("default"), o.forEach((i) => {
1261
+ n[i] || (n[i] = {});
1326
1262
  });
1327
1263
  const s = {
1328
- version: r.version || "",
1329
- shareScopeKeys: Array.isArray(r.shareScope) ? o : r.shareScope || "default"
1264
+ version: e.version || "",
1265
+ shareScopeKeys: Array.isArray(e.shareScope) ? o : e.shareScope || "default"
1330
1266
  };
1331
- Object.defineProperty(s, "shareScopeMap", {
1267
+ return Object.defineProperty(s, "shareScopeMap", {
1332
1268
  value: n,
1333
- // remoteEntryInitOptions will be traversed and assigned during container init, ,so this attribute is not allowed to be traversed
1334
1269
  enumerable: !1
1335
- });
1336
- const i = n[o[0]];
1337
- return {
1270
+ }), {
1338
1271
  remoteEntryInitOptions: s,
1339
- shareScope: i,
1340
- initScope: []
1272
+ shareScope: n[o[0]],
1273
+ initScope: r ?? []
1341
1274
  };
1342
1275
  }
1343
- class Module {
1344
- constructor({ remoteInfo: t, host: n }) {
1345
- this.inited = !1, this.initing = !1, this.lib = void 0, this.remoteInfo = t, this.host = n;
1276
+ var Tt = class {
1277
+ constructor({ remoteInfo: e, host: t }) {
1278
+ this.inited = !1, this.initing = !1, this.lib = void 0, this.remoteInfo = e, this.host = t;
1346
1279
  }
1347
1280
  async getEntry() {
1348
- if (this.remoteEntryExports)
1349
- return this.remoteEntryExports;
1350
- const t = await getRemoteEntry({
1281
+ if (this.remoteEntryExports) return this.remoteEntryExports;
1282
+ const e = await me({
1351
1283
  origin: this.host,
1352
1284
  remoteInfo: this.remoteInfo,
1353
1285
  remoteEntryExports: this.remoteEntryExports
1354
1286
  });
1355
- return assert(t, `remoteEntryExports is undefined
1356
- ${safeToString(this.remoteInfo)}`), this.remoteEntryExports = t, this.remoteEntryExports;
1357
- }
1358
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
1359
- async init(t, n) {
1360
- const o = await this.getEntry();
1361
- if (!this.inited && !this.initing) {
1362
- this.initing = !0;
1363
- const { remoteEntryInitOptions: s, shareScope: i, initScope: c } = createRemoteEntryInitOptions(this.remoteInfo, this.host.shareScopeMap), a = await this.host.hooks.lifecycle.beforeInitContainer.emit({
1364
- shareScope: i,
1365
- // @ts-ignore shareScopeMap will be set by Object.defineProperty
1366
- remoteEntryInitOptions: s,
1367
- initScope: c,
1287
+ return T(e, `remoteEntryExports is undefined
1288
+ ${Xe(this.remoteInfo)}`), this.remoteEntryExports = e, this.remoteEntryExports;
1289
+ }
1290
+ async init(e, t, r) {
1291
+ const n = await this.getEntry();
1292
+ if (this.inited) return n;
1293
+ if (this.initPromise)
1294
+ return await this.initPromise, n;
1295
+ this.initing = !0, this.initPromise = (async () => {
1296
+ const { remoteEntryInitOptions: o, shareScope: s, initScope: i } = an(this.remoteInfo, this.host.shareScopeMap, r), a = await this.host.hooks.lifecycle.beforeInitContainer.emit({
1297
+ shareScope: s,
1298
+ remoteEntryInitOptions: o,
1299
+ initScope: i,
1368
1300
  remoteInfo: this.remoteInfo,
1369
1301
  origin: this.host
1370
1302
  });
1371
- typeof (o == null ? void 0 : o.init) > "u" && error(getShortErrorMsg(RUNTIME_002, runtimeDescMap, {
1303
+ typeof (n == null ? void 0 : n.init) > "u" && k(D(Et, L, {
1372
1304
  hostName: this.host.name,
1373
1305
  remoteName: this.remoteInfo.name,
1374
1306
  remoteEntryUrl: this.remoteInfo.entry,
1375
1307
  remoteEntryKey: this.remoteInfo.entryGlobalName
1376
- })), await o.init(a.shareScope, a.initScope, a.remoteEntryInitOptions), await this.host.hooks.lifecycle.initContainer.emit({
1308
+ })), await n.init(a.shareScope, a.initScope, a.remoteEntryInitOptions), await this.host.hooks.lifecycle.initContainer.emit({
1377
1309
  ...a,
1378
- id: t,
1379
- remoteSnapshot: n,
1380
- remoteEntryExports: o
1310
+ id: e,
1311
+ remoteSnapshot: t,
1312
+ remoteEntryExports: n
1381
1313
  }), this.inited = !0;
1314
+ })();
1315
+ try {
1316
+ await this.initPromise;
1317
+ } finally {
1318
+ this.initing = !1, this.initPromise = void 0;
1382
1319
  }
1383
- return o;
1320
+ return n;
1384
1321
  }
1385
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
1386
- async get(t, n, o, s) {
1387
- const { loadFactory: i = !0 } = o || { loadFactory: !0 }, c = await this.init(t, s);
1388
- this.lib = c;
1389
- let a;
1390
- a = await this.host.loaderHook.lifecycle.getModuleFactory.emit({
1391
- remoteEntryExports: c,
1392
- expose: n,
1322
+ async get(e, t, r, n) {
1323
+ const { loadFactory: o = !0 } = r || { loadFactory: !0 }, s = await this.init(e, n);
1324
+ this.lib = s;
1325
+ let i;
1326
+ i = await this.host.loaderHook.lifecycle.getModuleFactory.emit({
1327
+ remoteEntryExports: s,
1328
+ expose: t,
1393
1329
  moduleInfo: this.remoteInfo
1394
- }), a || (a = await c.get(n)), assert(a, `${getFMId(this.remoteInfo)} remote don't export ${n}.`);
1395
- const u = processModuleAlias(this.remoteInfo.name, n), l = this.wraperFactory(a, u);
1396
- return i ? await l() : l;
1397
- }
1398
- wraperFactory(t, n) {
1399
- function o(s, i) {
1400
- s && typeof s == "object" && Object.isExtensible(s) && !Object.getOwnPropertyDescriptor(s, Symbol.for("mf_module_id")) && Object.defineProperty(s, Symbol.for("mf_module_id"), {
1401
- value: i,
1330
+ }), i || (i = await s.get(t)), T(i, `${Z(this.remoteInfo)} remote don't export ${t}.`);
1331
+ const a = cr(this.remoteInfo.name, t), c = this.wraperFactory(i, a);
1332
+ return o ? await c() : c;
1333
+ }
1334
+ wraperFactory(e, t) {
1335
+ function r(n, o) {
1336
+ n && typeof n == "object" && Object.isExtensible(n) && !Object.getOwnPropertyDescriptor(n, Symbol.for("mf_module_id")) && Object.defineProperty(n, Symbol.for("mf_module_id"), {
1337
+ value: o,
1402
1338
  enumerable: !1
1403
1339
  });
1404
1340
  }
1405
- return t instanceof Promise ? async () => {
1406
- const s = await t();
1407
- return o(s, n), s;
1341
+ return e instanceof Promise ? async () => {
1342
+ const n = await e();
1343
+ return r(n, t), n;
1408
1344
  } : () => {
1409
- const s = t();
1410
- return o(s, n), s;
1345
+ const n = e();
1346
+ return r(n, t), n;
1411
1347
  };
1412
1348
  }
1413
- }
1414
- class SyncHook {
1415
- constructor(t) {
1416
- this.type = "", this.listeners = /* @__PURE__ */ new Set(), t && (this.type = t);
1349
+ }, A = class {
1350
+ constructor(e) {
1351
+ this.type = "", this.listeners = /* @__PURE__ */ new Set(), e && (this.type = e);
1417
1352
  }
1418
- on(t) {
1419
- typeof t == "function" && this.listeners.add(t);
1353
+ on(e) {
1354
+ typeof e == "function" && this.listeners.add(e);
1420
1355
  }
1421
- once(t) {
1422
- const n = this;
1423
- this.on(function o(...s) {
1424
- return n.remove(o), t.apply(null, s);
1356
+ once(e) {
1357
+ const t = this;
1358
+ this.on(function r(...n) {
1359
+ return t.remove(r), e.apply(null, n);
1425
1360
  });
1426
1361
  }
1427
- emit(...t) {
1428
- let n;
1429
- return this.listeners.size > 0 && this.listeners.forEach((o) => {
1430
- n = o(...t);
1431
- }), n;
1362
+ emit(...e) {
1363
+ let t;
1364
+ return this.listeners.size > 0 && this.listeners.forEach((r) => {
1365
+ t = r(...e);
1366
+ }), t;
1432
1367
  }
1433
- remove(t) {
1434
- this.listeners.delete(t);
1368
+ remove(e) {
1369
+ this.listeners.delete(e);
1435
1370
  }
1436
1371
  removeAll() {
1437
1372
  this.listeners.clear();
1438
1373
  }
1439
- }
1440
- class AsyncHook extends SyncHook {
1441
- emit(...t) {
1442
- let n;
1443
- const o = Array.from(this.listeners);
1444
- if (o.length > 0) {
1445
- let s = 0;
1446
- const i = (c) => c === !1 ? !1 : s < o.length ? Promise.resolve(o[s++].apply(null, t)).then(i) : c;
1447
- n = i();
1374
+ }, v = class extends A {
1375
+ emit(...e) {
1376
+ let t;
1377
+ const r = Array.from(this.listeners);
1378
+ if (r.length > 0) {
1379
+ let n = 0;
1380
+ const o = (s) => s === !1 ? !1 : n < r.length ? Promise.resolve(r[n++].apply(null, e)).then(o) : s;
1381
+ t = o();
1448
1382
  }
1449
- return Promise.resolve(n);
1383
+ return Promise.resolve(t);
1450
1384
  }
1451
- }
1452
- function checkReturnData(r, t) {
1453
- if (!isObject(t))
1454
- return !1;
1455
- if (r !== t) {
1456
- for (const n in r)
1457
- if (!(n in t))
1458
- return !1;
1385
+ };
1386
+ function At(e, t) {
1387
+ if (!Le(t)) return !1;
1388
+ if (e !== t) {
1389
+ for (const r in e) if (!(r in t)) return !1;
1459
1390
  }
1460
1391
  return !0;
1461
1392
  }
1462
- class SyncWaterfallHook extends SyncHook {
1463
- constructor(t) {
1464
- super(), this.onerror = error, this.type = t;
1465
- }
1466
- emit(t) {
1467
- isObject(t) || error(`The data for the "${this.type}" hook should be an object.`);
1468
- for (const n of this.listeners)
1469
- try {
1470
- const o = n(t);
1471
- if (checkReturnData(t, o))
1472
- t = o;
1473
- else {
1474
- this.onerror(`A plugin returned an unacceptable value for the "${this.type}" type.`);
1475
- break;
1476
- }
1477
- } catch (o) {
1478
- warn(o), this.onerror(o);
1393
+ var j = class extends A {
1394
+ constructor(e) {
1395
+ super(), this.onerror = k, this.type = e;
1396
+ }
1397
+ emit(e) {
1398
+ Le(e) || k(`The data for the "${this.type}" hook should be an object.`);
1399
+ for (const t of this.listeners) try {
1400
+ const r = t(e);
1401
+ if (At(e, r)) e = r;
1402
+ else {
1403
+ this.onerror(`A plugin returned an unacceptable value for the "${this.type}" type.`);
1404
+ break;
1479
1405
  }
1480
- return t;
1481
- }
1482
- }
1483
- class AsyncWaterfallHook extends SyncHook {
1484
- constructor(t) {
1485
- super(), this.onerror = error, this.type = t;
1486
- }
1487
- emit(t) {
1488
- isObject(t) || error(`The response data for the "${this.type}" hook must be an object.`);
1489
- const n = Array.from(this.listeners);
1490
- if (n.length > 0) {
1491
- let o = 0;
1492
- const s = (c) => (warn(c), this.onerror(c), t), i = (c) => {
1493
- if (checkReturnData(t, c)) {
1494
- if (t = c, o < n.length)
1495
- try {
1496
- return Promise.resolve(n[o++](t)).then(i, s);
1497
- } catch (a) {
1498
- return s(a);
1499
- }
1500
- } else
1501
- this.onerror(`A plugin returned an incorrect value for the "${this.type}" type.`);
1502
- return t;
1406
+ } catch (r) {
1407
+ ke(r), this.onerror(r);
1408
+ }
1409
+ return e;
1410
+ }
1411
+ }, H = class extends A {
1412
+ constructor(e) {
1413
+ super(), this.onerror = k, this.type = e;
1414
+ }
1415
+ emit(e) {
1416
+ Le(e) || k(`The response data for the "${this.type}" hook must be an object.`);
1417
+ const t = Array.from(this.listeners);
1418
+ if (t.length > 0) {
1419
+ let r = 0;
1420
+ const n = (s) => (ke(s), this.onerror(s), e), o = (s) => {
1421
+ if (At(e, s)) {
1422
+ if (e = s, r < t.length) try {
1423
+ return Promise.resolve(t[r++](e)).then(o, n);
1424
+ } catch (i) {
1425
+ return n(i);
1426
+ }
1427
+ } else this.onerror(`A plugin returned an incorrect value for the "${this.type}" type.`);
1428
+ return e;
1503
1429
  };
1504
- return Promise.resolve(i(t));
1430
+ return Promise.resolve(o(e));
1505
1431
  }
1506
- return Promise.resolve(t);
1432
+ return Promise.resolve(e);
1507
1433
  }
1508
- }
1509
- class PluginSystem {
1510
- constructor(t) {
1511
- this.registerPlugins = {}, this.lifecycle = t, this.lifecycleKeys = Object.keys(t);
1434
+ }, K = class {
1435
+ constructor(e) {
1436
+ this.registerPlugins = {}, this.lifecycle = e, this.lifecycleKeys = Object.keys(e);
1512
1437
  }
1513
- applyPlugin(t, n) {
1514
- var s;
1515
- assert(isPlainObject(t), "Plugin configuration is invalid.");
1516
- const o = t.name;
1517
- assert(o, "A name must be provided by the plugin."), this.registerPlugins[o] || (this.registerPlugins[o] = t, (s = t.apply) == null || s.call(t, n), Object.keys(this.lifecycle).forEach((i) => {
1518
- const c = t[i];
1519
- c && this.lifecycle[i].on(c);
1438
+ applyPlugin(e, t) {
1439
+ var n;
1440
+ T(ar(e), "Plugin configuration is invalid.");
1441
+ const r = e.name;
1442
+ T(r, "A name must be provided by the plugin."), this.registerPlugins[r] || (this.registerPlugins[r] = e, (n = e.apply) == null || n.call(e, t), Object.keys(this.lifecycle).forEach((o) => {
1443
+ const s = e[o];
1444
+ s && this.lifecycle[o].on(s);
1520
1445
  }));
1521
1446
  }
1522
- removePlugin(t) {
1523
- assert(t, "A name is required.");
1524
- const n = this.registerPlugins[t];
1525
- assert(n, `The plugin "${t}" is not registered.`), Object.keys(n).forEach((o) => {
1526
- o !== "name" && this.lifecycle[o].remove(n[o]);
1447
+ removePlugin(e) {
1448
+ T(e, "A name is required.");
1449
+ const t = this.registerPlugins[e];
1450
+ T(t, `The plugin "${e}" is not registered.`), Object.keys(t).forEach((r) => {
1451
+ r !== "name" && this.lifecycle[r].remove(t[r]);
1527
1452
  });
1528
1453
  }
1454
+ };
1455
+ function vt(e, t) {
1456
+ const r = it(t);
1457
+ r.url || k(`The attribute remoteEntry of ${e.name} must not be undefined.`);
1458
+ let n = Ie(t, r.url);
1459
+ !F() && !n.startsWith("http") && (n = `https:${n}`), e.type = r.type, e.entryGlobalName = r.globalName, e.entry = n, e.version = t.version, e.buildVersion = t.buildVersion;
1529
1460
  }
1530
- function assignRemoteInfo(r, t) {
1531
- const n = getRemoteEntryInfoFromSnapshot(t);
1532
- n.url || error(`The attribute remoteEntry of ${r.name} must not be undefined.`);
1533
- let o = getResourceUrl(t, n.url);
1534
- !isBrowserEnv() && !o.startsWith("http") && (o = `https:${o}`), r.type = n.type, r.entryGlobalName = n.globalName, r.entry = o, r.version = t.version, r.buildVersion = t.buildVersion;
1535
- }
1536
- function snapshotPlugin() {
1461
+ function cn() {
1537
1462
  return {
1538
1463
  name: "snapshot-plugin",
1539
- async afterResolve(r) {
1540
- const { remote: t, pkgNameOrAlias: n, expose: o, origin: s, remoteInfo: i, id: c } = r;
1541
- if (!isRemoteInfoWithEntry(t) || !isPureRemoteEntry(t)) {
1542
- const { remoteSnapshot: a, globalSnapshot: u } = await s.snapshotHandler.loadRemoteSnapshotInfo({
1464
+ async afterResolve(e) {
1465
+ const { remote: t, pkgNameOrAlias: r, expose: n, origin: o, remoteInfo: s, id: i } = e;
1466
+ if (!Oe(t) || !ot(t)) {
1467
+ const { remoteSnapshot: a, globalSnapshot: c } = await o.snapshotHandler.loadRemoteSnapshotInfo({
1543
1468
  moduleInfo: t,
1544
- id: c
1469
+ id: i
1545
1470
  });
1546
- assignRemoteInfo(i, a);
1471
+ vt(s, a);
1547
1472
  const l = {
1548
1473
  remote: t,
1549
1474
  preloadConfig: {
1550
- nameOrAlias: n,
1551
- exposes: [o],
1475
+ nameOrAlias: r,
1476
+ exposes: [n],
1552
1477
  resourceCategory: "sync",
1553
1478
  share: !1,
1554
1479
  depsRemote: !1
1555
1480
  }
1556
- }, d = await s.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({
1557
- origin: s,
1481
+ }, f = await o.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({
1482
+ origin: o,
1558
1483
  preloadOptions: l,
1559
- remoteInfo: i,
1484
+ remoteInfo: s,
1560
1485
  remote: t,
1561
1486
  remoteSnapshot: a,
1562
- globalSnapshot: u
1487
+ globalSnapshot: c
1563
1488
  });
1564
- return d && preloadAssets(i, s, d, !1), {
1565
- ...r,
1489
+ return f && Nt(s, o, f, !1), {
1490
+ ...e,
1566
1491
  remoteSnapshot: a
1567
1492
  };
1568
1493
  }
1569
- return r;
1494
+ return e;
1570
1495
  }
1571
1496
  };
1572
1497
  }
1573
- function splitId(r) {
1574
- const t = r.split(":");
1498
+ function ln(e) {
1499
+ const t = e.split(":");
1575
1500
  return t.length === 1 ? {
1576
1501
  name: t[0],
1577
1502
  version: void 0
@@ -1583,124 +1508,114 @@ function splitId(r) {
1583
1508
  version: t[2]
1584
1509
  };
1585
1510
  }
1586
- function traverseModuleInfo(r, t, n, o, s = {}, i) {
1587
- const c = getFMId(t), { value: a } = getInfoWithoutType(r, c), u = i || a;
1588
- if (u && !isManifestProvider(u) && (n(u, t, o), u.remotesInfo)) {
1589
- const l = Object.keys(u.remotesInfo);
1590
- for (const d of l) {
1591
- if (s[d])
1592
- continue;
1593
- s[d] = !0;
1594
- const y = splitId(d), p = u.remotesInfo[d];
1595
- traverseModuleInfo(r, {
1596
- name: y.name,
1597
- version: p.matchedVersion
1598
- }, n, !1, s, void 0);
1511
+ function Pt(e, t, r, n, o = {}, s) {
1512
+ const { value: i } = q(e, Z(t)), a = s || i;
1513
+ if (a && !Ye(a) && (r(a, t, n), a.remotesInfo)) {
1514
+ const c = Object.keys(a.remotesInfo);
1515
+ for (const l of c) {
1516
+ if (o[l]) continue;
1517
+ o[l] = !0;
1518
+ const f = ln(l), d = a.remotesInfo[l];
1519
+ Pt(e, {
1520
+ name: f.name,
1521
+ version: d.matchedVersion
1522
+ }, r, !1, o, void 0);
1599
1523
  }
1600
1524
  }
1601
1525
  }
1602
- const isExisted = (r, t) => document.querySelector(`${r}[${r === "link" ? "href" : "src"}="${t}"]`);
1603
- function generatePreloadAssets(r, t, n, o, s) {
1604
- const i = [], c = [], a = [], u = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Set(), { options: d } = r, { preloadConfig: y } = t, { depsRemote: p } = y;
1605
- if (traverseModuleInfo(o, n, (E, R, S) => {
1606
- var k;
1607
- let _;
1608
- if (S)
1609
- _ = y;
1610
- else if (Array.isArray(p)) {
1611
- const N = p.find(($) => $.nameOrAlias === R.name || $.nameOrAlias === R.alias);
1612
- if (!N)
1613
- return;
1614
- _ = defaultPreloadArgs(N);
1615
- } else if (p === !0)
1616
- _ = y;
1617
- else
1618
- return;
1619
- const T = getResourceUrl(E, getRemoteEntryInfoFromSnapshot(E).url);
1620
- T && a.push({
1621
- name: R.name,
1526
+ const Se = (e, t) => document.querySelector(`${e}[${e === "link" ? "href" : "src"}="${t}"]`);
1527
+ function un(e, t, r, n, o) {
1528
+ const s = [], i = [], a = [], c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Set(), { options: f } = e, { preloadConfig: d } = t, { depsRemote: u } = d;
1529
+ if (Pt(n, r, (p, y, E) => {
1530
+ var S;
1531
+ let m;
1532
+ if (E) m = d;
1533
+ else if (Array.isArray(u)) {
1534
+ const R = u.find(($) => $.nameOrAlias === y.name || $.nameOrAlias === y.alias);
1535
+ if (!R) return;
1536
+ m = It(R);
1537
+ } else if (u === !0) m = d;
1538
+ else return;
1539
+ const g = Ie(p, it(p).url);
1540
+ g && a.push({
1541
+ name: y.name,
1622
1542
  moduleInfo: {
1623
- name: R.name,
1624
- entry: T,
1625
- type: "remoteEntryType" in E ? E.remoteEntryType : "global",
1626
- entryGlobalName: "globalName" in E ? E.globalName : R.name,
1543
+ name: y.name,
1544
+ entry: g,
1545
+ type: "remoteEntryType" in p ? p.remoteEntryType : "global",
1546
+ entryGlobalName: "globalName" in p ? p.globalName : y.name,
1627
1547
  shareScope: "",
1628
- version: "version" in E ? E.version : void 0
1548
+ version: "version" in p ? p.version : void 0
1629
1549
  },
1630
- url: T
1550
+ url: g
1631
1551
  });
1632
- let I = "modules" in E ? E.modules : [];
1633
- const A = normalizePreloadExposes(_.exposes);
1634
- A.length && "modules" in E && (I = (k = E == null ? void 0 : E.modules) == null ? void 0 : k.reduce((N, $) => ((A == null ? void 0 : A.indexOf($.moduleName)) !== -1 && N.push($), N), []));
1635
- function w(N) {
1636
- const $ = N.map((L) => getResourceUrl(E, L));
1637
- return _.filter ? $.filter(_.filter) : $;
1552
+ let b = "modules" in p ? p.modules : [];
1553
+ const w = sn(m.exposes);
1554
+ w.length && "modules" in p && (b = (S = p == null ? void 0 : p.modules) == null ? void 0 : S.reduce((R, $) => ((w == null ? void 0 : w.indexOf($.moduleName)) !== -1 && R.push($), R), []));
1555
+ function _(R) {
1556
+ const $ = R.map((O) => Ie(p, O));
1557
+ return m.filter ? $.filter(m.filter) : $;
1638
1558
  }
1639
- if (I) {
1640
- const N = I.length;
1641
- for (let $ = 0; $ < N; $++) {
1642
- const L = I[$], P = `${R.name}/${L.moduleName}`;
1643
- r.remoteHandler.hooks.lifecycle.handlePreloadModule.emit({
1644
- id: L.moduleName === "." ? R.name : P,
1645
- name: R.name,
1646
- remoteSnapshot: E,
1647
- preloadConfig: _,
1648
- remote: R,
1649
- origin: r
1650
- }), !getPreloaded(P) && (_.resourceCategory === "all" ? (i.push(...w(L.assets.css.async)), i.push(...w(L.assets.css.sync)), c.push(...w(L.assets.js.async)), c.push(...w(L.assets.js.sync))) : (_.resourceCategory = "sync") && (i.push(...w(L.assets.css.sync)), c.push(...w(L.assets.js.sync))), setPreloaded(P));
1559
+ if (b) {
1560
+ const R = b.length;
1561
+ for (let $ = 0; $ < R; $++) {
1562
+ const O = b[$], ye = `${y.name}/${O.moduleName}`;
1563
+ e.remoteHandler.hooks.lifecycle.handlePreloadModule.emit({
1564
+ id: O.moduleName === "." ? y.name : ye,
1565
+ name: y.name,
1566
+ remoteSnapshot: p,
1567
+ preloadConfig: m,
1568
+ remote: y,
1569
+ origin: e
1570
+ }), !dr(ye) && (m.resourceCategory === "all" ? (s.push(..._(O.assets.css.async)), s.push(..._(O.assets.css.sync)), i.push(..._(O.assets.js.async)), i.push(..._(O.assets.js.sync))) : (m.resourceCategory = "sync") && (s.push(..._(O.assets.css.sync)), i.push(..._(O.assets.js.sync))), pr(ye));
1651
1571
  }
1652
1572
  }
1653
- }, !0, {}, s), s.shared && s.shared.length > 0) {
1654
- const E = (R, S) => {
1655
- const { shared: _ } = getRegisteredShare(r.shareScopeMap, S.sharedName, R, r.sharedHandler.hooks.lifecycle.resolveShare) || {};
1656
- _ && typeof _.lib == "function" && (S.assets.js.sync.forEach((T) => {
1657
- u.add(T);
1658
- }), S.assets.css.sync.forEach((T) => {
1659
- l.add(T);
1573
+ }, !0, {}, o), o.shared && o.shared.length > 0) {
1574
+ const p = (y, E) => {
1575
+ const { shared: m } = de(e.shareScopeMap, E.sharedName, y, e.sharedHandler.hooks.lifecycle.resolveShare) || {};
1576
+ m && typeof m.lib == "function" && (E.assets.js.sync.forEach((g) => {
1577
+ c.add(g);
1578
+ }), E.assets.css.sync.forEach((g) => {
1579
+ l.add(g);
1660
1580
  }));
1661
1581
  };
1662
- s.shared.forEach((R) => {
1663
- var I;
1664
- const S = (I = d.shared) == null ? void 0 : I[R.sharedName];
1665
- if (!S)
1666
- return;
1667
- const _ = R.version ? S.find((A) => A.version === R.version) : S;
1668
- if (!_)
1669
- return;
1670
- arrayOptions(_).forEach((A) => {
1671
- E(A, R);
1582
+ o.shared.forEach((y) => {
1583
+ var g;
1584
+ const E = (g = f.shared) == null ? void 0 : g[y.sharedName];
1585
+ if (!E) return;
1586
+ const m = y.version ? E.find((b) => b.version === y.version) : E;
1587
+ m && st(m).forEach((b) => {
1588
+ p(b, y);
1672
1589
  });
1673
1590
  });
1674
1591
  }
1675
- const g = c.filter((E) => !u.has(E) && !isExisted("script", E));
1592
+ const h = i.filter((p) => !c.has(p) && !Se("script", p));
1676
1593
  return {
1677
- cssAssets: i.filter((E) => !l.has(E) && !isExisted("link", E)),
1678
- jsAssetsWithoutEntry: g,
1679
- entryAssets: a.filter((E) => !isExisted("script", E.url))
1594
+ cssAssets: s.filter((p) => !l.has(p) && !Se("link", p)),
1595
+ jsAssetsWithoutEntry: h,
1596
+ entryAssets: a.filter((p) => !Se("script", p.url))
1680
1597
  };
1681
1598
  }
1682
- const generatePreloadAssetsPlugin = function() {
1599
+ const fn = function() {
1683
1600
  return {
1684
1601
  name: "generate-preload-assets-plugin",
1685
- async generatePreloadAssets(r) {
1686
- const { origin: t, preloadOptions: n, remoteInfo: o, remote: s, globalSnapshot: i, remoteSnapshot: c } = r;
1687
- return isBrowserEnv() ? isRemoteInfoWithEntry(s) && isPureRemoteEntry(s) ? {
1602
+ async generatePreloadAssets(e) {
1603
+ const { origin: t, preloadOptions: r, remoteInfo: n, remote: o, globalSnapshot: s, remoteSnapshot: i } = e;
1604
+ return F() ? Oe(o) && ot(o) ? {
1688
1605
  cssAssets: [],
1689
1606
  jsAssetsWithoutEntry: [],
1690
- entryAssets: [
1691
- {
1692
- name: s.name,
1693
- url: s.entry,
1694
- moduleInfo: {
1695
- name: o.name,
1696
- entry: s.entry,
1697
- type: o.type || "global",
1698
- entryGlobalName: "",
1699
- shareScope: ""
1700
- }
1607
+ entryAssets: [{
1608
+ name: o.name,
1609
+ url: o.entry,
1610
+ moduleInfo: {
1611
+ name: n.name,
1612
+ entry: o.entry,
1613
+ type: n.type || "global",
1614
+ entryGlobalName: "",
1615
+ shareScope: ""
1701
1616
  }
1702
- ]
1703
- } : (assignRemoteInfo(o, c), generatePreloadAssets(t, n, o, i, c)) : {
1617
+ }]
1618
+ } : (vt(n, i), un(t, r, n, s, i)) : {
1704
1619
  cssAssets: [],
1705
1620
  jsAssetsWithoutEntry: [],
1706
1621
  entryAssets: []
@@ -1708,829 +1623,794 @@ const generatePreloadAssetsPlugin = function() {
1708
1623
  }
1709
1624
  };
1710
1625
  };
1711
- function getGlobalRemoteInfo(r, t) {
1712
- const n = getGlobalSnapshotInfoByModuleInfo({
1626
+ function kt(e, t) {
1627
+ const r = ue({
1713
1628
  name: t.name,
1714
1629
  version: t.options.version
1715
- }), o = n && "remotesInfo" in n && n.remotesInfo && getInfoWithoutType(n.remotesInfo, r.name).value;
1716
- return o && o.matchedVersion ? {
1717
- hostGlobalSnapshot: n,
1718
- globalSnapshot: getGlobalSnapshot(),
1719
- remoteSnapshot: getGlobalSnapshotInfoByModuleInfo({
1720
- name: r.name,
1721
- version: o.matchedVersion
1630
+ }), n = r && "remotesInfo" in r && r.remotesInfo && q(r.remotesInfo, e.name).value;
1631
+ return n && n.matchedVersion ? {
1632
+ hostGlobalSnapshot: r,
1633
+ globalSnapshot: He(),
1634
+ remoteSnapshot: ue({
1635
+ name: e.name,
1636
+ version: n.matchedVersion
1722
1637
  })
1723
1638
  } : {
1724
1639
  hostGlobalSnapshot: void 0,
1725
- globalSnapshot: getGlobalSnapshot(),
1726
- remoteSnapshot: getGlobalSnapshotInfoByModuleInfo({
1727
- name: r.name,
1728
- version: "version" in r ? r.version : void 0
1640
+ globalSnapshot: He(),
1641
+ remoteSnapshot: ue({
1642
+ name: e.name,
1643
+ version: "version" in e ? e.version : void 0
1729
1644
  })
1730
1645
  };
1731
1646
  }
1732
- class SnapshotHandler {
1733
- constructor(t) {
1734
- this.loadingHostSnapshot = null, this.manifestCache = /* @__PURE__ */ new Map(), this.hooks = new PluginSystem({
1735
- beforeLoadRemoteSnapshot: new AsyncHook("beforeLoadRemoteSnapshot"),
1736
- loadSnapshot: new AsyncWaterfallHook("loadGlobalSnapshot"),
1737
- loadRemoteSnapshot: new AsyncWaterfallHook("loadRemoteSnapshot"),
1738
- afterLoadSnapshot: new AsyncWaterfallHook("afterLoadSnapshot")
1739
- }), this.manifestLoading = Global.__FEDERATION__.__MANIFEST_LOADING__, this.HostInstance = t, this.loaderHook = t.loaderHook;
1740
- }
1741
- // eslint-disable-next-line max-lines-per-function
1742
- async loadRemoteSnapshotInfo({ moduleInfo: t, id: n, expose: o }) {
1743
- const { options: s } = this.HostInstance;
1647
+ var hn = class {
1648
+ constructor(e) {
1649
+ this.loadingHostSnapshot = null, this.manifestCache = /* @__PURE__ */ new Map(), this.hooks = new K({
1650
+ beforeLoadRemoteSnapshot: new v("beforeLoadRemoteSnapshot"),
1651
+ loadSnapshot: new H("loadGlobalSnapshot"),
1652
+ loadRemoteSnapshot: new H("loadRemoteSnapshot"),
1653
+ afterLoadSnapshot: new H("afterLoadSnapshot")
1654
+ }), this.manifestLoading = Q.__FEDERATION__.__MANIFEST_LOADING__, this.HostInstance = e, this.loaderHook = e.loaderHook;
1655
+ }
1656
+ async loadRemoteSnapshotInfo({ moduleInfo: e, id: t, expose: r }) {
1657
+ const { options: n } = this.HostInstance;
1744
1658
  await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({
1745
- options: s,
1746
- moduleInfo: t
1659
+ options: n,
1660
+ moduleInfo: e
1747
1661
  });
1748
- let i = getGlobalSnapshotInfoByModuleInfo({
1662
+ let o = ue({
1749
1663
  name: this.HostInstance.options.name,
1750
1664
  version: this.HostInstance.options.version
1751
1665
  });
1752
- i || (i = {
1666
+ o || (o = {
1753
1667
  version: this.HostInstance.options.version || "",
1754
1668
  remoteEntry: "",
1755
1669
  remotesInfo: {}
1756
- }, addGlobalSnapshot({
1757
- [this.HostInstance.options.name]: i
1758
- })), i && "remotesInfo" in i && !getInfoWithoutType(i.remotesInfo, t.name).value && ("version" in t || "entry" in t) && (i.remotesInfo = {
1759
- ...i == null ? void 0 : i.remotesInfo,
1760
- [t.name]: {
1761
- matchedVersion: "version" in t ? t.version : t.entry
1762
- }
1670
+ }, fr({ [this.HostInstance.options.name]: o })), o && "remotesInfo" in o && !q(o.remotesInfo, e.name).value && ("version" in e || "entry" in e) && (o.remotesInfo = {
1671
+ ...o == null ? void 0 : o.remotesInfo,
1672
+ [e.name]: { matchedVersion: "version" in e ? e.version : e.entry }
1763
1673
  });
1764
- const { hostGlobalSnapshot: c, remoteSnapshot: a, globalSnapshot: u } = this.getGlobalRemoteInfo(t), { remoteSnapshot: l, globalSnapshot: d } = await this.hooks.lifecycle.loadSnapshot.emit({
1765
- options: s,
1766
- moduleInfo: t,
1767
- hostGlobalSnapshot: c,
1768
- remoteSnapshot: a,
1769
- globalSnapshot: u
1674
+ const { hostGlobalSnapshot: s, remoteSnapshot: i, globalSnapshot: a } = this.getGlobalRemoteInfo(e), { remoteSnapshot: c, globalSnapshot: l } = await this.hooks.lifecycle.loadSnapshot.emit({
1675
+ options: n,
1676
+ moduleInfo: e,
1677
+ hostGlobalSnapshot: s,
1678
+ remoteSnapshot: i,
1679
+ globalSnapshot: a
1770
1680
  });
1771
- let y, p;
1772
- if (l)
1773
- if (isManifestProvider(l)) {
1774
- const m = isBrowserEnv() ? l.remoteEntry : l.ssrRemoteEntry || l.remoteEntry || "", g = await this.getManifestJson(m, t, {}), b = setGlobalSnapshotInfoByModuleInfo({
1775
- ...t,
1776
- // The global remote may be overridden
1777
- // Therefore, set the snapshot key to the global address of the actual request
1778
- entry: m
1779
- }, g);
1780
- y = g, p = b;
1781
- } else {
1782
- const { remoteSnapshot: m } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({
1783
- options: this.HostInstance.options,
1784
- moduleInfo: t,
1785
- remoteSnapshot: l,
1786
- from: "global"
1787
- });
1788
- y = m, p = d;
1789
- }
1790
- else if (isRemoteInfoWithEntry(t)) {
1791
- const m = await this.getManifestJson(t.entry, t, {}), g = setGlobalSnapshotInfoByModuleInfo(t, m), { remoteSnapshot: b } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({
1681
+ let f, d;
1682
+ if (c) if (Ye(c)) {
1683
+ const u = F() ? c.remoteEntry : c.ssrRemoteEntry || c.remoteEntry || "", h = await this.getManifestJson(u, e, {}), p = Ge({
1684
+ ...e,
1685
+ entry: u
1686
+ }, h);
1687
+ f = h, d = p;
1688
+ } else {
1689
+ const { remoteSnapshot: u } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({
1792
1690
  options: this.HostInstance.options,
1793
- moduleInfo: t,
1794
- remoteSnapshot: m,
1691
+ moduleInfo: e,
1692
+ remoteSnapshot: c,
1795
1693
  from: "global"
1796
1694
  });
1797
- y = b, p = g;
1798
- } else
1799
- error(getShortErrorMsg(RUNTIME_007, runtimeDescMap, {
1800
- hostName: t.name,
1801
- hostVersion: t.version,
1802
- globalSnapshot: JSON.stringify(d)
1803
- }));
1695
+ f = u, d = l;
1696
+ }
1697
+ else if (Oe(e)) {
1698
+ const u = await this.getManifestJson(e.entry, e, {}), h = Ge(e, u), { remoteSnapshot: p } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({
1699
+ options: this.HostInstance.options,
1700
+ moduleInfo: e,
1701
+ remoteSnapshot: u,
1702
+ from: "global"
1703
+ });
1704
+ f = p, d = h;
1705
+ } else k(D(Rt, L, {
1706
+ hostName: e.name,
1707
+ hostVersion: e.version,
1708
+ globalSnapshot: JSON.stringify(l)
1709
+ }));
1804
1710
  return await this.hooks.lifecycle.afterLoadSnapshot.emit({
1805
- id: n,
1711
+ id: t,
1806
1712
  host: this.HostInstance,
1807
- options: s,
1808
- moduleInfo: t,
1809
- remoteSnapshot: y
1713
+ options: n,
1714
+ moduleInfo: e,
1715
+ remoteSnapshot: f
1810
1716
  }), {
1811
- remoteSnapshot: y,
1812
- globalSnapshot: p
1717
+ remoteSnapshot: f,
1718
+ globalSnapshot: d
1813
1719
  };
1814
1720
  }
1815
- getGlobalRemoteInfo(t) {
1816
- return getGlobalRemoteInfo(t, this.HostInstance);
1721
+ getGlobalRemoteInfo(e) {
1722
+ return kt(e, this.HostInstance);
1817
1723
  }
1818
- async getManifestJson(t, n, o) {
1819
- const s = async () => {
1820
- let c = this.manifestCache.get(t);
1821
- if (c)
1822
- return c;
1724
+ async getManifestJson(e, t, r) {
1725
+ const n = async () => {
1726
+ let s = this.manifestCache.get(e);
1727
+ if (s) return s;
1823
1728
  try {
1824
- let a = await this.loaderHook.lifecycle.fetch.emit(t, {});
1825
- (!a || !(a instanceof Response)) && (a = await fetch(t, {})), c = await a.json();
1826
- } catch (a) {
1827
- c = await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({
1828
- id: t,
1829
- error: a,
1729
+ let i = await this.loaderHook.lifecycle.fetch.emit(e, {});
1730
+ (!i || !(i instanceof Response)) && (i = await fetch(e, {})), s = await i.json();
1731
+ } catch (i) {
1732
+ s = await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({
1733
+ id: e,
1734
+ error: i,
1830
1735
  from: "runtime",
1831
1736
  lifecycle: "afterResolve",
1832
1737
  origin: this.HostInstance
1833
- }), c || (delete this.manifestLoading[t], error(getShortErrorMsg(RUNTIME_003, runtimeDescMap, {
1834
- manifestUrl: t,
1835
- moduleName: n.name,
1738
+ }), s || (delete this.manifestLoading[e], k(D(gt, L, {
1739
+ manifestUrl: e,
1740
+ moduleName: t.name,
1836
1741
  hostName: this.HostInstance.options.name
1837
- }, `${a}`)));
1742
+ }, `${i}`)));
1838
1743
  }
1839
- return assert(c.metaData && c.exposes && c.shared, `${t} is not a federation manifest`), this.manifestCache.set(t, c), c;
1840
- }, i = async () => {
1841
- const c = await s(), a = generateSnapshotFromManifest(c, {
1842
- version: t
1843
- }), { remoteSnapshot: u } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({
1744
+ return T(s.metaData && s.exposes && s.shared, `${e} is not a federation manifest`), this.manifestCache.set(e, s), s;
1745
+ }, o = async () => {
1746
+ const s = await n(), i = Xt(s, { version: e }), { remoteSnapshot: a } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({
1844
1747
  options: this.HostInstance.options,
1845
- moduleInfo: n,
1846
- manifestJson: c,
1847
- remoteSnapshot: a,
1848
- manifestUrl: t,
1748
+ moduleInfo: t,
1749
+ manifestJson: s,
1750
+ remoteSnapshot: i,
1751
+ manifestUrl: e,
1849
1752
  from: "manifest"
1850
1753
  });
1851
- return u;
1754
+ return a;
1852
1755
  };
1853
- return this.manifestLoading[t] || (this.manifestLoading[t] = i().then((c) => c)), this.manifestLoading[t];
1854
- }
1855
- }
1856
- class SharedHandler {
1857
- constructor(t) {
1858
- this.hooks = new PluginSystem({
1859
- beforeRegisterShare: new SyncWaterfallHook("beforeRegisterShare"),
1860
- afterResolve: new AsyncWaterfallHook("afterResolve"),
1861
- beforeLoadShare: new AsyncWaterfallHook("beforeLoadShare"),
1862
- // not used yet
1863
- loadShare: new AsyncHook(),
1864
- resolveShare: new SyncWaterfallHook("resolveShare"),
1865
- // maybe will change, temporarily for internal use only
1866
- initContainerShareScopeMap: new SyncWaterfallHook("initContainerShareScopeMap")
1867
- }), this.host = t, this.shareScopeMap = {}, this.initTokens = {}, this._setGlobalShareScopeMap(t.options);
1868
- }
1869
- // register shared in shareScopeMap
1870
- registerShared(t, n) {
1871
- const { newShareInfos: o, allShareInfos: s } = formatShareConfigs(t, n);
1872
- return Object.keys(o).forEach((c) => {
1873
- o[c].forEach((u) => {
1874
- u.scope.forEach((l) => {
1875
- var y;
1756
+ return this.manifestLoading[e] || (this.manifestLoading[e] = o().then((s) => s)), this.manifestLoading[e];
1757
+ }
1758
+ }, dn = class {
1759
+ constructor(e) {
1760
+ this.hooks = new K({
1761
+ beforeRegisterShare: new j("beforeRegisterShare"),
1762
+ afterResolve: new H("afterResolve"),
1763
+ beforeLoadShare: new H("beforeLoadShare"),
1764
+ loadShare: new v(),
1765
+ resolveShare: new j("resolveShare"),
1766
+ initContainerShareScopeMap: new j("initContainerShareScopeMap")
1767
+ }), this.host = e, this.shareScopeMap = {}, this.initTokens = {}, this._setGlobalShareScopeMap(e.options);
1768
+ }
1769
+ registerShared(e, t) {
1770
+ const { newShareInfos: r, allShareInfos: n } = pt(e, t);
1771
+ return Object.keys(r).forEach((o) => {
1772
+ r[o].forEach((s) => {
1773
+ s.scope.forEach((i) => {
1774
+ var a;
1876
1775
  this.hooks.lifecycle.beforeRegisterShare.emit({
1877
1776
  origin: this.host,
1878
- pkgName: c,
1879
- shared: u
1880
- }), ((y = this.shareScopeMap[l]) == null ? void 0 : y[c]) || this.setShared({
1881
- pkgName: c,
1882
- lib: u.lib,
1883
- get: u.get,
1884
- loaded: u.loaded || !!u.lib,
1885
- shared: u,
1886
- from: n.name
1777
+ pkgName: o,
1778
+ shared: s
1779
+ }), (a = this.shareScopeMap[i]) != null && a[o] || this.setShared({
1780
+ pkgName: o,
1781
+ lib: s.lib,
1782
+ get: s.get,
1783
+ loaded: s.loaded || !!s.lib,
1784
+ shared: s,
1785
+ from: t.name
1887
1786
  });
1888
1787
  });
1889
1788
  });
1890
1789
  }), {
1891
- newShareInfos: o,
1892
- allShareInfos: s
1790
+ newShareInfos: r,
1791
+ allShareInfos: n
1893
1792
  };
1894
1793
  }
1895
- async loadShare(t, n) {
1896
- const { host: o } = this, s = getTargetSharedOptions({
1897
- pkgName: t,
1898
- extraOptions: n,
1899
- shareInfos: o.options.shared
1794
+ async loadShare(e, t) {
1795
+ const { host: r } = this, n = je({
1796
+ pkgName: e,
1797
+ extraOptions: t,
1798
+ shareInfos: r.options.shared
1900
1799
  });
1901
- s != null && s.scope && await Promise.all(s.scope.map(async (l) => {
1902
- await Promise.all(this.initializeSharing(l, {
1903
- strategy: s.strategy
1904
- }));
1800
+ n != null && n.scope && await Promise.all(n.scope.map(async (a) => {
1801
+ await Promise.all(this.initializeSharing(a, { strategy: n.strategy }));
1905
1802
  }));
1906
- const i = await this.hooks.lifecycle.beforeLoadShare.emit({
1907
- pkgName: t,
1908
- shareInfo: s,
1909
- shared: o.options.shared,
1910
- origin: o
1911
- }), { shareInfo: c } = i;
1912
- assert(c, `Cannot find ${t} Share in the ${o.options.name}. Please ensure that the ${t} Share parameters have been injected`);
1913
- const { shared: a, useTreesShaking: u } = getRegisteredShare(this.shareScopeMap, t, c, this.hooks.lifecycle.resolveShare) || {};
1914
- if (a) {
1915
- const l = directShare(a, u);
1916
- if (l.lib)
1917
- return addUseIn(l, o.options.name), l.lib;
1918
- if (l.loading && !l.loaded) {
1919
- const d = await l.loading;
1920
- return l.loaded = !0, l.lib || (l.lib = d), addUseIn(l, o.options.name), d;
1803
+ const { shareInfo: o } = await this.hooks.lifecycle.beforeLoadShare.emit({
1804
+ pkgName: e,
1805
+ shareInfo: n,
1806
+ shared: r.options.shared,
1807
+ origin: r
1808
+ });
1809
+ T(o, `Cannot find ${e} Share in the ${r.options.name}. Please ensure that the ${e} Share parameters have been injected`);
1810
+ const { shared: s, useTreesShaking: i } = de(this.shareScopeMap, e, o, this.hooks.lifecycle.resolveShare) || {};
1811
+ if (s) {
1812
+ const a = ie(s, i);
1813
+ if (a.lib)
1814
+ return x(a, r.options.name), a.lib;
1815
+ if (a.loading && !a.loaded) {
1816
+ const c = await a.loading;
1817
+ return a.loaded = !0, a.lib || (a.lib = c), x(a, r.options.name), c;
1921
1818
  } else {
1922
- const y = (async () => {
1923
- const p = await l.get();
1924
- return addUseIn(l, o.options.name), l.loaded = !0, l.lib = p, p;
1819
+ const l = (async () => {
1820
+ const f = await a.get();
1821
+ return x(a, r.options.name), a.loaded = !0, a.lib = f, f;
1925
1822
  })();
1926
1823
  return this.setShared({
1927
- pkgName: t,
1824
+ pkgName: e,
1928
1825
  loaded: !1,
1929
- shared: a,
1930
- from: o.options.name,
1826
+ shared: s,
1827
+ from: r.options.name,
1931
1828
  lib: null,
1932
- loading: y,
1933
- treeShaking: u ? l : void 0
1934
- }), y;
1829
+ loading: l,
1830
+ treeShaking: i ? a : void 0
1831
+ }), l;
1935
1832
  }
1936
1833
  } else {
1937
- if (n != null && n.customShareInfo)
1938
- return !1;
1939
- const l = shouldUseTreeShaking(c.treeShaking), d = directShare(c, l), p = (async () => {
1940
- const m = await d.get();
1941
- d.lib = m, d.loaded = !0, addUseIn(d, o.options.name);
1942
- const { shared: g, useTreesShaking: b } = getRegisteredShare(this.shareScopeMap, t, c, this.hooks.lifecycle.resolveShare) || {};
1943
- if (g) {
1944
- const E = directShare(g, b);
1945
- E.lib = m, E.loaded = !0, g.from = c.from;
1834
+ if (t != null && t.customShareInfo) return !1;
1835
+ const a = ee(o.treeShaking), c = ie(o, a), f = (async () => {
1836
+ const d = await c.get();
1837
+ c.lib = d, c.loaded = !0, x(c, r.options.name);
1838
+ const { shared: u, useTreesShaking: h } = de(this.shareScopeMap, e, o, this.hooks.lifecycle.resolveShare) || {};
1839
+ if (u) {
1840
+ const p = ie(u, h);
1841
+ p.lib = d, p.loaded = !0, u.from = o.from;
1946
1842
  }
1947
- return m;
1843
+ return d;
1948
1844
  })();
1949
1845
  return this.setShared({
1950
- pkgName: t,
1846
+ pkgName: e,
1951
1847
  loaded: !1,
1952
- shared: c,
1953
- from: o.options.name,
1848
+ shared: o,
1849
+ from: r.options.name,
1954
1850
  lib: null,
1955
- loading: p,
1956
- treeShaking: l ? d : void 0
1957
- }), p;
1851
+ loading: f,
1852
+ treeShaking: a ? c : void 0
1853
+ }), f;
1958
1854
  }
1959
1855
  }
1960
1856
  /**
1961
- * This function initializes the sharing sequence (executed only once per share scope).
1962
- * It accepts one argument, the name of the share scope.
1963
- * If the share scope does not exist, it creates one.
1964
- */
1965
- // eslint-disable-next-line @typescript-eslint/member-ordering
1966
- initializeSharing(t = DEFAULT_SCOPE, n) {
1967
- const { host: o } = this, s = n == null ? void 0 : n.from, i = n == null ? void 0 : n.strategy;
1968
- let c = n == null ? void 0 : n.initScope;
1969
- const a = [];
1970
- if (s !== "build") {
1971
- const { initTokens: m } = this;
1972
- c || (c = []);
1973
- let g = m[t];
1974
- if (g || (g = m[t] = { from: this.host.name }), c.indexOf(g) >= 0)
1975
- return a;
1976
- c.push(g);
1857
+ * This function initializes the sharing sequence (executed only once per share scope).
1858
+ * It accepts one argument, the name of the share scope.
1859
+ * If the share scope does not exist, it creates one.
1860
+ */
1861
+ initializeSharing(e = re, t) {
1862
+ const { host: r } = this, n = t == null ? void 0 : t.from, o = t == null ? void 0 : t.strategy;
1863
+ let s = t == null ? void 0 : t.initScope;
1864
+ const i = [];
1865
+ if (n !== "build") {
1866
+ const { initTokens: u } = this;
1867
+ s || (s = []);
1868
+ let h = u[e];
1869
+ if (h || (h = u[e] = { from: this.host.name }), s.indexOf(h) >= 0) return i;
1870
+ s.push(h);
1977
1871
  }
1978
- const u = this.shareScopeMap, l = o.options.name;
1979
- u[t] || (u[t] = {});
1980
- const d = u[t], y = (m, g) => {
1981
- var T;
1982
- const { version: b, eager: E } = g;
1983
- d[m] = d[m] || {};
1984
- const R = d[m], S = R[b] && directShare(R[b]), _ = !!(S && ("eager" in S && S.eager || "shareConfig" in S && ((T = S.shareConfig) != null && T.eager)));
1985
- (!S || S.strategy !== "loaded-first" && !S.loaded && (!E != !_ ? E : l > R[b].from)) && (R[b] = g);
1986
- }, p = async (m) => {
1987
- const { module: g } = await o.remoteHandler.getRemoteModuleAndOptions({
1988
- id: m
1989
- });
1990
- let b;
1872
+ const a = this.shareScopeMap, c = r.options.name;
1873
+ a[e] || (a[e] = {});
1874
+ const l = a[e], f = (u, h) => {
1875
+ var b;
1876
+ const { version: p, eager: y } = h;
1877
+ l[u] = l[u] || {};
1878
+ const E = l[u], m = E[p] && ie(E[p]), g = !!(m && ("eager" in m && m.eager || "shareConfig" in m && ((b = m.shareConfig) != null && b.eager)));
1879
+ (!m || m.strategy !== "loaded-first" && !m.loaded && (!y != !g ? y : c > E[p].from)) && (E[p] = h);
1880
+ }, d = async (u) => {
1881
+ const { module: h } = await r.remoteHandler.getRemoteModuleAndOptions({ id: u });
1882
+ let p;
1991
1883
  try {
1992
- b = await g.getEntry();
1993
- } catch (E) {
1994
- b = await o.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({
1995
- id: m,
1996
- error: E,
1884
+ p = await h.getEntry();
1885
+ } catch (y) {
1886
+ p = await r.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({
1887
+ id: u,
1888
+ error: y,
1997
1889
  from: "runtime",
1998
1890
  lifecycle: "beforeLoadShare",
1999
- origin: o
1891
+ origin: r
2000
1892
  });
2001
1893
  } finally {
2002
- b != null && b.init && (g.remoteEntryExports = b, await g.init());
1894
+ p != null && p.init && !h.initing && (h.remoteEntryExports = p, await h.init(void 0, void 0, s));
2003
1895
  }
2004
1896
  };
2005
- return Object.keys(o.options.shared).forEach((m) => {
2006
- o.options.shared[m].forEach((b) => {
2007
- b.scope.includes(t) && y(m, b);
1897
+ return Object.keys(r.options.shared).forEach((u) => {
1898
+ r.options.shared[u].forEach((h) => {
1899
+ h.scope.includes(e) && f(u, h);
2008
1900
  });
2009
- }), (o.options.shareStrategy === "version-first" || i === "version-first") && o.options.remotes.forEach((m) => {
2010
- m.shareScope === t && a.push(p(m.name));
2011
- }), a;
2012
- }
2013
- // The lib function will only be available if the shared set by eager or runtime init is set or the shared is successfully loaded.
2014
- // 1. If the loaded shared already exists globally, then it will be reused
2015
- // 2. If lib exists in local shared, it will be used directly
2016
- // 3. If the local get returns something other than Promise, then it will be used directly
2017
- loadShareSync(t, n) {
2018
- const { host: o } = this, s = getTargetSharedOptions({
2019
- pkgName: t,
2020
- extraOptions: n,
2021
- shareInfos: o.options.shared
1901
+ }), (r.options.shareStrategy === "version-first" || o === "version-first") && r.options.remotes.forEach((u) => {
1902
+ u.shareScope === e && i.push(d(u.name));
1903
+ }), i;
1904
+ }
1905
+ loadShareSync(e, t) {
1906
+ const { host: r } = this, n = je({
1907
+ pkgName: e,
1908
+ extraOptions: t,
1909
+ shareInfos: r.options.shared
2022
1910
  });
2023
- s != null && s.scope && s.scope.forEach((a) => {
2024
- this.initializeSharing(a, { strategy: s.strategy });
1911
+ n != null && n.scope && n.scope.forEach((i) => {
1912
+ this.initializeSharing(i, { strategy: n.strategy });
2025
1913
  });
2026
- const { shared: i, useTreesShaking: c } = getRegisteredShare(this.shareScopeMap, t, s, this.hooks.lifecycle.resolveShare) || {};
2027
- if (i) {
2028
- if (typeof i.lib == "function")
2029
- return addUseIn(i, o.options.name), i.loaded || (i.loaded = !0, i.from === o.options.name && (s.loaded = !0)), i.lib;
2030
- if (typeof i.get == "function") {
2031
- const a = i.get();
2032
- if (!(a instanceof Promise))
2033
- return addUseIn(i, o.options.name), this.setShared({
2034
- pkgName: t,
1914
+ const { shared: o, useTreesShaking: s } = de(this.shareScopeMap, e, n, this.hooks.lifecycle.resolveShare) || {};
1915
+ if (o) {
1916
+ if (typeof o.lib == "function")
1917
+ return x(o, r.options.name), o.loaded || (o.loaded = !0, o.from === r.options.name && (n.loaded = !0)), o.lib;
1918
+ if (typeof o.get == "function") {
1919
+ const i = o.get();
1920
+ if (!(i instanceof Promise))
1921
+ return x(o, r.options.name), this.setShared({
1922
+ pkgName: e,
2035
1923
  loaded: !0,
2036
- from: o.options.name,
2037
- lib: a,
2038
- shared: i
2039
- }), a;
1924
+ from: r.options.name,
1925
+ lib: i,
1926
+ shared: o
1927
+ }), i;
2040
1928
  }
2041
1929
  }
2042
- if (s.lib)
2043
- return s.loaded || (s.loaded = !0), s.lib;
2044
- if (s.get) {
2045
- const a = s.get();
2046
- if (a instanceof Promise) {
2047
- const u = (n == null ? void 0 : n.from) === "build" ? RUNTIME_005 : RUNTIME_006;
2048
- throw new Error(getShortErrorMsg(u, runtimeDescMap, {
2049
- hostName: o.options.name,
2050
- sharedPkgName: t
1930
+ if (n.lib)
1931
+ return n.loaded || (n.loaded = !0), n.lib;
1932
+ if (n.get) {
1933
+ const i = n.get();
1934
+ if (i instanceof Promise) {
1935
+ const a = (t == null ? void 0 : t.from) === "build" ? bt : Ae;
1936
+ throw new Error(D(a, L, {
1937
+ hostName: r.options.name,
1938
+ sharedPkgName: e
2051
1939
  }));
2052
1940
  }
2053
- return s.lib = a, this.setShared({
2054
- pkgName: t,
1941
+ return n.lib = i, this.setShared({
1942
+ pkgName: e,
2055
1943
  loaded: !0,
2056
- from: o.options.name,
2057
- lib: s.lib,
2058
- shared: s
2059
- }), s.lib;
1944
+ from: r.options.name,
1945
+ lib: n.lib,
1946
+ shared: n
1947
+ }), n.lib;
2060
1948
  }
2061
- throw new Error(getShortErrorMsg(RUNTIME_006, runtimeDescMap, {
2062
- hostName: o.options.name,
2063
- sharedPkgName: t
1949
+ throw new Error(D(Ae, L, {
1950
+ hostName: r.options.name,
1951
+ sharedPkgName: e
2064
1952
  }));
2065
1953
  }
2066
- initShareScopeMap(t, n, o = {}) {
2067
- const { host: s } = this;
2068
- this.shareScopeMap[t] = n, this.hooks.lifecycle.initContainerShareScopeMap.emit({
2069
- shareScope: n,
2070
- options: s.options,
2071
- origin: s,
2072
- scopeName: t,
2073
- hostShareScopeMap: o.hostShareScopeMap
1954
+ initShareScopeMap(e, t, r = {}) {
1955
+ const { host: n } = this;
1956
+ this.shareScopeMap[e] = t, this.hooks.lifecycle.initContainerShareScopeMap.emit({
1957
+ shareScope: t,
1958
+ options: n.options,
1959
+ origin: n,
1960
+ scopeName: e,
1961
+ hostShareScopeMap: r.hostShareScopeMap
2074
1962
  });
2075
1963
  }
2076
- setShared({ pkgName: t, shared: n, from: o, lib: s, loading: i, loaded: c, get: a, treeShaking: u }) {
2077
- const { version: l, scope: d = "default", ...y } = n, p = Array.isArray(d) ? d : [d], m = (g) => {
2078
- const b = (R, S, _) => {
2079
- _ && !R[S] && (R[S] = _);
2080
- }, E = u ? g.treeShaking : g;
2081
- b(E, "loaded", c), b(E, "loading", i), b(E, "get", a);
1964
+ setShared({ pkgName: e, shared: t, from: r, lib: n, loading: o, loaded: s, get: i, treeShaking: a }) {
1965
+ const { version: c, scope: l = "default", ...f } = t, d = Array.isArray(l) ? l : [l], u = (h) => {
1966
+ const p = (E, m, g) => {
1967
+ g && !E[m] && (E[m] = g);
1968
+ }, y = a ? h.treeShaking : h;
1969
+ p(y, "loaded", s), p(y, "loading", o), p(y, "get", i);
2082
1970
  };
2083
- p.forEach((g) => {
2084
- this.shareScopeMap[g] || (this.shareScopeMap[g] = {}), this.shareScopeMap[g][t] || (this.shareScopeMap[g][t] = {}), this.shareScopeMap[g][t][l] || (this.shareScopeMap[g][t][l] = {
2085
- version: l,
2086
- scope: [g],
2087
- ...y,
2088
- lib: s
1971
+ d.forEach((h) => {
1972
+ this.shareScopeMap[h] || (this.shareScopeMap[h] = {}), this.shareScopeMap[h][e] || (this.shareScopeMap[h][e] = {}), this.shareScopeMap[h][e][c] || (this.shareScopeMap[h][e][c] = {
1973
+ version: c,
1974
+ scope: [h],
1975
+ ...f,
1976
+ lib: n
2089
1977
  });
2090
- const b = this.shareScopeMap[g][t][l];
2091
- m(b), o && b.from !== o && (b.from = o);
1978
+ const p = this.shareScopeMap[h][e][c];
1979
+ u(p), r && p.from !== r && (p.from = r);
2092
1980
  });
2093
1981
  }
2094
- _setGlobalShareScopeMap(t) {
2095
- const n = getGlobalShareScope(), o = t.id || t.name;
2096
- o && !n[o] && (n[o] = this.shareScopeMap);
2097
- }
2098
- }
2099
- class RemoteHandler {
2100
- constructor(t) {
2101
- this.hooks = new PluginSystem({
2102
- beforeRegisterRemote: new SyncWaterfallHook("beforeRegisterRemote"),
2103
- registerRemote: new SyncWaterfallHook("registerRemote"),
2104
- beforeRequest: new AsyncWaterfallHook("beforeRequest"),
2105
- onLoad: new AsyncHook("onLoad"),
2106
- handlePreloadModule: new SyncHook("handlePreloadModule"),
2107
- errorLoadRemote: new AsyncHook("errorLoadRemote"),
2108
- beforePreloadRemote: new AsyncHook("beforePreloadRemote"),
2109
- generatePreloadAssets: new AsyncHook("generatePreloadAssets"),
2110
- // not used yet
2111
- afterPreloadRemote: new AsyncHook(),
2112
- // TODO: Move to loaderHook
2113
- loadEntry: new AsyncHook()
2114
- }), this.host = t, this.idToRemoteMap = {};
2115
- }
2116
- formatAndRegisterRemote(t, n) {
2117
- return (n.remotes || []).reduce((s, i) => (this.registerRemote(i, s, { force: !1 }), s), t.remotes);
2118
- }
2119
- setIdToRemoteMap(t, n) {
2120
- const { remote: o, expose: s } = n, { name: i, alias: c } = o;
2121
- if (this.idToRemoteMap[t] = { name: o.name, expose: s }, c && t.startsWith(i)) {
2122
- const a = t.replace(i, c);
2123
- this.idToRemoteMap[a] = { name: o.name, expose: s };
1982
+ _setGlobalShareScopeMap(e) {
1983
+ const t = mt(), r = e.id || e.name;
1984
+ r && !t[r] && (t[r] = this.shareScopeMap);
1985
+ }
1986
+ }, pn = class {
1987
+ constructor(e) {
1988
+ this.hooks = new K({
1989
+ beforeRegisterRemote: new j("beforeRegisterRemote"),
1990
+ registerRemote: new j("registerRemote"),
1991
+ beforeRequest: new H("beforeRequest"),
1992
+ onLoad: new v("onLoad"),
1993
+ handlePreloadModule: new A("handlePreloadModule"),
1994
+ errorLoadRemote: new v("errorLoadRemote"),
1995
+ beforePreloadRemote: new v("beforePreloadRemote"),
1996
+ generatePreloadAssets: new v("generatePreloadAssets"),
1997
+ afterPreloadRemote: new v(),
1998
+ loadEntry: new v()
1999
+ }), this.host = e, this.idToRemoteMap = {};
2000
+ }
2001
+ formatAndRegisterRemote(e, t) {
2002
+ return (t.remotes || []).reduce((r, n) => (this.registerRemote(n, r, { force: !1 }), r), e.remotes);
2003
+ }
2004
+ setIdToRemoteMap(e, t) {
2005
+ const { remote: r, expose: n } = t, { name: o, alias: s } = r;
2006
+ if (this.idToRemoteMap[e] = {
2007
+ name: r.name,
2008
+ expose: n
2009
+ }, s && e.startsWith(o)) {
2010
+ const i = e.replace(o, s);
2011
+ this.idToRemoteMap[i] = {
2012
+ name: r.name,
2013
+ expose: n
2014
+ };
2124
2015
  return;
2125
2016
  }
2126
- if (c && t.startsWith(c)) {
2127
- const a = t.replace(c, i);
2128
- this.idToRemoteMap[a] = { name: o.name, expose: s };
2017
+ if (s && e.startsWith(s)) {
2018
+ const i = e.replace(s, o);
2019
+ this.idToRemoteMap[i] = {
2020
+ name: r.name,
2021
+ expose: n
2022
+ };
2129
2023
  }
2130
2024
  }
2131
- // eslint-disable-next-line max-lines-per-function
2132
- // eslint-disable-next-line @typescript-eslint/member-ordering
2133
- async loadRemote(t, n) {
2134
- const { host: o } = this;
2025
+ async loadRemote(e, t) {
2026
+ const { host: r } = this;
2135
2027
  try {
2136
- const { loadFactory: s = !0 } = n || {
2137
- loadFactory: !0
2138
- }, { module: i, moduleOptions: c, remoteMatchInfo: a } = await this.getRemoteModuleAndOptions({
2139
- id: t
2140
- }), { pkgNameOrAlias: u, remote: l, expose: d, id: y, remoteSnapshot: p } = a, m = await i.get(y, d, n, p), g = await this.hooks.lifecycle.onLoad.emit({
2141
- id: y,
2142
- pkgNameOrAlias: u,
2143
- expose: d,
2144
- exposeModule: s ? m : void 0,
2145
- exposeModuleFactory: s ? void 0 : m,
2146
- remote: l,
2147
- options: c,
2148
- moduleInstance: i,
2149
- origin: o
2028
+ const { loadFactory: n = !0 } = t || { loadFactory: !0 }, { module: o, moduleOptions: s, remoteMatchInfo: i } = await this.getRemoteModuleAndOptions({ id: e }), { pkgNameOrAlias: a, remote: c, expose: l, id: f, remoteSnapshot: d } = i, u = await o.get(f, l, t, d), h = await this.hooks.lifecycle.onLoad.emit({
2029
+ id: f,
2030
+ pkgNameOrAlias: a,
2031
+ expose: l,
2032
+ exposeModule: n ? u : void 0,
2033
+ exposeModuleFactory: n ? void 0 : u,
2034
+ remote: c,
2035
+ options: s,
2036
+ moduleInstance: o,
2037
+ origin: r
2150
2038
  });
2151
- return this.setIdToRemoteMap(t, a), typeof g == "function" ? g : m;
2152
- } catch (s) {
2153
- const { from: i = "runtime" } = n || { from: "runtime" }, c = await this.hooks.lifecycle.errorLoadRemote.emit({
2154
- id: t,
2155
- error: s,
2156
- from: i,
2039
+ return this.setIdToRemoteMap(e, i), typeof h == "function" ? h : u;
2040
+ } catch (n) {
2041
+ const { from: o = "runtime" } = t || { from: "runtime" }, s = await this.hooks.lifecycle.errorLoadRemote.emit({
2042
+ id: e,
2043
+ error: n,
2044
+ from: o,
2157
2045
  lifecycle: "onLoad",
2158
- origin: o
2046
+ origin: r
2159
2047
  });
2160
- if (!c)
2161
- throw s;
2162
- return c;
2048
+ if (!s) throw n;
2049
+ return s;
2163
2050
  }
2164
2051
  }
2165
- // eslint-disable-next-line @typescript-eslint/member-ordering
2166
- async preloadRemote(t) {
2167
- const { host: n } = this;
2052
+ async preloadRemote(e) {
2053
+ const { host: t } = this;
2168
2054
  await this.hooks.lifecycle.beforePreloadRemote.emit({
2169
- preloadOps: t,
2170
- options: n.options,
2171
- origin: n
2055
+ preloadOps: e,
2056
+ options: t.options,
2057
+ origin: t
2172
2058
  });
2173
- const o = formatPreloadArgs(n.options.remotes, t);
2174
- await Promise.all(o.map(async (s) => {
2175
- const { remote: i } = s, c = getRemoteInfo(i), { globalSnapshot: a, remoteSnapshot: u } = await n.snapshotHandler.loadRemoteSnapshotInfo({
2176
- moduleInfo: i
2177
- }), l = await this.hooks.lifecycle.generatePreloadAssets.emit({
2178
- origin: n,
2179
- preloadOptions: s,
2180
- remote: i,
2181
- remoteInfo: c,
2182
- globalSnapshot: a,
2183
- remoteSnapshot: u
2059
+ const r = on(t.options.remotes, e);
2060
+ await Promise.all(r.map(async (n) => {
2061
+ const { remote: o } = n, s = Pe(o), { globalSnapshot: i, remoteSnapshot: a } = await t.snapshotHandler.loadRemoteSnapshotInfo({ moduleInfo: o }), c = await this.hooks.lifecycle.generatePreloadAssets.emit({
2062
+ origin: t,
2063
+ preloadOptions: n,
2064
+ remote: o,
2065
+ remoteInfo: s,
2066
+ globalSnapshot: i,
2067
+ remoteSnapshot: a
2184
2068
  });
2185
- l && preloadAssets(c, n, l);
2069
+ c && Nt(s, t, c);
2186
2070
  }));
2187
2071
  }
2188
- registerRemotes(t, n) {
2189
- const { host: o } = this;
2190
- t.forEach((s) => {
2191
- this.registerRemote(s, o.options.remotes, {
2192
- force: n == null ? void 0 : n.force
2193
- });
2072
+ registerRemotes(e, t) {
2073
+ const { host: r } = this;
2074
+ e.forEach((n) => {
2075
+ this.registerRemote(n, r.options.remotes, { force: t == null ? void 0 : t.force });
2194
2076
  });
2195
2077
  }
2196
- async getRemoteModuleAndOptions(t) {
2197
- const { host: n } = this, { id: o } = t;
2198
- let s;
2078
+ async getRemoteModuleAndOptions(e) {
2079
+ const { host: t } = this, { id: r } = e;
2080
+ let n;
2199
2081
  try {
2200
- s = await this.hooks.lifecycle.beforeRequest.emit({
2201
- id: o,
2202
- options: n.options,
2203
- origin: n
2082
+ n = await this.hooks.lifecycle.beforeRequest.emit({
2083
+ id: r,
2084
+ options: t.options,
2085
+ origin: t
2204
2086
  });
2205
- } catch (g) {
2206
- if (s = await this.hooks.lifecycle.errorLoadRemote.emit({
2207
- id: o,
2208
- options: n.options,
2209
- origin: n,
2087
+ } catch (h) {
2088
+ if (n = await this.hooks.lifecycle.errorLoadRemote.emit({
2089
+ id: r,
2090
+ options: t.options,
2091
+ origin: t,
2210
2092
  from: "runtime",
2211
- error: g,
2093
+ error: h,
2212
2094
  lifecycle: "beforeRequest"
2213
- }), !s)
2214
- throw g;
2095
+ }), !n) throw h;
2215
2096
  }
2216
- const { id: i } = s, c = matchRemoteWithNameAndExpose(n.options.remotes, i);
2217
- assert(c, getShortErrorMsg(RUNTIME_004, runtimeDescMap, {
2218
- hostName: n.options.name,
2219
- requestId: i
2097
+ const { id: o } = n, s = qr(t.options.remotes, o);
2098
+ T(s, D(_t, L, {
2099
+ hostName: t.options.name,
2100
+ requestId: o
2220
2101
  }));
2221
- const { remote: a } = c, u = getRemoteInfo(a), l = await n.sharedHandler.hooks.lifecycle.afterResolve.emit({
2222
- id: i,
2223
- ...c,
2224
- options: n.options,
2225
- origin: n,
2226
- remoteInfo: u
2227
- }), { remote: d, expose: y } = l;
2228
- assert(d && y, `The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${i}.`);
2229
- let p = n.moduleCache.get(d.name);
2230
- const m = {
2231
- host: n,
2232
- remoteInfo: u
2102
+ const { remote: i } = s, a = Pe(i), c = await t.sharedHandler.hooks.lifecycle.afterResolve.emit({
2103
+ id: o,
2104
+ ...s,
2105
+ options: t.options,
2106
+ origin: t,
2107
+ remoteInfo: a
2108
+ }), { remote: l, expose: f } = c;
2109
+ T(l && f, `The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${o}.`);
2110
+ let d = t.moduleCache.get(l.name);
2111
+ const u = {
2112
+ host: t,
2113
+ remoteInfo: a
2233
2114
  };
2234
- return p || (p = new Module(m), n.moduleCache.set(d.name, p)), {
2235
- module: p,
2236
- moduleOptions: m,
2237
- remoteMatchInfo: l
2115
+ return d || (d = new Tt(u), t.moduleCache.set(l.name, d)), {
2116
+ module: d,
2117
+ moduleOptions: u,
2118
+ remoteMatchInfo: c
2238
2119
  };
2239
2120
  }
2240
- registerRemote(t, n, o) {
2241
- const { host: s } = this, i = () => {
2242
- if (t.alias) {
2243
- const a = n.find((u) => {
2244
- var l;
2245
- return t.alias && (u.name.startsWith(t.alias) || ((l = u.alias) == null ? void 0 : l.startsWith(t.alias)));
2121
+ registerRemote(e, t, r) {
2122
+ const { host: n } = this, o = () => {
2123
+ if (e.alias) {
2124
+ const i = t.find((a) => {
2125
+ var c;
2126
+ return e.alias && (a.name.startsWith(e.alias) || ((c = a.alias) == null ? void 0 : c.startsWith(e.alias)));
2246
2127
  });
2247
- assert(!a, `The alias ${t.alias} of remote ${t.name} is not allowed to be the prefix of ${a && a.name} name or alias`);
2128
+ T(!i, `The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${i && i.name} name or alias`);
2248
2129
  }
2249
- "entry" in t && isBrowserEnv() && !t.entry.startsWith("http") && (t.entry = new URL(t.entry, window.location.origin).href), t.shareScope || (t.shareScope = DEFAULT_SCOPE), t.type || (t.type = DEFAULT_REMOTE_TYPE);
2130
+ "entry" in e && F() && !e.entry.startsWith("http") && (e.entry = new URL(e.entry, window.location.origin).href), e.shareScope || (e.shareScope = re), e.type || (e.type = dt);
2250
2131
  };
2251
- this.hooks.lifecycle.beforeRegisterRemote.emit({ remote: t, origin: s });
2252
- const c = n.find((a) => a.name === t.name);
2253
- if (!c)
2254
- i(), n.push(t), this.hooks.lifecycle.registerRemote.emit({ remote: t, origin: s });
2132
+ this.hooks.lifecycle.beforeRegisterRemote.emit({
2133
+ remote: e,
2134
+ origin: n
2135
+ });
2136
+ const s = t.find((i) => i.name === e.name);
2137
+ if (!s)
2138
+ o(), t.push(e), this.hooks.lifecycle.registerRemote.emit({
2139
+ remote: e,
2140
+ origin: n
2141
+ });
2255
2142
  else {
2256
- const a = [
2257
- `The remote "${t.name}" is already registered.`,
2258
- "Please note that overriding it may cause unexpected errors."
2259
- ];
2260
- o != null && o.force && (this.removeRemote(c), i(), n.push(t), this.hooks.lifecycle.registerRemote.emit({ remote: t, origin: s }), warn$1(a.join(" ")));
2143
+ const i = [`The remote "${e.name}" is already registered.`, "Please note that overriding it may cause unexpected errors."];
2144
+ r != null && r.force && (this.removeRemote(s), o(), t.push(e), this.hooks.lifecycle.registerRemote.emit({
2145
+ remote: e,
2146
+ origin: n
2147
+ }), Je(i.join(" ")));
2261
2148
  }
2262
2149
  }
2263
- removeRemote(t) {
2264
- var n;
2150
+ removeRemote(e) {
2151
+ var t;
2265
2152
  try {
2266
- const { host: o } = this, { name: s } = t, i = o.options.remotes.findIndex((a) => a.name === s);
2267
- i !== -1 && o.options.remotes.splice(i, 1);
2268
- const c = o.moduleCache.get(t.name);
2269
- if (c) {
2270
- const a = c.remoteInfo, u = a.entryGlobalName;
2271
- CurrentGlobal[u] && ((n = Object.getOwnPropertyDescriptor(CurrentGlobal, u)) != null && n.configurable ? delete CurrentGlobal[u] : CurrentGlobal[u] = void 0);
2272
- const l = getRemoteEntryUniqueKey(c.remoteInfo);
2273
- globalLoading[l] && delete globalLoading[l], o.snapshotHandler.manifestCache.delete(a.entry);
2274
- let d = a.buildVersion ? composeKeyWithSeparator(a.name, a.buildVersion) : a.name;
2275
- const y = CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex((m) => a.buildVersion ? m.options.id === d : m.name === d);
2276
- if (y !== -1) {
2277
- const m = CurrentGlobal.__FEDERATION__.__INSTANCES__[y];
2278
- d = m.options.id || d;
2279
- const g = getGlobalShareScope();
2280
- let b = !0;
2281
- const E = [];
2282
- Object.keys(g).forEach((R) => {
2283
- const S = g[R];
2284
- S && Object.keys(S).forEach((_) => {
2285
- const T = S[_];
2286
- T && Object.keys(T).forEach((I) => {
2287
- const A = T[I];
2288
- A && Object.keys(A).forEach((w) => {
2289
- const k = A[w];
2290
- k && typeof k == "object" && k.from === a.name && (k.loaded || k.loading ? (k.useIn = k.useIn.filter((N) => N !== a.name), k.useIn.length ? b = !1 : E.push([
2291
- R,
2292
- _,
2293
- I,
2294
- w
2295
- ])) : E.push([
2296
- R,
2297
- _,
2298
- I,
2299
- w
2153
+ const { host: r } = this, { name: n } = e, o = r.options.remotes.findIndex((i) => i.name === n);
2154
+ o !== -1 && r.options.remotes.splice(o, 1);
2155
+ const s = r.moduleCache.get(e.name);
2156
+ if (s) {
2157
+ const i = s.remoteInfo, a = i.entryGlobalName;
2158
+ I[a] && ((t = Object.getOwnPropertyDescriptor(I, a)) != null && t.configurable ? delete I[a] : I[a] = void 0);
2159
+ const c = ve(s.remoteInfo);
2160
+ V[c] && delete V[c], r.snapshotHandler.manifestCache.delete(i.entry);
2161
+ let l = i.buildVersion ? ze(i.name, i.buildVersion) : i.name;
2162
+ const f = I.__FEDERATION__.__INSTANCES__.findIndex((u) => i.buildVersion ? u.options.id === l : u.name === l);
2163
+ if (f !== -1) {
2164
+ const u = I.__FEDERATION__.__INSTANCES__[f];
2165
+ l = u.options.id || l;
2166
+ const h = mt();
2167
+ let p = !0;
2168
+ const y = [];
2169
+ Object.keys(h).forEach((E) => {
2170
+ const m = h[E];
2171
+ m && Object.keys(m).forEach((g) => {
2172
+ const b = m[g];
2173
+ b && Object.keys(b).forEach((w) => {
2174
+ const _ = b[w];
2175
+ _ && Object.keys(_).forEach((S) => {
2176
+ const R = _[S];
2177
+ R && typeof R == "object" && R.from === i.name && (R.loaded || R.loading ? (R.useIn = R.useIn.filter(($) => $ !== i.name), R.useIn.length ? p = !1 : y.push([
2178
+ E,
2179
+ g,
2180
+ w,
2181
+ S
2182
+ ])) : y.push([
2183
+ E,
2184
+ g,
2185
+ w,
2186
+ S
2300
2187
  ]));
2301
2188
  });
2302
2189
  });
2303
2190
  });
2304
- }), b && (m.shareScopeMap = {}, delete g[d]), E.forEach(([R, S, _, T]) => {
2305
- var I, A, w;
2306
- (w = (A = (I = g[R]) == null ? void 0 : I[S]) == null ? void 0 : A[_]) == null || delete w[T];
2307
- }), CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(y, 1);
2191
+ }), p && (u.shareScopeMap = {}, delete h[l]), y.forEach(([E, m, g, b]) => {
2192
+ var w, _, S;
2193
+ (S = (_ = (w = h[E]) == null ? void 0 : w[m]) == null ? void 0 : _[g]) == null || delete S[b];
2194
+ }), I.__FEDERATION__.__INSTANCES__.splice(f, 1);
2308
2195
  }
2309
- const { hostGlobalSnapshot: p } = getGlobalRemoteInfo(t, o);
2310
- if (p) {
2311
- const m = p && "remotesInfo" in p && p.remotesInfo && getInfoWithoutType(p.remotesInfo, t.name).key;
2312
- m && (delete p.remotesInfo[m], Global.__FEDERATION__.__MANIFEST_LOADING__[m] && delete Global.__FEDERATION__.__MANIFEST_LOADING__[m]);
2196
+ const { hostGlobalSnapshot: d } = kt(e, r);
2197
+ if (d) {
2198
+ const u = d && "remotesInfo" in d && d.remotesInfo && q(d.remotesInfo, e.name).key;
2199
+ u && (delete d.remotesInfo[u], Q.__FEDERATION__.__MANIFEST_LOADING__[u] && delete Q.__FEDERATION__.__MANIFEST_LOADING__[u]);
2313
2200
  }
2314
- o.moduleCache.delete(t.name);
2201
+ r.moduleCache.delete(e.name);
2315
2202
  }
2316
- } catch (o) {
2317
- logger.log("removeRemote fail: ", o);
2203
+ } catch (r) {
2204
+ Te.log("removeRemote fail: ", r);
2318
2205
  }
2319
2206
  }
2320
- }
2321
- const USE_SNAPSHOT = typeof FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN == "boolean" ? !FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN : !0;
2322
- class ModuleFederation {
2323
- constructor(t) {
2324
- this.hooks = new PluginSystem({
2325
- beforeInit: new SyncWaterfallHook("beforeInit"),
2326
- init: new SyncHook(),
2327
- // maybe will change, temporarily for internal use only
2328
- beforeInitContainer: new AsyncWaterfallHook("beforeInitContainer"),
2329
- // maybe will change, temporarily for internal use only
2330
- initContainer: new AsyncWaterfallHook("initContainer")
2331
- }), this.version = "2.0.0", this.moduleCache = /* @__PURE__ */ new Map(), this.loaderHook = new PluginSystem({
2332
- // FIXME: may not be suitable , not open to the public yet
2333
- getModuleInfo: new SyncHook(),
2334
- createScript: new SyncHook(),
2335
- createLink: new SyncHook(),
2336
- fetch: new AsyncHook(),
2337
- loadEntryError: new AsyncHook(),
2338
- getModuleFactory: new AsyncHook()
2339
- }), this.bridgeHook = new PluginSystem({
2340
- beforeBridgeRender: new SyncHook(),
2341
- afterBridgeRender: new SyncHook(),
2342
- beforeBridgeDestroy: new SyncHook(),
2343
- afterBridgeDestroy: new SyncHook()
2207
+ };
2208
+ const mn = typeof FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN == "boolean" ? !FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN : !0;
2209
+ var yn = class {
2210
+ constructor(e) {
2211
+ this.hooks = new K({
2212
+ beforeInit: new j("beforeInit"),
2213
+ init: new A(),
2214
+ beforeInitContainer: new H("beforeInitContainer"),
2215
+ initContainer: new H("initContainer")
2216
+ }), this.version = "2.1.0", this.moduleCache = /* @__PURE__ */ new Map(), this.loaderHook = new K({
2217
+ getModuleInfo: new A(),
2218
+ createScript: new A(),
2219
+ createLink: new A(),
2220
+ fetch: new v(),
2221
+ loadEntryError: new v(),
2222
+ getModuleFactory: new v()
2223
+ }), this.bridgeHook = new K({
2224
+ beforeBridgeRender: new A(),
2225
+ afterBridgeRender: new A(),
2226
+ beforeBridgeDestroy: new A(),
2227
+ afterBridgeDestroy: new A()
2344
2228
  });
2345
- const n = USE_SNAPSHOT ? [snapshotPlugin(), generatePreloadAssetsPlugin()] : [], o = {
2346
- id: getBuilderId(),
2347
- name: t.name,
2348
- plugins: n,
2229
+ const t = mn ? [cn(), fn()] : [], r = {
2230
+ id: rn(),
2231
+ name: e.name,
2232
+ plugins: t,
2349
2233
  remotes: [],
2350
2234
  shared: {},
2351
- inBrowser: isBrowserEnv()
2235
+ inBrowser: F()
2352
2236
  };
2353
- this.name = t.name, this.options = o, this.snapshotHandler = new SnapshotHandler(this), this.sharedHandler = new SharedHandler(this), this.remoteHandler = new RemoteHandler(this), this.shareScopeMap = this.sharedHandler.shareScopeMap, this.registerPlugins([
2354
- ...o.plugins,
2355
- ...t.plugins || []
2356
- ]), this.options = this.formatOptions(o, t);
2357
- }
2358
- initOptions(t) {
2359
- this.registerPlugins(t.plugins);
2360
- const n = this.formatOptions(this.options, t);
2361
- return this.options = n, n;
2362
- }
2363
- async loadShare(t, n) {
2364
- return this.sharedHandler.loadShare(t, n);
2365
- }
2366
- // The lib function will only be available if the shared set by eager or runtime init is set or the shared is successfully loaded.
2367
- // 1. If the loaded shared already exists globally, then it will be reused
2368
- // 2. If lib exists in local shared, it will be used directly
2369
- // 3. If the local get returns something other than Promise, then it will be used directly
2370
- loadShareSync(t, n) {
2371
- return this.sharedHandler.loadShareSync(t, n);
2372
- }
2373
- initializeSharing(t = DEFAULT_SCOPE, n) {
2374
- return this.sharedHandler.initializeSharing(t, n);
2375
- }
2376
- initRawContainer(t, n, o) {
2377
- const s = getRemoteInfo({ name: t, entry: n }), i = new Module({ host: this, remoteInfo: s });
2378
- return i.remoteEntryExports = o, this.moduleCache.set(t, i), i;
2379
- }
2380
- // eslint-disable-next-line max-lines-per-function
2381
- // eslint-disable-next-line @typescript-eslint/member-ordering
2382
- async loadRemote(t, n) {
2383
- return this.remoteHandler.loadRemote(t, n);
2384
- }
2385
- // eslint-disable-next-line @typescript-eslint/member-ordering
2386
- async preloadRemote(t) {
2387
- return this.remoteHandler.preloadRemote(t);
2388
- }
2389
- initShareScopeMap(t, n, o = {}) {
2390
- this.sharedHandler.initShareScopeMap(t, n, o);
2391
- }
2392
- formatOptions(t, n) {
2393
- const { allShareInfos: o } = formatShareConfigs(t, n), { userOptions: s, options: i } = this.hooks.lifecycle.beforeInit.emit({
2237
+ this.name = e.name, this.options = r, this.snapshotHandler = new hn(this), this.sharedHandler = new dn(this), this.remoteHandler = new pn(this), this.shareScopeMap = this.sharedHandler.shareScopeMap, this.registerPlugins([...r.plugins, ...e.plugins || []]), this.options = this.formatOptions(r, e);
2238
+ }
2239
+ initOptions(e) {
2240
+ e.name && e.name !== this.options.name && k(D(St, L)), this.registerPlugins(e.plugins);
2241
+ const t = this.formatOptions(this.options, e);
2242
+ return this.options = t, t;
2243
+ }
2244
+ async loadShare(e, t) {
2245
+ return this.sharedHandler.loadShare(e, t);
2246
+ }
2247
+ loadShareSync(e, t) {
2248
+ return this.sharedHandler.loadShareSync(e, t);
2249
+ }
2250
+ initializeSharing(e = re, t) {
2251
+ return this.sharedHandler.initializeSharing(e, t);
2252
+ }
2253
+ initRawContainer(e, t, r) {
2254
+ const n = Pe({
2255
+ name: e,
2256
+ entry: t
2257
+ }), o = new Tt({
2258
+ host: this,
2259
+ remoteInfo: n
2260
+ });
2261
+ return o.remoteEntryExports = r, this.moduleCache.set(e, o), o;
2262
+ }
2263
+ async loadRemote(e, t) {
2264
+ return this.remoteHandler.loadRemote(e, t);
2265
+ }
2266
+ async preloadRemote(e) {
2267
+ return this.remoteHandler.preloadRemote(e);
2268
+ }
2269
+ initShareScopeMap(e, t, r = {}) {
2270
+ this.sharedHandler.initShareScopeMap(e, t, r);
2271
+ }
2272
+ formatOptions(e, t) {
2273
+ const { allShareInfos: r } = pt(e, t), { userOptions: n, options: o } = this.hooks.lifecycle.beforeInit.emit({
2394
2274
  origin: this,
2395
- userOptions: n,
2396
- options: t,
2397
- shareInfo: o
2398
- }), c = this.remoteHandler.formatAndRegisterRemote(i, s), { allShareInfos: a } = this.sharedHandler.registerShared(i, s), u = [...i.plugins];
2399
- s.plugins && s.plugins.forEach((d) => {
2400
- u.includes(d) || u.push(d);
2275
+ userOptions: t,
2276
+ options: e,
2277
+ shareInfo: r
2278
+ }), s = this.remoteHandler.formatAndRegisterRemote(o, n), { allShareInfos: i } = this.sharedHandler.registerShared(o, n), a = [...o.plugins];
2279
+ n.plugins && n.plugins.forEach((l) => {
2280
+ a.includes(l) || a.push(l);
2401
2281
  });
2402
- const l = {
2282
+ const c = {
2283
+ ...e,
2403
2284
  ...t,
2404
- ...n,
2405
- plugins: u,
2406
- remotes: c,
2407
- shared: a
2285
+ plugins: a,
2286
+ remotes: s,
2287
+ shared: i
2408
2288
  };
2409
2289
  return this.hooks.lifecycle.init.emit({
2410
2290
  origin: this,
2411
- options: l
2412
- }), l;
2291
+ options: c
2292
+ }), c;
2413
2293
  }
2414
- registerPlugins(t) {
2415
- const n = registerPlugins(t, this);
2416
- this.options.plugins = this.options.plugins.reduce((o, s) => (s && o && !o.find((i) => i.name === s.name) && o.push(s), o), n || []);
2294
+ registerPlugins(e) {
2295
+ const t = nn(e, this);
2296
+ this.options.plugins = this.options.plugins.reduce((r, n) => (n && r && !r.find((o) => o.name === n.name) && r.push(n), r), t || []);
2417
2297
  }
2418
- registerRemotes(t, n) {
2419
- return this.remoteHandler.registerRemotes(t, n);
2298
+ registerRemotes(e, t) {
2299
+ return this.remoteHandler.registerRemotes(e, t);
2420
2300
  }
2421
- registerShared(t) {
2301
+ registerShared(e) {
2422
2302
  this.sharedHandler.registerShared(this.options, {
2423
2303
  ...this.options,
2424
- shared: t
2304
+ shared: e
2425
2305
  });
2426
2306
  }
2427
- }
2428
- let FederationInstance = null;
2429
- function getInstance() {
2430
- return FederationInstance;
2431
- }
2432
- setGlobalFederationConstructor(ModuleFederation);
2433
- function addBasenameToNestedRoutes(r, t) {
2434
- return r.map((n) => {
2435
- const o = {
2436
- ...n,
2437
- path: t + n.path
2307
+ };
2308
+ let En = null;
2309
+ function Ot() {
2310
+ return En;
2311
+ }
2312
+ lr(yn);
2313
+ function Lt(e, t) {
2314
+ return e.map((r) => {
2315
+ const n = {
2316
+ ...r,
2317
+ path: t + r.path
2438
2318
  };
2439
- return n.children && n.children.length > 0 && (o.children = addBasenameToNestedRoutes(
2440
- n.children,
2319
+ return r.children && r.children.length > 0 && (n.children = Lt(
2320
+ r.children,
2441
2321
  t
2442
- )), o;
2322
+ )), n;
2443
2323
  });
2444
2324
  }
2445
- function processRoutes(r) {
2446
- const { router: t, basename: n, memoryRoute: o, hashRoute: s } = r, i = t.getRoutes().sort(
2447
- (p, m) => p.path.split("/").filter((g) => g).length - m.path.split("/").filter((g) => g).length
2448
- ), c = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set();
2449
- i.forEach((p) => {
2450
- c.set(p.path, p);
2325
+ function gn(e) {
2326
+ const { router: t, basename: r, memoryRoute: n, hashRoute: o } = e, s = t.getRoutes().sort(
2327
+ (u, h) => u.path.split("/").filter((p) => p).length - h.path.split("/").filter((p) => p).length
2328
+ ), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set();
2329
+ s.forEach((u) => {
2330
+ i.set(u.path, u);
2451
2331
  });
2452
- const u = (p, m) => `${p}/${m}`.replace(/\/+/g, "/").replace(/\/$/, "") || "/", l = (p, m = "") => {
2453
- if (!p.children || p.children.length === 0)
2454
- return p;
2455
- for (let g = 0; g < p.children.length; g++) {
2456
- const b = p.children[g], E = u(m, b.path), R = c.get(E);
2457
- if (R && !a.has(R)) {
2458
- const S = {
2459
- ...R,
2460
- path: b.path
2332
+ const c = (u, h) => `${u}/${h}`.replace(/\/+/g, "/").replace(/\/$/, "") || "/", l = (u, h = "") => {
2333
+ if (!u.children || u.children.length === 0)
2334
+ return u;
2335
+ for (let p = 0; p < u.children.length; p++) {
2336
+ const y = u.children[p], E = c(h, y.path), m = i.get(E);
2337
+ if (m && !a.has(m)) {
2338
+ const g = {
2339
+ ...m,
2340
+ path: y.path
2461
2341
  // Keep the original relative path from static route
2462
2342
  };
2463
- p.children[g] = S, a.add(R), l(S, E);
2343
+ u.children[p] = g, a.add(m), l(g, E);
2464
2344
  }
2465
2345
  }
2466
- return p;
2346
+ return u;
2467
2347
  };
2468
- let d = [];
2469
- for (const p of i)
2470
- if (!a.has(p)) {
2471
- const m = l(p, p.path);
2472
- a.add(p), d.push(m);
2348
+ let f = [];
2349
+ for (const u of s)
2350
+ if (!a.has(u)) {
2351
+ const h = l(u, u.path);
2352
+ a.add(u), f.push(h);
2473
2353
  }
2474
- let y;
2475
- return o ? y = VueRouter.createMemoryHistory(n) : s ? (y = VueRouter.createWebHashHistory(), n && (d = addBasenameToNestedRoutes(d, n))) : y = VueRouter.createWebHistory(n), {
2476
- history: y,
2477
- routes: d
2354
+ let d;
2355
+ return n ? d = ae.createMemoryHistory(r) : o ? (d = ae.createWebHashHistory(), r && (f = Lt(f, r))) : d = ae.createWebHistory(r), {
2356
+ history: d,
2357
+ routes: f
2478
2358
  };
2479
2359
  }
2480
- function createBridgeComponent(r) {
2481
- const t = /* @__PURE__ */ new Map(), n = getInstance();
2360
+ function wn(e) {
2361
+ const t = /* @__PURE__ */ new Map(), r = Ot();
2482
2362
  return () => ({
2483
- __APP_VERSION__: "2.0.0",
2484
- async render(o) {
2485
- var g, b, E;
2486
- LoggerInstance.debug("createBridgeComponent render Info", o);
2363
+ __APP_VERSION__: "2.1.0",
2364
+ async render(n) {
2365
+ var p, y, E;
2366
+ C.debug("createBridgeComponent render Info", n);
2487
2367
  const {
2488
- moduleName: s,
2489
- dom: i,
2490
- basename: c,
2368
+ moduleName: o,
2369
+ dom: s,
2370
+ basename: i,
2491
2371
  memoryRoute: a,
2492
- hashRoute: u,
2372
+ hashRoute: c,
2493
2373
  ...l
2494
- } = o, d = Vue.createApp(r.rootComponent, l);
2495
- t.set(i, d);
2496
- const y = await ((E = (b = (g = n == null ? void 0 : n.bridgeHook) == null ? void 0 : g.lifecycle) == null ? void 0 : b.beforeBridgeRender) == null ? void 0 : E.emit(o)), p = y && typeof y == "object" && (y != null && y.extraProps) ? y == null ? void 0 : y.extraProps : {}, m = r.appOptions({
2497
- app: d,
2498
- basename: c,
2374
+ } = n, f = Mt.createApp(e.rootComponent, l);
2375
+ t.set(s, f);
2376
+ const d = await ((E = (y = (p = r == null ? void 0 : r.bridgeHook) == null ? void 0 : p.lifecycle) == null ? void 0 : y.beforeBridgeRender) == null ? void 0 : E.emit(n)), u = d && typeof d == "object" && (d != null && d.extraProps) ? d == null ? void 0 : d.extraProps : {}, h = e.appOptions({
2377
+ app: f,
2378
+ basename: i,
2499
2379
  memoryRoute: a,
2500
- hashRoute: u,
2380
+ hashRoute: c,
2501
2381
  ...l,
2502
- ...p
2382
+ ...u
2503
2383
  });
2504
- if (m != null && m.router) {
2505
- const { history: R, routes: S } = processRoutes({
2506
- router: m.router,
2507
- basename: o.basename,
2508
- memoryRoute: o.memoryRoute,
2509
- hashRoute: o.hashRoute
2510
- }), _ = VueRouter.createRouter({
2511
- ...m.router.options,
2512
- history: R,
2513
- routes: S
2384
+ if (h != null && h.router) {
2385
+ const { history: m, routes: g } = gn({
2386
+ router: h.router,
2387
+ basename: n.basename,
2388
+ memoryRoute: n.memoryRoute,
2389
+ hashRoute: n.hashRoute
2390
+ }), b = ae.createRouter({
2391
+ ...h.router.options,
2392
+ history: m,
2393
+ routes: g
2514
2394
  });
2515
- LoggerInstance.debug("createBridgeComponent render router info>>>", {
2516
- moduleName: s,
2517
- router: _
2518
- }), a && await _.push(a.entryPath), d.use(_);
2395
+ C.debug("createBridgeComponent render router info>>>", {
2396
+ moduleName: o,
2397
+ router: b
2398
+ }), a && await b.push(a.entryPath), f.use(b);
2519
2399
  }
2520
- d.mount(i);
2400
+ f.mount(s);
2521
2401
  },
2522
- destroy(o) {
2523
- LoggerInstance.debug("createBridgeComponent destroy Info", o);
2524
- const s = t.get(o == null ? void 0 : o.dom);
2525
- s == null || s.unmount();
2402
+ destroy(n) {
2403
+ C.debug("createBridgeComponent destroy Info", n);
2404
+ const o = t.get(n == null ? void 0 : n.dom);
2405
+ o == null || o.unmount();
2526
2406
  }
2527
2407
  });
2528
2408
  }
2529
- function e() {
2530
- const r = new PopStateEvent("popstate", { state: window.history.state });
2531
- window.dispatchEvent(r);
2409
+ function _n() {
2410
+ const e = new PopStateEvent("popstate", { state: window.history.state });
2411
+ window.dispatchEvent(e);
2532
2412
  }
2533
- const RemoteApp = /* @__PURE__ */ defineComponent({
2413
+ const bn = /* @__PURE__ */ Ct({
2534
2414
  name: "RemoteApp",
2535
2415
  props: {
2536
2416
  moduleName: String,
@@ -2541,76 +2421,76 @@ const RemoteApp = /* @__PURE__ */ defineComponent({
2541
2421
  rootAttrs: Object
2542
2422
  },
2543
2423
  inheritAttrs: !1,
2544
- setup(r) {
2545
- const t = ref(null), n = ref(null), o = ref(""), s = useRoute(), i = getInstance(), c = useAttrs(), a = async () => {
2546
- var p, m, g, b;
2547
- const l = (p = r.providerInfo) == null ? void 0 : p.call(r);
2548
- n.value = l;
2549
- let d = {
2550
- ...c,
2551
- moduleName: r.moduleName,
2424
+ setup(e) {
2425
+ const t = Ee(null), r = Ee(null), n = Ee(""), o = Ke(), s = Ot(), i = Dt(), a = async () => {
2426
+ var u, h, p, y;
2427
+ const l = (u = e.providerInfo) == null ? void 0 : u.call(e);
2428
+ r.value = l;
2429
+ let f = {
2430
+ ...i,
2431
+ moduleName: e.moduleName,
2552
2432
  dom: t.value,
2553
- basename: r.basename,
2554
- memoryRoute: r.memoryRoute,
2555
- hashRoute: r.hashRoute
2433
+ basename: e.basename,
2434
+ memoryRoute: e.memoryRoute,
2435
+ hashRoute: e.hashRoute
2556
2436
  };
2557
- LoggerInstance.debug("createRemoteAppComponent LazyComponent render >>>", d);
2558
- const y = await ((b = (g = (m = i == null ? void 0 : i.bridgeHook) == null ? void 0 : m.lifecycle) == null ? void 0 : g.beforeBridgeRender) == null ? void 0 : b.emit(d)) || {};
2559
- d = {
2560
- ...d,
2561
- ...y.extraProps
2562
- }, l.render(d);
2563
- }, u = watch(() => s == null ? void 0 : s.path, (l) => {
2564
- l !== s.path && a(), o.value !== "" && o.value !== l && (LoggerInstance.debug("createRemoteAppComponent dispatchPopstateEnv >>>", {
2565
- ...r,
2566
- pathname: s.path
2567
- }), e()), o.value = l;
2437
+ C.debug("createRemoteAppComponent LazyComponent render >>>", f);
2438
+ const d = await ((y = (p = (h = s == null ? void 0 : s.bridgeHook) == null ? void 0 : h.lifecycle) == null ? void 0 : p.beforeBridgeRender) == null ? void 0 : y.emit(f)) || {};
2439
+ f = {
2440
+ ...f,
2441
+ ...d.extraProps
2442
+ }, l.render(f);
2443
+ }, c = Ft(() => o == null ? void 0 : o.path, (l) => {
2444
+ l !== o.path && a(), n.value !== "" && n.value !== l && (C.debug("createRemoteAppComponent dispatchPopstateEnv >>>", {
2445
+ ...e,
2446
+ pathname: o.path
2447
+ }), _n()), n.value = l;
2568
2448
  });
2569
- return onMounted(() => {
2449
+ return Ht(() => {
2570
2450
  a();
2571
- }), onBeforeUnmount(() => {
2451
+ }), Gt(() => {
2572
2452
  var l;
2573
- LoggerInstance.debug("createRemoteAppComponent LazyComponent destroy >>>", {
2574
- ...r
2575
- }), u(), (l = n.value) == null || l.destroy({
2453
+ C.debug("createRemoteAppComponent LazyComponent destroy >>>", {
2454
+ ...e
2455
+ }), c(), (l = r.value) == null || l.destroy({
2576
2456
  dom: t.value
2577
2457
  });
2578
- }), () => createVNode("div", mergeProps(r.rootAttrs || {}, {
2458
+ }), () => Ut("div", xt(e.rootAttrs || {}, {
2579
2459
  ref: t
2580
2460
  }), null);
2581
2461
  }
2582
2462
  });
2583
- function createRemoteAppComponent(r) {
2584
- return defineAsyncComponent({
2585
- __APP_VERSION__: "2.0.0",
2586
- ...r.asyncComponentOptions,
2463
+ function Rn(e) {
2464
+ return Bt({
2465
+ __APP_VERSION__: "2.1.0",
2466
+ ...e.asyncComponentOptions,
2587
2467
  //@ts-ignore
2588
2468
  loader: async () => {
2589
- var u, l;
2590
- const t = useRoute();
2591
- let n = "/";
2592
- const o = (l = (u = t == null ? void 0 : t.matched) == null ? void 0 : u[0]) == null ? void 0 : l.path;
2593
- o && (o.endsWith("/:pathMatch(.*)*") ? n = o.replace("/:pathMatch(.*)*", "") : n = t.matched[0].path);
2594
- const s = (r == null ? void 0 : r.export) || "default";
2595
- LoggerInstance.debug(
2469
+ var c, l;
2470
+ const t = Ke();
2471
+ let r = "/";
2472
+ const n = (l = (c = t == null ? void 0 : t.matched) == null ? void 0 : c[0]) == null ? void 0 : l.path;
2473
+ n && (n.endsWith("/:pathMatch(.*)*") ? r = n.replace("/:pathMatch(.*)*", "") : r = t.matched[0].path);
2474
+ const o = (e == null ? void 0 : e.export) || "default";
2475
+ C.debug(
2596
2476
  "createRemoteAppComponent LazyComponent create >>>",
2597
2477
  {
2598
- basename: n,
2599
- info: r
2478
+ basename: r,
2479
+ info: e
2600
2480
  }
2601
2481
  );
2602
- const i = await r.loader(), c = i && i[Symbol.for("mf_module_id")], a = i[s];
2603
- if (LoggerInstance.debug(
2482
+ const s = await e.loader(), i = s && s[Symbol.for("mf_module_id")], a = s[o];
2483
+ if (C.debug(
2604
2484
  "createRemoteAppComponent LazyComponent loadRemote info >>>",
2605
- { moduleName: c, module: i, exportName: s, basename: n, route: t }
2606
- ), s in i && typeof a == "function")
2485
+ { moduleName: i, module: s, exportName: o, basename: r, route: t }
2486
+ ), o in s && typeof a == "function")
2607
2487
  return {
2608
2488
  render() {
2609
- return h(RemoteApp, {
2610
- moduleName: c,
2489
+ return Vt(bn, {
2490
+ moduleName: i,
2611
2491
  providerInfo: a,
2612
- basename: n,
2613
- rootAttrs: r.rootAttrs
2492
+ basename: r,
2493
+ rootAttrs: e.rootAttrs
2614
2494
  });
2615
2495
  }
2616
2496
  };
@@ -2618,13 +2498,13 @@ function createRemoteAppComponent(r) {
2618
2498
  }
2619
2499
  });
2620
2500
  }
2621
- function createRemoteComponent(r) {
2622
- return LoggerInstance.warn(
2501
+ function In(e) {
2502
+ return C.warn(
2623
2503
  "createRemoteAppComponent is deprecated, please use createRemoteAppComponent instead!"
2624
- ), createRemoteAppComponent(r);
2504
+ ), Rn(e);
2625
2505
  }
2626
2506
  export {
2627
- createBridgeComponent,
2628
- createRemoteAppComponent,
2629
- createRemoteComponent
2507
+ wn as createBridgeComponent,
2508
+ Rn as createRemoteAppComponent,
2509
+ In as createRemoteComponent
2630
2510
  };