@module-federation/bridge-vue3 2.0.1 → 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 a = () => "publicPath" in r.metaData ? r.metaData.publicPath === "auto" && s ? inferAutoPublicPath(s) : r.metaData.publicPath : r.metaData.getPublicPath, c = Object.keys(o);
65
- let u = {};
66
- Object.keys(n).length || (u = ((S = r.remotes) == null ? void 0 : S.reduce((I, w) => {
67
- let A;
68
- const k = w.federationContainerName;
69
- return c.includes(k) ? A = o[k] : "version" in w ? A = w.version : A = w.entry, I[k] = {
70
- matchedVersion: A
71
- }, I;
72
- }, {})) || {}), Object.keys(n).forEach((I) => u[I] = {
73
- // overrides will override dependencies
74
- matchedVersion: c.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: w, type: A } = r.metaData.prefetchEntry;
109
- R = {
110
- ...R,
111
- prefetchEntry: simpleJoinRemoteEntry(I, w),
112
- prefetchEntryType: A
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: a(),
118
- ssrPublicPath: r.metaData.ssrPublicPath
119
- } : i = {
120
- ...R,
121
- getPublicPath: a()
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,1248 +136,1180 @@ 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, a = i ? [...n, i] : n, c = (() => {
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 c) {
183
- const l = o[u];
184
- if (typeof l == "function") {
185
- l.call(o, this.prefix, ...a);
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 c) {
190
- const l = DEFAULT_DELEGATE[u];
191
- if (typeof l == "function") {
192
- l.call(DEFAULT_DELEGATE, this.prefix, ...a);
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 c = 0; c < i.length; c++) {
247
- const u = i[c], 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 c = r.attrs;
255
- t = document.createElement("script"), t.type = (c == null ? void 0 : c.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), c && !u && Object.keys(c).forEach((l) => {
258
- t && (l === "async" || l === "defer" ? t[l] = c[l] : t.getAttribute(l) || t.setAttribute(l, c[l]));
257
+ const a = e.attrs;
258
+ t = document.createElement("script"), t.type = (a == null ? void 0 : a.type) === "module" ? "module" : "text/javascript";
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) => {
261
+ t && (l === "async" || l === "defer" ? t[l] = a[l] : t.getAttribute(l) || t.setAttribute(l, a[l]));
259
262
  });
260
263
  }
261
- const a = async (c, 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
- }), c && typeof c == "function")) {
270
- const d = c(u);
271
- if (d instanceof Promise) {
272
- const y = await d;
273
- return l(), y;
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);
272
+ }), a && typeof a == "function")) {
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 = a.bind(null, t.onerror), t.onload = a.bind(null, t.onload), s = setTimeout(() => {
280
- a(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 a = o[i], c = a.getAttribute("href"), u = a.getAttribute("rel");
288
- if (c && isStaticResourcesEqual(c, r.url) && u === r.attrs.rel) {
289
- t = a, 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 a = r.attrs;
297
- r.createLinkHook && (i = r.createLinkHook(r.url, a), i instanceof HTMLLinkElement && (t = i)), a && !i && Object.keys(a).forEach((c) => {
298
- t && !t.getAttribute(c) && t.setAttribute(c, a[c]);
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, a) => {
302
- const c = () => {
303
- (a == null ? void 0 : a.type) === "error" ? r != null && r.onErrorCallback && (r == null || r.onErrorCallback(a)) : r != null && r.cb && (r == null || r.cb());
307
+ const o = (s, i) => {
308
+ const a = () => {
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(a);
310
- return c(), 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
- c();
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: a, needAttach: c } = 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
- c && document.head.appendChild(a);
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, a) => n.lifecycle.fetch.emit(i, a))(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 a, c;
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 = ((a = t == null ? void 0 : t.attrs) == null ? void 0 : a.globalName) || `__FEDERATION_${(c = t == null ? void 0 : t.attrs) == null ? void 0 : c.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(), a = new o.SourceTextModule(i, {
421
- // @ts-ignore
422
- importModuleDynamically: async (c, u) => {
423
- const l = new URL(c, r).href;
424
- return loadModule(l, t);
425
- }
426
- });
427
- return esmModuleCache.set(r, a), await a.link(async (c) => {
428
- const u = new URL(c, r).href;
429
- return await loadModule(u, t);
430
- }), a;
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;
450
429
  }
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}`);
430
+ const C = Qe("[ Module Federation Bridge Vue3 ]"), W = "[ Federation Runtime ]", Te = Qe(W);
431
+ function T(e, t) {
432
+ e || k(t);
453
433
  }
454
- function warn(r) {
455
- r instanceof Error && (r.message.startsWith(LOG_CATEGORY) || (r.message = `${LOG_CATEGORY}: ${r.message}`)), logger.warn(r);
434
+ function k(e) {
435
+ throw e instanceof Error ? (e.message.startsWith(W) || (e.message = `${W}: ${e.message}`), e) : new Error(`${W}: ${e}`);
456
436
  }
457
- function addUniqueItem(r, t) {
458
- return r.findIndex((n) => n === t) === -1 && r.push(t), r;
437
+ function ke(e) {
438
+ e instanceof Error && (e.message.startsWith(W) || (e.message = `${W}: ${e.message}`)), Te.warn(e);
459
439
  }
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}`;
440
+ function sr(e, t) {
441
+ return e.findIndex((r) => r === t) === -1 && e.push(t), e;
462
442
  }
463
- function isRemoteInfoWithEntry(r) {
464
- return typeof r.entry < "u";
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}`;
465
445
  }
466
- function isPureRemoteEntry(r) {
467
- return !r.entry.includes(".json");
446
+ function Oe(e) {
447
+ return typeof e.entry < "u";
468
448
  }
469
- function isObject(r) {
470
- return r && typeof r == "object";
449
+ function ot(e) {
450
+ return !e.entry.includes(".json");
471
451
  }
472
- const objectToString = Object.prototype.toString;
473
- function isPlainObject(r) {
474
- return objectToString.call(r) === "[object Object]";
452
+ function Le(e) {
453
+ return e && typeof e == "object";
475
454
  }
476
- function arrayOptions(r) {
477
- return Array.isArray(r) ? r : [r];
455
+ const ir = Object.prototype.toString;
456
+ function ar(e) {
457
+ return ir.call(e) === "[object Object]";
478
458
  }
479
- function getRemoteEntryInfoFromSnapshot(r) {
459
+ function st(e) {
460
+ return Array.isArray(e) ? e : [e];
461
+ }
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, a;
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__ = {}), (a = r.__FEDERATION__).__PRELOADED_MAP__ ?? (a.__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.1");
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, a] = s.split(":"), c = `${i}:${t}`, u = r[c];
544
- if (u)
545
- return {
546
- value: u,
547
- key: c
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, a = getFMId(i), c = getInfoWithoutType(nativeGlobal.__FEDERATION__.moduleInfo, a).value;
564
- if ((c == null ? void 0 : c.version) === s)
565
- return c;
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, a, c, 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, a) => 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` : a ? o === "0" ? s === "0" ? `>=${o}.${s}.${i}-${a} <${o}.${s}.${Number(i) + 1}-0` : `>=${o}.${s}.${i}-${a} <${o}.${Number(s) + 1}.0-0` : `>=${o}.${s}.${i}-${a} <${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, a) => isXVersion(o) ? "" : isXVersion(s) ? `>=${o}.0.0 <${Number(o) + 1}.0.0-0` : isXVersion(i) ? `>=${o}.${s}.0 <${o}.${Number(s) + 1}.0-0` : a ? `>=${o}.${s}.${i}-${a} <${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, a, c) => {
620
- const u = isXVersion(s), l = u || isXVersion(i), d = l || isXVersion(a);
621
- return o === "=" && d && (o = ""), c = "", u ? o === ">" || o === "<" ? "<0.0.0-0" : "*" : o && d ? (l && (i = 0), a = 0, o === ">" ? (o = ">=", l ? (s = Number(s) + 1, i = 0, a = 0) : (i = Number(i) + 1, a = 0)) : o === "<=" && (o = "<", l ? s = Number(s) + 1 : i = Number(i) + 1), o === "<" && (c = "-0"), `${o + s}.${i}.${a}${c}`) : l ? `>=${s}.0.0${c} <${Number(s) + 1}.0.0-0` : d ? `>=${s}.${i}.0${c} <${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 a = n[s], c = o[s];
643
- if (a !== c)
644
- return a === void 0 && c === void 0 ? 0 : a ? c ? compareAtom(a, c) : -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, a, c] = n, u = {
718
- operator: o,
719
- version: combineVersion(s, i, a, c),
720
- // exclude build atom
721
- major: s,
722
- minor: i,
723
- patch: a,
724
- preRelease: c == null ? void 0 : c.split(".")
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,
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, w] = R, A = {
748
- operator: S,
749
- version: combineVersion(_, T, I, w),
750
- major: _,
751
- minor: T,
752
- patch: I,
753
- preRelease: w == null ? void 0 : w.split(".")
754
- };
755
- if (!compare(A, 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, a;
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 && ((a = r.treeShaking) != null && a.mode))
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((a, c) => {
804
- const u = arrayOptions(n[c]);
805
- return a[c] = a[c] || [], u.forEach((l) => {
806
- a[c].push(formatShare(l, o, c, t.shareStrategy));
807
- }), a;
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((a) => {
812
- i[a] ? s[a].forEach((c) => {
813
- i[a].find((l) => l.version === c.version) || i[a].push(c);
814
- }) : i[a] = s[a];
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 a = o;
828
- for (let c = 0; c < 3 - i.length; c++)
829
- a += ".0";
830
- return a;
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 = "", a = shouldUseTreeShaking(o);
850
- const c = function(u, l) {
851
- return a ? 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 (a) {
854
- if (i = findVersion(r[t][n], c), i)
855
- return {
856
- version: i,
857
- useTreesShaking: a
858
- };
859
- a = !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], c),
863
- useTreesShaking: a
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 = "", a = shouldUseTreeShaking(o);
870
- const c = function(u, l) {
871
- if (a) {
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 (a) {
884
- if (i = findVersion(r[t][n], c), i)
885
- return {
886
- version: i,
887
- useTreesShaking: a
888
- };
889
- a = !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], c),
893
- useTreesShaking: a
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: a, treeShaking: c } = 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(a), { version: p, useTreesShaking: m } = y(r, l, t, c), 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(c);
928
- if (S) {
929
- for (const [_, T] of Object.entries(r[l][t]))
930
- if (shouldUseTreeShaking(T.treeShaking, c == null ? void 0 : c.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, a = (u) => u !== null && typeof u == "object" && !Array.isArray(u), c = (...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
- a(m) && a(p) ? l[y] = c(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 c(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 c = n.name;
1004
- return s = `.${s}`, {
1005
- pkgNameOrAlias: c,
1006
- expose: s,
1007
- remote: n
1008
- };
1009
- } else if (s === "")
1010
- return {
1011
- pkgNameOrAlias: n.name,
1012
- expose: ".",
1013
- remote: n
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}`, {
913
+ pkgNameOrAlias: a,
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 a = n.alias && t.replace(n.alias, "");
1018
- if (n.alias && i) {
1019
- if (a && a.startsWith("/")) {
1020
- const c = n.alias;
1021
- return a = `.${a}`, {
1022
- pkgNameOrAlias: c,
1023
- expose: a,
1024
- remote: n
1025
- };
1026
- } else if (a === "")
1027
- return {
1028
- pkgNameOrAlias: n.alias,
1029
- expose: ".",
1030
- remote: n
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}`, {
929
+ pkgNameOrAlias: a,
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;
1039
- }
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;
941
+ function zr(e, t) {
942
+ for (const r of e)
943
+ if (t === r.name || r.alias && t === r.alias) return r;
1056
944
  }
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 a = s ? s(n) : n;
1096
- return loadScript(a, {
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: (c, u) => {
1099
- const l = o.lifecycle.createScript.emit({ url: c, 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((c) => {
1104
- throw assert(void 0, getShortErrorMsg(RUNTIME_008, runtimeDescMap, {
1105
- remoteName: r,
1106
- resourceUrl: n
1107
- })), c;
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: a, type: c } = r;
1112
- switch (c) {
1015
+ async function en({ remoteInfo: e, remoteEntryExports: t, loaderHook: r, getEntryUrl: n }) {
1016
+ const { entry: o, entryGlobalName: s, name: i, type: a } = e;
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: a,
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: a } = getRemoteEntryExports(s, o);
1130
- return a || loadScriptNode(n, {
1131
- attrs: { name: s, globalName: o, type: i },
1132
- loaderHook: {
1133
- createScriptHook: (c, u = {}) => {
1134
- const l = t.lifecycle.createScript.emit({ url: c, attrs: u });
1135
- if (l && "url" in l)
1136
- return l;
1137
- }
1138
- }
1139
- }).then(() => handleRemoteEntryLoaded(s, o, n)).catch((c) => {
1140
- throw c;
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) => {
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, a = getRemoteEntryUniqueKey(o);
1149
- if (n)
1150
- return n;
1151
- if (!globalLoading[a]) {
1152
- const c = t.remoteHandler.hooks.lifecycle.loadEntry, u = t.loaderHook;
1153
- globalLoading[a] = c.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[a];
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: a } = 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 (a.forEach((c) => {
1218
- const { moduleInfo: u } = c, 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) {
1229
- const c = {
1168
+ }), n) {
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
- attrs: c,
1239
- createLinkHook: (y, p) => {
1240
- const m = t.loaderHook.lifecycle.createLink.emit({
1241
- url: y,
1242
- attrs: p
1178
+ attrs: a,
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
- const c = {
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
- attrs: c,
1261
- createLinkHook: (y, p) => {
1262
- const m = t.loaderHook.lifecycle.createLink.emit({
1263
- url: y,
1264
- attrs: p
1199
+ attrs: a,
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) {
1275
- const c = {
1212
+ if (n) {
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
- attrs: c,
1285
- createLinkHook: (y, p) => {
1286
- const m = t.loaderHook.lifecycle.createLink.emit({
1287
- url: y,
1288
- attrs: p
1222
+ attrs: a,
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
- const c = {
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
- attrs: c,
1307
- createScriptHook: (y, p) => {
1308
- const m = t.loaderHook.lifecycle.createScript.emit({
1309
- url: y,
1310
- attrs: p
1243
+ attrs: a,
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((c) => {
1325
- n[c] || (n[c] = {});
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)
1362
- return o;
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;
1363
1293
  if (this.initPromise)
1364
- return await this.initPromise, o;
1294
+ return await this.initPromise, n;
1365
1295
  this.initing = !0, this.initPromise = (async () => {
1366
- const { remoteEntryInitOptions: s, shareScope: i, initScope: a } = createRemoteEntryInitOptions(this.remoteInfo, this.host.shareScopeMap), c = await this.host.hooks.lifecycle.beforeInitContainer.emit({
1367
- shareScope: i,
1368
- // @ts-ignore shareScopeMap will be set by Object.defineProperty
1369
- remoteEntryInitOptions: s,
1370
- initScope: a,
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,
1371
1300
  remoteInfo: this.remoteInfo,
1372
1301
  origin: this.host
1373
1302
  });
1374
- 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, {
1375
1304
  hostName: this.host.name,
1376
1305
  remoteName: this.remoteInfo.name,
1377
1306
  remoteEntryUrl: this.remoteInfo.entry,
1378
1307
  remoteEntryKey: this.remoteInfo.entryGlobalName
1379
- })), await o.init(c.shareScope, c.initScope, c.remoteEntryInitOptions), await this.host.hooks.lifecycle.initContainer.emit({
1380
- ...c,
1381
- id: t,
1382
- remoteSnapshot: n,
1383
- remoteEntryExports: o
1308
+ })), await n.init(a.shareScope, a.initScope, a.remoteEntryInitOptions), await this.host.hooks.lifecycle.initContainer.emit({
1309
+ ...a,
1310
+ id: e,
1311
+ remoteSnapshot: t,
1312
+ remoteEntryExports: n
1384
1313
  }), this.inited = !0;
1385
1314
  })();
1386
1315
  try {
@@ -1388,198 +1317,186 @@ class Module {
1388
1317
  } finally {
1389
1318
  this.initing = !1, this.initPromise = void 0;
1390
1319
  }
1391
- return o;
1320
+ return n;
1392
1321
  }
1393
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
1394
- async get(t, n, o, s) {
1395
- const { loadFactory: i = !0 } = o || { loadFactory: !0 }, a = await this.init(t, s);
1396
- this.lib = a;
1397
- let c;
1398
- c = await this.host.loaderHook.lifecycle.getModuleFactory.emit({
1399
- remoteEntryExports: a,
1400
- 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,
1401
1329
  moduleInfo: this.remoteInfo
1402
- }), c || (c = await a.get(n)), assert(c, `${getFMId(this.remoteInfo)} remote don't export ${n}.`);
1403
- const u = processModuleAlias(this.remoteInfo.name, n), l = this.wraperFactory(c, u);
1404
- return i ? await l() : l;
1405
- }
1406
- wraperFactory(t, n) {
1407
- function o(s, i) {
1408
- s && typeof s == "object" && Object.isExtensible(s) && !Object.getOwnPropertyDescriptor(s, Symbol.for("mf_module_id")) && Object.defineProperty(s, Symbol.for("mf_module_id"), {
1409
- 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,
1410
1338
  enumerable: !1
1411
1339
  });
1412
1340
  }
1413
- return t instanceof Promise ? async () => {
1414
- const s = await t();
1415
- return o(s, n), s;
1341
+ return e instanceof Promise ? async () => {
1342
+ const n = await e();
1343
+ return r(n, t), n;
1416
1344
  } : () => {
1417
- const s = t();
1418
- return o(s, n), s;
1345
+ const n = e();
1346
+ return r(n, t), n;
1419
1347
  };
1420
1348
  }
1421
- }
1422
- class SyncHook {
1423
- constructor(t) {
1424
- 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);
1425
1352
  }
1426
- on(t) {
1427
- typeof t == "function" && this.listeners.add(t);
1353
+ on(e) {
1354
+ typeof e == "function" && this.listeners.add(e);
1428
1355
  }
1429
- once(t) {
1430
- const n = this;
1431
- this.on(function o(...s) {
1432
- 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);
1433
1360
  });
1434
1361
  }
1435
- emit(...t) {
1436
- let n;
1437
- return this.listeners.size > 0 && this.listeners.forEach((o) => {
1438
- n = o(...t);
1439
- }), n;
1362
+ emit(...e) {
1363
+ let t;
1364
+ return this.listeners.size > 0 && this.listeners.forEach((r) => {
1365
+ t = r(...e);
1366
+ }), t;
1440
1367
  }
1441
- remove(t) {
1442
- this.listeners.delete(t);
1368
+ remove(e) {
1369
+ this.listeners.delete(e);
1443
1370
  }
1444
1371
  removeAll() {
1445
1372
  this.listeners.clear();
1446
1373
  }
1447
- }
1448
- class AsyncHook extends SyncHook {
1449
- emit(...t) {
1450
- let n;
1451
- const o = Array.from(this.listeners);
1452
- if (o.length > 0) {
1453
- let s = 0;
1454
- const i = (a) => a === !1 ? !1 : s < o.length ? Promise.resolve(o[s++].apply(null, t)).then(i) : a;
1455
- 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();
1456
1382
  }
1457
- return Promise.resolve(n);
1383
+ return Promise.resolve(t);
1458
1384
  }
1459
- }
1460
- function checkReturnData(r, t) {
1461
- if (!isObject(t))
1462
- return !1;
1463
- if (r !== t) {
1464
- for (const n in r)
1465
- if (!(n in t))
1466
- 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;
1467
1390
  }
1468
1391
  return !0;
1469
1392
  }
1470
- class SyncWaterfallHook extends SyncHook {
1471
- constructor(t) {
1472
- super(), this.onerror = error, this.type = t;
1473
- }
1474
- emit(t) {
1475
- isObject(t) || error(`The data for the "${this.type}" hook should be an object.`);
1476
- for (const n of this.listeners)
1477
- try {
1478
- const o = n(t);
1479
- if (checkReturnData(t, o))
1480
- t = o;
1481
- else {
1482
- this.onerror(`A plugin returned an unacceptable value for the "${this.type}" type.`);
1483
- break;
1484
- }
1485
- } catch (o) {
1486
- 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;
1487
1405
  }
1488
- return t;
1489
- }
1490
- }
1491
- class AsyncWaterfallHook extends SyncHook {
1492
- constructor(t) {
1493
- super(), this.onerror = error, this.type = t;
1494
- }
1495
- emit(t) {
1496
- isObject(t) || error(`The response data for the "${this.type}" hook must be an object.`);
1497
- const n = Array.from(this.listeners);
1498
- if (n.length > 0) {
1499
- let o = 0;
1500
- const s = (a) => (warn(a), this.onerror(a), t), i = (a) => {
1501
- if (checkReturnData(t, a)) {
1502
- if (t = a, o < n.length)
1503
- try {
1504
- return Promise.resolve(n[o++](t)).then(i, s);
1505
- } catch (c) {
1506
- return s(c);
1507
- }
1508
- } else
1509
- this.onerror(`A plugin returned an incorrect value for the "${this.type}" type.`);
1510
- 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;
1511
1429
  };
1512
- return Promise.resolve(i(t));
1430
+ return Promise.resolve(o(e));
1513
1431
  }
1514
- return Promise.resolve(t);
1432
+ return Promise.resolve(e);
1515
1433
  }
1516
- }
1517
- class PluginSystem {
1518
- constructor(t) {
1519
- 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);
1520
1437
  }
1521
- applyPlugin(t, n) {
1522
- var s;
1523
- assert(isPlainObject(t), "Plugin configuration is invalid.");
1524
- const o = t.name;
1525
- 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) => {
1526
- const a = t[i];
1527
- a && this.lifecycle[i].on(a);
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);
1528
1445
  }));
1529
1446
  }
1530
- removePlugin(t) {
1531
- assert(t, "A name is required.");
1532
- const n = this.registerPlugins[t];
1533
- assert(n, `The plugin "${t}" is not registered.`), Object.keys(n).forEach((o) => {
1534
- 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]);
1535
1452
  });
1536
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;
1537
1460
  }
1538
- function assignRemoteInfo(r, t) {
1539
- const n = getRemoteEntryInfoFromSnapshot(t);
1540
- n.url || error(`The attribute remoteEntry of ${r.name} must not be undefined.`);
1541
- let o = getResourceUrl(t, n.url);
1542
- !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;
1543
- }
1544
- function snapshotPlugin() {
1461
+ function cn() {
1545
1462
  return {
1546
1463
  name: "snapshot-plugin",
1547
- async afterResolve(r) {
1548
- const { remote: t, pkgNameOrAlias: n, expose: o, origin: s, remoteInfo: i, id: a } = r;
1549
- if (!isRemoteInfoWithEntry(t) || !isPureRemoteEntry(t)) {
1550
- const { remoteSnapshot: c, 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({
1551
1468
  moduleInfo: t,
1552
- id: a
1469
+ id: i
1553
1470
  });
1554
- assignRemoteInfo(i, c);
1471
+ vt(s, a);
1555
1472
  const l = {
1556
1473
  remote: t,
1557
1474
  preloadConfig: {
1558
- nameOrAlias: n,
1559
- exposes: [o],
1475
+ nameOrAlias: r,
1476
+ exposes: [n],
1560
1477
  resourceCategory: "sync",
1561
1478
  share: !1,
1562
1479
  depsRemote: !1
1563
1480
  }
1564
- }, d = await s.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({
1565
- origin: s,
1481
+ }, f = await o.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({
1482
+ origin: o,
1566
1483
  preloadOptions: l,
1567
- remoteInfo: i,
1484
+ remoteInfo: s,
1568
1485
  remote: t,
1569
- remoteSnapshot: c,
1570
- globalSnapshot: u
1486
+ remoteSnapshot: a,
1487
+ globalSnapshot: c
1571
1488
  });
1572
- return d && preloadAssets(i, s, d, !1), {
1573
- ...r,
1574
- remoteSnapshot: c
1489
+ return f && Nt(s, o, f, !1), {
1490
+ ...e,
1491
+ remoteSnapshot: a
1575
1492
  };
1576
1493
  }
1577
- return r;
1494
+ return e;
1578
1495
  }
1579
1496
  };
1580
1497
  }
1581
- function splitId(r) {
1582
- const t = r.split(":");
1498
+ function ln(e) {
1499
+ const t = e.split(":");
1583
1500
  return t.length === 1 ? {
1584
1501
  name: t[0],
1585
1502
  version: void 0
@@ -1591,124 +1508,114 @@ function splitId(r) {
1591
1508
  version: t[2]
1592
1509
  };
1593
1510
  }
1594
- function traverseModuleInfo(r, t, n, o, s = {}, i) {
1595
- const a = getFMId(t), { value: c } = getInfoWithoutType(r, a), u = i || c;
1596
- if (u && !isManifestProvider(u) && (n(u, t, o), u.remotesInfo)) {
1597
- const l = Object.keys(u.remotesInfo);
1598
- for (const d of l) {
1599
- if (s[d])
1600
- continue;
1601
- s[d] = !0;
1602
- const y = splitId(d), p = u.remotesInfo[d];
1603
- traverseModuleInfo(r, {
1604
- name: y.name,
1605
- version: p.matchedVersion
1606
- }, 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);
1607
1523
  }
1608
1524
  }
1609
1525
  }
1610
- const isExisted = (r, t) => document.querySelector(`${r}[${r === "link" ? "href" : "src"}="${t}"]`);
1611
- function generatePreloadAssets(r, t, n, o, s) {
1612
- const i = [], a = [], c = [], u = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Set(), { options: d } = r, { preloadConfig: y } = t, { depsRemote: p } = y;
1613
- if (traverseModuleInfo(o, n, (E, R, S) => {
1614
- var k;
1615
- let _;
1616
- if (S)
1617
- _ = y;
1618
- else if (Array.isArray(p)) {
1619
- const N = p.find(($) => $.nameOrAlias === R.name || $.nameOrAlias === R.alias);
1620
- if (!N)
1621
- return;
1622
- _ = defaultPreloadArgs(N);
1623
- } else if (p === !0)
1624
- _ = y;
1625
- else
1626
- return;
1627
- const T = getResourceUrl(E, getRemoteEntryInfoFromSnapshot(E).url);
1628
- T && c.push({
1629
- 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,
1630
1542
  moduleInfo: {
1631
- name: R.name,
1632
- entry: T,
1633
- type: "remoteEntryType" in E ? E.remoteEntryType : "global",
1634
- 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,
1635
1547
  shareScope: "",
1636
- version: "version" in E ? E.version : void 0
1548
+ version: "version" in p ? p.version : void 0
1637
1549
  },
1638
- url: T
1550
+ url: g
1639
1551
  });
1640
- let I = "modules" in E ? E.modules : [];
1641
- const w = normalizePreloadExposes(_.exposes);
1642
- w.length && "modules" in E && (I = (k = E == null ? void 0 : E.modules) == null ? void 0 : k.reduce((N, $) => ((w == null ? void 0 : w.indexOf($.moduleName)) !== -1 && N.push($), N), []));
1643
- function A(N) {
1644
- const $ = N.map((L) => getResourceUrl(E, L));
1645
- 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) : $;
1646
1558
  }
1647
- if (I) {
1648
- const N = I.length;
1649
- for (let $ = 0; $ < N; $++) {
1650
- const L = I[$], P = `${R.name}/${L.moduleName}`;
1651
- r.remoteHandler.hooks.lifecycle.handlePreloadModule.emit({
1652
- id: L.moduleName === "." ? R.name : P,
1653
- name: R.name,
1654
- remoteSnapshot: E,
1655
- preloadConfig: _,
1656
- remote: R,
1657
- origin: r
1658
- }), !getPreloaded(P) && (_.resourceCategory === "all" ? (i.push(...A(L.assets.css.async)), i.push(...A(L.assets.css.sync)), a.push(...A(L.assets.js.async)), a.push(...A(L.assets.js.sync))) : (_.resourceCategory = "sync") && (i.push(...A(L.assets.css.sync)), a.push(...A(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));
1659
1571
  }
1660
1572
  }
1661
- }, !0, {}, s), s.shared && s.shared.length > 0) {
1662
- const E = (R, S) => {
1663
- const { shared: _ } = getRegisteredShare(r.shareScopeMap, S.sharedName, R, r.sharedHandler.hooks.lifecycle.resolveShare) || {};
1664
- _ && typeof _.lib == "function" && (S.assets.js.sync.forEach((T) => {
1665
- u.add(T);
1666
- }), S.assets.css.sync.forEach((T) => {
1667
- 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);
1668
1580
  }));
1669
1581
  };
1670
- s.shared.forEach((R) => {
1671
- var I;
1672
- const S = (I = d.shared) == null ? void 0 : I[R.sharedName];
1673
- if (!S)
1674
- return;
1675
- const _ = R.version ? S.find((w) => w.version === R.version) : S;
1676
- if (!_)
1677
- return;
1678
- arrayOptions(_).forEach((w) => {
1679
- E(w, 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);
1680
1589
  });
1681
1590
  });
1682
1591
  }
1683
- const g = a.filter((E) => !u.has(E) && !isExisted("script", E));
1592
+ const h = i.filter((p) => !c.has(p) && !Se("script", p));
1684
1593
  return {
1685
- cssAssets: i.filter((E) => !l.has(E) && !isExisted("link", E)),
1686
- jsAssetsWithoutEntry: g,
1687
- entryAssets: c.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))
1688
1597
  };
1689
1598
  }
1690
- const generatePreloadAssetsPlugin = function() {
1599
+ const fn = function() {
1691
1600
  return {
1692
1601
  name: "generate-preload-assets-plugin",
1693
- async generatePreloadAssets(r) {
1694
- const { origin: t, preloadOptions: n, remoteInfo: o, remote: s, globalSnapshot: i, remoteSnapshot: a } = r;
1695
- 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) ? {
1696
1605
  cssAssets: [],
1697
1606
  jsAssetsWithoutEntry: [],
1698
- entryAssets: [
1699
- {
1700
- name: s.name,
1701
- url: s.entry,
1702
- moduleInfo: {
1703
- name: o.name,
1704
- entry: s.entry,
1705
- type: o.type || "global",
1706
- entryGlobalName: "",
1707
- shareScope: ""
1708
- }
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: ""
1709
1616
  }
1710
- ]
1711
- } : (assignRemoteInfo(o, a), generatePreloadAssets(t, n, o, i, a)) : {
1617
+ }]
1618
+ } : (vt(n, i), un(t, r, n, s, i)) : {
1712
1619
  cssAssets: [],
1713
1620
  jsAssetsWithoutEntry: [],
1714
1621
  entryAssets: []
@@ -1716,829 +1623,794 @@ const generatePreloadAssetsPlugin = function() {
1716
1623
  }
1717
1624
  };
1718
1625
  };
1719
- function getGlobalRemoteInfo(r, t) {
1720
- const n = getGlobalSnapshotInfoByModuleInfo({
1626
+ function kt(e, t) {
1627
+ const r = ue({
1721
1628
  name: t.name,
1722
1629
  version: t.options.version
1723
- }), o = n && "remotesInfo" in n && n.remotesInfo && getInfoWithoutType(n.remotesInfo, r.name).value;
1724
- return o && o.matchedVersion ? {
1725
- hostGlobalSnapshot: n,
1726
- globalSnapshot: getGlobalSnapshot(),
1727
- remoteSnapshot: getGlobalSnapshotInfoByModuleInfo({
1728
- name: r.name,
1729
- 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
1730
1637
  })
1731
1638
  } : {
1732
1639
  hostGlobalSnapshot: void 0,
1733
- globalSnapshot: getGlobalSnapshot(),
1734
- remoteSnapshot: getGlobalSnapshotInfoByModuleInfo({
1735
- name: r.name,
1736
- 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
1737
1644
  })
1738
1645
  };
1739
1646
  }
1740
- class SnapshotHandler {
1741
- constructor(t) {
1742
- this.loadingHostSnapshot = null, this.manifestCache = /* @__PURE__ */ new Map(), this.hooks = new PluginSystem({
1743
- beforeLoadRemoteSnapshot: new AsyncHook("beforeLoadRemoteSnapshot"),
1744
- loadSnapshot: new AsyncWaterfallHook("loadGlobalSnapshot"),
1745
- loadRemoteSnapshot: new AsyncWaterfallHook("loadRemoteSnapshot"),
1746
- afterLoadSnapshot: new AsyncWaterfallHook("afterLoadSnapshot")
1747
- }), this.manifestLoading = Global.__FEDERATION__.__MANIFEST_LOADING__, this.HostInstance = t, this.loaderHook = t.loaderHook;
1748
- }
1749
- // eslint-disable-next-line max-lines-per-function
1750
- async loadRemoteSnapshotInfo({ moduleInfo: t, id: n, expose: o }) {
1751
- 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;
1752
1658
  await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({
1753
- options: s,
1754
- moduleInfo: t
1659
+ options: n,
1660
+ moduleInfo: e
1755
1661
  });
1756
- let i = getGlobalSnapshotInfoByModuleInfo({
1662
+ let o = ue({
1757
1663
  name: this.HostInstance.options.name,
1758
1664
  version: this.HostInstance.options.version
1759
1665
  });
1760
- i || (i = {
1666
+ o || (o = {
1761
1667
  version: this.HostInstance.options.version || "",
1762
1668
  remoteEntry: "",
1763
1669
  remotesInfo: {}
1764
- }, addGlobalSnapshot({
1765
- [this.HostInstance.options.name]: i
1766
- })), i && "remotesInfo" in i && !getInfoWithoutType(i.remotesInfo, t.name).value && ("version" in t || "entry" in t) && (i.remotesInfo = {
1767
- ...i == null ? void 0 : i.remotesInfo,
1768
- [t.name]: {
1769
- matchedVersion: "version" in t ? t.version : t.entry
1770
- }
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 }
1771
1673
  });
1772
- const { hostGlobalSnapshot: a, remoteSnapshot: c, globalSnapshot: u } = this.getGlobalRemoteInfo(t), { remoteSnapshot: l, globalSnapshot: d } = await this.hooks.lifecycle.loadSnapshot.emit({
1773
- options: s,
1774
- moduleInfo: t,
1775
- hostGlobalSnapshot: a,
1776
- remoteSnapshot: c,
1777
- 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
1778
1680
  });
1779
- let y, p;
1780
- if (l)
1781
- if (isManifestProvider(l)) {
1782
- const m = isBrowserEnv() ? l.remoteEntry : l.ssrRemoteEntry || l.remoteEntry || "", g = await this.getManifestJson(m, t, {}), b = setGlobalSnapshotInfoByModuleInfo({
1783
- ...t,
1784
- // The global remote may be overridden
1785
- // Therefore, set the snapshot key to the global address of the actual request
1786
- entry: m
1787
- }, g);
1788
- y = g, p = b;
1789
- } else {
1790
- const { remoteSnapshot: m } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({
1791
- options: this.HostInstance.options,
1792
- moduleInfo: t,
1793
- remoteSnapshot: l,
1794
- from: "global"
1795
- });
1796
- y = m, p = d;
1797
- }
1798
- else if (isRemoteInfoWithEntry(t)) {
1799
- 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({
1800
1690
  options: this.HostInstance.options,
1801
- moduleInfo: t,
1802
- remoteSnapshot: m,
1691
+ moduleInfo: e,
1692
+ remoteSnapshot: c,
1803
1693
  from: "global"
1804
1694
  });
1805
- y = b, p = g;
1806
- } else
1807
- error(getShortErrorMsg(RUNTIME_007, runtimeDescMap, {
1808
- hostName: t.name,
1809
- hostVersion: t.version,
1810
- globalSnapshot: JSON.stringify(d)
1811
- }));
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
+ }));
1812
1710
  return await this.hooks.lifecycle.afterLoadSnapshot.emit({
1813
- id: n,
1711
+ id: t,
1814
1712
  host: this.HostInstance,
1815
- options: s,
1816
- moduleInfo: t,
1817
- remoteSnapshot: y
1713
+ options: n,
1714
+ moduleInfo: e,
1715
+ remoteSnapshot: f
1818
1716
  }), {
1819
- remoteSnapshot: y,
1820
- globalSnapshot: p
1717
+ remoteSnapshot: f,
1718
+ globalSnapshot: d
1821
1719
  };
1822
1720
  }
1823
- getGlobalRemoteInfo(t) {
1824
- return getGlobalRemoteInfo(t, this.HostInstance);
1721
+ getGlobalRemoteInfo(e) {
1722
+ return kt(e, this.HostInstance);
1825
1723
  }
1826
- async getManifestJson(t, n, o) {
1827
- const s = async () => {
1828
- let a = this.manifestCache.get(t);
1829
- if (a)
1830
- return a;
1724
+ async getManifestJson(e, t, r) {
1725
+ const n = async () => {
1726
+ let s = this.manifestCache.get(e);
1727
+ if (s) return s;
1831
1728
  try {
1832
- let c = await this.loaderHook.lifecycle.fetch.emit(t, {});
1833
- (!c || !(c instanceof Response)) && (c = await fetch(t, {})), a = await c.json();
1834
- } catch (c) {
1835
- a = await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({
1836
- id: t,
1837
- error: c,
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,
1838
1735
  from: "runtime",
1839
1736
  lifecycle: "afterResolve",
1840
1737
  origin: this.HostInstance
1841
- }), a || (delete this.manifestLoading[t], error(getShortErrorMsg(RUNTIME_003, runtimeDescMap, {
1842
- manifestUrl: t,
1843
- moduleName: n.name,
1738
+ }), s || (delete this.manifestLoading[e], k(D(gt, L, {
1739
+ manifestUrl: e,
1740
+ moduleName: t.name,
1844
1741
  hostName: this.HostInstance.options.name
1845
- }, `${c}`)));
1742
+ }, `${i}`)));
1846
1743
  }
1847
- return assert(a.metaData && a.exposes && a.shared, `${t} is not a federation manifest`), this.manifestCache.set(t, a), a;
1848
- }, i = async () => {
1849
- const a = await s(), c = generateSnapshotFromManifest(a, {
1850
- version: t
1851
- }), { 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({
1852
1747
  options: this.HostInstance.options,
1853
- moduleInfo: n,
1854
- manifestJson: a,
1855
- remoteSnapshot: c,
1856
- manifestUrl: t,
1748
+ moduleInfo: t,
1749
+ manifestJson: s,
1750
+ remoteSnapshot: i,
1751
+ manifestUrl: e,
1857
1752
  from: "manifest"
1858
1753
  });
1859
- return u;
1754
+ return a;
1860
1755
  };
1861
- return this.manifestLoading[t] || (this.manifestLoading[t] = i().then((a) => a)), this.manifestLoading[t];
1862
- }
1863
- }
1864
- class SharedHandler {
1865
- constructor(t) {
1866
- this.hooks = new PluginSystem({
1867
- beforeRegisterShare: new SyncWaterfallHook("beforeRegisterShare"),
1868
- afterResolve: new AsyncWaterfallHook("afterResolve"),
1869
- beforeLoadShare: new AsyncWaterfallHook("beforeLoadShare"),
1870
- // not used yet
1871
- loadShare: new AsyncHook(),
1872
- resolveShare: new SyncWaterfallHook("resolveShare"),
1873
- // maybe will change, temporarily for internal use only
1874
- initContainerShareScopeMap: new SyncWaterfallHook("initContainerShareScopeMap")
1875
- }), this.host = t, this.shareScopeMap = {}, this.initTokens = {}, this._setGlobalShareScopeMap(t.options);
1876
- }
1877
- // register shared in shareScopeMap
1878
- registerShared(t, n) {
1879
- const { newShareInfos: o, allShareInfos: s } = formatShareConfigs(t, n);
1880
- return Object.keys(o).forEach((a) => {
1881
- o[a].forEach((u) => {
1882
- u.scope.forEach((l) => {
1883
- 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;
1884
1775
  this.hooks.lifecycle.beforeRegisterShare.emit({
1885
1776
  origin: this.host,
1886
- pkgName: a,
1887
- shared: u
1888
- }), ((y = this.shareScopeMap[l]) == null ? void 0 : y[a]) || this.setShared({
1889
- pkgName: a,
1890
- lib: u.lib,
1891
- get: u.get,
1892
- loaded: u.loaded || !!u.lib,
1893
- shared: u,
1894
- 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
1895
1786
  });
1896
1787
  });
1897
1788
  });
1898
1789
  }), {
1899
- newShareInfos: o,
1900
- allShareInfos: s
1790
+ newShareInfos: r,
1791
+ allShareInfos: n
1901
1792
  };
1902
1793
  }
1903
- async loadShare(t, n) {
1904
- const { host: o } = this, s = getTargetSharedOptions({
1905
- pkgName: t,
1906
- extraOptions: n,
1907
- 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
1908
1799
  });
1909
- s != null && s.scope && await Promise.all(s.scope.map(async (l) => {
1910
- await Promise.all(this.initializeSharing(l, {
1911
- strategy: s.strategy
1912
- }));
1800
+ n != null && n.scope && await Promise.all(n.scope.map(async (a) => {
1801
+ await Promise.all(this.initializeSharing(a, { strategy: n.strategy }));
1913
1802
  }));
1914
- const i = await this.hooks.lifecycle.beforeLoadShare.emit({
1915
- pkgName: t,
1916
- shareInfo: s,
1917
- shared: o.options.shared,
1918
- origin: o
1919
- }), { shareInfo: a } = i;
1920
- assert(a, `Cannot find ${t} Share in the ${o.options.name}. Please ensure that the ${t} Share parameters have been injected`);
1921
- const { shared: c, useTreesShaking: u } = getRegisteredShare(this.shareScopeMap, t, a, this.hooks.lifecycle.resolveShare) || {};
1922
- if (c) {
1923
- const l = directShare(c, u);
1924
- if (l.lib)
1925
- return addUseIn(l, o.options.name), l.lib;
1926
- if (l.loading && !l.loaded) {
1927
- const d = await l.loading;
1928
- 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;
1929
1818
  } else {
1930
- const y = (async () => {
1931
- const p = await l.get();
1932
- 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;
1933
1822
  })();
1934
1823
  return this.setShared({
1935
- pkgName: t,
1824
+ pkgName: e,
1936
1825
  loaded: !1,
1937
- shared: c,
1938
- from: o.options.name,
1826
+ shared: s,
1827
+ from: r.options.name,
1939
1828
  lib: null,
1940
- loading: y,
1941
- treeShaking: u ? l : void 0
1942
- }), y;
1829
+ loading: l,
1830
+ treeShaking: i ? a : void 0
1831
+ }), l;
1943
1832
  }
1944
1833
  } else {
1945
- if (n != null && n.customShareInfo)
1946
- return !1;
1947
- const l = shouldUseTreeShaking(a.treeShaking), d = directShare(a, l), p = (async () => {
1948
- const m = await d.get();
1949
- d.lib = m, d.loaded = !0, addUseIn(d, o.options.name);
1950
- const { shared: g, useTreesShaking: b } = getRegisteredShare(this.shareScopeMap, t, a, this.hooks.lifecycle.resolveShare) || {};
1951
- if (g) {
1952
- const E = directShare(g, b);
1953
- E.lib = m, E.loaded = !0, g.from = a.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;
1954
1842
  }
1955
- return m;
1843
+ return d;
1956
1844
  })();
1957
1845
  return this.setShared({
1958
- pkgName: t,
1846
+ pkgName: e,
1959
1847
  loaded: !1,
1960
- shared: a,
1961
- from: o.options.name,
1848
+ shared: o,
1849
+ from: r.options.name,
1962
1850
  lib: null,
1963
- loading: p,
1964
- treeShaking: l ? d : void 0
1965
- }), p;
1851
+ loading: f,
1852
+ treeShaking: a ? c : void 0
1853
+ }), f;
1966
1854
  }
1967
1855
  }
1968
1856
  /**
1969
- * This function initializes the sharing sequence (executed only once per share scope).
1970
- * It accepts one argument, the name of the share scope.
1971
- * If the share scope does not exist, it creates one.
1972
- */
1973
- // eslint-disable-next-line @typescript-eslint/member-ordering
1974
- initializeSharing(t = DEFAULT_SCOPE, n) {
1975
- const { host: o } = this, s = n == null ? void 0 : n.from, i = n == null ? void 0 : n.strategy;
1976
- let a = n == null ? void 0 : n.initScope;
1977
- const c = [];
1978
- if (s !== "build") {
1979
- const { initTokens: m } = this;
1980
- a || (a = []);
1981
- let g = m[t];
1982
- if (g || (g = m[t] = { from: this.host.name }), a.indexOf(g) >= 0)
1983
- return c;
1984
- a.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);
1985
1871
  }
1986
- const u = this.shareScopeMap, l = o.options.name;
1987
- u[t] || (u[t] = {});
1988
- const d = u[t], y = (m, g) => {
1989
- var T;
1990
- const { version: b, eager: E } = g;
1991
- d[m] = d[m] || {};
1992
- 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)));
1993
- (!S || S.strategy !== "loaded-first" && !S.loaded && (!E != !_ ? E : l > R[b].from)) && (R[b] = g);
1994
- }, p = async (m) => {
1995
- const { module: g } = await o.remoteHandler.getRemoteModuleAndOptions({
1996
- id: m
1997
- });
1998
- 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;
1999
1883
  try {
2000
- b = await g.getEntry();
2001
- } catch (E) {
2002
- b = await o.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({
2003
- id: m,
2004
- 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,
2005
1889
  from: "runtime",
2006
1890
  lifecycle: "beforeLoadShare",
2007
- origin: o
1891
+ origin: r
2008
1892
  });
2009
1893
  } finally {
2010
- 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));
2011
1895
  }
2012
1896
  };
2013
- return Object.keys(o.options.shared).forEach((m) => {
2014
- o.options.shared[m].forEach((b) => {
2015
- 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);
2016
1900
  });
2017
- }), (o.options.shareStrategy === "version-first" || i === "version-first") && o.options.remotes.forEach((m) => {
2018
- m.shareScope === t && c.push(p(m.name));
2019
- }), c;
2020
- }
2021
- // The lib function will only be available if the shared set by eager or runtime init is set or the shared is successfully loaded.
2022
- // 1. If the loaded shared already exists globally, then it will be reused
2023
- // 2. If lib exists in local shared, it will be used directly
2024
- // 3. If the local get returns something other than Promise, then it will be used directly
2025
- loadShareSync(t, n) {
2026
- const { host: o } = this, s = getTargetSharedOptions({
2027
- pkgName: t,
2028
- extraOptions: n,
2029
- 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
2030
1910
  });
2031
- s != null && s.scope && s.scope.forEach((c) => {
2032
- this.initializeSharing(c, { strategy: s.strategy });
1911
+ n != null && n.scope && n.scope.forEach((i) => {
1912
+ this.initializeSharing(i, { strategy: n.strategy });
2033
1913
  });
2034
- const { shared: i, useTreesShaking: a } = getRegisteredShare(this.shareScopeMap, t, s, this.hooks.lifecycle.resolveShare) || {};
2035
- if (i) {
2036
- if (typeof i.lib == "function")
2037
- return addUseIn(i, o.options.name), i.loaded || (i.loaded = !0, i.from === o.options.name && (s.loaded = !0)), i.lib;
2038
- if (typeof i.get == "function") {
2039
- const c = i.get();
2040
- if (!(c instanceof Promise))
2041
- return addUseIn(i, o.options.name), this.setShared({
2042
- 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,
2043
1923
  loaded: !0,
2044
- from: o.options.name,
2045
- lib: c,
2046
- shared: i
2047
- }), c;
1924
+ from: r.options.name,
1925
+ lib: i,
1926
+ shared: o
1927
+ }), i;
2048
1928
  }
2049
1929
  }
2050
- if (s.lib)
2051
- return s.loaded || (s.loaded = !0), s.lib;
2052
- if (s.get) {
2053
- const c = s.get();
2054
- if (c instanceof Promise) {
2055
- const u = (n == null ? void 0 : n.from) === "build" ? RUNTIME_005 : RUNTIME_006;
2056
- throw new Error(getShortErrorMsg(u, runtimeDescMap, {
2057
- hostName: o.options.name,
2058
- 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
2059
1939
  }));
2060
1940
  }
2061
- return s.lib = c, this.setShared({
2062
- pkgName: t,
1941
+ return n.lib = i, this.setShared({
1942
+ pkgName: e,
2063
1943
  loaded: !0,
2064
- from: o.options.name,
2065
- lib: s.lib,
2066
- shared: s
2067
- }), s.lib;
1944
+ from: r.options.name,
1945
+ lib: n.lib,
1946
+ shared: n
1947
+ }), n.lib;
2068
1948
  }
2069
- throw new Error(getShortErrorMsg(RUNTIME_006, runtimeDescMap, {
2070
- hostName: o.options.name,
2071
- sharedPkgName: t
1949
+ throw new Error(D(Ae, L, {
1950
+ hostName: r.options.name,
1951
+ sharedPkgName: e
2072
1952
  }));
2073
1953
  }
2074
- initShareScopeMap(t, n, o = {}) {
2075
- const { host: s } = this;
2076
- this.shareScopeMap[t] = n, this.hooks.lifecycle.initContainerShareScopeMap.emit({
2077
- shareScope: n,
2078
- options: s.options,
2079
- origin: s,
2080
- scopeName: t,
2081
- 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
2082
1962
  });
2083
1963
  }
2084
- setShared({ pkgName: t, shared: n, from: o, lib: s, loading: i, loaded: a, get: c, treeShaking: u }) {
2085
- const { version: l, scope: d = "default", ...y } = n, p = Array.isArray(d) ? d : [d], m = (g) => {
2086
- const b = (R, S, _) => {
2087
- _ && !R[S] && (R[S] = _);
2088
- }, E = u ? g.treeShaking : g;
2089
- b(E, "loaded", a), b(E, "loading", i), b(E, "get", c);
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);
2090
1970
  };
2091
- p.forEach((g) => {
2092
- this.shareScopeMap[g] || (this.shareScopeMap[g] = {}), this.shareScopeMap[g][t] || (this.shareScopeMap[g][t] = {}), this.shareScopeMap[g][t][l] || (this.shareScopeMap[g][t][l] = {
2093
- version: l,
2094
- scope: [g],
2095
- ...y,
2096
- 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
2097
1977
  });
2098
- const b = this.shareScopeMap[g][t][l];
2099
- 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);
2100
1980
  });
2101
1981
  }
2102
- _setGlobalShareScopeMap(t) {
2103
- const n = getGlobalShareScope(), o = t.id || t.name;
2104
- o && !n[o] && (n[o] = this.shareScopeMap);
2105
- }
2106
- }
2107
- class RemoteHandler {
2108
- constructor(t) {
2109
- this.hooks = new PluginSystem({
2110
- beforeRegisterRemote: new SyncWaterfallHook("beforeRegisterRemote"),
2111
- registerRemote: new SyncWaterfallHook("registerRemote"),
2112
- beforeRequest: new AsyncWaterfallHook("beforeRequest"),
2113
- onLoad: new AsyncHook("onLoad"),
2114
- handlePreloadModule: new SyncHook("handlePreloadModule"),
2115
- errorLoadRemote: new AsyncHook("errorLoadRemote"),
2116
- beforePreloadRemote: new AsyncHook("beforePreloadRemote"),
2117
- generatePreloadAssets: new AsyncHook("generatePreloadAssets"),
2118
- // not used yet
2119
- afterPreloadRemote: new AsyncHook(),
2120
- // TODO: Move to loaderHook
2121
- loadEntry: new AsyncHook()
2122
- }), this.host = t, this.idToRemoteMap = {};
2123
- }
2124
- formatAndRegisterRemote(t, n) {
2125
- return (n.remotes || []).reduce((s, i) => (this.registerRemote(i, s, { force: !1 }), s), t.remotes);
2126
- }
2127
- setIdToRemoteMap(t, n) {
2128
- const { remote: o, expose: s } = n, { name: i, alias: a } = o;
2129
- if (this.idToRemoteMap[t] = { name: o.name, expose: s }, a && t.startsWith(i)) {
2130
- const c = t.replace(i, a);
2131
- this.idToRemoteMap[c] = { 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
+ };
2132
2015
  return;
2133
2016
  }
2134
- if (a && t.startsWith(a)) {
2135
- const c = t.replace(a, i);
2136
- this.idToRemoteMap[c] = { 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
+ };
2137
2023
  }
2138
2024
  }
2139
- // eslint-disable-next-line max-lines-per-function
2140
- // eslint-disable-next-line @typescript-eslint/member-ordering
2141
- async loadRemote(t, n) {
2142
- const { host: o } = this;
2025
+ async loadRemote(e, t) {
2026
+ const { host: r } = this;
2143
2027
  try {
2144
- const { loadFactory: s = !0 } = n || {
2145
- loadFactory: !0
2146
- }, { module: i, moduleOptions: a, remoteMatchInfo: c } = await this.getRemoteModuleAndOptions({
2147
- id: t
2148
- }), { pkgNameOrAlias: u, remote: l, expose: d, id: y, remoteSnapshot: p } = c, m = await i.get(y, d, n, p), g = await this.hooks.lifecycle.onLoad.emit({
2149
- id: y,
2150
- pkgNameOrAlias: u,
2151
- expose: d,
2152
- exposeModule: s ? m : void 0,
2153
- exposeModuleFactory: s ? void 0 : m,
2154
- remote: l,
2155
- options: a,
2156
- moduleInstance: i,
2157
- 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
2158
2038
  });
2159
- return this.setIdToRemoteMap(t, c), typeof g == "function" ? g : m;
2160
- } catch (s) {
2161
- const { from: i = "runtime" } = n || { from: "runtime" }, a = await this.hooks.lifecycle.errorLoadRemote.emit({
2162
- id: t,
2163
- error: s,
2164
- 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,
2165
2045
  lifecycle: "onLoad",
2166
- origin: o
2046
+ origin: r
2167
2047
  });
2168
- if (!a)
2169
- throw s;
2170
- return a;
2048
+ if (!s) throw n;
2049
+ return s;
2171
2050
  }
2172
2051
  }
2173
- // eslint-disable-next-line @typescript-eslint/member-ordering
2174
- async preloadRemote(t) {
2175
- const { host: n } = this;
2052
+ async preloadRemote(e) {
2053
+ const { host: t } = this;
2176
2054
  await this.hooks.lifecycle.beforePreloadRemote.emit({
2177
- preloadOps: t,
2178
- options: n.options,
2179
- origin: n
2055
+ preloadOps: e,
2056
+ options: t.options,
2057
+ origin: t
2180
2058
  });
2181
- const o = formatPreloadArgs(n.options.remotes, t);
2182
- await Promise.all(o.map(async (s) => {
2183
- const { remote: i } = s, a = getRemoteInfo(i), { globalSnapshot: c, remoteSnapshot: u } = await n.snapshotHandler.loadRemoteSnapshotInfo({
2184
- moduleInfo: i
2185
- }), l = await this.hooks.lifecycle.generatePreloadAssets.emit({
2186
- origin: n,
2187
- preloadOptions: s,
2188
- remote: i,
2189
- remoteInfo: a,
2190
- globalSnapshot: c,
2191
- 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
2192
2068
  });
2193
- l && preloadAssets(a, n, l);
2069
+ c && Nt(s, t, c);
2194
2070
  }));
2195
2071
  }
2196
- registerRemotes(t, n) {
2197
- const { host: o } = this;
2198
- t.forEach((s) => {
2199
- this.registerRemote(s, o.options.remotes, {
2200
- force: n == null ? void 0 : n.force
2201
- });
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 });
2202
2076
  });
2203
2077
  }
2204
- async getRemoteModuleAndOptions(t) {
2205
- const { host: n } = this, { id: o } = t;
2206
- let s;
2078
+ async getRemoteModuleAndOptions(e) {
2079
+ const { host: t } = this, { id: r } = e;
2080
+ let n;
2207
2081
  try {
2208
- s = await this.hooks.lifecycle.beforeRequest.emit({
2209
- id: o,
2210
- options: n.options,
2211
- origin: n
2082
+ n = await this.hooks.lifecycle.beforeRequest.emit({
2083
+ id: r,
2084
+ options: t.options,
2085
+ origin: t
2212
2086
  });
2213
- } catch (g) {
2214
- if (s = await this.hooks.lifecycle.errorLoadRemote.emit({
2215
- id: o,
2216
- options: n.options,
2217
- origin: n,
2087
+ } catch (h) {
2088
+ if (n = await this.hooks.lifecycle.errorLoadRemote.emit({
2089
+ id: r,
2090
+ options: t.options,
2091
+ origin: t,
2218
2092
  from: "runtime",
2219
- error: g,
2093
+ error: h,
2220
2094
  lifecycle: "beforeRequest"
2221
- }), !s)
2222
- throw g;
2095
+ }), !n) throw h;
2223
2096
  }
2224
- const { id: i } = s, a = matchRemoteWithNameAndExpose(n.options.remotes, i);
2225
- assert(a, getShortErrorMsg(RUNTIME_004, runtimeDescMap, {
2226
- hostName: n.options.name,
2227
- 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
2228
2101
  }));
2229
- const { remote: c } = a, u = getRemoteInfo(c), l = await n.sharedHandler.hooks.lifecycle.afterResolve.emit({
2230
- id: i,
2231
- ...a,
2232
- options: n.options,
2233
- origin: n,
2234
- remoteInfo: u
2235
- }), { remote: d, expose: y } = l;
2236
- assert(d && y, `The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${i}.`);
2237
- let p = n.moduleCache.get(d.name);
2238
- const m = {
2239
- host: n,
2240
- 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
2241
2114
  };
2242
- return p || (p = new Module(m), n.moduleCache.set(d.name, p)), {
2243
- module: p,
2244
- moduleOptions: m,
2245
- remoteMatchInfo: l
2115
+ return d || (d = new Tt(u), t.moduleCache.set(l.name, d)), {
2116
+ module: d,
2117
+ moduleOptions: u,
2118
+ remoteMatchInfo: c
2246
2119
  };
2247
2120
  }
2248
- registerRemote(t, n, o) {
2249
- const { host: s } = this, i = () => {
2250
- if (t.alias) {
2251
- const c = n.find((u) => {
2252
- var l;
2253
- 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)));
2254
2127
  });
2255
- assert(!c, `The alias ${t.alias} of remote ${t.name} is not allowed to be the prefix of ${c && c.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`);
2256
2129
  }
2257
- "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);
2258
2131
  };
2259
- this.hooks.lifecycle.beforeRegisterRemote.emit({ remote: t, origin: s });
2260
- const a = n.find((c) => c.name === t.name);
2261
- if (!a)
2262
- 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
+ });
2263
2142
  else {
2264
- const c = [
2265
- `The remote "${t.name}" is already registered.`,
2266
- "Please note that overriding it may cause unexpected errors."
2267
- ];
2268
- o != null && o.force && (this.removeRemote(a), i(), n.push(t), this.hooks.lifecycle.registerRemote.emit({ remote: t, origin: s }), warn$1(c.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(" ")));
2269
2148
  }
2270
2149
  }
2271
- removeRemote(t) {
2272
- var n;
2150
+ removeRemote(e) {
2151
+ var t;
2273
2152
  try {
2274
- const { host: o } = this, { name: s } = t, i = o.options.remotes.findIndex((c) => c.name === s);
2275
- i !== -1 && o.options.remotes.splice(i, 1);
2276
- const a = o.moduleCache.get(t.name);
2277
- if (a) {
2278
- const c = a.remoteInfo, u = c.entryGlobalName;
2279
- CurrentGlobal[u] && ((n = Object.getOwnPropertyDescriptor(CurrentGlobal, u)) != null && n.configurable ? delete CurrentGlobal[u] : CurrentGlobal[u] = void 0);
2280
- const l = getRemoteEntryUniqueKey(a.remoteInfo);
2281
- globalLoading[l] && delete globalLoading[l], o.snapshotHandler.manifestCache.delete(c.entry);
2282
- let d = c.buildVersion ? composeKeyWithSeparator(c.name, c.buildVersion) : c.name;
2283
- const y = CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex((m) => c.buildVersion ? m.options.id === d : m.name === d);
2284
- if (y !== -1) {
2285
- const m = CurrentGlobal.__FEDERATION__.__INSTANCES__[y];
2286
- d = m.options.id || d;
2287
- const g = getGlobalShareScope();
2288
- let b = !0;
2289
- const E = [];
2290
- Object.keys(g).forEach((R) => {
2291
- const S = g[R];
2292
- S && Object.keys(S).forEach((_) => {
2293
- const T = S[_];
2294
- T && Object.keys(T).forEach((I) => {
2295
- const w = T[I];
2296
- w && Object.keys(w).forEach((A) => {
2297
- const k = w[A];
2298
- k && typeof k == "object" && k.from === c.name && (k.loaded || k.loading ? (k.useIn = k.useIn.filter((N) => N !== c.name), k.useIn.length ? b = !1 : E.push([
2299
- R,
2300
- _,
2301
- I,
2302
- A
2303
- ])) : E.push([
2304
- R,
2305
- _,
2306
- I,
2307
- A
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
2308
2187
  ]));
2309
2188
  });
2310
2189
  });
2311
2190
  });
2312
- }), b && (m.shareScopeMap = {}, delete g[d]), E.forEach(([R, S, _, T]) => {
2313
- var I, w, A;
2314
- (A = (w = (I = g[R]) == null ? void 0 : I[S]) == null ? void 0 : w[_]) == null || delete A[T];
2315
- }), 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);
2316
2195
  }
2317
- const { hostGlobalSnapshot: p } = getGlobalRemoteInfo(t, o);
2318
- if (p) {
2319
- const m = p && "remotesInfo" in p && p.remotesInfo && getInfoWithoutType(p.remotesInfo, t.name).key;
2320
- 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]);
2321
2200
  }
2322
- o.moduleCache.delete(t.name);
2201
+ r.moduleCache.delete(e.name);
2323
2202
  }
2324
- } catch (o) {
2325
- logger.log("removeRemote fail: ", o);
2203
+ } catch (r) {
2204
+ Te.log("removeRemote fail: ", r);
2326
2205
  }
2327
2206
  }
2328
- }
2329
- const USE_SNAPSHOT = typeof FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN == "boolean" ? !FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN : !0;
2330
- class ModuleFederation {
2331
- constructor(t) {
2332
- this.hooks = new PluginSystem({
2333
- beforeInit: new SyncWaterfallHook("beforeInit"),
2334
- init: new SyncHook(),
2335
- // maybe will change, temporarily for internal use only
2336
- beforeInitContainer: new AsyncWaterfallHook("beforeInitContainer"),
2337
- // maybe will change, temporarily for internal use only
2338
- initContainer: new AsyncWaterfallHook("initContainer")
2339
- }), this.version = "2.0.1", this.moduleCache = /* @__PURE__ */ new Map(), this.loaderHook = new PluginSystem({
2340
- // FIXME: may not be suitable , not open to the public yet
2341
- getModuleInfo: new SyncHook(),
2342
- createScript: new SyncHook(),
2343
- createLink: new SyncHook(),
2344
- fetch: new AsyncHook(),
2345
- loadEntryError: new AsyncHook(),
2346
- getModuleFactory: new AsyncHook()
2347
- }), this.bridgeHook = new PluginSystem({
2348
- beforeBridgeRender: new SyncHook(),
2349
- afterBridgeRender: new SyncHook(),
2350
- beforeBridgeDestroy: new SyncHook(),
2351
- 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()
2352
2228
  });
2353
- const n = USE_SNAPSHOT ? [snapshotPlugin(), generatePreloadAssetsPlugin()] : [], o = {
2354
- id: getBuilderId(),
2355
- name: t.name,
2356
- plugins: n,
2229
+ const t = mn ? [cn(), fn()] : [], r = {
2230
+ id: rn(),
2231
+ name: e.name,
2232
+ plugins: t,
2357
2233
  remotes: [],
2358
2234
  shared: {},
2359
- inBrowser: isBrowserEnv()
2235
+ inBrowser: F()
2360
2236
  };
2361
- 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([
2362
- ...o.plugins,
2363
- ...t.plugins || []
2364
- ]), this.options = this.formatOptions(o, t);
2365
- }
2366
- initOptions(t) {
2367
- this.registerPlugins(t.plugins);
2368
- const n = this.formatOptions(this.options, t);
2369
- return this.options = n, n;
2370
- }
2371
- async loadShare(t, n) {
2372
- return this.sharedHandler.loadShare(t, n);
2373
- }
2374
- // The lib function will only be available if the shared set by eager or runtime init is set or the shared is successfully loaded.
2375
- // 1. If the loaded shared already exists globally, then it will be reused
2376
- // 2. If lib exists in local shared, it will be used directly
2377
- // 3. If the local get returns something other than Promise, then it will be used directly
2378
- loadShareSync(t, n) {
2379
- return this.sharedHandler.loadShareSync(t, n);
2380
- }
2381
- initializeSharing(t = DEFAULT_SCOPE, n) {
2382
- return this.sharedHandler.initializeSharing(t, n);
2383
- }
2384
- initRawContainer(t, n, o) {
2385
- const s = getRemoteInfo({ name: t, entry: n }), i = new Module({ host: this, remoteInfo: s });
2386
- return i.remoteEntryExports = o, this.moduleCache.set(t, i), i;
2387
- }
2388
- // eslint-disable-next-line max-lines-per-function
2389
- // eslint-disable-next-line @typescript-eslint/member-ordering
2390
- async loadRemote(t, n) {
2391
- return this.remoteHandler.loadRemote(t, n);
2392
- }
2393
- // eslint-disable-next-line @typescript-eslint/member-ordering
2394
- async preloadRemote(t) {
2395
- return this.remoteHandler.preloadRemote(t);
2396
- }
2397
- initShareScopeMap(t, n, o = {}) {
2398
- this.sharedHandler.initShareScopeMap(t, n, o);
2399
- }
2400
- formatOptions(t, n) {
2401
- 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({
2402
2274
  origin: this,
2403
- userOptions: n,
2404
- options: t,
2405
- shareInfo: o
2406
- }), a = this.remoteHandler.formatAndRegisterRemote(i, s), { allShareInfos: c } = this.sharedHandler.registerShared(i, s), u = [...i.plugins];
2407
- s.plugins && s.plugins.forEach((d) => {
2408
- 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);
2409
2281
  });
2410
- const l = {
2282
+ const c = {
2283
+ ...e,
2411
2284
  ...t,
2412
- ...n,
2413
- plugins: u,
2414
- remotes: a,
2415
- shared: c
2285
+ plugins: a,
2286
+ remotes: s,
2287
+ shared: i
2416
2288
  };
2417
2289
  return this.hooks.lifecycle.init.emit({
2418
2290
  origin: this,
2419
- options: l
2420
- }), l;
2291
+ options: c
2292
+ }), c;
2421
2293
  }
2422
- registerPlugins(t) {
2423
- const n = registerPlugins(t, this);
2424
- 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 || []);
2425
2297
  }
2426
- registerRemotes(t, n) {
2427
- return this.remoteHandler.registerRemotes(t, n);
2298
+ registerRemotes(e, t) {
2299
+ return this.remoteHandler.registerRemotes(e, t);
2428
2300
  }
2429
- registerShared(t) {
2301
+ registerShared(e) {
2430
2302
  this.sharedHandler.registerShared(this.options, {
2431
2303
  ...this.options,
2432
- shared: t
2304
+ shared: e
2433
2305
  });
2434
2306
  }
2435
- }
2436
- let FederationInstance = null;
2437
- function getInstance() {
2438
- return FederationInstance;
2439
- }
2440
- setGlobalFederationConstructor(ModuleFederation);
2441
- function addBasenameToNestedRoutes(r, t) {
2442
- return r.map((n) => {
2443
- const o = {
2444
- ...n,
2445
- 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
2446
2318
  };
2447
- return n.children && n.children.length > 0 && (o.children = addBasenameToNestedRoutes(
2448
- n.children,
2319
+ return r.children && r.children.length > 0 && (n.children = Lt(
2320
+ r.children,
2449
2321
  t
2450
- )), o;
2322
+ )), n;
2451
2323
  });
2452
2324
  }
2453
- function processRoutes(r) {
2454
- const { router: t, basename: n, memoryRoute: o, hashRoute: s } = r, i = t.getRoutes().sort(
2455
- (p, m) => p.path.split("/").filter((g) => g).length - m.path.split("/").filter((g) => g).length
2456
- ), a = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Set();
2457
- i.forEach((p) => {
2458
- a.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);
2459
2331
  });
2460
- const u = (p, m) => `${p}/${m}`.replace(/\/+/g, "/").replace(/\/$/, "") || "/", l = (p, m = "") => {
2461
- if (!p.children || p.children.length === 0)
2462
- return p;
2463
- for (let g = 0; g < p.children.length; g++) {
2464
- const b = p.children[g], E = u(m, b.path), R = a.get(E);
2465
- if (R && !c.has(R)) {
2466
- const S = {
2467
- ...R,
2468
- 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
2469
2341
  // Keep the original relative path from static route
2470
2342
  };
2471
- p.children[g] = S, c.add(R), l(S, E);
2343
+ u.children[p] = g, a.add(m), l(g, E);
2472
2344
  }
2473
2345
  }
2474
- return p;
2346
+ return u;
2475
2347
  };
2476
- let d = [];
2477
- for (const p of i)
2478
- if (!c.has(p)) {
2479
- const m = l(p, p.path);
2480
- c.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);
2481
2353
  }
2482
- let y;
2483
- return o ? y = VueRouter.createMemoryHistory(n) : s ? (y = VueRouter.createWebHashHistory(), n && (d = addBasenameToNestedRoutes(d, n))) : y = VueRouter.createWebHistory(n), {
2484
- history: y,
2485
- 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
2486
2358
  };
2487
2359
  }
2488
- function createBridgeComponent(r) {
2489
- const t = /* @__PURE__ */ new Map(), n = getInstance();
2360
+ function wn(e) {
2361
+ const t = /* @__PURE__ */ new Map(), r = Ot();
2490
2362
  return () => ({
2491
- __APP_VERSION__: "2.0.1",
2492
- async render(o) {
2493
- var g, b, E;
2494
- 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);
2495
2367
  const {
2496
- moduleName: s,
2497
- dom: i,
2498
- basename: a,
2499
- memoryRoute: c,
2500
- hashRoute: u,
2368
+ moduleName: o,
2369
+ dom: s,
2370
+ basename: i,
2371
+ memoryRoute: a,
2372
+ hashRoute: c,
2501
2373
  ...l
2502
- } = o, d = Vue.createApp(r.rootComponent, l);
2503
- t.set(i, d);
2504
- 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({
2505
- app: d,
2506
- basename: a,
2507
- memoryRoute: c,
2508
- hashRoute: u,
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,
2379
+ memoryRoute: a,
2380
+ hashRoute: c,
2509
2381
  ...l,
2510
- ...p
2382
+ ...u
2511
2383
  });
2512
- if (m != null && m.router) {
2513
- const { history: R, routes: S } = processRoutes({
2514
- router: m.router,
2515
- basename: o.basename,
2516
- memoryRoute: o.memoryRoute,
2517
- hashRoute: o.hashRoute
2518
- }), _ = VueRouter.createRouter({
2519
- ...m.router.options,
2520
- history: R,
2521
- 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
2522
2394
  });
2523
- LoggerInstance.debug("createBridgeComponent render router info>>>", {
2524
- moduleName: s,
2525
- router: _
2526
- }), c && await _.push(c.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);
2527
2399
  }
2528
- d.mount(i);
2400
+ f.mount(s);
2529
2401
  },
2530
- destroy(o) {
2531
- LoggerInstance.debug("createBridgeComponent destroy Info", o);
2532
- const s = t.get(o == null ? void 0 : o.dom);
2533
- 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();
2534
2406
  }
2535
2407
  });
2536
2408
  }
2537
- function e() {
2538
- const r = new PopStateEvent("popstate", { state: window.history.state });
2539
- window.dispatchEvent(r);
2409
+ function _n() {
2410
+ const e = new PopStateEvent("popstate", { state: window.history.state });
2411
+ window.dispatchEvent(e);
2540
2412
  }
2541
- const RemoteApp = /* @__PURE__ */ defineComponent({
2413
+ const bn = /* @__PURE__ */ Ct({
2542
2414
  name: "RemoteApp",
2543
2415
  props: {
2544
2416
  moduleName: String,
@@ -2549,76 +2421,76 @@ const RemoteApp = /* @__PURE__ */ defineComponent({
2549
2421
  rootAttrs: Object
2550
2422
  },
2551
2423
  inheritAttrs: !1,
2552
- setup(r) {
2553
- const t = ref(null), n = ref(null), o = ref(""), s = useRoute(), i = getInstance(), a = useAttrs(), c = async () => {
2554
- var p, m, g, b;
2555
- const l = (p = r.providerInfo) == null ? void 0 : p.call(r);
2556
- n.value = l;
2557
- let d = {
2558
- ...a,
2559
- 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,
2560
2432
  dom: t.value,
2561
- basename: r.basename,
2562
- memoryRoute: r.memoryRoute,
2563
- hashRoute: r.hashRoute
2433
+ basename: e.basename,
2434
+ memoryRoute: e.memoryRoute,
2435
+ hashRoute: e.hashRoute
2564
2436
  };
2565
- LoggerInstance.debug("createRemoteAppComponent LazyComponent render >>>", d);
2566
- 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)) || {};
2567
- d = {
2568
- ...d,
2569
- ...y.extraProps
2570
- }, l.render(d);
2571
- }, u = watch(() => s == null ? void 0 : s.path, (l) => {
2572
- l !== s.path && c(), o.value !== "" && o.value !== l && (LoggerInstance.debug("createRemoteAppComponent dispatchPopstateEnv >>>", {
2573
- ...r,
2574
- pathname: s.path
2575
- }), 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;
2576
2448
  });
2577
- return onMounted(() => {
2578
- c();
2579
- }), onBeforeUnmount(() => {
2449
+ return Ht(() => {
2450
+ a();
2451
+ }), Gt(() => {
2580
2452
  var l;
2581
- LoggerInstance.debug("createRemoteAppComponent LazyComponent destroy >>>", {
2582
- ...r
2583
- }), u(), (l = n.value) == null || l.destroy({
2453
+ C.debug("createRemoteAppComponent LazyComponent destroy >>>", {
2454
+ ...e
2455
+ }), c(), (l = r.value) == null || l.destroy({
2584
2456
  dom: t.value
2585
2457
  });
2586
- }), () => createVNode("div", mergeProps(r.rootAttrs || {}, {
2458
+ }), () => Ut("div", xt(e.rootAttrs || {}, {
2587
2459
  ref: t
2588
2460
  }), null);
2589
2461
  }
2590
2462
  });
2591
- function createRemoteAppComponent(r) {
2592
- return defineAsyncComponent({
2593
- __APP_VERSION__: "2.0.1",
2594
- ...r.asyncComponentOptions,
2463
+ function Rn(e) {
2464
+ return Bt({
2465
+ __APP_VERSION__: "2.1.0",
2466
+ ...e.asyncComponentOptions,
2595
2467
  //@ts-ignore
2596
2468
  loader: async () => {
2597
- var u, l;
2598
- const t = useRoute();
2599
- let n = "/";
2600
- const o = (l = (u = t == null ? void 0 : t.matched) == null ? void 0 : u[0]) == null ? void 0 : l.path;
2601
- o && (o.endsWith("/:pathMatch(.*)*") ? n = o.replace("/:pathMatch(.*)*", "") : n = t.matched[0].path);
2602
- const s = (r == null ? void 0 : r.export) || "default";
2603
- 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(
2604
2476
  "createRemoteAppComponent LazyComponent create >>>",
2605
2477
  {
2606
- basename: n,
2607
- info: r
2478
+ basename: r,
2479
+ info: e
2608
2480
  }
2609
2481
  );
2610
- const i = await r.loader(), a = i && i[Symbol.for("mf_module_id")], c = i[s];
2611
- if (LoggerInstance.debug(
2482
+ const s = await e.loader(), i = s && s[Symbol.for("mf_module_id")], a = s[o];
2483
+ if (C.debug(
2612
2484
  "createRemoteAppComponent LazyComponent loadRemote info >>>",
2613
- { moduleName: a, module: i, exportName: s, basename: n, route: t }
2614
- ), s in i && typeof c == "function")
2485
+ { moduleName: i, module: s, exportName: o, basename: r, route: t }
2486
+ ), o in s && typeof a == "function")
2615
2487
  return {
2616
2488
  render() {
2617
- return h(RemoteApp, {
2618
- moduleName: a,
2619
- providerInfo: c,
2620
- basename: n,
2621
- rootAttrs: r.rootAttrs
2489
+ return Vt(bn, {
2490
+ moduleName: i,
2491
+ providerInfo: a,
2492
+ basename: r,
2493
+ rootAttrs: e.rootAttrs
2622
2494
  });
2623
2495
  }
2624
2496
  };
@@ -2626,13 +2498,13 @@ function createRemoteAppComponent(r) {
2626
2498
  }
2627
2499
  });
2628
2500
  }
2629
- function createRemoteComponent(r) {
2630
- return LoggerInstance.warn(
2501
+ function In(e) {
2502
+ return C.warn(
2631
2503
  "createRemoteAppComponent is deprecated, please use createRemoteAppComponent instead!"
2632
- ), createRemoteAppComponent(r);
2504
+ ), Rn(e);
2633
2505
  }
2634
2506
  export {
2635
- createBridgeComponent,
2636
- createRemoteAppComponent,
2637
- createRemoteComponent
2507
+ wn as createBridgeComponent,
2508
+ Rn as createRemoteAppComponent,
2509
+ In as createRemoteComponent
2638
2510
  };