@module-federation/bridge-vue3 0.0.0-next-20250708033956 → 0.0.0-next-20250708104625
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/CHANGELOG.md +4 -4
- package/dist/index.cjs +4 -4
- package/dist/index.js +765 -773
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -4,8 +4,8 @@ import * as VueRouter from "vue-router";
|
|
|
4
4
|
import { useRoute } from "vue-router";
|
|
5
5
|
function _extends$2() {
|
|
6
6
|
return _extends$2 = Object.assign || function(t) {
|
|
7
|
-
for (var
|
|
8
|
-
var r = arguments[
|
|
7
|
+
for (var n = 1; n < arguments.length; n++) {
|
|
8
|
+
var r = arguments[n];
|
|
9
9
|
for (var s in r) Object.prototype.hasOwnProperty.call(r, s) && (t[s] = r[s]);
|
|
10
10
|
}
|
|
11
11
|
return t;
|
|
@@ -16,8 +16,8 @@ function isBrowserEnv() {
|
|
|
16
16
|
return typeof window < "u" && typeof window.document < "u";
|
|
17
17
|
}
|
|
18
18
|
function isReactNativeEnv() {
|
|
19
|
-
var
|
|
20
|
-
return typeof navigator < "u" && ((
|
|
19
|
+
var o;
|
|
20
|
+
return typeof navigator < "u" && ((o = navigator) == null ? void 0 : o.product) === "ReactNative";
|
|
21
21
|
}
|
|
22
22
|
function isBrowserDebug() {
|
|
23
23
|
try {
|
|
@@ -31,25 +31,25 @@ function isBrowserDebug() {
|
|
|
31
31
|
function isDebugMode() {
|
|
32
32
|
return typeof process < "u" && process.env && process.env.FEDERATION_DEBUG ? !!process.env.FEDERATION_DEBUG : typeof FEDERATION_DEBUG < "u" && FEDERATION_DEBUG ? !0 : isBrowserDebug();
|
|
33
33
|
}
|
|
34
|
-
const LOG_CATEGORY$1 = "[ Federation Runtime ]", composeKeyWithSeparator = function(...
|
|
35
|
-
return
|
|
36
|
-
}, getResourceUrl = (
|
|
37
|
-
if ("getPublicPath" in
|
|
38
|
-
let
|
|
39
|
-
return
|
|
40
|
-
} else return "publicPath" in
|
|
41
|
-
}, warn$1 = (
|
|
42
|
-
console.warn(`${LOG_CATEGORY$1}: ${
|
|
34
|
+
const LOG_CATEGORY$1 = "[ Federation Runtime ]", composeKeyWithSeparator = function(...o) {
|
|
35
|
+
return o.length ? o.reduce((t, n) => n ? t ? `${t}${SEPARATOR}${n}` : n : t, "") : "";
|
|
36
|
+
}, getResourceUrl = (o, t) => {
|
|
37
|
+
if ("getPublicPath" in o) {
|
|
38
|
+
let n;
|
|
39
|
+
return o.getPublicPath.startsWith("function") ? n = new Function("return " + o.getPublicPath)()() : n = new Function(o.getPublicPath)(), `${n}${t}`;
|
|
40
|
+
} else return "publicPath" in o ? !isBrowserEnv() && !isReactNativeEnv() && "ssrPublicPath" in o ? `${o.ssrPublicPath}${t}` : `${o.publicPath}${t}` : (console.warn("Cannot get resource URL. If in debug mode, please ignore.", o, t), "");
|
|
41
|
+
}, warn$1 = (o) => {
|
|
42
|
+
console.warn(`${LOG_CATEGORY$1}: ${o}`);
|
|
43
43
|
};
|
|
44
|
-
function safeToString(
|
|
44
|
+
function safeToString(o) {
|
|
45
45
|
try {
|
|
46
|
-
return JSON.stringify(
|
|
46
|
+
return JSON.stringify(o, null, 2);
|
|
47
47
|
} catch {
|
|
48
48
|
return "";
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
const simpleJoinRemoteEntry = (
|
|
52
|
-
if (!
|
|
51
|
+
const simpleJoinRemoteEntry = (o, t) => {
|
|
52
|
+
if (!o)
|
|
53
53
|
return t;
|
|
54
54
|
const r = ((s) => {
|
|
55
55
|
if (s === ".")
|
|
@@ -57,37 +57,37 @@ const simpleJoinRemoteEntry = (n, t) => {
|
|
|
57
57
|
if (s.startsWith("./"))
|
|
58
58
|
return s.replace("./", "");
|
|
59
59
|
if (s.startsWith("/")) {
|
|
60
|
-
const
|
|
61
|
-
return
|
|
60
|
+
const i = s.slice(1);
|
|
61
|
+
return i.endsWith("/") ? i.slice(0, -1) : i;
|
|
62
62
|
}
|
|
63
63
|
return s;
|
|
64
|
-
})(
|
|
64
|
+
})(o);
|
|
65
65
|
return r ? r.endsWith("/") ? `${r}${t}` : `${r}/${t}` : t;
|
|
66
66
|
};
|
|
67
|
-
function inferAutoPublicPath(
|
|
68
|
-
return
|
|
69
|
-
}
|
|
70
|
-
function generateSnapshotFromManifest(
|
|
71
|
-
var
|
|
72
|
-
const { remotes: s = {}, overrides:
|
|
73
|
-
let
|
|
74
|
-
const c = () => "publicPath" in
|
|
67
|
+
function inferAutoPublicPath(o) {
|
|
68
|
+
return o.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
|
|
69
|
+
}
|
|
70
|
+
function generateSnapshotFromManifest(o, t = {}) {
|
|
71
|
+
var n, r;
|
|
72
|
+
const { remotes: s = {}, overrides: i = {}, version: l } = t;
|
|
73
|
+
let a;
|
|
74
|
+
const c = () => "publicPath" in o.metaData ? o.metaData.publicPath === "auto" && l ? inferAutoPublicPath(l) : o.metaData.publicPath : o.metaData.getPublicPath, u = Object.keys(i);
|
|
75
75
|
let p = {};
|
|
76
76
|
if (!Object.keys(s).length) {
|
|
77
77
|
var d;
|
|
78
|
-
p = ((d =
|
|
78
|
+
p = ((d = o.remotes) == null ? void 0 : d.reduce((R, A) => {
|
|
79
79
|
let T;
|
|
80
80
|
const $ = A.federationContainerName;
|
|
81
|
-
return u.includes($) ? T =
|
|
81
|
+
return u.includes($) ? T = i[$] : "version" in A ? T = A.version : T = A.entry, R[$] = {
|
|
82
82
|
matchedVersion: T
|
|
83
83
|
}, R;
|
|
84
84
|
}, {})) || {};
|
|
85
85
|
}
|
|
86
86
|
Object.keys(s).forEach((R) => p[R] = {
|
|
87
87
|
// overrides will override dependencies
|
|
88
|
-
matchedVersion: u.includes(R) ?
|
|
88
|
+
matchedVersion: u.includes(R) ? i[R] : s[R]
|
|
89
89
|
});
|
|
90
|
-
const { remoteEntry: { path: m, name: y, type: g }, types: E, buildInfo: { buildVersion: _ }, globalName: b, ssrRemoteEntry: v } =
|
|
90
|
+
const { remoteEntry: { path: m, name: y, type: g }, types: E, buildInfo: { buildVersion: _ }, globalName: b, ssrRemoteEntry: v } = o.metaData, { exposes: I } = o;
|
|
91
91
|
let S = {
|
|
92
92
|
version: l || "",
|
|
93
93
|
buildVersion: _,
|
|
@@ -98,7 +98,7 @@ function generateSnapshotFromManifest(n, t = {}) {
|
|
|
98
98
|
remoteTypesZip: E.zip || "",
|
|
99
99
|
remoteTypesAPI: E.api || "",
|
|
100
100
|
remotesInfo: p,
|
|
101
|
-
shared:
|
|
101
|
+
shared: o == null ? void 0 : o.shared.map((R) => ({
|
|
102
102
|
assets: R.assets,
|
|
103
103
|
sharedName: R.name,
|
|
104
104
|
version: R.version
|
|
@@ -109,32 +109,32 @@ function generateSnapshotFromManifest(n, t = {}) {
|
|
|
109
109
|
assets: R.assets
|
|
110
110
|
}))
|
|
111
111
|
};
|
|
112
|
-
if ((
|
|
113
|
-
const R =
|
|
112
|
+
if ((n = o.metaData) != null && n.prefetchInterface) {
|
|
113
|
+
const R = o.metaData.prefetchInterface;
|
|
114
114
|
S = _extends$2({}, S, {
|
|
115
115
|
prefetchInterface: R
|
|
116
116
|
});
|
|
117
117
|
}
|
|
118
|
-
if ((r =
|
|
119
|
-
const { path: R, name: A, type: T } =
|
|
118
|
+
if ((r = o.metaData) != null && r.prefetchEntry) {
|
|
119
|
+
const { path: R, name: A, type: T } = o.metaData.prefetchEntry;
|
|
120
120
|
S = _extends$2({}, S, {
|
|
121
121
|
prefetchEntry: simpleJoinRemoteEntry(R, A),
|
|
122
122
|
prefetchEntryType: T
|
|
123
123
|
});
|
|
124
124
|
}
|
|
125
|
-
if ("publicPath" in
|
|
125
|
+
if ("publicPath" in o.metaData ? a = _extends$2({}, S, {
|
|
126
126
|
publicPath: c(),
|
|
127
|
-
ssrPublicPath:
|
|
128
|
-
}) :
|
|
127
|
+
ssrPublicPath: o.metaData.ssrPublicPath
|
|
128
|
+
}) : a = _extends$2({}, S, {
|
|
129
129
|
getPublicPath: c()
|
|
130
130
|
}), v) {
|
|
131
131
|
const R = simpleJoinRemoteEntry(v.path, v.name);
|
|
132
|
-
|
|
132
|
+
a.ssrRemoteEntry = R, a.ssrRemoteEntryType = v.type || "commonjs-module";
|
|
133
133
|
}
|
|
134
|
-
return
|
|
134
|
+
return a;
|
|
135
135
|
}
|
|
136
|
-
function isManifestProvider(
|
|
137
|
-
return !!("remoteEntry" in
|
|
136
|
+
function isManifestProvider(o) {
|
|
137
|
+
return !!("remoteEntry" in o && o.remoteEntry.includes(MANIFEST_EXT));
|
|
138
138
|
}
|
|
139
139
|
let Logger = class {
|
|
140
140
|
setPrefix(t) {
|
|
@@ -165,49 +165,49 @@ let Logger = class {
|
|
|
165
165
|
this.prefix = t;
|
|
166
166
|
}
|
|
167
167
|
};
|
|
168
|
-
function createLogger(
|
|
169
|
-
return new Logger(
|
|
168
|
+
function createLogger(o) {
|
|
169
|
+
return new Logger(o);
|
|
170
170
|
}
|
|
171
|
-
async function safeWrapper(
|
|
171
|
+
async function safeWrapper(o, t) {
|
|
172
172
|
try {
|
|
173
|
-
return await
|
|
174
|
-
} catch (
|
|
175
|
-
warn$1(
|
|
173
|
+
return await o();
|
|
174
|
+
} catch (n) {
|
|
175
|
+
warn$1(n);
|
|
176
176
|
return;
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
|
-
function isStaticResourcesEqual(
|
|
180
|
-
const
|
|
179
|
+
function isStaticResourcesEqual(o, t) {
|
|
180
|
+
const n = /^(https?:)?\/\//i, r = o.replace(n, "").replace(/\/$/, ""), s = t.replace(n, "").replace(/\/$/, "");
|
|
181
181
|
return r === s;
|
|
182
182
|
}
|
|
183
|
-
function createScript(
|
|
184
|
-
let t = null,
|
|
185
|
-
const
|
|
186
|
-
for (let
|
|
187
|
-
const c = a
|
|
188
|
-
if (u && isStaticResourcesEqual(u,
|
|
189
|
-
t = c,
|
|
183
|
+
function createScript(o) {
|
|
184
|
+
let t = null, n = !0, r = 2e4, s;
|
|
185
|
+
const i = document.getElementsByTagName("script");
|
|
186
|
+
for (let a = 0; a < i.length; a++) {
|
|
187
|
+
const c = i[a], u = c.getAttribute("src");
|
|
188
|
+
if (u && isStaticResourcesEqual(u, o.url)) {
|
|
189
|
+
t = c, n = !1;
|
|
190
190
|
break;
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
193
|
if (!t) {
|
|
194
|
-
const
|
|
195
|
-
t = document.createElement("script"), t.type = (
|
|
194
|
+
const a = o.attrs;
|
|
195
|
+
t = document.createElement("script"), t.type = (a == null ? void 0 : a.type) === "module" ? "module" : "text/javascript";
|
|
196
196
|
let c;
|
|
197
|
-
|
|
198
|
-
t && (u === "async" || u === "defer" ? t[u] =
|
|
197
|
+
o.createScriptHook && (c = o.createScriptHook(o.url, o.attrs), c instanceof HTMLScriptElement ? t = c : typeof c == "object" && ("script" in c && c.script && (t = c.script), "timeout" in c && c.timeout && (r = c.timeout))), t.src || (t.src = o.url), a && !c && Object.keys(a).forEach((u) => {
|
|
198
|
+
t && (u === "async" || u === "defer" ? t[u] = a[u] : t.getAttribute(u) || t.setAttribute(u, a[u]));
|
|
199
199
|
});
|
|
200
200
|
}
|
|
201
|
-
const l = async (
|
|
201
|
+
const l = async (a, c) => {
|
|
202
202
|
clearTimeout(s);
|
|
203
203
|
const u = () => {
|
|
204
|
-
(c == null ? void 0 : c.type) === "error" ?
|
|
204
|
+
(c == null ? void 0 : c.type) === "error" ? o != null && o.onErrorCallback && (o == null || o.onErrorCallback(c)) : o != null && o.cb && (o == null || o.cb());
|
|
205
205
|
};
|
|
206
206
|
if (t && (t.onerror = null, t.onload = null, safeWrapper(() => {
|
|
207
|
-
const { needDeleteScript: p = !0 } =
|
|
207
|
+
const { needDeleteScript: p = !0 } = o;
|
|
208
208
|
p && t != null && t.parentNode && t.parentNode.removeChild(t);
|
|
209
|
-
}),
|
|
210
|
-
const p =
|
|
209
|
+
}), a && typeof a == "function")) {
|
|
210
|
+
const p = a(c);
|
|
211
211
|
if (p instanceof Promise) {
|
|
212
212
|
const d = await p;
|
|
213
213
|
return u(), d;
|
|
@@ -217,90 +217,90 @@ function createScript(n) {
|
|
|
217
217
|
u();
|
|
218
218
|
};
|
|
219
219
|
return t.onerror = l.bind(null, t.onerror), t.onload = l.bind(null, t.onload), s = setTimeout(() => {
|
|
220
|
-
l(null, new Error(`Remote script "${
|
|
220
|
+
l(null, new Error(`Remote script "${o.url}" time-outed.`));
|
|
221
221
|
}, r), {
|
|
222
222
|
script: t,
|
|
223
|
-
needAttach:
|
|
223
|
+
needAttach: n
|
|
224
224
|
};
|
|
225
225
|
}
|
|
226
|
-
function createLink(
|
|
227
|
-
let t = null,
|
|
226
|
+
function createLink(o) {
|
|
227
|
+
let t = null, n = !0;
|
|
228
228
|
const r = document.getElementsByTagName("link");
|
|
229
|
-
for (let
|
|
230
|
-
const l = r[
|
|
231
|
-
if (
|
|
232
|
-
t = l,
|
|
229
|
+
for (let i = 0; i < r.length; i++) {
|
|
230
|
+
const l = r[i], a = l.getAttribute("href"), c = l.getAttribute("rel");
|
|
231
|
+
if (a && isStaticResourcesEqual(a, o.url) && c === o.attrs.rel) {
|
|
232
|
+
t = l, n = !1;
|
|
233
233
|
break;
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
236
|
if (!t) {
|
|
237
|
-
t = document.createElement("link"), t.setAttribute("href",
|
|
238
|
-
let
|
|
239
|
-
const l =
|
|
240
|
-
|
|
241
|
-
t && !t.getAttribute(
|
|
237
|
+
t = document.createElement("link"), t.setAttribute("href", o.url);
|
|
238
|
+
let i;
|
|
239
|
+
const l = o.attrs;
|
|
240
|
+
o.createLinkHook && (i = o.createLinkHook(o.url, l), i instanceof HTMLLinkElement && (t = i)), l && !i && Object.keys(l).forEach((a) => {
|
|
241
|
+
t && !t.getAttribute(a) && t.setAttribute(a, l[a]);
|
|
242
242
|
});
|
|
243
243
|
}
|
|
244
|
-
const s = (
|
|
245
|
-
const
|
|
246
|
-
(l == null ? void 0 : l.type) === "error" ?
|
|
244
|
+
const s = (i, l) => {
|
|
245
|
+
const a = () => {
|
|
246
|
+
(l == null ? void 0 : l.type) === "error" ? o != null && o.onErrorCallback && (o == null || o.onErrorCallback(l)) : o != null && o.cb && (o == null || o.cb());
|
|
247
247
|
};
|
|
248
248
|
if (t && (t.onerror = null, t.onload = null, safeWrapper(() => {
|
|
249
|
-
const { needDeleteLink: c = !0 } =
|
|
249
|
+
const { needDeleteLink: c = !0 } = o;
|
|
250
250
|
c && t != null && t.parentNode && t.parentNode.removeChild(t);
|
|
251
|
-
}),
|
|
252
|
-
const c =
|
|
253
|
-
return
|
|
251
|
+
}), i)) {
|
|
252
|
+
const c = i(l);
|
|
253
|
+
return a(), c;
|
|
254
254
|
}
|
|
255
|
-
|
|
255
|
+
a();
|
|
256
256
|
};
|
|
257
257
|
return t.onerror = s.bind(null, t.onerror), t.onload = s.bind(null, t.onload), {
|
|
258
258
|
link: t,
|
|
259
|
-
needAttach:
|
|
259
|
+
needAttach: n
|
|
260
260
|
};
|
|
261
261
|
}
|
|
262
|
-
function loadScript(
|
|
263
|
-
const { attrs:
|
|
264
|
-
return new Promise((s,
|
|
265
|
-
const { script: l, needAttach:
|
|
266
|
-
url:
|
|
262
|
+
function loadScript(o, t) {
|
|
263
|
+
const { attrs: n = {}, createScriptHook: r } = t;
|
|
264
|
+
return new Promise((s, i) => {
|
|
265
|
+
const { script: l, needAttach: a } = createScript({
|
|
266
|
+
url: o,
|
|
267
267
|
cb: s,
|
|
268
|
-
onErrorCallback:
|
|
268
|
+
onErrorCallback: i,
|
|
269
269
|
attrs: _extends$2({
|
|
270
270
|
fetchpriority: "high"
|
|
271
|
-
},
|
|
271
|
+
}, n),
|
|
272
272
|
createScriptHook: r,
|
|
273
273
|
needDeleteScript: !0
|
|
274
274
|
});
|
|
275
|
-
|
|
275
|
+
a && document.head.appendChild(l);
|
|
276
276
|
});
|
|
277
277
|
}
|
|
278
|
-
function importNodeModule(
|
|
279
|
-
if (!
|
|
278
|
+
function importNodeModule(o) {
|
|
279
|
+
if (!o)
|
|
280
280
|
throw new Error("import specifier is required");
|
|
281
|
-
return new Function("name", "return import(name)")(
|
|
282
|
-
throw console.error(`Error importing module ${
|
|
281
|
+
return new Function("name", "return import(name)")(o).then((n) => n).catch((n) => {
|
|
282
|
+
throw console.error(`Error importing module ${o}:`, n), n;
|
|
283
283
|
});
|
|
284
284
|
}
|
|
285
285
|
const loadNodeFetch = async () => {
|
|
286
|
-
const
|
|
287
|
-
return
|
|
288
|
-
}, lazyLoaderHookFetch = async (
|
|
289
|
-
const s = await ((
|
|
290
|
-
return !s || !(s instanceof Response) ? (typeof fetch > "u" ? await loadNodeFetch() : fetch)(
|
|
286
|
+
const o = await importNodeModule("node-fetch");
|
|
287
|
+
return o.default || o;
|
|
288
|
+
}, lazyLoaderHookFetch = async (o, t, n) => {
|
|
289
|
+
const s = await ((i, l) => n.lifecycle.fetch.emit(i, l))(o, t || {});
|
|
290
|
+
return !s || !(s instanceof Response) ? (typeof fetch > "u" ? await loadNodeFetch() : fetch)(o, t || {}) : s;
|
|
291
291
|
}, createScriptNode = typeof ENV_TARGET > "u" || ENV_TARGET !== "web" ? (url, cb, attrs, loaderHook) => {
|
|
292
292
|
if (loaderHook != null && loaderHook.createScriptHook) {
|
|
293
|
-
const
|
|
294
|
-
|
|
293
|
+
const o = loaderHook.createScriptHook(url);
|
|
294
|
+
o && typeof o == "object" && "url" in o && (url = o.url);
|
|
295
295
|
}
|
|
296
296
|
let urlObj;
|
|
297
297
|
try {
|
|
298
298
|
urlObj = new URL(url);
|
|
299
|
-
} catch (
|
|
300
|
-
console.error("Error constructing URL:",
|
|
299
|
+
} catch (o) {
|
|
300
|
+
console.error("Error constructing URL:", o), cb(new Error(`Invalid URL: ${o}`));
|
|
301
301
|
return;
|
|
302
302
|
}
|
|
303
|
-
const getFetch = async () => loaderHook != null && loaderHook.fetch ? (
|
|
303
|
+
const getFetch = async () => loaderHook != null && loaderHook.fetch ? (o, t) => lazyLoaderHookFetch(o, t, loaderHook) : typeof fetch > "u" ? loadNodeFetch() : fetch, handleScriptFetch = async (f, urlObj) => {
|
|
304
304
|
try {
|
|
305
305
|
var _vm_constants;
|
|
306
306
|
const res = await f(urlObj.href), data = await res.text(), [path, vm] = await Promise.all([
|
|
@@ -321,88 +321,88 @@ const loadNodeFetch = async () => {
|
|
|
321
321
|
script.runInThisContext()(scriptContext.exports, scriptContext.module, eval("require"), urlDirname, filename);
|
|
322
322
|
const exportedInterface = scriptContext.module.exports || scriptContext.exports;
|
|
323
323
|
if (attrs && exportedInterface && attrs.globalName) {
|
|
324
|
-
const
|
|
325
|
-
cb(void 0,
|
|
324
|
+
const o = exportedInterface[attrs.globalName] || exportedInterface;
|
|
325
|
+
cb(void 0, o);
|
|
326
326
|
return;
|
|
327
327
|
}
|
|
328
328
|
cb(void 0, exportedInterface);
|
|
329
|
-
} catch (
|
|
330
|
-
cb(
|
|
329
|
+
} catch (o) {
|
|
330
|
+
cb(o instanceof Error ? o : new Error(`Script execution error: ${o}`));
|
|
331
331
|
}
|
|
332
332
|
};
|
|
333
|
-
getFetch().then(async (
|
|
333
|
+
getFetch().then(async (o) => {
|
|
334
334
|
if ((attrs == null ? void 0 : attrs.type) === "esm" || (attrs == null ? void 0 : attrs.type) === "module")
|
|
335
335
|
return loadModule(urlObj.href, {
|
|
336
|
-
fetch:
|
|
336
|
+
fetch: o,
|
|
337
337
|
vm: await importNodeModule("vm")
|
|
338
338
|
}).then(async (t) => {
|
|
339
339
|
await t.evaluate(), cb(void 0, t.namespace);
|
|
340
340
|
}).catch((t) => {
|
|
341
341
|
cb(t instanceof Error ? t : new Error(`Script execution error: ${t}`));
|
|
342
342
|
});
|
|
343
|
-
handleScriptFetch(
|
|
344
|
-
}).catch((
|
|
345
|
-
cb(
|
|
343
|
+
handleScriptFetch(o, urlObj);
|
|
344
|
+
}).catch((o) => {
|
|
345
|
+
cb(o);
|
|
346
346
|
});
|
|
347
|
-
} : (
|
|
347
|
+
} : (o, t, n, r) => {
|
|
348
348
|
t(new Error("createScriptNode is disabled in non-Node.js environment"));
|
|
349
|
-
}, loadScriptNode = typeof ENV_TARGET > "u" || ENV_TARGET !== "web" ? (
|
|
350
|
-
createScriptNode(
|
|
349
|
+
}, loadScriptNode = typeof ENV_TARGET > "u" || ENV_TARGET !== "web" ? (o, t) => new Promise((n, r) => {
|
|
350
|
+
createScriptNode(o, (s, i) => {
|
|
351
351
|
if (s)
|
|
352
352
|
r(s);
|
|
353
353
|
else {
|
|
354
|
-
var l,
|
|
355
|
-
const c = (t == null || (l = t.attrs) == null ? void 0 : l.globalName) || `__FEDERATION_${t == null || (
|
|
356
|
-
|
|
354
|
+
var l, a;
|
|
355
|
+
const c = (t == null || (l = t.attrs) == null ? void 0 : l.globalName) || `__FEDERATION_${t == null || (a = t.attrs) == null ? void 0 : a.name}:custom__`, u = globalThis[c] = i;
|
|
356
|
+
n(u);
|
|
357
357
|
}
|
|
358
358
|
}, t.attrs, t.loaderHook);
|
|
359
|
-
}) : (
|
|
359
|
+
}) : (o, t) => {
|
|
360
360
|
throw new Error("loadScriptNode is disabled in non-Node.js environment");
|
|
361
361
|
};
|
|
362
|
-
async function loadModule(
|
|
363
|
-
const { fetch:
|
|
362
|
+
async function loadModule(o, t) {
|
|
363
|
+
const { fetch: n, vm: r } = t, i = await (await n(o)).text(), l = new r.SourceTextModule(i, {
|
|
364
364
|
// @ts-ignore
|
|
365
|
-
importModuleDynamically: async (
|
|
366
|
-
const u = new URL(
|
|
365
|
+
importModuleDynamically: async (a, c) => {
|
|
366
|
+
const u = new URL(a, o).href;
|
|
367
367
|
return loadModule(u, t);
|
|
368
368
|
}
|
|
369
369
|
});
|
|
370
|
-
return await l.link(async (
|
|
371
|
-
const c = new URL(
|
|
370
|
+
return await l.link(async (a) => {
|
|
371
|
+
const c = new URL(a, o).href;
|
|
372
372
|
return await loadModule(c, t);
|
|
373
373
|
}), l;
|
|
374
374
|
}
|
|
375
375
|
const LoggerInstance = createLogger("[ Module Federation Bridge Vue3 ]");
|
|
376
376
|
function _extends$1() {
|
|
377
377
|
return _extends$1 = Object.assign || function(t) {
|
|
378
|
-
for (var
|
|
379
|
-
var r = arguments[
|
|
378
|
+
for (var n = 1; n < arguments.length; n++) {
|
|
379
|
+
var r = arguments[n];
|
|
380
380
|
for (var s in r) Object.prototype.hasOwnProperty.call(r, s) && (t[s] = r[s]);
|
|
381
381
|
}
|
|
382
382
|
return t;
|
|
383
383
|
}, _extends$1.apply(this, arguments);
|
|
384
384
|
}
|
|
385
|
-
function _object_without_properties_loose(
|
|
386
|
-
if (
|
|
387
|
-
var
|
|
388
|
-
for (
|
|
389
|
-
s = r[
|
|
390
|
-
return
|
|
385
|
+
function _object_without_properties_loose(o, t) {
|
|
386
|
+
if (o == null) return {};
|
|
387
|
+
var n = {}, r = Object.keys(o), s, i;
|
|
388
|
+
for (i = 0; i < r.length; i++)
|
|
389
|
+
s = r[i], !(t.indexOf(s) >= 0) && (n[s] = o[s]);
|
|
390
|
+
return n;
|
|
391
391
|
}
|
|
392
|
-
const 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", TYPE_001 = "TYPE-001", BUILD_001 = "BUILD-001", BUILD_002 = "BUILD-002", getDocsUrl = (
|
|
392
|
+
const 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", TYPE_001 = "TYPE-001", BUILD_001 = "BUILD-001", BUILD_002 = "BUILD-002", getDocsUrl = (o) => `View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${o.split("-")[0].toLowerCase()}/${o}`, getShortErrorMsg = (o, t, n, r) => {
|
|
393
393
|
const s = [
|
|
394
394
|
`${[
|
|
395
|
-
t[
|
|
396
|
-
]} #${
|
|
395
|
+
t[o]
|
|
396
|
+
]} #${o}`
|
|
397
397
|
];
|
|
398
|
-
return
|
|
398
|
+
return n && s.push(`args: ${JSON.stringify(n)}`), s.push(getDocsUrl(o)), r && s.push(`Original Error Message:
|
|
399
399
|
${r}`), s.join(`
|
|
400
400
|
`);
|
|
401
401
|
};
|
|
402
402
|
function _extends() {
|
|
403
403
|
return _extends = Object.assign || function(t) {
|
|
404
|
-
for (var
|
|
405
|
-
var r = arguments[
|
|
404
|
+
for (var n = 1; n < arguments.length; n++) {
|
|
405
|
+
var r = arguments[n];
|
|
406
406
|
for (var s in r) Object.prototype.hasOwnProperty.call(r, s) && (t[s] = r[s]);
|
|
407
407
|
}
|
|
408
408
|
return t;
|
|
@@ -425,58 +425,58 @@ const runtimeDescMap = {
|
|
|
425
425
|
};
|
|
426
426
|
_extends({}, runtimeDescMap, typeDescMap, buildDescMap);
|
|
427
427
|
const LOG_CATEGORY = "[ Federation Runtime ]", logger = createLogger(LOG_CATEGORY);
|
|
428
|
-
function assert(
|
|
429
|
-
|
|
428
|
+
function assert(o, t) {
|
|
429
|
+
o || error(t);
|
|
430
430
|
}
|
|
431
|
-
function error(
|
|
432
|
-
throw
|
|
431
|
+
function error(o) {
|
|
432
|
+
throw o instanceof Error ? (o.message = `${LOG_CATEGORY}: ${o.message}`, o) : new Error(`${LOG_CATEGORY}: ${o}`);
|
|
433
433
|
}
|
|
434
|
-
function warn(
|
|
435
|
-
|
|
434
|
+
function warn(o) {
|
|
435
|
+
o instanceof Error && (o.message = `${LOG_CATEGORY}: ${o.message}`), logger.warn(o);
|
|
436
436
|
}
|
|
437
|
-
function addUniqueItem(
|
|
438
|
-
return
|
|
437
|
+
function addUniqueItem(o, t) {
|
|
438
|
+
return o.findIndex((n) => n === t) === -1 && o.push(t), o;
|
|
439
439
|
}
|
|
440
|
-
function getFMId(
|
|
441
|
-
return "version" in
|
|
440
|
+
function getFMId(o) {
|
|
441
|
+
return "version" in o && o.version ? `${o.name}:${o.version}` : "entry" in o && o.entry ? `${o.name}:${o.entry}` : `${o.name}`;
|
|
442
442
|
}
|
|
443
|
-
function isRemoteInfoWithEntry(
|
|
444
|
-
return typeof
|
|
443
|
+
function isRemoteInfoWithEntry(o) {
|
|
444
|
+
return typeof o.entry < "u";
|
|
445
445
|
}
|
|
446
|
-
function isPureRemoteEntry(
|
|
447
|
-
return !
|
|
446
|
+
function isPureRemoteEntry(o) {
|
|
447
|
+
return !o.entry.includes(".json");
|
|
448
448
|
}
|
|
449
|
-
function isObject(
|
|
450
|
-
return
|
|
449
|
+
function isObject(o) {
|
|
450
|
+
return o && typeof o == "object";
|
|
451
451
|
}
|
|
452
452
|
const objectToString = Object.prototype.toString;
|
|
453
|
-
function isPlainObject(
|
|
454
|
-
return objectToString.call(
|
|
453
|
+
function isPlainObject(o) {
|
|
454
|
+
return objectToString.call(o) === "[object Object]";
|
|
455
455
|
}
|
|
456
|
-
function arrayOptions(
|
|
457
|
-
return Array.isArray(
|
|
458
|
-
|
|
456
|
+
function arrayOptions(o) {
|
|
457
|
+
return Array.isArray(o) ? o : [
|
|
458
|
+
o
|
|
459
459
|
];
|
|
460
460
|
}
|
|
461
|
-
function getRemoteEntryInfoFromSnapshot(
|
|
461
|
+
function getRemoteEntryInfoFromSnapshot(o) {
|
|
462
462
|
const t = {
|
|
463
463
|
url: "",
|
|
464
464
|
type: "global",
|
|
465
465
|
globalName: ""
|
|
466
466
|
};
|
|
467
|
-
return isBrowserEnv() || isReactNativeEnv() ? "remoteEntry" in
|
|
468
|
-
url:
|
|
469
|
-
type:
|
|
470
|
-
globalName:
|
|
471
|
-
} : t : "ssrRemoteEntry" in
|
|
472
|
-
url:
|
|
473
|
-
type:
|
|
474
|
-
globalName:
|
|
467
|
+
return isBrowserEnv() || isReactNativeEnv() ? "remoteEntry" in o ? {
|
|
468
|
+
url: o.remoteEntry,
|
|
469
|
+
type: o.remoteEntryType,
|
|
470
|
+
globalName: o.globalName
|
|
471
|
+
} : t : "ssrRemoteEntry" in o ? {
|
|
472
|
+
url: o.ssrRemoteEntry || t.url,
|
|
473
|
+
type: o.ssrRemoteEntryType || t.type,
|
|
474
|
+
globalName: o.globalName
|
|
475
475
|
} : t;
|
|
476
476
|
}
|
|
477
|
-
const processModuleAlias = (
|
|
478
|
-
let
|
|
479
|
-
return
|
|
477
|
+
const processModuleAlias = (o, t) => {
|
|
478
|
+
let n;
|
|
479
|
+
return o.endsWith("/") ? n = o.slice(0, -1) : n = o, t.startsWith(".") && (t = t.slice(1)), n = n + t, n;
|
|
480
480
|
}, CurrentGlobal = typeof globalThis == "object" ? globalThis : window, nativeGlobal = (() => {
|
|
481
481
|
try {
|
|
482
482
|
return document.defaultView;
|
|
@@ -484,61 +484,61 @@ const processModuleAlias = (n, t) => {
|
|
|
484
484
|
return CurrentGlobal;
|
|
485
485
|
}
|
|
486
486
|
})(), Global = nativeGlobal;
|
|
487
|
-
function definePropertyGlobalVal(
|
|
488
|
-
Object.defineProperty(
|
|
489
|
-
value:
|
|
487
|
+
function definePropertyGlobalVal(o, t, n) {
|
|
488
|
+
Object.defineProperty(o, t, {
|
|
489
|
+
value: n,
|
|
490
490
|
configurable: !1,
|
|
491
491
|
writable: !0
|
|
492
492
|
});
|
|
493
493
|
}
|
|
494
|
-
function includeOwnProperty(
|
|
495
|
-
return Object.hasOwnProperty.call(
|
|
494
|
+
function includeOwnProperty(o, t) {
|
|
495
|
+
return Object.hasOwnProperty.call(o, t);
|
|
496
496
|
}
|
|
497
497
|
includeOwnProperty(CurrentGlobal, "__GLOBAL_LOADING_REMOTE_ENTRY__") || definePropertyGlobalVal(CurrentGlobal, "__GLOBAL_LOADING_REMOTE_ENTRY__", {});
|
|
498
498
|
const globalLoading = CurrentGlobal.__GLOBAL_LOADING_REMOTE_ENTRY__;
|
|
499
|
-
function setGlobalDefaultVal(
|
|
500
|
-
var t,
|
|
501
|
-
includeOwnProperty(
|
|
499
|
+
function setGlobalDefaultVal(o) {
|
|
500
|
+
var t, n, r, s, i, l;
|
|
501
|
+
includeOwnProperty(o, "__VMOK__") && !includeOwnProperty(o, "__FEDERATION__") && definePropertyGlobalVal(o, "__FEDERATION__", o.__VMOK__), includeOwnProperty(o, "__FEDERATION__") || (definePropertyGlobalVal(o, "__FEDERATION__", {
|
|
502
502
|
__GLOBAL_PLUGIN__: [],
|
|
503
503
|
__INSTANCES__: [],
|
|
504
504
|
moduleInfo: {},
|
|
505
505
|
__SHARE__: {},
|
|
506
506
|
__MANIFEST_LOADING__: {},
|
|
507
507
|
__PRELOADED_MAP__: /* @__PURE__ */ new Map()
|
|
508
|
-
}), definePropertyGlobalVal(
|
|
509
|
-
var
|
|
510
|
-
(
|
|
508
|
+
}), definePropertyGlobalVal(o, "__VMOK__", o.__FEDERATION__));
|
|
509
|
+
var a;
|
|
510
|
+
(a = (t = o.__FEDERATION__).__GLOBAL_PLUGIN__) != null || (t.__GLOBAL_PLUGIN__ = []);
|
|
511
511
|
var c;
|
|
512
|
-
(c = (
|
|
512
|
+
(c = (n = o.__FEDERATION__).__INSTANCES__) != null || (n.__INSTANCES__ = []);
|
|
513
513
|
var u;
|
|
514
|
-
(u = (r =
|
|
514
|
+
(u = (r = o.__FEDERATION__).moduleInfo) != null || (r.moduleInfo = {});
|
|
515
515
|
var p;
|
|
516
|
-
(p = (s =
|
|
516
|
+
(p = (s = o.__FEDERATION__).__SHARE__) != null || (s.__SHARE__ = {});
|
|
517
517
|
var d;
|
|
518
|
-
(d = (
|
|
518
|
+
(d = (i = o.__FEDERATION__).__MANIFEST_LOADING__) != null || (i.__MANIFEST_LOADING__ = {});
|
|
519
519
|
var m;
|
|
520
|
-
(m = (l =
|
|
520
|
+
(m = (l = o.__FEDERATION__).__PRELOADED_MAP__) != null || (l.__PRELOADED_MAP__ = /* @__PURE__ */ new Map());
|
|
521
521
|
}
|
|
522
522
|
setGlobalDefaultVal(CurrentGlobal);
|
|
523
523
|
setGlobalDefaultVal(nativeGlobal);
|
|
524
|
-
function setGlobalFederationConstructor(
|
|
525
|
-
t && (CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR__ =
|
|
524
|
+
function setGlobalFederationConstructor(o, t = isDebugMode()) {
|
|
525
|
+
t && (CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = o, CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = "0.16.0");
|
|
526
526
|
}
|
|
527
|
-
function getInfoWithoutType(
|
|
527
|
+
function getInfoWithoutType(o, t) {
|
|
528
528
|
if (typeof t == "string") {
|
|
529
|
-
if (
|
|
529
|
+
if (o[t])
|
|
530
530
|
return {
|
|
531
|
-
value:
|
|
531
|
+
value: o[t],
|
|
532
532
|
key: t
|
|
533
533
|
};
|
|
534
534
|
{
|
|
535
|
-
const r = Object.keys(
|
|
535
|
+
const r = Object.keys(o);
|
|
536
536
|
for (const s of r) {
|
|
537
|
-
const [
|
|
537
|
+
const [i, l] = s.split(":"), a = `${i}:${t}`, c = o[a];
|
|
538
538
|
if (c)
|
|
539
539
|
return {
|
|
540
540
|
value: c,
|
|
541
|
-
key:
|
|
541
|
+
key: a
|
|
542
542
|
};
|
|
543
543
|
}
|
|
544
544
|
return {
|
|
@@ -549,121 +549,121 @@ function getInfoWithoutType(n, t) {
|
|
|
549
549
|
} else
|
|
550
550
|
throw new Error("key must be string");
|
|
551
551
|
}
|
|
552
|
-
const getGlobalSnapshot = () => nativeGlobal.__FEDERATION__.moduleInfo, getTargetSnapshotInfoByModuleInfo = (
|
|
553
|
-
const
|
|
554
|
-
if (r && !r.version && "version" in
|
|
552
|
+
const getGlobalSnapshot = () => nativeGlobal.__FEDERATION__.moduleInfo, getTargetSnapshotInfoByModuleInfo = (o, t) => {
|
|
553
|
+
const n = getFMId(o), r = getInfoWithoutType(t, n).value;
|
|
554
|
+
if (r && !r.version && "version" in o && o.version && (r.version = o.version), r)
|
|
555
555
|
return r;
|
|
556
|
-
if ("version" in
|
|
557
|
-
const { version: s } =
|
|
556
|
+
if ("version" in o && o.version) {
|
|
557
|
+
const { version: s } = o, i = _object_without_properties_loose(o, [
|
|
558
558
|
"version"
|
|
559
|
-
]), l = getFMId(
|
|
560
|
-
if ((
|
|
561
|
-
return
|
|
562
|
-
}
|
|
563
|
-
}, getGlobalSnapshotInfoByModuleInfo = (
|
|
564
|
-
const
|
|
565
|
-
return nativeGlobal.__FEDERATION__.moduleInfo[
|
|
566
|
-
}, addGlobalSnapshot = (
|
|
567
|
-
const t = Object.keys(
|
|
568
|
-
for (const
|
|
569
|
-
delete nativeGlobal.__FEDERATION__.moduleInfo[
|
|
570
|
-
}), getRemoteEntryExports = (
|
|
571
|
-
const
|
|
559
|
+
]), l = getFMId(i), a = getInfoWithoutType(nativeGlobal.__FEDERATION__.moduleInfo, l).value;
|
|
560
|
+
if ((a == null ? void 0 : a.version) === s)
|
|
561
|
+
return a;
|
|
562
|
+
}
|
|
563
|
+
}, getGlobalSnapshotInfoByModuleInfo = (o) => getTargetSnapshotInfoByModuleInfo(o, nativeGlobal.__FEDERATION__.moduleInfo), setGlobalSnapshotInfoByModuleInfo = (o, t) => {
|
|
564
|
+
const n = getFMId(o);
|
|
565
|
+
return nativeGlobal.__FEDERATION__.moduleInfo[n] = t, nativeGlobal.__FEDERATION__.moduleInfo;
|
|
566
|
+
}, addGlobalSnapshot = (o) => (nativeGlobal.__FEDERATION__.moduleInfo = _extends$1({}, nativeGlobal.__FEDERATION__.moduleInfo, o), () => {
|
|
567
|
+
const t = Object.keys(o);
|
|
568
|
+
for (const n of t)
|
|
569
|
+
delete nativeGlobal.__FEDERATION__.moduleInfo[n];
|
|
570
|
+
}), getRemoteEntryExports = (o, t) => {
|
|
571
|
+
const n = t || `__FEDERATION_${o}:custom__`, r = CurrentGlobal[n];
|
|
572
572
|
return {
|
|
573
|
-
remoteEntryKey:
|
|
573
|
+
remoteEntryKey: n,
|
|
574
574
|
entryExports: r
|
|
575
575
|
};
|
|
576
|
-
}, getGlobalHostPlugins = () => nativeGlobal.__FEDERATION__.__GLOBAL_PLUGIN__, getPreloaded = (
|
|
577
|
-
function parseRegex(
|
|
578
|
-
return new RegExp(
|
|
576
|
+
}, getGlobalHostPlugins = () => nativeGlobal.__FEDERATION__.__GLOBAL_PLUGIN__, getPreloaded = (o) => CurrentGlobal.__FEDERATION__.__PRELOADED_MAP__.get(o), setPreloaded = (o) => CurrentGlobal.__FEDERATION__.__PRELOADED_MAP__.set(o, !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*$";
|
|
577
|
+
function parseRegex(o) {
|
|
578
|
+
return new RegExp(o);
|
|
579
579
|
}
|
|
580
|
-
function isXVersion(
|
|
581
|
-
return !
|
|
580
|
+
function isXVersion(o) {
|
|
581
|
+
return !o || o.toLowerCase() === "x" || o === "*";
|
|
582
582
|
}
|
|
583
|
-
function pipe(...
|
|
584
|
-
return (t) =>
|
|
583
|
+
function pipe(...o) {
|
|
584
|
+
return (t) => o.reduce((n, r) => r(n), t);
|
|
585
585
|
}
|
|
586
|
-
function extractComparator(
|
|
587
|
-
return
|
|
586
|
+
function extractComparator(o) {
|
|
587
|
+
return o.match(parseRegex(comparator));
|
|
588
588
|
}
|
|
589
|
-
function combineVersion(
|
|
590
|
-
const s = `${
|
|
589
|
+
function combineVersion(o, t, n, r) {
|
|
590
|
+
const s = `${o}.${t}.${n}`;
|
|
591
591
|
return r ? `${s}-${r}` : s;
|
|
592
592
|
}
|
|
593
|
-
function parseHyphen(
|
|
594
|
-
return
|
|
593
|
+
function parseHyphen(o) {
|
|
594
|
+
return o.replace(parseRegex(hyphenRange), (t, n, r, s, i, l, a, c, u, p, d, m) => (isXVersion(r) ? n = "" : isXVersion(s) ? n = `>=${r}.0.0` : isXVersion(i) ? n = `>=${r}.${s}.0` : n = `>=${n}`, isXVersion(u) ? c = "" : isXVersion(p) ? c = `<${Number(u) + 1}.0.0-0` : isXVersion(d) ? c = `<${u}.${Number(p) + 1}.0-0` : m ? c = `<=${u}.${p}.${d}-${m}` : c = `<=${c}`, `${n} ${c}`.trim()));
|
|
595
595
|
}
|
|
596
|
-
function parseComparatorTrim(
|
|
597
|
-
return
|
|
596
|
+
function parseComparatorTrim(o) {
|
|
597
|
+
return o.replace(parseRegex(comparatorTrim), "$1$2$3");
|
|
598
598
|
}
|
|
599
|
-
function parseTildeTrim(
|
|
600
|
-
return
|
|
599
|
+
function parseTildeTrim(o) {
|
|
600
|
+
return o.replace(parseRegex(tildeTrim), "$1~");
|
|
601
601
|
}
|
|
602
|
-
function parseCaretTrim(
|
|
603
|
-
return
|
|
602
|
+
function parseCaretTrim(o) {
|
|
603
|
+
return o.replace(parseRegex(caretTrim), "$1^");
|
|
604
604
|
}
|
|
605
|
-
function parseCarets(
|
|
606
|
-
return
|
|
605
|
+
function parseCarets(o) {
|
|
606
|
+
return o.trim().split(/\s+/).map((t) => t.replace(parseRegex(caret), (n, r, s, i, l) => isXVersion(r) ? "" : isXVersion(s) ? `>=${r}.0.0 <${Number(r) + 1}.0.0-0` : isXVersion(i) ? r === "0" ? `>=${r}.${s}.0 <${r}.${Number(s) + 1}.0-0` : `>=${r}.${s}.0 <${Number(r) + 1}.0.0-0` : l ? r === "0" ? s === "0" ? `>=${r}.${s}.${i}-${l} <${r}.${s}.${Number(i) + 1}-0` : `>=${r}.${s}.${i}-${l} <${r}.${Number(s) + 1}.0-0` : `>=${r}.${s}.${i}-${l} <${Number(r) + 1}.0.0-0` : r === "0" ? s === "0" ? `>=${r}.${s}.${i} <${r}.${s}.${Number(i) + 1}-0` : `>=${r}.${s}.${i} <${r}.${Number(s) + 1}.0-0` : `>=${r}.${s}.${i} <${Number(r) + 1}.0.0-0`)).join(" ");
|
|
607
607
|
}
|
|
608
|
-
function parseTildes(
|
|
609
|
-
return
|
|
608
|
+
function parseTildes(o) {
|
|
609
|
+
return o.trim().split(/\s+/).map((t) => t.replace(parseRegex(tilde), (n, r, s, i, l) => isXVersion(r) ? "" : isXVersion(s) ? `>=${r}.0.0 <${Number(r) + 1}.0.0-0` : isXVersion(i) ? `>=${r}.${s}.0 <${r}.${Number(s) + 1}.0-0` : l ? `>=${r}.${s}.${i}-${l} <${r}.${Number(s) + 1}.0-0` : `>=${r}.${s}.${i} <${r}.${Number(s) + 1}.0-0`)).join(" ");
|
|
610
610
|
}
|
|
611
|
-
function parseXRanges(
|
|
612
|
-
return
|
|
613
|
-
const c = isXVersion(s), u = c || isXVersion(
|
|
614
|
-
return r === "=" && p && (r = ""),
|
|
611
|
+
function parseXRanges(o) {
|
|
612
|
+
return o.split(/\s+/).map((t) => t.trim().replace(parseRegex(xRange), (n, r, s, i, l, a) => {
|
|
613
|
+
const c = isXVersion(s), u = c || isXVersion(i), p = u || isXVersion(l);
|
|
614
|
+
return r === "=" && p && (r = ""), a = "", c ? r === ">" || r === "<" ? "<0.0.0-0" : "*" : r && p ? (u && (i = 0), l = 0, r === ">" ? (r = ">=", u ? (s = Number(s) + 1, i = 0, l = 0) : (i = Number(i) + 1, l = 0)) : r === "<=" && (r = "<", u ? s = Number(s) + 1 : i = Number(i) + 1), r === "<" && (a = "-0"), `${r + s}.${i}.${l}${a}`) : u ? `>=${s}.0.0${a} <${Number(s) + 1}.0.0-0` : p ? `>=${s}.${i}.0${a} <${s}.${Number(i) + 1}.0-0` : n;
|
|
615
615
|
})).join(" ");
|
|
616
616
|
}
|
|
617
|
-
function parseStar(
|
|
618
|
-
return
|
|
617
|
+
function parseStar(o) {
|
|
618
|
+
return o.trim().replace(parseRegex(star), "");
|
|
619
619
|
}
|
|
620
|
-
function parseGTE0(
|
|
621
|
-
return
|
|
620
|
+
function parseGTE0(o) {
|
|
621
|
+
return o.trim().replace(parseRegex(gte0), "");
|
|
622
622
|
}
|
|
623
|
-
function compareAtom(
|
|
624
|
-
return
|
|
623
|
+
function compareAtom(o, t) {
|
|
624
|
+
return o = Number(o) || o, t = Number(t) || t, o > t ? 1 : o === t ? 0 : -1;
|
|
625
625
|
}
|
|
626
|
-
function comparePreRelease(
|
|
627
|
-
const { preRelease:
|
|
628
|
-
if (
|
|
626
|
+
function comparePreRelease(o, t) {
|
|
627
|
+
const { preRelease: n } = o, { preRelease: r } = t;
|
|
628
|
+
if (n === void 0 && r)
|
|
629
629
|
return 1;
|
|
630
|
-
if (
|
|
630
|
+
if (n && r === void 0)
|
|
631
631
|
return -1;
|
|
632
|
-
if (
|
|
632
|
+
if (n === void 0 && r === void 0)
|
|
633
633
|
return 0;
|
|
634
|
-
for (let s = 0,
|
|
635
|
-
const l =
|
|
636
|
-
if (l !==
|
|
637
|
-
return l === void 0 &&
|
|
634
|
+
for (let s = 0, i = n.length; s <= i; s++) {
|
|
635
|
+
const l = n[s], a = r[s];
|
|
636
|
+
if (l !== a)
|
|
637
|
+
return l === void 0 && a === void 0 ? 0 : l ? a ? compareAtom(l, a) : -1 : 1;
|
|
638
638
|
}
|
|
639
639
|
return 0;
|
|
640
640
|
}
|
|
641
|
-
function compareVersion(
|
|
642
|
-
return compareAtom(
|
|
641
|
+
function compareVersion(o, t) {
|
|
642
|
+
return compareAtom(o.major, t.major) || compareAtom(o.minor, t.minor) || compareAtom(o.patch, t.patch) || comparePreRelease(o, t);
|
|
643
643
|
}
|
|
644
|
-
function eq(
|
|
645
|
-
return
|
|
644
|
+
function eq(o, t) {
|
|
645
|
+
return o.version === t.version;
|
|
646
646
|
}
|
|
647
|
-
function compare(
|
|
648
|
-
switch (
|
|
647
|
+
function compare(o, t) {
|
|
648
|
+
switch (o.operator) {
|
|
649
649
|
case "":
|
|
650
650
|
case "=":
|
|
651
|
-
return eq(
|
|
651
|
+
return eq(o, t);
|
|
652
652
|
case ">":
|
|
653
|
-
return compareVersion(
|
|
653
|
+
return compareVersion(o, t) < 0;
|
|
654
654
|
case ">=":
|
|
655
|
-
return eq(
|
|
655
|
+
return eq(o, t) || compareVersion(o, t) < 0;
|
|
656
656
|
case "<":
|
|
657
|
-
return compareVersion(
|
|
657
|
+
return compareVersion(o, t) > 0;
|
|
658
658
|
case "<=":
|
|
659
|
-
return eq(
|
|
659
|
+
return eq(o, t) || compareVersion(o, t) > 0;
|
|
660
660
|
case void 0:
|
|
661
661
|
return !0;
|
|
662
662
|
default:
|
|
663
663
|
return !1;
|
|
664
664
|
}
|
|
665
665
|
}
|
|
666
|
-
function parseComparatorString(
|
|
666
|
+
function parseComparatorString(o) {
|
|
667
667
|
return pipe(
|
|
668
668
|
// handle caret
|
|
669
669
|
// ^ --> * (any, kinda silly)
|
|
@@ -683,9 +683,9 @@ function parseComparatorString(n) {
|
|
|
683
683
|
parseTildes,
|
|
684
684
|
parseXRanges,
|
|
685
685
|
parseStar
|
|
686
|
-
)(
|
|
686
|
+
)(o);
|
|
687
687
|
}
|
|
688
|
-
function parseRange(
|
|
688
|
+
function parseRange(o) {
|
|
689
689
|
return pipe(
|
|
690
690
|
// handle hyphenRange
|
|
691
691
|
// `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
|
|
@@ -699,21 +699,21 @@ function parseRange(n) {
|
|
|
699
699
|
// handle trim caret
|
|
700
700
|
// `^ 1.2.3` => `^1.2.3`
|
|
701
701
|
parseCaretTrim
|
|
702
|
-
)(
|
|
702
|
+
)(o.trim()).split(/\s+/).join(" ");
|
|
703
703
|
}
|
|
704
|
-
function satisfy(
|
|
705
|
-
if (!n)
|
|
706
|
-
return !1;
|
|
707
|
-
const o = extractComparator(n);
|
|
704
|
+
function satisfy(o, t) {
|
|
708
705
|
if (!o)
|
|
709
706
|
return !1;
|
|
710
|
-
const
|
|
707
|
+
const n = extractComparator(o);
|
|
708
|
+
if (!n)
|
|
709
|
+
return !1;
|
|
710
|
+
const [, r, , s, i, l, a] = n, c = {
|
|
711
711
|
operator: r,
|
|
712
|
-
version: combineVersion(s,
|
|
712
|
+
version: combineVersion(s, i, l, a),
|
|
713
713
|
major: s,
|
|
714
|
-
minor:
|
|
714
|
+
minor: i,
|
|
715
715
|
patch: l,
|
|
716
|
-
preRelease:
|
|
716
|
+
preRelease: a == null ? void 0 : a.split(".")
|
|
717
717
|
}, u = t.split("||");
|
|
718
718
|
for (const p of u) {
|
|
719
719
|
const d = p.trim();
|
|
@@ -758,108 +758,108 @@ function satisfy(n, t) {
|
|
|
758
758
|
}
|
|
759
759
|
return !1;
|
|
760
760
|
}
|
|
761
|
-
function formatShare(
|
|
761
|
+
function formatShare(o, t, n, r) {
|
|
762
762
|
let s;
|
|
763
|
-
"get" in
|
|
764
|
-
throw new Error(`Can not get shared '${
|
|
763
|
+
"get" in o ? s = o.get : "lib" in o ? s = () => Promise.resolve(o.lib) : s = () => Promise.resolve(() => {
|
|
764
|
+
throw new Error(`Can not get shared '${n}'!`);
|
|
765
765
|
});
|
|
766
|
-
var
|
|
766
|
+
var i, l, a;
|
|
767
767
|
return _extends$1({
|
|
768
768
|
deps: [],
|
|
769
769
|
useIn: [],
|
|
770
770
|
from: t,
|
|
771
771
|
loading: null
|
|
772
|
-
},
|
|
772
|
+
}, o, {
|
|
773
773
|
shareConfig: _extends$1({
|
|
774
|
-
requiredVersion: `^${
|
|
774
|
+
requiredVersion: `^${o.version}`,
|
|
775
775
|
singleton: !1,
|
|
776
776
|
eager: !1,
|
|
777
777
|
strictVersion: !1
|
|
778
|
-
},
|
|
778
|
+
}, o.shareConfig),
|
|
779
779
|
get: s,
|
|
780
|
-
loaded:
|
|
781
|
-
version: (
|
|
782
|
-
scope: Array.isArray(
|
|
783
|
-
(l =
|
|
780
|
+
loaded: o != null && o.loaded || "lib" in o ? !0 : void 0,
|
|
781
|
+
version: (i = o.version) != null ? i : "0",
|
|
782
|
+
scope: Array.isArray(o.scope) ? o.scope : [
|
|
783
|
+
(l = o.scope) != null ? l : "default"
|
|
784
784
|
],
|
|
785
|
-
strategy: ((
|
|
785
|
+
strategy: ((a = o.strategy) != null ? a : r) || "version-first"
|
|
786
786
|
});
|
|
787
787
|
}
|
|
788
|
-
function formatShareConfigs(
|
|
789
|
-
const
|
|
790
|
-
const c = arrayOptions(
|
|
791
|
-
return l[
|
|
792
|
-
l[
|
|
788
|
+
function formatShareConfigs(o, t) {
|
|
789
|
+
const n = t.shared || {}, r = t.name, s = Object.keys(n).reduce((l, a) => {
|
|
790
|
+
const c = arrayOptions(n[a]);
|
|
791
|
+
return l[a] = l[a] || [], c.forEach((u) => {
|
|
792
|
+
l[a].push(formatShare(u, r, a, t.shareStrategy));
|
|
793
793
|
}), l;
|
|
794
|
-
}, {}),
|
|
794
|
+
}, {}), i = _extends$1({}, o.shared);
|
|
795
795
|
return Object.keys(s).forEach((l) => {
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
}) :
|
|
796
|
+
i[l] ? s[l].forEach((a) => {
|
|
797
|
+
i[l].find((u) => u.version === a.version) || i[l].push(a);
|
|
798
|
+
}) : i[l] = s[l];
|
|
799
799
|
}), {
|
|
800
|
-
shared:
|
|
800
|
+
shared: i,
|
|
801
801
|
shareInfos: s
|
|
802
802
|
};
|
|
803
803
|
}
|
|
804
|
-
function versionLt(
|
|
805
|
-
const
|
|
804
|
+
function versionLt(o, t) {
|
|
805
|
+
const n = (r) => {
|
|
806
806
|
if (!Number.isNaN(Number(r))) {
|
|
807
|
-
const
|
|
807
|
+
const i = r.split(".");
|
|
808
808
|
let l = r;
|
|
809
|
-
for (let
|
|
809
|
+
for (let a = 0; a < 3 - i.length; a++)
|
|
810
810
|
l += ".0";
|
|
811
811
|
return l;
|
|
812
812
|
}
|
|
813
813
|
return r;
|
|
814
814
|
};
|
|
815
|
-
return !!satisfy(o
|
|
815
|
+
return !!satisfy(n(o), `<=${n(t)}`);
|
|
816
816
|
}
|
|
817
|
-
const findVersion = (
|
|
818
|
-
const
|
|
817
|
+
const findVersion = (o, t) => {
|
|
818
|
+
const n = t || function(r, s) {
|
|
819
819
|
return versionLt(r, s);
|
|
820
820
|
};
|
|
821
|
-
return Object.keys(
|
|
822
|
-
}, isLoaded = (
|
|
823
|
-
function findSingletonVersionOrderByVersion(
|
|
824
|
-
const r =
|
|
825
|
-
return !isLoaded(r[
|
|
821
|
+
return Object.keys(o).reduce((r, s) => !r || n(r, s) || r === "0" ? s : r, 0);
|
|
822
|
+
}, isLoaded = (o) => !!o.loaded || typeof o.lib == "function", isLoading = (o) => !!o.loading;
|
|
823
|
+
function findSingletonVersionOrderByVersion(o, t, n) {
|
|
824
|
+
const r = o[t][n], s = function(i, l) {
|
|
825
|
+
return !isLoaded(r[i]) && versionLt(i, l);
|
|
826
826
|
};
|
|
827
|
-
return findVersion(
|
|
827
|
+
return findVersion(o[t][n], s);
|
|
828
828
|
}
|
|
829
|
-
function findSingletonVersionOrderByLoaded(
|
|
830
|
-
const r =
|
|
831
|
-
const
|
|
832
|
-
return
|
|
829
|
+
function findSingletonVersionOrderByLoaded(o, t, n) {
|
|
830
|
+
const r = o[t][n], s = function(i, l) {
|
|
831
|
+
const a = (c) => isLoaded(c) || isLoading(c);
|
|
832
|
+
return a(r[l]) ? a(r[i]) ? !!versionLt(i, l) : !0 : a(r[i]) ? !1 : versionLt(i, l);
|
|
833
833
|
};
|
|
834
|
-
return findVersion(
|
|
834
|
+
return findVersion(o[t][n], s);
|
|
835
835
|
}
|
|
836
|
-
function getFindShareFunction(
|
|
837
|
-
return
|
|
836
|
+
function getFindShareFunction(o) {
|
|
837
|
+
return o === "loaded-first" ? findSingletonVersionOrderByLoaded : findSingletonVersionOrderByVersion;
|
|
838
838
|
}
|
|
839
|
-
function getRegisteredShare(
|
|
840
|
-
if (!
|
|
839
|
+
function getRegisteredShare(o, t, n, r) {
|
|
840
|
+
if (!o)
|
|
841
841
|
return;
|
|
842
|
-
const { shareConfig: s, scope:
|
|
843
|
-
|
|
842
|
+
const { shareConfig: s, scope: i = DEFAULT_SCOPE, strategy: l } = n, a = Array.isArray(i) ? i : [
|
|
843
|
+
i
|
|
844
844
|
];
|
|
845
|
-
for (const c of
|
|
846
|
-
if (s &&
|
|
847
|
-
const { requiredVersion: u } = s, d = getFindShareFunction(l)(
|
|
845
|
+
for (const c of a)
|
|
846
|
+
if (s && o[c] && o[c][t]) {
|
|
847
|
+
const { requiredVersion: u } = s, d = getFindShareFunction(l)(o, c, t), m = () => {
|
|
848
848
|
if (s.singleton) {
|
|
849
849
|
if (typeof u == "string" && !satisfy(d, u)) {
|
|
850
|
-
const E = `Version ${d} from ${d &&
|
|
850
|
+
const E = `Version ${d} from ${d && o[c][t][d].from} of shared singleton module ${t} does not satisfy the requirement of ${n.from} which needs ${u})`;
|
|
851
851
|
s.strictVersion ? error(E) : warn(E);
|
|
852
852
|
}
|
|
853
|
-
return
|
|
853
|
+
return o[c][t][d];
|
|
854
854
|
} else {
|
|
855
855
|
if (u === !1 || u === "*" || satisfy(d, u))
|
|
856
|
-
return
|
|
857
|
-
for (const [E, _] of Object.entries(
|
|
856
|
+
return o[c][t][d];
|
|
857
|
+
for (const [E, _] of Object.entries(o[c][t]))
|
|
858
858
|
if (satisfy(E, u))
|
|
859
859
|
return _;
|
|
860
860
|
}
|
|
861
861
|
}, y = {
|
|
862
|
-
shareScopeMap:
|
|
862
|
+
shareScopeMap: o,
|
|
863
863
|
scope: c,
|
|
864
864
|
pkgName: t,
|
|
865
865
|
version: d,
|
|
@@ -872,12 +872,12 @@ function getRegisteredShare(n, t, o, r) {
|
|
|
872
872
|
function getGlobalShareScope() {
|
|
873
873
|
return Global.__FEDERATION__.__SHARE__;
|
|
874
874
|
}
|
|
875
|
-
function getTargetSharedOptions(
|
|
876
|
-
const { pkgName: t, extraOptions:
|
|
877
|
-
if (!
|
|
875
|
+
function getTargetSharedOptions(o) {
|
|
876
|
+
const { pkgName: t, extraOptions: n, shareInfos: r } = o, s = (a) => {
|
|
877
|
+
if (!a)
|
|
878
878
|
return;
|
|
879
879
|
const c = {};
|
|
880
|
-
|
|
880
|
+
a.forEach((d) => {
|
|
881
881
|
c[d.version] = d;
|
|
882
882
|
});
|
|
883
883
|
const p = findVersion(c, function(d, m) {
|
|
@@ -885,88 +885,95 @@ function getTargetSharedOptions(n) {
|
|
|
885
885
|
});
|
|
886
886
|
return c[p];
|
|
887
887
|
};
|
|
888
|
-
var
|
|
889
|
-
const l = (
|
|
890
|
-
return Object.assign({}, l(r[t]),
|
|
888
|
+
var i;
|
|
889
|
+
const l = (i = n == null ? void 0 : n.resolver) != null ? i : s;
|
|
890
|
+
return Object.assign({}, l(r[t]), n == null ? void 0 : n.customShareInfo);
|
|
891
891
|
}
|
|
892
892
|
function getBuilderId() {
|
|
893
893
|
return typeof FEDERATION_BUILD_IDENTIFIER < "u" ? FEDERATION_BUILD_IDENTIFIER : "";
|
|
894
894
|
}
|
|
895
|
-
function matchRemoteWithNameAndExpose(
|
|
896
|
-
for (const
|
|
897
|
-
const r = t.startsWith(
|
|
898
|
-
let s = t.replace(
|
|
895
|
+
function matchRemoteWithNameAndExpose(o, t) {
|
|
896
|
+
for (const n of o) {
|
|
897
|
+
const r = t.startsWith(n.name);
|
|
898
|
+
let s = t.replace(n.name, "");
|
|
899
899
|
if (r) {
|
|
900
900
|
if (s.startsWith("/")) {
|
|
901
|
-
const
|
|
901
|
+
const a = n.name;
|
|
902
902
|
return s = `.${s}`, {
|
|
903
|
-
pkgNameOrAlias:
|
|
903
|
+
pkgNameOrAlias: a,
|
|
904
904
|
expose: s,
|
|
905
|
-
remote:
|
|
905
|
+
remote: n
|
|
906
906
|
};
|
|
907
907
|
} else if (s === "")
|
|
908
908
|
return {
|
|
909
|
-
pkgNameOrAlias:
|
|
909
|
+
pkgNameOrAlias: n.name,
|
|
910
910
|
expose: ".",
|
|
911
|
-
remote:
|
|
911
|
+
remote: n
|
|
912
912
|
};
|
|
913
913
|
}
|
|
914
|
-
const
|
|
915
|
-
let l =
|
|
916
|
-
if (
|
|
914
|
+
const i = n.alias && t.startsWith(n.alias);
|
|
915
|
+
let l = n.alias && t.replace(n.alias, "");
|
|
916
|
+
if (n.alias && i) {
|
|
917
917
|
if (l && l.startsWith("/")) {
|
|
918
|
-
const
|
|
918
|
+
const a = n.alias;
|
|
919
919
|
return l = `.${l}`, {
|
|
920
|
-
pkgNameOrAlias:
|
|
920
|
+
pkgNameOrAlias: a,
|
|
921
921
|
expose: l,
|
|
922
|
-
remote:
|
|
922
|
+
remote: n
|
|
923
923
|
};
|
|
924
924
|
} else if (l === "")
|
|
925
925
|
return {
|
|
926
|
-
pkgNameOrAlias:
|
|
926
|
+
pkgNameOrAlias: n.alias,
|
|
927
927
|
expose: ".",
|
|
928
|
-
remote:
|
|
928
|
+
remote: n
|
|
929
929
|
};
|
|
930
930
|
}
|
|
931
931
|
}
|
|
932
932
|
}
|
|
933
|
-
function matchRemote(
|
|
934
|
-
for (const
|
|
935
|
-
if (t ===
|
|
936
|
-
return
|
|
933
|
+
function matchRemote(o, t) {
|
|
934
|
+
for (const n of o)
|
|
935
|
+
if (t === n.name || n.alias && t === n.alias)
|
|
936
|
+
return n;
|
|
937
937
|
}
|
|
938
|
-
function registerPlugins(
|
|
939
|
-
const
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
t.
|
|
944
|
-
|
|
938
|
+
function registerPlugins(o, t) {
|
|
939
|
+
const n = getGlobalHostPlugins(), r = [
|
|
940
|
+
t.hooks,
|
|
941
|
+
t.remoteHandler.hooks,
|
|
942
|
+
t.sharedHandler.hooks,
|
|
943
|
+
t.snapshotHandler.hooks,
|
|
944
|
+
t.loaderHook,
|
|
945
|
+
t.bridgeHook
|
|
946
|
+
];
|
|
947
|
+
return n.length > 0 && n.forEach((s) => {
|
|
948
|
+
o != null && o.find((i) => i.name !== s.name) && o.push(s);
|
|
949
|
+
}), o && o.length > 0 && o.forEach((s) => {
|
|
950
|
+
r.forEach((i) => {
|
|
951
|
+
i.applyPlugin(s, t);
|
|
945
952
|
});
|
|
946
|
-
}),
|
|
953
|
+
}), o;
|
|
947
954
|
}
|
|
948
955
|
const importCallback = ".then(callbacks[0]).catch(callbacks[1])";
|
|
949
|
-
async function loadEsmEntry({ entry:
|
|
950
|
-
return new Promise((
|
|
956
|
+
async function loadEsmEntry({ entry: o, remoteEntryExports: t }) {
|
|
957
|
+
return new Promise((n, r) => {
|
|
951
958
|
try {
|
|
952
|
-
t ?
|
|
953
|
-
|
|
959
|
+
t ? n(t) : typeof FEDERATION_ALLOW_NEW_FUNCTION < "u" ? new Function("callbacks", `import("${o}")${importCallback}`)([
|
|
960
|
+
n,
|
|
954
961
|
r
|
|
955
962
|
]) : import(
|
|
956
963
|
/* webpackIgnore: true */
|
|
957
964
|
/* @vite-ignore */
|
|
958
|
-
|
|
959
|
-
).then(
|
|
965
|
+
o
|
|
966
|
+
).then(n).catch(r);
|
|
960
967
|
} catch (s) {
|
|
961
968
|
r(s);
|
|
962
969
|
}
|
|
963
970
|
});
|
|
964
971
|
}
|
|
965
|
-
async function loadSystemJsEntry({ entry:
|
|
966
|
-
return new Promise((
|
|
972
|
+
async function loadSystemJsEntry({ entry: o, remoteEntryExports: t }) {
|
|
973
|
+
return new Promise((n, r) => {
|
|
967
974
|
try {
|
|
968
|
-
t ?
|
|
969
|
-
|
|
975
|
+
t ? n(t) : typeof __system_context__ > "u" ? System.import(o).then(n).catch(r) : new Function("callbacks", `System.import("${o}")${importCallback}`)([
|
|
976
|
+
n,
|
|
970
977
|
r
|
|
971
978
|
]);
|
|
972
979
|
} catch (s) {
|
|
@@ -974,35 +981,35 @@ async function loadSystemJsEntry({ entry: n, remoteEntryExports: t }) {
|
|
|
974
981
|
}
|
|
975
982
|
});
|
|
976
983
|
}
|
|
977
|
-
function handleRemoteEntryLoaded(
|
|
978
|
-
const { remoteEntryKey: r, entryExports: s } = getRemoteEntryExports(
|
|
984
|
+
function handleRemoteEntryLoaded(o, t, n) {
|
|
985
|
+
const { remoteEntryKey: r, entryExports: s } = getRemoteEntryExports(o, t);
|
|
979
986
|
return assert(s, getShortErrorMsg(RUNTIME_001, runtimeDescMap, {
|
|
980
|
-
remoteName:
|
|
981
|
-
remoteEntryUrl:
|
|
987
|
+
remoteName: o,
|
|
988
|
+
remoteEntryUrl: n,
|
|
982
989
|
remoteEntryKey: r
|
|
983
990
|
})), s;
|
|
984
991
|
}
|
|
985
|
-
async function loadEntryScript({ name:
|
|
986
|
-
const { entryExports: s } = getRemoteEntryExports(
|
|
987
|
-
return s || loadScript(
|
|
992
|
+
async function loadEntryScript({ name: o, globalName: t, entry: n, loaderHook: r }) {
|
|
993
|
+
const { entryExports: s } = getRemoteEntryExports(o, t);
|
|
994
|
+
return s || loadScript(n, {
|
|
988
995
|
attrs: {},
|
|
989
|
-
createScriptHook: (
|
|
990
|
-
const
|
|
991
|
-
url:
|
|
996
|
+
createScriptHook: (i, l) => {
|
|
997
|
+
const a = r.lifecycle.createScript.emit({
|
|
998
|
+
url: i,
|
|
992
999
|
attrs: l
|
|
993
1000
|
});
|
|
994
|
-
if (
|
|
995
|
-
return
|
|
1001
|
+
if (a && (a instanceof HTMLScriptElement || "script" in a || "timeout" in a))
|
|
1002
|
+
return a;
|
|
996
1003
|
}
|
|
997
|
-
}).then(() => handleRemoteEntryLoaded(
|
|
1004
|
+
}).then(() => handleRemoteEntryLoaded(o, t, n)).catch((i) => {
|
|
998
1005
|
throw assert(void 0, getShortErrorMsg(RUNTIME_008, runtimeDescMap, {
|
|
999
|
-
remoteName:
|
|
1000
|
-
resourceUrl:
|
|
1001
|
-
})),
|
|
1006
|
+
remoteName: o,
|
|
1007
|
+
resourceUrl: n
|
|
1008
|
+
})), i;
|
|
1002
1009
|
});
|
|
1003
1010
|
}
|
|
1004
|
-
async function loadEntryDom({ remoteInfo:
|
|
1005
|
-
const { entry: r, entryGlobalName: s, name:
|
|
1011
|
+
async function loadEntryDom({ remoteInfo: o, remoteEntryExports: t, loaderHook: n }) {
|
|
1012
|
+
const { entry: r, entryGlobalName: s, name: i, type: l } = o;
|
|
1006
1013
|
switch (l) {
|
|
1007
1014
|
case "esm":
|
|
1008
1015
|
case "module":
|
|
@@ -1019,94 +1026,94 @@ async function loadEntryDom({ remoteInfo: n, remoteEntryExports: t, loaderHook:
|
|
|
1019
1026
|
return loadEntryScript({
|
|
1020
1027
|
entry: r,
|
|
1021
1028
|
globalName: s,
|
|
1022
|
-
name:
|
|
1023
|
-
loaderHook:
|
|
1029
|
+
name: i,
|
|
1030
|
+
loaderHook: n
|
|
1024
1031
|
});
|
|
1025
1032
|
}
|
|
1026
1033
|
}
|
|
1027
|
-
async function loadEntryNode({ remoteInfo:
|
|
1028
|
-
const { entry:
|
|
1029
|
-
return l || loadScriptNode(
|
|
1034
|
+
async function loadEntryNode({ remoteInfo: o, loaderHook: t }) {
|
|
1035
|
+
const { entry: n, entryGlobalName: r, name: s, type: i } = o, { entryExports: l } = getRemoteEntryExports(s, r);
|
|
1036
|
+
return l || loadScriptNode(n, {
|
|
1030
1037
|
attrs: {
|
|
1031
1038
|
name: s,
|
|
1032
1039
|
globalName: r,
|
|
1033
|
-
type:
|
|
1040
|
+
type: i
|
|
1034
1041
|
},
|
|
1035
1042
|
loaderHook: {
|
|
1036
|
-
createScriptHook: (
|
|
1043
|
+
createScriptHook: (a, c = {}) => {
|
|
1037
1044
|
const u = t.lifecycle.createScript.emit({
|
|
1038
|
-
url:
|
|
1045
|
+
url: a,
|
|
1039
1046
|
attrs: c
|
|
1040
1047
|
});
|
|
1041
1048
|
if (u && "url" in u)
|
|
1042
1049
|
return u;
|
|
1043
1050
|
}
|
|
1044
1051
|
}
|
|
1045
|
-
}).then(() => handleRemoteEntryLoaded(s, r,
|
|
1046
|
-
throw
|
|
1052
|
+
}).then(() => handleRemoteEntryLoaded(s, r, n)).catch((a) => {
|
|
1053
|
+
throw a;
|
|
1047
1054
|
});
|
|
1048
1055
|
}
|
|
1049
|
-
function getRemoteEntryUniqueKey(
|
|
1050
|
-
const { entry: t, name:
|
|
1051
|
-
return composeKeyWithSeparator(
|
|
1056
|
+
function getRemoteEntryUniqueKey(o) {
|
|
1057
|
+
const { entry: t, name: n } = o;
|
|
1058
|
+
return composeKeyWithSeparator(n, t);
|
|
1052
1059
|
}
|
|
1053
|
-
async function getRemoteEntry({ origin:
|
|
1054
|
-
const r = getRemoteEntryUniqueKey(
|
|
1060
|
+
async function getRemoteEntry({ origin: o, remoteEntryExports: t, remoteInfo: n }) {
|
|
1061
|
+
const r = getRemoteEntryUniqueKey(n);
|
|
1055
1062
|
if (t)
|
|
1056
1063
|
return t;
|
|
1057
1064
|
if (!globalLoading[r]) {
|
|
1058
|
-
const s =
|
|
1065
|
+
const s = o.remoteHandler.hooks.lifecycle.loadEntry, i = o.loaderHook;
|
|
1059
1066
|
globalLoading[r] = s.emit({
|
|
1060
|
-
loaderHook:
|
|
1061
|
-
remoteInfo:
|
|
1067
|
+
loaderHook: i,
|
|
1068
|
+
remoteInfo: n,
|
|
1062
1069
|
remoteEntryExports: t
|
|
1063
1070
|
}).then((l) => l || ((typeof ENV_TARGET < "u" ? ENV_TARGET === "web" : isBrowserEnv()) ? loadEntryDom({
|
|
1064
|
-
remoteInfo:
|
|
1071
|
+
remoteInfo: n,
|
|
1065
1072
|
remoteEntryExports: t,
|
|
1066
|
-
loaderHook:
|
|
1073
|
+
loaderHook: i
|
|
1067
1074
|
}) : loadEntryNode({
|
|
1068
|
-
remoteInfo:
|
|
1069
|
-
loaderHook:
|
|
1075
|
+
remoteInfo: n,
|
|
1076
|
+
loaderHook: i
|
|
1070
1077
|
})));
|
|
1071
1078
|
}
|
|
1072
1079
|
return globalLoading[r];
|
|
1073
1080
|
}
|
|
1074
|
-
function getRemoteInfo(
|
|
1075
|
-
return _extends$1({},
|
|
1076
|
-
entry: "entry" in
|
|
1077
|
-
type:
|
|
1078
|
-
entryGlobalName:
|
|
1079
|
-
shareScope:
|
|
1081
|
+
function getRemoteInfo(o) {
|
|
1082
|
+
return _extends$1({}, o, {
|
|
1083
|
+
entry: "entry" in o ? o.entry : "",
|
|
1084
|
+
type: o.type || DEFAULT_REMOTE_TYPE,
|
|
1085
|
+
entryGlobalName: o.entryGlobalName || o.name,
|
|
1086
|
+
shareScope: o.shareScope || DEFAULT_SCOPE
|
|
1080
1087
|
});
|
|
1081
1088
|
}
|
|
1082
|
-
function defaultPreloadArgs(
|
|
1089
|
+
function defaultPreloadArgs(o) {
|
|
1083
1090
|
return _extends$1({
|
|
1084
1091
|
resourceCategory: "sync",
|
|
1085
1092
|
share: !0,
|
|
1086
1093
|
depsRemote: !0,
|
|
1087
1094
|
prefetchInterface: !1
|
|
1088
|
-
},
|
|
1095
|
+
}, o);
|
|
1089
1096
|
}
|
|
1090
|
-
function formatPreloadArgs(
|
|
1091
|
-
return t.map((
|
|
1092
|
-
const r = matchRemote(
|
|
1093
|
-
return assert(r, `Unable to preload ${
|
|
1097
|
+
function formatPreloadArgs(o, t) {
|
|
1098
|
+
return t.map((n) => {
|
|
1099
|
+
const r = matchRemote(o, n.nameOrAlias);
|
|
1100
|
+
return assert(r, `Unable to preload ${n.nameOrAlias} as it is not included in ${!r && safeToString({
|
|
1094
1101
|
remoteInfo: r,
|
|
1095
|
-
remotes:
|
|
1102
|
+
remotes: o
|
|
1096
1103
|
})}`), {
|
|
1097
1104
|
remote: r,
|
|
1098
|
-
preloadConfig: defaultPreloadArgs(
|
|
1105
|
+
preloadConfig: defaultPreloadArgs(n)
|
|
1099
1106
|
};
|
|
1100
1107
|
});
|
|
1101
1108
|
}
|
|
1102
|
-
function normalizePreloadExposes(
|
|
1103
|
-
return
|
|
1109
|
+
function normalizePreloadExposes(o) {
|
|
1110
|
+
return o ? o.map((t) => t === "." ? t : t.startsWith("./") ? t.replace("./", "") : t) : [];
|
|
1104
1111
|
}
|
|
1105
|
-
function preloadAssets(
|
|
1106
|
-
const { cssAssets: s, jsAssetsWithoutEntry:
|
|
1112
|
+
function preloadAssets(o, t, n, r = !0) {
|
|
1113
|
+
const { cssAssets: s, jsAssetsWithoutEntry: i, entryAssets: l } = n;
|
|
1107
1114
|
if (t.options.inBrowser) {
|
|
1108
|
-
if (l.forEach((
|
|
1109
|
-
const { moduleInfo: c } =
|
|
1115
|
+
if (l.forEach((a) => {
|
|
1116
|
+
const { moduleInfo: c } = a, u = t.moduleCache.get(o.name);
|
|
1110
1117
|
getRemoteEntry(u ? {
|
|
1111
1118
|
origin: t,
|
|
1112
1119
|
remoteInfo: c,
|
|
@@ -1117,7 +1124,7 @@ function preloadAssets(n, t, o, r = !0) {
|
|
|
1117
1124
|
remoteEntryExports: void 0
|
|
1118
1125
|
});
|
|
1119
1126
|
}), r) {
|
|
1120
|
-
const
|
|
1127
|
+
const a = {
|
|
1121
1128
|
rel: "preload",
|
|
1122
1129
|
as: "style"
|
|
1123
1130
|
};
|
|
@@ -1126,7 +1133,7 @@ function preloadAssets(n, t, o, r = !0) {
|
|
|
1126
1133
|
url: c,
|
|
1127
1134
|
cb: () => {
|
|
1128
1135
|
},
|
|
1129
|
-
attrs:
|
|
1136
|
+
attrs: a,
|
|
1130
1137
|
createLinkHook: (d, m) => {
|
|
1131
1138
|
const y = t.loaderHook.lifecycle.createLink.emit({
|
|
1132
1139
|
url: d,
|
|
@@ -1139,7 +1146,7 @@ function preloadAssets(n, t, o, r = !0) {
|
|
|
1139
1146
|
p && document.head.appendChild(u);
|
|
1140
1147
|
});
|
|
1141
1148
|
} else {
|
|
1142
|
-
const
|
|
1149
|
+
const a = {
|
|
1143
1150
|
rel: "stylesheet",
|
|
1144
1151
|
type: "text/css"
|
|
1145
1152
|
};
|
|
@@ -1148,7 +1155,7 @@ function preloadAssets(n, t, o, r = !0) {
|
|
|
1148
1155
|
url: c,
|
|
1149
1156
|
cb: () => {
|
|
1150
1157
|
},
|
|
1151
|
-
attrs:
|
|
1158
|
+
attrs: a,
|
|
1152
1159
|
createLinkHook: (d, m) => {
|
|
1153
1160
|
const y = t.loaderHook.lifecycle.createLink.emit({
|
|
1154
1161
|
url: d,
|
|
@@ -1163,16 +1170,16 @@ function preloadAssets(n, t, o, r = !0) {
|
|
|
1163
1170
|
});
|
|
1164
1171
|
}
|
|
1165
1172
|
if (r) {
|
|
1166
|
-
const
|
|
1173
|
+
const a = {
|
|
1167
1174
|
rel: "preload",
|
|
1168
1175
|
as: "script"
|
|
1169
1176
|
};
|
|
1170
|
-
|
|
1177
|
+
i.forEach((c) => {
|
|
1171
1178
|
const { link: u, needAttach: p } = createLink({
|
|
1172
1179
|
url: c,
|
|
1173
1180
|
cb: () => {
|
|
1174
1181
|
},
|
|
1175
|
-
attrs:
|
|
1182
|
+
attrs: a,
|
|
1176
1183
|
createLinkHook: (d, m) => {
|
|
1177
1184
|
const y = t.loaderHook.lifecycle.createLink.emit({
|
|
1178
1185
|
url: d,
|
|
@@ -1185,16 +1192,16 @@ function preloadAssets(n, t, o, r = !0) {
|
|
|
1185
1192
|
p && document.head.appendChild(u);
|
|
1186
1193
|
});
|
|
1187
1194
|
} else {
|
|
1188
|
-
const
|
|
1195
|
+
const a = {
|
|
1189
1196
|
fetchpriority: "high",
|
|
1190
|
-
type: (
|
|
1197
|
+
type: (o == null ? void 0 : o.type) === "module" ? "module" : "text/javascript"
|
|
1191
1198
|
};
|
|
1192
|
-
|
|
1199
|
+
i.forEach((c) => {
|
|
1193
1200
|
const { script: u, needAttach: p } = createScript({
|
|
1194
1201
|
url: c,
|
|
1195
1202
|
cb: () => {
|
|
1196
1203
|
},
|
|
1197
|
-
attrs:
|
|
1204
|
+
attrs: a,
|
|
1198
1205
|
createScriptHook: (d, m) => {
|
|
1199
1206
|
const y = t.loaderHook.lifecycle.createScript.emit({
|
|
1200
1207
|
url: d,
|
|
@@ -1236,8 +1243,8 @@ let Module = class {
|
|
|
1236
1243
|
${safeToString(this.remoteInfo)}`), this.remoteEntryExports = t, this.remoteEntryExports;
|
|
1237
1244
|
}
|
|
1238
1245
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
1239
|
-
async get(t,
|
|
1240
|
-
const { loadFactory:
|
|
1246
|
+
async get(t, n, r, s) {
|
|
1247
|
+
const { loadFactory: i = !0 } = r || {
|
|
1241
1248
|
loadFactory: !0
|
|
1242
1249
|
}, l = await this.getEntry();
|
|
1243
1250
|
if (!this.inited) {
|
|
@@ -1276,32 +1283,32 @@ let Module = class {
|
|
|
1276
1283
|
}));
|
|
1277
1284
|
}
|
|
1278
1285
|
this.lib = l, this.inited = !0;
|
|
1279
|
-
let
|
|
1280
|
-
|
|
1286
|
+
let a;
|
|
1287
|
+
a = await this.host.loaderHook.lifecycle.getModuleFactory.emit({
|
|
1281
1288
|
remoteEntryExports: l,
|
|
1282
|
-
expose:
|
|
1289
|
+
expose: n,
|
|
1283
1290
|
moduleInfo: this.remoteInfo
|
|
1284
|
-
}),
|
|
1285
|
-
const c = processModuleAlias(this.remoteInfo.name,
|
|
1286
|
-
return
|
|
1291
|
+
}), a || (a = await l.get(n)), assert(a, `${getFMId(this.remoteInfo)} remote don't export ${n}.`);
|
|
1292
|
+
const c = processModuleAlias(this.remoteInfo.name, n), u = this.wraperFactory(a, c);
|
|
1293
|
+
return i ? await u() : u;
|
|
1287
1294
|
}
|
|
1288
|
-
wraperFactory(t,
|
|
1289
|
-
function r(s,
|
|
1295
|
+
wraperFactory(t, n) {
|
|
1296
|
+
function r(s, i) {
|
|
1290
1297
|
s && typeof s == "object" && Object.isExtensible(s) && !Object.getOwnPropertyDescriptor(s, Symbol.for("mf_module_id")) && Object.defineProperty(s, Symbol.for("mf_module_id"), {
|
|
1291
|
-
value:
|
|
1298
|
+
value: i,
|
|
1292
1299
|
enumerable: !1
|
|
1293
1300
|
});
|
|
1294
1301
|
}
|
|
1295
1302
|
return t instanceof Promise ? async () => {
|
|
1296
1303
|
const s = await t();
|
|
1297
|
-
return r(s,
|
|
1304
|
+
return r(s, n), s;
|
|
1298
1305
|
} : () => {
|
|
1299
1306
|
const s = t();
|
|
1300
|
-
return r(s,
|
|
1307
|
+
return r(s, n), s;
|
|
1301
1308
|
};
|
|
1302
1309
|
}
|
|
1303
|
-
constructor({ remoteInfo: t, host:
|
|
1304
|
-
this.inited = !1, this.lib = void 0, this.remoteInfo = t, this.host =
|
|
1310
|
+
constructor({ remoteInfo: t, host: n }) {
|
|
1311
|
+
this.inited = !1, this.lib = void 0, this.remoteInfo = t, this.host = n;
|
|
1305
1312
|
}
|
|
1306
1313
|
};
|
|
1307
1314
|
class SyncHook {
|
|
@@ -1309,16 +1316,16 @@ class SyncHook {
|
|
|
1309
1316
|
typeof t == "function" && this.listeners.add(t);
|
|
1310
1317
|
}
|
|
1311
1318
|
once(t) {
|
|
1312
|
-
const
|
|
1319
|
+
const n = this;
|
|
1313
1320
|
this.on(function r(...s) {
|
|
1314
|
-
return
|
|
1321
|
+
return n.remove(r), t.apply(null, s);
|
|
1315
1322
|
});
|
|
1316
1323
|
}
|
|
1317
1324
|
emit(...t) {
|
|
1318
|
-
let
|
|
1325
|
+
let n;
|
|
1319
1326
|
return this.listeners.size > 0 && this.listeners.forEach((r) => {
|
|
1320
|
-
|
|
1321
|
-
}),
|
|
1327
|
+
n = r(...t);
|
|
1328
|
+
}), n;
|
|
1322
1329
|
}
|
|
1323
1330
|
remove(t) {
|
|
1324
1331
|
this.listeners.delete(t);
|
|
@@ -1332,22 +1339,22 @@ class SyncHook {
|
|
|
1332
1339
|
}
|
|
1333
1340
|
class AsyncHook extends SyncHook {
|
|
1334
1341
|
emit(...t) {
|
|
1335
|
-
let
|
|
1342
|
+
let n;
|
|
1336
1343
|
const r = Array.from(this.listeners);
|
|
1337
1344
|
if (r.length > 0) {
|
|
1338
1345
|
let s = 0;
|
|
1339
|
-
const
|
|
1340
|
-
|
|
1346
|
+
const i = (l) => l === !1 ? !1 : s < r.length ? Promise.resolve(r[s++].apply(null, t)).then(i) : l;
|
|
1347
|
+
n = i();
|
|
1341
1348
|
}
|
|
1342
|
-
return Promise.resolve(
|
|
1349
|
+
return Promise.resolve(n);
|
|
1343
1350
|
}
|
|
1344
1351
|
}
|
|
1345
|
-
function checkReturnData(
|
|
1352
|
+
function checkReturnData(o, t) {
|
|
1346
1353
|
if (!isObject(t))
|
|
1347
1354
|
return !1;
|
|
1348
|
-
if (
|
|
1349
|
-
for (const
|
|
1350
|
-
if (!(
|
|
1355
|
+
if (o !== t) {
|
|
1356
|
+
for (const n in o)
|
|
1357
|
+
if (!(n in t))
|
|
1351
1358
|
return !1;
|
|
1352
1359
|
}
|
|
1353
1360
|
return !0;
|
|
@@ -1355,9 +1362,9 @@ function checkReturnData(n, t) {
|
|
|
1355
1362
|
class SyncWaterfallHook extends SyncHook {
|
|
1356
1363
|
emit(t) {
|
|
1357
1364
|
isObject(t) || error(`The data for the "${this.type}" hook should be an object.`);
|
|
1358
|
-
for (const
|
|
1365
|
+
for (const n of this.listeners)
|
|
1359
1366
|
try {
|
|
1360
|
-
const r =
|
|
1367
|
+
const r = n(t);
|
|
1361
1368
|
if (checkReturnData(t, r))
|
|
1362
1369
|
t = r;
|
|
1363
1370
|
else {
|
|
@@ -1376,22 +1383,22 @@ class SyncWaterfallHook extends SyncHook {
|
|
|
1376
1383
|
class AsyncWaterfallHook extends SyncHook {
|
|
1377
1384
|
emit(t) {
|
|
1378
1385
|
isObject(t) || error(`The response data for the "${this.type}" hook must be an object.`);
|
|
1379
|
-
const
|
|
1380
|
-
if (
|
|
1386
|
+
const n = Array.from(this.listeners);
|
|
1387
|
+
if (n.length > 0) {
|
|
1381
1388
|
let r = 0;
|
|
1382
|
-
const s = (l) => (warn(l), this.onerror(l), t),
|
|
1389
|
+
const s = (l) => (warn(l), this.onerror(l), t), i = (l) => {
|
|
1383
1390
|
if (checkReturnData(t, l)) {
|
|
1384
|
-
if (t = l, r <
|
|
1391
|
+
if (t = l, r < n.length)
|
|
1385
1392
|
try {
|
|
1386
|
-
return Promise.resolve(
|
|
1387
|
-
} catch (
|
|
1388
|
-
return s(
|
|
1393
|
+
return Promise.resolve(n[r++](t)).then(i, s);
|
|
1394
|
+
} catch (a) {
|
|
1395
|
+
return s(a);
|
|
1389
1396
|
}
|
|
1390
1397
|
} else
|
|
1391
1398
|
this.onerror(`A plugin returned an incorrect value for the "${this.type}" type.`);
|
|
1392
1399
|
return t;
|
|
1393
1400
|
};
|
|
1394
|
-
return Promise.resolve(
|
|
1401
|
+
return Promise.resolve(i(t));
|
|
1395
1402
|
}
|
|
1396
1403
|
return Promise.resolve(t);
|
|
1397
1404
|
}
|
|
@@ -1400,54 +1407,46 @@ class AsyncWaterfallHook extends SyncHook {
|
|
|
1400
1407
|
}
|
|
1401
1408
|
}
|
|
1402
1409
|
class PluginSystem {
|
|
1403
|
-
applyPlugin(t) {
|
|
1410
|
+
applyPlugin(t, n) {
|
|
1404
1411
|
assert(isPlainObject(t), "Plugin configuration is invalid.");
|
|
1405
|
-
const
|
|
1406
|
-
assert(
|
|
1407
|
-
const
|
|
1408
|
-
|
|
1412
|
+
const r = t.name;
|
|
1413
|
+
assert(r, "A name must be provided by the plugin."), this.registerPlugins[r] || (this.registerPlugins[r] = t, t.apply == null || t.apply.call(t, n), Object.keys(this.lifecycle).forEach((s) => {
|
|
1414
|
+
const i = t[s];
|
|
1415
|
+
i && this.lifecycle[s].on(i);
|
|
1409
1416
|
}));
|
|
1410
1417
|
}
|
|
1411
1418
|
removePlugin(t) {
|
|
1412
1419
|
assert(t, "A name is required.");
|
|
1413
|
-
const
|
|
1414
|
-
assert(
|
|
1415
|
-
r !== "name" && this.lifecycle[r].remove(
|
|
1416
|
-
});
|
|
1417
|
-
}
|
|
1418
|
-
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
1419
|
-
inherit({ lifecycle: t, registerPlugins: o }) {
|
|
1420
|
-
Object.keys(t).forEach((r) => {
|
|
1421
|
-
assert(!this.lifecycle[r], `The hook "${r}" has a conflict and cannot be inherited.`), this.lifecycle[r] = t[r];
|
|
1422
|
-
}), Object.keys(o).forEach((r) => {
|
|
1423
|
-
assert(!this.registerPlugins[r], `The plugin "${r}" has a conflict and cannot be inherited.`), this.applyPlugin(o[r]);
|
|
1420
|
+
const n = this.registerPlugins[t];
|
|
1421
|
+
assert(n, `The plugin "${t}" is not registered.`), Object.keys(n).forEach((r) => {
|
|
1422
|
+
r !== "name" && this.lifecycle[r].remove(n[r]);
|
|
1424
1423
|
});
|
|
1425
1424
|
}
|
|
1426
1425
|
constructor(t) {
|
|
1427
1426
|
this.registerPlugins = {}, this.lifecycle = t, this.lifecycleKeys = Object.keys(t);
|
|
1428
1427
|
}
|
|
1429
1428
|
}
|
|
1430
|
-
function assignRemoteInfo(
|
|
1431
|
-
const
|
|
1432
|
-
|
|
1433
|
-
let r = getResourceUrl(t,
|
|
1434
|
-
!isBrowserEnv() && !r.startsWith("http") && (r = `https:${r}`),
|
|
1429
|
+
function assignRemoteInfo(o, t) {
|
|
1430
|
+
const n = getRemoteEntryInfoFromSnapshot(t);
|
|
1431
|
+
n.url || error(`The attribute remoteEntry of ${o.name} must not be undefined.`);
|
|
1432
|
+
let r = getResourceUrl(t, n.url);
|
|
1433
|
+
!isBrowserEnv() && !r.startsWith("http") && (r = `https:${r}`), o.type = n.type, o.entryGlobalName = n.globalName, o.entry = r, o.version = t.version, o.buildVersion = t.buildVersion;
|
|
1435
1434
|
}
|
|
1436
1435
|
function snapshotPlugin() {
|
|
1437
1436
|
return {
|
|
1438
1437
|
name: "snapshot-plugin",
|
|
1439
|
-
async afterResolve(
|
|
1440
|
-
const { remote: t, pkgNameOrAlias:
|
|
1438
|
+
async afterResolve(o) {
|
|
1439
|
+
const { remote: t, pkgNameOrAlias: n, expose: r, origin: s, remoteInfo: i, id: l } = o;
|
|
1441
1440
|
if (!isRemoteInfoWithEntry(t) || !isPureRemoteEntry(t)) {
|
|
1442
|
-
const { remoteSnapshot:
|
|
1441
|
+
const { remoteSnapshot: a, globalSnapshot: c } = await s.snapshotHandler.loadRemoteSnapshotInfo({
|
|
1443
1442
|
moduleInfo: t,
|
|
1444
1443
|
id: l
|
|
1445
1444
|
});
|
|
1446
|
-
assignRemoteInfo(
|
|
1445
|
+
assignRemoteInfo(i, a);
|
|
1447
1446
|
const u = {
|
|
1448
1447
|
remote: t,
|
|
1449
1448
|
preloadConfig: {
|
|
1450
|
-
nameOrAlias:
|
|
1449
|
+
nameOrAlias: n,
|
|
1451
1450
|
exposes: [
|
|
1452
1451
|
r
|
|
1453
1452
|
],
|
|
@@ -1458,21 +1457,21 @@ function snapshotPlugin() {
|
|
|
1458
1457
|
}, p = await s.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({
|
|
1459
1458
|
origin: s,
|
|
1460
1459
|
preloadOptions: u,
|
|
1461
|
-
remoteInfo:
|
|
1460
|
+
remoteInfo: i,
|
|
1462
1461
|
remote: t,
|
|
1463
|
-
remoteSnapshot:
|
|
1462
|
+
remoteSnapshot: a,
|
|
1464
1463
|
globalSnapshot: c
|
|
1465
1464
|
});
|
|
1466
|
-
return p && preloadAssets(
|
|
1467
|
-
remoteSnapshot:
|
|
1465
|
+
return p && preloadAssets(i, s, p, !1), _extends$1({}, o, {
|
|
1466
|
+
remoteSnapshot: a
|
|
1468
1467
|
});
|
|
1469
1468
|
}
|
|
1470
|
-
return
|
|
1469
|
+
return o;
|
|
1471
1470
|
}
|
|
1472
1471
|
};
|
|
1473
1472
|
}
|
|
1474
|
-
function splitId(
|
|
1475
|
-
const t =
|
|
1473
|
+
function splitId(o) {
|
|
1474
|
+
const t = o.split(":");
|
|
1476
1475
|
return t.length === 1 ? {
|
|
1477
1476
|
name: t[0],
|
|
1478
1477
|
version: void 0
|
|
@@ -1484,26 +1483,26 @@ function splitId(n) {
|
|
|
1484
1483
|
version: t[2]
|
|
1485
1484
|
};
|
|
1486
1485
|
}
|
|
1487
|
-
function traverseModuleInfo(
|
|
1488
|
-
const l = getFMId(t), { value:
|
|
1489
|
-
if (c && !isManifestProvider(c) && (
|
|
1486
|
+
function traverseModuleInfo(o, t, n, r, s = {}, i) {
|
|
1487
|
+
const l = getFMId(t), { value: a } = getInfoWithoutType(o, l), c = i || a;
|
|
1488
|
+
if (c && !isManifestProvider(c) && (n(c, t, r), c.remotesInfo)) {
|
|
1490
1489
|
const u = Object.keys(c.remotesInfo);
|
|
1491
1490
|
for (const p of u) {
|
|
1492
1491
|
if (s[p])
|
|
1493
1492
|
continue;
|
|
1494
1493
|
s[p] = !0;
|
|
1495
1494
|
const d = splitId(p), m = c.remotesInfo[p];
|
|
1496
|
-
traverseModuleInfo(
|
|
1495
|
+
traverseModuleInfo(o, {
|
|
1497
1496
|
name: d.name,
|
|
1498
1497
|
version: m.matchedVersion
|
|
1499
|
-
},
|
|
1498
|
+
}, n, !1, s, void 0);
|
|
1500
1499
|
}
|
|
1501
1500
|
}
|
|
1502
1501
|
}
|
|
1503
|
-
const isExisted = (
|
|
1504
|
-
function generatePreloadAssets(
|
|
1505
|
-
const
|
|
1506
|
-
if (traverseModuleInfo(r,
|
|
1502
|
+
const isExisted = (o, t) => document.querySelector(`${o}[${o === "link" ? "href" : "src"}="${t}"]`);
|
|
1503
|
+
function generatePreloadAssets(o, t, n, r, s) {
|
|
1504
|
+
const i = [], l = [], a = [], c = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Set(), { options: p } = o, { preloadConfig: d } = t, { depsRemote: m } = d;
|
|
1505
|
+
if (traverseModuleInfo(r, n, (_, b, v) => {
|
|
1507
1506
|
let I;
|
|
1508
1507
|
if (v)
|
|
1509
1508
|
I = d;
|
|
@@ -1517,7 +1516,7 @@ function generatePreloadAssets(n, t, o, r, s) {
|
|
|
1517
1516
|
else
|
|
1518
1517
|
return;
|
|
1519
1518
|
const S = getResourceUrl(_, getRemoteEntryInfoFromSnapshot(_).url);
|
|
1520
|
-
S &&
|
|
1519
|
+
S && a.push({
|
|
1521
1520
|
name: b.name,
|
|
1522
1521
|
moduleInfo: {
|
|
1523
1522
|
name: b.name,
|
|
@@ -1543,19 +1542,19 @@ function generatePreloadAssets(n, t, o, r, s) {
|
|
|
1543
1542
|
const w = R.length;
|
|
1544
1543
|
for (let N = 0; N < w; N++) {
|
|
1545
1544
|
const O = R[N], P = `${b.name}/${O.moduleName}`;
|
|
1546
|
-
|
|
1545
|
+
o.remoteHandler.hooks.lifecycle.handlePreloadModule.emit({
|
|
1547
1546
|
id: O.moduleName === "." ? b.name : P,
|
|
1548
1547
|
name: b.name,
|
|
1549
1548
|
remoteSnapshot: _,
|
|
1550
1549
|
preloadConfig: I,
|
|
1551
1550
|
remote: b,
|
|
1552
|
-
origin:
|
|
1553
|
-
}), !getPreloaded(P) && (I.resourceCategory === "all" ? (
|
|
1551
|
+
origin: o
|
|
1552
|
+
}), !getPreloaded(P) && (I.resourceCategory === "all" ? (i.push(...$(O.assets.css.async)), i.push(...$(O.assets.css.sync)), l.push(...$(O.assets.js.async)), l.push(...$(O.assets.js.sync))) : (I.resourceCategory = "sync") && (i.push(...$(O.assets.css.sync)), l.push(...$(O.assets.js.sync))), setPreloaded(P));
|
|
1554
1553
|
}
|
|
1555
1554
|
}
|
|
1556
1555
|
}, !0, {}, s), s.shared) {
|
|
1557
1556
|
const _ = (b, v) => {
|
|
1558
|
-
const I = getRegisteredShare(
|
|
1557
|
+
const I = getRegisteredShare(o.shareScopeMap, v.sharedName, b, o.sharedHandler.hooks.lifecycle.resolveShare);
|
|
1559
1558
|
I && typeof I.lib == "function" && (v.assets.js.sync.forEach((S) => {
|
|
1560
1559
|
c.add(S);
|
|
1561
1560
|
}), v.assets.css.sync.forEach((S) => {
|
|
@@ -1577,16 +1576,16 @@ function generatePreloadAssets(n, t, o, r, s) {
|
|
|
1577
1576
|
}
|
|
1578
1577
|
const g = l.filter((_) => !c.has(_) && !isExisted("script", _));
|
|
1579
1578
|
return {
|
|
1580
|
-
cssAssets:
|
|
1579
|
+
cssAssets: i.filter((_) => !u.has(_) && !isExisted("link", _)),
|
|
1581
1580
|
jsAssetsWithoutEntry: g,
|
|
1582
|
-
entryAssets:
|
|
1581
|
+
entryAssets: a.filter((_) => !isExisted("script", _.url))
|
|
1583
1582
|
};
|
|
1584
1583
|
}
|
|
1585
1584
|
const generatePreloadAssetsPlugin = function() {
|
|
1586
1585
|
return {
|
|
1587
1586
|
name: "generate-preload-assets-plugin",
|
|
1588
|
-
async generatePreloadAssets(
|
|
1589
|
-
const { origin: t, preloadOptions:
|
|
1587
|
+
async generatePreloadAssets(o) {
|
|
1588
|
+
const { origin: t, preloadOptions: n, remoteInfo: r, remote: s, globalSnapshot: i, remoteSnapshot: l } = o;
|
|
1590
1589
|
return isBrowserEnv() ? isRemoteInfoWithEntry(s) && isPureRemoteEntry(s) ? {
|
|
1591
1590
|
cssAssets: [],
|
|
1592
1591
|
jsAssetsWithoutEntry: [],
|
|
@@ -1603,7 +1602,7 @@ const generatePreloadAssetsPlugin = function() {
|
|
|
1603
1602
|
}
|
|
1604
1603
|
}
|
|
1605
1604
|
]
|
|
1606
|
-
} : (assignRemoteInfo(r, l), generatePreloadAssets(t,
|
|
1605
|
+
} : (assignRemoteInfo(r, l), generatePreloadAssets(t, n, r, i, l)) : {
|
|
1607
1606
|
cssAssets: [],
|
|
1608
1607
|
jsAssetsWithoutEntry: [],
|
|
1609
1608
|
entryAssets: []
|
|
@@ -1611,55 +1610,55 @@ const generatePreloadAssetsPlugin = function() {
|
|
|
1611
1610
|
}
|
|
1612
1611
|
};
|
|
1613
1612
|
};
|
|
1614
|
-
function getGlobalRemoteInfo(
|
|
1615
|
-
const
|
|
1613
|
+
function getGlobalRemoteInfo(o, t) {
|
|
1614
|
+
const n = getGlobalSnapshotInfoByModuleInfo({
|
|
1616
1615
|
name: t.name,
|
|
1617
1616
|
version: t.options.version
|
|
1618
|
-
}), r =
|
|
1617
|
+
}), r = n && "remotesInfo" in n && n.remotesInfo && getInfoWithoutType(n.remotesInfo, o.name).value;
|
|
1619
1618
|
return r && r.matchedVersion ? {
|
|
1620
|
-
hostGlobalSnapshot:
|
|
1619
|
+
hostGlobalSnapshot: n,
|
|
1621
1620
|
globalSnapshot: getGlobalSnapshot(),
|
|
1622
1621
|
remoteSnapshot: getGlobalSnapshotInfoByModuleInfo({
|
|
1623
|
-
name:
|
|
1622
|
+
name: o.name,
|
|
1624
1623
|
version: r.matchedVersion
|
|
1625
1624
|
})
|
|
1626
1625
|
} : {
|
|
1627
1626
|
hostGlobalSnapshot: void 0,
|
|
1628
1627
|
globalSnapshot: getGlobalSnapshot(),
|
|
1629
1628
|
remoteSnapshot: getGlobalSnapshotInfoByModuleInfo({
|
|
1630
|
-
name:
|
|
1631
|
-
version: "version" in
|
|
1629
|
+
name: o.name,
|
|
1630
|
+
version: "version" in o ? o.version : void 0
|
|
1632
1631
|
})
|
|
1633
1632
|
};
|
|
1634
1633
|
}
|
|
1635
1634
|
class SnapshotHandler {
|
|
1636
1635
|
// eslint-disable-next-line max-lines-per-function
|
|
1637
|
-
async loadRemoteSnapshotInfo({ moduleInfo: t, id:
|
|
1636
|
+
async loadRemoteSnapshotInfo({ moduleInfo: t, id: n, expose: r }) {
|
|
1638
1637
|
const { options: s } = this.HostInstance;
|
|
1639
1638
|
await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({
|
|
1640
1639
|
options: s,
|
|
1641
1640
|
moduleInfo: t
|
|
1642
1641
|
});
|
|
1643
|
-
let
|
|
1642
|
+
let i = getGlobalSnapshotInfoByModuleInfo({
|
|
1644
1643
|
name: this.HostInstance.options.name,
|
|
1645
1644
|
version: this.HostInstance.options.version
|
|
1646
1645
|
});
|
|
1647
|
-
|
|
1646
|
+
i || (i = {
|
|
1648
1647
|
version: this.HostInstance.options.version || "",
|
|
1649
1648
|
remoteEntry: "",
|
|
1650
1649
|
remotesInfo: {}
|
|
1651
1650
|
}, addGlobalSnapshot({
|
|
1652
|
-
[this.HostInstance.options.name]:
|
|
1653
|
-
})),
|
|
1651
|
+
[this.HostInstance.options.name]: i
|
|
1652
|
+
})), i && "remotesInfo" in i && !getInfoWithoutType(i.remotesInfo, t.name).value && ("version" in t || "entry" in t) && (i.remotesInfo = _extends$1({}, i == null ? void 0 : i.remotesInfo, {
|
|
1654
1653
|
[t.name]: {
|
|
1655
1654
|
matchedVersion: "version" in t ? t.version : t.entry
|
|
1656
1655
|
}
|
|
1657
1656
|
}));
|
|
1658
|
-
const { hostGlobalSnapshot: l, remoteSnapshot:
|
|
1657
|
+
const { hostGlobalSnapshot: l, remoteSnapshot: a, globalSnapshot: c } = this.getGlobalRemoteInfo(t), { remoteSnapshot: u, globalSnapshot: p } = await this.hooks.lifecycle.loadSnapshot.emit({
|
|
1659
1658
|
options: s,
|
|
1660
1659
|
moduleInfo: t,
|
|
1661
1660
|
hostGlobalSnapshot: l,
|
|
1662
|
-
remoteSnapshot:
|
|
1661
|
+
remoteSnapshot: a,
|
|
1663
1662
|
globalSnapshot: c
|
|
1664
1663
|
});
|
|
1665
1664
|
let d, m;
|
|
@@ -1695,7 +1694,7 @@ class SnapshotHandler {
|
|
|
1695
1694
|
globalSnapshot: JSON.stringify(p)
|
|
1696
1695
|
}));
|
|
1697
1696
|
return await this.hooks.lifecycle.afterLoadSnapshot.emit({
|
|
1698
|
-
id:
|
|
1697
|
+
id: n,
|
|
1699
1698
|
host: this.HostInstance,
|
|
1700
1699
|
options: s,
|
|
1701
1700
|
moduleInfo: t,
|
|
@@ -1708,42 +1707,42 @@ class SnapshotHandler {
|
|
|
1708
1707
|
getGlobalRemoteInfo(t) {
|
|
1709
1708
|
return getGlobalRemoteInfo(t, this.HostInstance);
|
|
1710
1709
|
}
|
|
1711
|
-
async getManifestJson(t,
|
|
1710
|
+
async getManifestJson(t, n, r) {
|
|
1712
1711
|
const s = async () => {
|
|
1713
1712
|
let l = this.manifestCache.get(t);
|
|
1714
1713
|
if (l)
|
|
1715
1714
|
return l;
|
|
1716
1715
|
try {
|
|
1717
|
-
let
|
|
1718
|
-
(!
|
|
1719
|
-
} catch (
|
|
1716
|
+
let a = await this.loaderHook.lifecycle.fetch.emit(t, {});
|
|
1717
|
+
(!a || !(a instanceof Response)) && (a = await fetch(t, {})), l = await a.json();
|
|
1718
|
+
} catch (a) {
|
|
1720
1719
|
l = await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({
|
|
1721
1720
|
id: t,
|
|
1722
|
-
error:
|
|
1721
|
+
error: a,
|
|
1723
1722
|
from: "runtime",
|
|
1724
1723
|
lifecycle: "afterResolve",
|
|
1725
1724
|
origin: this.HostInstance
|
|
1726
1725
|
}), l || (delete this.manifestLoading[t], error(getShortErrorMsg(RUNTIME_003, runtimeDescMap, {
|
|
1727
1726
|
manifestUrl: t,
|
|
1728
|
-
moduleName:
|
|
1727
|
+
moduleName: n.name,
|
|
1729
1728
|
hostName: this.HostInstance.options.name
|
|
1730
|
-
}, `${
|
|
1729
|
+
}, `${a}`)));
|
|
1731
1730
|
}
|
|
1732
1731
|
return assert(l.metaData && l.exposes && l.shared, `${t} is not a federation manifest`), this.manifestCache.set(t, l), l;
|
|
1733
|
-
},
|
|
1734
|
-
const l = await s(),
|
|
1732
|
+
}, i = async () => {
|
|
1733
|
+
const l = await s(), a = generateSnapshotFromManifest(l, {
|
|
1735
1734
|
version: t
|
|
1736
1735
|
}), { remoteSnapshot: c } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({
|
|
1737
1736
|
options: this.HostInstance.options,
|
|
1738
|
-
moduleInfo:
|
|
1737
|
+
moduleInfo: n,
|
|
1739
1738
|
manifestJson: l,
|
|
1740
|
-
remoteSnapshot:
|
|
1739
|
+
remoteSnapshot: a,
|
|
1741
1740
|
manifestUrl: t,
|
|
1742
1741
|
from: "manifest"
|
|
1743
1742
|
});
|
|
1744
1743
|
return c;
|
|
1745
1744
|
};
|
|
1746
|
-
return this.manifestLoading[t] || (this.manifestLoading[t] =
|
|
1745
|
+
return this.manifestLoading[t] || (this.manifestLoading[t] = i().then((l) => l)), this.manifestLoading[t];
|
|
1747
1746
|
}
|
|
1748
1747
|
constructor(t) {
|
|
1749
1748
|
this.loadingHostSnapshot = null, this.manifestCache = /* @__PURE__ */ new Map(), this.hooks = new PluginSystem({
|
|
@@ -1756,8 +1755,8 @@ class SnapshotHandler {
|
|
|
1756
1755
|
}
|
|
1757
1756
|
class SharedHandler {
|
|
1758
1757
|
// register shared in shareScopeMap
|
|
1759
|
-
registerShared(t,
|
|
1760
|
-
const { shareInfos: r, shared: s } = formatShareConfigs(t,
|
|
1758
|
+
registerShared(t, n) {
|
|
1759
|
+
const { shareInfos: r, shared: s } = formatShareConfigs(t, n);
|
|
1761
1760
|
return Object.keys(r).forEach((l) => {
|
|
1762
1761
|
r[l].forEach((c) => {
|
|
1763
1762
|
!getRegisteredShare(this.shareScopeMap, l, c, this.hooks.lifecycle.resolveShare) && c && c.lib && this.setShared({
|
|
@@ -1766,7 +1765,7 @@ class SharedHandler {
|
|
|
1766
1765
|
get: c.get,
|
|
1767
1766
|
loaded: !0,
|
|
1768
1767
|
shared: c,
|
|
1769
|
-
from:
|
|
1768
|
+
from: n.name
|
|
1770
1769
|
});
|
|
1771
1770
|
});
|
|
1772
1771
|
}), {
|
|
@@ -1774,10 +1773,10 @@ class SharedHandler {
|
|
|
1774
1773
|
shared: s
|
|
1775
1774
|
};
|
|
1776
1775
|
}
|
|
1777
|
-
async loadShare(t,
|
|
1776
|
+
async loadShare(t, n) {
|
|
1778
1777
|
const { host: r } = this, s = getTargetSharedOptions({
|
|
1779
1778
|
pkgName: t,
|
|
1780
|
-
extraOptions:
|
|
1779
|
+
extraOptions: n,
|
|
1781
1780
|
shareInfos: r.options.shared
|
|
1782
1781
|
});
|
|
1783
1782
|
s != null && s.scope && await Promise.all(s.scope.map(async (u) => {
|
|
@@ -1785,24 +1784,24 @@ class SharedHandler {
|
|
|
1785
1784
|
strategy: s.strategy
|
|
1786
1785
|
}));
|
|
1787
1786
|
}));
|
|
1788
|
-
const
|
|
1787
|
+
const i = await this.hooks.lifecycle.beforeLoadShare.emit({
|
|
1789
1788
|
pkgName: t,
|
|
1790
1789
|
shareInfo: s,
|
|
1791
1790
|
shared: r.options.shared,
|
|
1792
1791
|
origin: r
|
|
1793
|
-
}), { shareInfo: l } =
|
|
1792
|
+
}), { shareInfo: l } = i;
|
|
1794
1793
|
assert(l, `Cannot find ${t} Share in the ${r.options.name}. Please ensure that the ${t} Share parameters have been injected`);
|
|
1795
|
-
const
|
|
1794
|
+
const a = getRegisteredShare(this.shareScopeMap, t, l, this.hooks.lifecycle.resolveShare), c = (u) => {
|
|
1796
1795
|
u.useIn || (u.useIn = []), addUniqueItem(u.useIn, r.options.name);
|
|
1797
1796
|
};
|
|
1798
|
-
if (
|
|
1799
|
-
return c(
|
|
1800
|
-
if (
|
|
1801
|
-
const u = await
|
|
1802
|
-
return
|
|
1803
|
-
} else if (
|
|
1797
|
+
if (a && a.lib)
|
|
1798
|
+
return c(a), a.lib;
|
|
1799
|
+
if (a && a.loading && !a.loaded) {
|
|
1800
|
+
const u = await a.loading;
|
|
1801
|
+
return a.loaded = !0, a.lib || (a.lib = u), c(a), u;
|
|
1802
|
+
} else if (a) {
|
|
1804
1803
|
const p = (async () => {
|
|
1805
|
-
const d = await
|
|
1804
|
+
const d = await a.get();
|
|
1806
1805
|
l.lib = d, l.loaded = !0, c(l);
|
|
1807
1806
|
const m = getRegisteredShare(this.shareScopeMap, t, l, this.hooks.lifecycle.resolveShare);
|
|
1808
1807
|
return m && (m.lib = d, m.loaded = !0), d;
|
|
@@ -1810,13 +1809,13 @@ class SharedHandler {
|
|
|
1810
1809
|
return this.setShared({
|
|
1811
1810
|
pkgName: t,
|
|
1812
1811
|
loaded: !1,
|
|
1813
|
-
shared:
|
|
1812
|
+
shared: a,
|
|
1814
1813
|
from: r.options.name,
|
|
1815
1814
|
lib: null,
|
|
1816
1815
|
loading: p
|
|
1817
1816
|
}), p;
|
|
1818
1817
|
} else {
|
|
1819
|
-
if (
|
|
1818
|
+
if (n != null && n.customShareInfo)
|
|
1820
1819
|
return !1;
|
|
1821
1820
|
const p = (async () => {
|
|
1822
1821
|
const d = await l.get();
|
|
@@ -1840,17 +1839,17 @@ class SharedHandler {
|
|
|
1840
1839
|
* If the share scope does not exist, it creates one.
|
|
1841
1840
|
*/
|
|
1842
1841
|
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
1843
|
-
initializeSharing(t = DEFAULT_SCOPE,
|
|
1844
|
-
const { host: r } = this, s =
|
|
1845
|
-
let l =
|
|
1846
|
-
const
|
|
1842
|
+
initializeSharing(t = DEFAULT_SCOPE, n) {
|
|
1843
|
+
const { host: r } = this, s = n == null ? void 0 : n.from, i = n == null ? void 0 : n.strategy;
|
|
1844
|
+
let l = n == null ? void 0 : n.initScope;
|
|
1845
|
+
const a = [];
|
|
1847
1846
|
if (s !== "build") {
|
|
1848
1847
|
const { initTokens: g } = this;
|
|
1849
1848
|
l || (l = []);
|
|
1850
1849
|
let E = g[t];
|
|
1851
1850
|
if (E || (E = g[t] = {
|
|
1852
1851
|
from: this.host.name
|
|
1853
|
-
}), l.indexOf(E) >= 0) return
|
|
1852
|
+
}), l.indexOf(E) >= 0) return a;
|
|
1854
1853
|
l.push(E);
|
|
1855
1854
|
}
|
|
1856
1855
|
const c = this.shareScopeMap, u = r.options.name;
|
|
@@ -1885,55 +1884,55 @@ class SharedHandler {
|
|
|
1885
1884
|
r.options.shared[g].forEach((_) => {
|
|
1886
1885
|
_.scope.includes(t) && d(g, _);
|
|
1887
1886
|
});
|
|
1888
|
-
}), (r.options.shareStrategy === "version-first" ||
|
|
1889
|
-
g.shareScope === t &&
|
|
1890
|
-
}),
|
|
1887
|
+
}), (r.options.shareStrategy === "version-first" || i === "version-first") && r.options.remotes.forEach((g) => {
|
|
1888
|
+
g.shareScope === t && a.push(y(g.name));
|
|
1889
|
+
}), a;
|
|
1891
1890
|
}
|
|
1892
1891
|
// The lib function will only be available if the shared set by eager or runtime init is set or the shared is successfully loaded.
|
|
1893
1892
|
// 1. If the loaded shared already exists globally, then it will be reused
|
|
1894
1893
|
// 2. If lib exists in local shared, it will be used directly
|
|
1895
1894
|
// 3. If the local get returns something other than Promise, then it will be used directly
|
|
1896
|
-
loadShareSync(t,
|
|
1895
|
+
loadShareSync(t, n) {
|
|
1897
1896
|
const { host: r } = this, s = getTargetSharedOptions({
|
|
1898
1897
|
pkgName: t,
|
|
1899
|
-
extraOptions:
|
|
1898
|
+
extraOptions: n,
|
|
1900
1899
|
shareInfos: r.options.shared
|
|
1901
1900
|
});
|
|
1902
|
-
s != null && s.scope && s.scope.forEach((
|
|
1903
|
-
this.initializeSharing(
|
|
1901
|
+
s != null && s.scope && s.scope.forEach((a) => {
|
|
1902
|
+
this.initializeSharing(a, {
|
|
1904
1903
|
strategy: s.strategy
|
|
1905
1904
|
});
|
|
1906
1905
|
});
|
|
1907
|
-
const
|
|
1908
|
-
|
|
1906
|
+
const i = getRegisteredShare(this.shareScopeMap, t, s, this.hooks.lifecycle.resolveShare), l = (a) => {
|
|
1907
|
+
a.useIn || (a.useIn = []), addUniqueItem(a.useIn, r.options.name);
|
|
1909
1908
|
};
|
|
1910
|
-
if (
|
|
1911
|
-
if (typeof
|
|
1912
|
-
return l(
|
|
1913
|
-
if (typeof
|
|
1914
|
-
const
|
|
1915
|
-
if (!(
|
|
1916
|
-
return l(
|
|
1909
|
+
if (i) {
|
|
1910
|
+
if (typeof i.lib == "function")
|
|
1911
|
+
return l(i), i.loaded || (i.loaded = !0, i.from === r.options.name && (s.loaded = !0)), i.lib;
|
|
1912
|
+
if (typeof i.get == "function") {
|
|
1913
|
+
const a = i.get();
|
|
1914
|
+
if (!(a instanceof Promise))
|
|
1915
|
+
return l(i), this.setShared({
|
|
1917
1916
|
pkgName: t,
|
|
1918
1917
|
loaded: !0,
|
|
1919
1918
|
from: r.options.name,
|
|
1920
|
-
lib:
|
|
1921
|
-
shared:
|
|
1922
|
-
}),
|
|
1919
|
+
lib: a,
|
|
1920
|
+
shared: i
|
|
1921
|
+
}), a;
|
|
1923
1922
|
}
|
|
1924
1923
|
}
|
|
1925
1924
|
if (s.lib)
|
|
1926
1925
|
return s.loaded || (s.loaded = !0), s.lib;
|
|
1927
1926
|
if (s.get) {
|
|
1928
|
-
const
|
|
1929
|
-
if (
|
|
1930
|
-
const c = (
|
|
1927
|
+
const a = s.get();
|
|
1928
|
+
if (a instanceof Promise) {
|
|
1929
|
+
const c = (n == null ? void 0 : n.from) === "build" ? RUNTIME_005 : RUNTIME_006;
|
|
1931
1930
|
throw new Error(getShortErrorMsg(c, runtimeDescMap, {
|
|
1932
1931
|
hostName: r.options.name,
|
|
1933
1932
|
sharedPkgName: t
|
|
1934
1933
|
}));
|
|
1935
1934
|
}
|
|
1936
|
-
return s.lib =
|
|
1935
|
+
return s.lib = a, this.setShared({
|
|
1937
1936
|
pkgName: t,
|
|
1938
1937
|
loaded: !0,
|
|
1939
1938
|
from: r.options.name,
|
|
@@ -1946,18 +1945,18 @@ class SharedHandler {
|
|
|
1946
1945
|
sharedPkgName: t
|
|
1947
1946
|
}));
|
|
1948
1947
|
}
|
|
1949
|
-
initShareScopeMap(t,
|
|
1948
|
+
initShareScopeMap(t, n, r = {}) {
|
|
1950
1949
|
const { host: s } = this;
|
|
1951
|
-
this.shareScopeMap[t] =
|
|
1952
|
-
shareScope:
|
|
1950
|
+
this.shareScopeMap[t] = n, this.hooks.lifecycle.initContainerShareScopeMap.emit({
|
|
1951
|
+
shareScope: n,
|
|
1953
1952
|
options: s.options,
|
|
1954
1953
|
origin: s,
|
|
1955
1954
|
scopeName: t,
|
|
1956
1955
|
hostShareScopeMap: r.hostShareScopeMap
|
|
1957
1956
|
});
|
|
1958
1957
|
}
|
|
1959
|
-
setShared({ pkgName: t, shared:
|
|
1960
|
-
const { version: c, scope: u = "default" } =
|
|
1958
|
+
setShared({ pkgName: t, shared: n, from: r, lib: s, loading: i, loaded: l, get: a }) {
|
|
1959
|
+
const { version: c, scope: u = "default" } = n, p = _object_without_properties_loose(n, [
|
|
1961
1960
|
"version",
|
|
1962
1961
|
"scope"
|
|
1963
1962
|
]);
|
|
@@ -1973,17 +1972,17 @@ class SharedHandler {
|
|
|
1973
1972
|
}, p, {
|
|
1974
1973
|
lib: s,
|
|
1975
1974
|
loaded: l,
|
|
1976
|
-
loading:
|
|
1977
|
-
}),
|
|
1975
|
+
loading: i
|
|
1976
|
+
}), a && (this.shareScopeMap[m][t][c].get = a);
|
|
1978
1977
|
return;
|
|
1979
1978
|
}
|
|
1980
1979
|
const y = this.shareScopeMap[m][t][c];
|
|
1981
|
-
|
|
1980
|
+
i && !y.loading && (y.loading = i);
|
|
1982
1981
|
});
|
|
1983
1982
|
}
|
|
1984
1983
|
_setGlobalShareScopeMap(t) {
|
|
1985
|
-
const
|
|
1986
|
-
r && !
|
|
1984
|
+
const n = getGlobalShareScope(), r = t.id || t.name;
|
|
1985
|
+
r && !n[r] && (n[r] = this.shareScopeMap);
|
|
1987
1986
|
}
|
|
1988
1987
|
constructor(t) {
|
|
1989
1988
|
this.hooks = new PluginSystem({
|
|
@@ -1998,27 +1997,27 @@ class SharedHandler {
|
|
|
1998
1997
|
}
|
|
1999
1998
|
}
|
|
2000
1999
|
class RemoteHandler {
|
|
2001
|
-
formatAndRegisterRemote(t,
|
|
2002
|
-
return (
|
|
2000
|
+
formatAndRegisterRemote(t, n) {
|
|
2001
|
+
return (n.remotes || []).reduce((s, i) => (this.registerRemote(i, s, {
|
|
2003
2002
|
force: !1
|
|
2004
2003
|
}), s), t.remotes);
|
|
2005
2004
|
}
|
|
2006
|
-
setIdToRemoteMap(t,
|
|
2007
|
-
const { remote: r, expose: s } =
|
|
2005
|
+
setIdToRemoteMap(t, n) {
|
|
2006
|
+
const { remote: r, expose: s } = n, { name: i, alias: l } = r;
|
|
2008
2007
|
if (this.idToRemoteMap[t] = {
|
|
2009
2008
|
name: r.name,
|
|
2010
2009
|
expose: s
|
|
2011
|
-
}, l && t.startsWith(
|
|
2012
|
-
const
|
|
2013
|
-
this.idToRemoteMap[
|
|
2010
|
+
}, l && t.startsWith(i)) {
|
|
2011
|
+
const a = t.replace(i, l);
|
|
2012
|
+
this.idToRemoteMap[a] = {
|
|
2014
2013
|
name: r.name,
|
|
2015
2014
|
expose: s
|
|
2016
2015
|
};
|
|
2017
2016
|
return;
|
|
2018
2017
|
}
|
|
2019
2018
|
if (l && t.startsWith(l)) {
|
|
2020
|
-
const
|
|
2021
|
-
this.idToRemoteMap[
|
|
2019
|
+
const a = t.replace(l, i);
|
|
2020
|
+
this.idToRemoteMap[a] = {
|
|
2022
2021
|
name: r.name,
|
|
2023
2022
|
expose: s
|
|
2024
2023
|
};
|
|
@@ -2026,14 +2025,14 @@ class RemoteHandler {
|
|
|
2026
2025
|
}
|
|
2027
2026
|
// eslint-disable-next-line max-lines-per-function
|
|
2028
2027
|
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
2029
|
-
async loadRemote(t,
|
|
2028
|
+
async loadRemote(t, n) {
|
|
2030
2029
|
const { host: r } = this;
|
|
2031
2030
|
try {
|
|
2032
|
-
const { loadFactory: s = !0 } =
|
|
2031
|
+
const { loadFactory: s = !0 } = n || {
|
|
2033
2032
|
loadFactory: !0
|
|
2034
|
-
}, { module:
|
|
2033
|
+
}, { module: i, moduleOptions: l, remoteMatchInfo: a } = await this.getRemoteModuleAndOptions({
|
|
2035
2034
|
id: t
|
|
2036
|
-
}), { pkgNameOrAlias: c, remote: u, expose: p, id: d, remoteSnapshot: m } =
|
|
2035
|
+
}), { pkgNameOrAlias: c, remote: u, expose: p, id: d, remoteSnapshot: m } = a, y = await i.get(d, p, n, m), g = await this.hooks.lifecycle.onLoad.emit({
|
|
2037
2036
|
id: d,
|
|
2038
2037
|
pkgNameOrAlias: c,
|
|
2039
2038
|
expose: p,
|
|
@@ -2041,17 +2040,17 @@ class RemoteHandler {
|
|
|
2041
2040
|
exposeModuleFactory: s ? void 0 : y,
|
|
2042
2041
|
remote: u,
|
|
2043
2042
|
options: l,
|
|
2044
|
-
moduleInstance:
|
|
2043
|
+
moduleInstance: i,
|
|
2045
2044
|
origin: r
|
|
2046
2045
|
});
|
|
2047
|
-
return this.setIdToRemoteMap(t,
|
|
2046
|
+
return this.setIdToRemoteMap(t, a), typeof g == "function" ? g : y;
|
|
2048
2047
|
} catch (s) {
|
|
2049
|
-
const { from:
|
|
2048
|
+
const { from: i = "runtime" } = n || {
|
|
2050
2049
|
from: "runtime"
|
|
2051
2050
|
}, l = await this.hooks.lifecycle.errorLoadRemote.emit({
|
|
2052
2051
|
id: t,
|
|
2053
2052
|
error: s,
|
|
2054
|
-
from:
|
|
2053
|
+
from: i,
|
|
2055
2054
|
lifecycle: "onLoad",
|
|
2056
2055
|
origin: r
|
|
2057
2056
|
});
|
|
@@ -2062,87 +2061,87 @@ class RemoteHandler {
|
|
|
2062
2061
|
}
|
|
2063
2062
|
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
2064
2063
|
async preloadRemote(t) {
|
|
2065
|
-
const { host:
|
|
2064
|
+
const { host: n } = this;
|
|
2066
2065
|
await this.hooks.lifecycle.beforePreloadRemote.emit({
|
|
2067
2066
|
preloadOps: t,
|
|
2068
|
-
options:
|
|
2069
|
-
origin:
|
|
2067
|
+
options: n.options,
|
|
2068
|
+
origin: n
|
|
2070
2069
|
});
|
|
2071
|
-
const r = formatPreloadArgs(
|
|
2070
|
+
const r = formatPreloadArgs(n.options.remotes, t);
|
|
2072
2071
|
await Promise.all(r.map(async (s) => {
|
|
2073
|
-
const { remote:
|
|
2074
|
-
moduleInfo:
|
|
2072
|
+
const { remote: i } = s, l = getRemoteInfo(i), { globalSnapshot: a, remoteSnapshot: c } = await n.snapshotHandler.loadRemoteSnapshotInfo({
|
|
2073
|
+
moduleInfo: i
|
|
2075
2074
|
}), u = await this.hooks.lifecycle.generatePreloadAssets.emit({
|
|
2076
|
-
origin:
|
|
2075
|
+
origin: n,
|
|
2077
2076
|
preloadOptions: s,
|
|
2078
|
-
remote:
|
|
2077
|
+
remote: i,
|
|
2079
2078
|
remoteInfo: l,
|
|
2080
|
-
globalSnapshot:
|
|
2079
|
+
globalSnapshot: a,
|
|
2081
2080
|
remoteSnapshot: c
|
|
2082
2081
|
});
|
|
2083
|
-
u && preloadAssets(l,
|
|
2082
|
+
u && preloadAssets(l, n, u);
|
|
2084
2083
|
}));
|
|
2085
2084
|
}
|
|
2086
|
-
registerRemotes(t,
|
|
2085
|
+
registerRemotes(t, n) {
|
|
2087
2086
|
const { host: r } = this;
|
|
2088
2087
|
t.forEach((s) => {
|
|
2089
2088
|
this.registerRemote(s, r.options.remotes, {
|
|
2090
|
-
force:
|
|
2089
|
+
force: n == null ? void 0 : n.force
|
|
2091
2090
|
});
|
|
2092
2091
|
});
|
|
2093
2092
|
}
|
|
2094
2093
|
async getRemoteModuleAndOptions(t) {
|
|
2095
|
-
const { host:
|
|
2094
|
+
const { host: n } = this, { id: r } = t;
|
|
2096
2095
|
let s;
|
|
2097
2096
|
try {
|
|
2098
2097
|
s = await this.hooks.lifecycle.beforeRequest.emit({
|
|
2099
2098
|
id: r,
|
|
2100
|
-
options:
|
|
2101
|
-
origin:
|
|
2099
|
+
options: n.options,
|
|
2100
|
+
origin: n
|
|
2102
2101
|
});
|
|
2103
2102
|
} catch (g) {
|
|
2104
2103
|
if (s = await this.hooks.lifecycle.errorLoadRemote.emit({
|
|
2105
2104
|
id: r,
|
|
2106
|
-
options:
|
|
2107
|
-
origin:
|
|
2105
|
+
options: n.options,
|
|
2106
|
+
origin: n,
|
|
2108
2107
|
from: "runtime",
|
|
2109
2108
|
error: g,
|
|
2110
2109
|
lifecycle: "beforeRequest"
|
|
2111
2110
|
}), !s)
|
|
2112
2111
|
throw g;
|
|
2113
2112
|
}
|
|
2114
|
-
const { id:
|
|
2113
|
+
const { id: i } = s, l = matchRemoteWithNameAndExpose(n.options.remotes, i);
|
|
2115
2114
|
assert(l, getShortErrorMsg(RUNTIME_004, runtimeDescMap, {
|
|
2116
|
-
hostName:
|
|
2117
|
-
requestId:
|
|
2115
|
+
hostName: n.options.name,
|
|
2116
|
+
requestId: i
|
|
2118
2117
|
}));
|
|
2119
|
-
const { remote:
|
|
2120
|
-
id:
|
|
2118
|
+
const { remote: a } = l, c = getRemoteInfo(a), u = await n.sharedHandler.hooks.lifecycle.afterResolve.emit(_extends$1({
|
|
2119
|
+
id: i
|
|
2121
2120
|
}, l, {
|
|
2122
|
-
options:
|
|
2123
|
-
origin:
|
|
2121
|
+
options: n.options,
|
|
2122
|
+
origin: n,
|
|
2124
2123
|
remoteInfo: c
|
|
2125
2124
|
})), { remote: p, expose: d } = u;
|
|
2126
|
-
assert(p && d, `The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${
|
|
2127
|
-
let m =
|
|
2125
|
+
assert(p && d, `The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${i}.`);
|
|
2126
|
+
let m = n.moduleCache.get(p.name);
|
|
2128
2127
|
const y = {
|
|
2129
|
-
host:
|
|
2128
|
+
host: n,
|
|
2130
2129
|
remoteInfo: c
|
|
2131
2130
|
};
|
|
2132
|
-
return m || (m = new Module(y),
|
|
2131
|
+
return m || (m = new Module(y), n.moduleCache.set(p.name, m)), {
|
|
2133
2132
|
module: m,
|
|
2134
2133
|
moduleOptions: y,
|
|
2135
2134
|
remoteMatchInfo: u
|
|
2136
2135
|
};
|
|
2137
2136
|
}
|
|
2138
|
-
registerRemote(t,
|
|
2139
|
-
const { host: s } = this,
|
|
2137
|
+
registerRemote(t, n, r) {
|
|
2138
|
+
const { host: s } = this, i = () => {
|
|
2140
2139
|
if (t.alias) {
|
|
2141
|
-
const
|
|
2140
|
+
const a = n.find((c) => {
|
|
2142
2141
|
var u;
|
|
2143
2142
|
return t.alias && (c.name.startsWith(t.alias) || ((u = c.alias) == null ? void 0 : u.startsWith(t.alias)));
|
|
2144
2143
|
});
|
|
2145
|
-
assert(!
|
|
2144
|
+
assert(!a, `The alias ${t.alias} of remote ${t.name} is not allowed to be the prefix of ${a && a.name} name or alias`);
|
|
2146
2145
|
}
|
|
2147
2146
|
"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);
|
|
2148
2147
|
};
|
|
@@ -2150,38 +2149,38 @@ class RemoteHandler {
|
|
|
2150
2149
|
remote: t,
|
|
2151
2150
|
origin: s
|
|
2152
2151
|
});
|
|
2153
|
-
const l =
|
|
2152
|
+
const l = n.find((a) => a.name === t.name);
|
|
2154
2153
|
if (!l)
|
|
2155
|
-
|
|
2154
|
+
i(), n.push(t), this.hooks.lifecycle.registerRemote.emit({
|
|
2156
2155
|
remote: t,
|
|
2157
2156
|
origin: s
|
|
2158
2157
|
});
|
|
2159
2158
|
else {
|
|
2160
|
-
const
|
|
2159
|
+
const a = [
|
|
2161
2160
|
`The remote "${t.name}" is already registered.`,
|
|
2162
2161
|
"Please note that overriding it may cause unexpected errors."
|
|
2163
2162
|
];
|
|
2164
|
-
r != null && r.force && (this.removeRemote(l),
|
|
2163
|
+
r != null && r.force && (this.removeRemote(l), i(), n.push(t), this.hooks.lifecycle.registerRemote.emit({
|
|
2165
2164
|
remote: t,
|
|
2166
2165
|
origin: s
|
|
2167
|
-
}), warn$1(
|
|
2166
|
+
}), warn$1(a.join(" ")));
|
|
2168
2167
|
}
|
|
2169
2168
|
}
|
|
2170
2169
|
removeRemote(t) {
|
|
2171
2170
|
try {
|
|
2172
|
-
const { host: r } = this, { name: s } = t,
|
|
2173
|
-
|
|
2171
|
+
const { host: r } = this, { name: s } = t, i = r.options.remotes.findIndex((a) => a.name === s);
|
|
2172
|
+
i !== -1 && r.options.remotes.splice(i, 1);
|
|
2174
2173
|
const l = r.moduleCache.get(t.name);
|
|
2175
2174
|
if (l) {
|
|
2176
|
-
const
|
|
2175
|
+
const a = l.remoteInfo, c = a.entryGlobalName;
|
|
2177
2176
|
if (CurrentGlobal[c]) {
|
|
2178
|
-
var
|
|
2179
|
-
(
|
|
2177
|
+
var n;
|
|
2178
|
+
(n = Object.getOwnPropertyDescriptor(CurrentGlobal, c)) != null && n.configurable ? delete CurrentGlobal[c] : CurrentGlobal[c] = void 0;
|
|
2180
2179
|
}
|
|
2181
2180
|
const u = getRemoteEntryUniqueKey(l.remoteInfo);
|
|
2182
|
-
globalLoading[u] && delete globalLoading[u], r.snapshotHandler.manifestCache.delete(
|
|
2183
|
-
let p =
|
|
2184
|
-
const d = CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex((y) =>
|
|
2181
|
+
globalLoading[u] && delete globalLoading[u], r.snapshotHandler.manifestCache.delete(a.entry);
|
|
2182
|
+
let p = a.buildVersion ? composeKeyWithSeparator(a.name, a.buildVersion) : a.name;
|
|
2183
|
+
const d = CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex((y) => a.buildVersion ? y.options.id === p : y.name === p);
|
|
2185
2184
|
if (d !== -1) {
|
|
2186
2185
|
const y = CurrentGlobal.__FEDERATION__.__INSTANCES__[d];
|
|
2187
2186
|
p = y.options.id || p;
|
|
@@ -2196,7 +2195,7 @@ class RemoteHandler {
|
|
|
2196
2195
|
const A = S[R];
|
|
2197
2196
|
A && Object.keys(A).forEach((T) => {
|
|
2198
2197
|
const $ = A[T];
|
|
2199
|
-
$ && typeof $ == "object" && $.from ===
|
|
2198
|
+
$ && typeof $ == "object" && $.from === a.name && ($.loaded || $.loading ? ($.useIn = $.useIn.filter((w) => w !== a.name), $.useIn.length ? E = !1 : _.push([
|
|
2200
2199
|
b,
|
|
2201
2200
|
I,
|
|
2202
2201
|
R,
|
|
@@ -2246,60 +2245,60 @@ const USE_SNAPSHOT = typeof FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN == "boolean"
|
|
|
2246
2245
|
class FederationHost {
|
|
2247
2246
|
initOptions(t) {
|
|
2248
2247
|
this.registerPlugins(t.plugins);
|
|
2249
|
-
const
|
|
2250
|
-
return this.options =
|
|
2248
|
+
const n = this.formatOptions(this.options, t);
|
|
2249
|
+
return this.options = n, n;
|
|
2251
2250
|
}
|
|
2252
|
-
async loadShare(t,
|
|
2253
|
-
return this.sharedHandler.loadShare(t,
|
|
2251
|
+
async loadShare(t, n) {
|
|
2252
|
+
return this.sharedHandler.loadShare(t, n);
|
|
2254
2253
|
}
|
|
2255
2254
|
// The lib function will only be available if the shared set by eager or runtime init is set or the shared is successfully loaded.
|
|
2256
2255
|
// 1. If the loaded shared already exists globally, then it will be reused
|
|
2257
2256
|
// 2. If lib exists in local shared, it will be used directly
|
|
2258
2257
|
// 3. If the local get returns something other than Promise, then it will be used directly
|
|
2259
|
-
loadShareSync(t,
|
|
2260
|
-
return this.sharedHandler.loadShareSync(t,
|
|
2258
|
+
loadShareSync(t, n) {
|
|
2259
|
+
return this.sharedHandler.loadShareSync(t, n);
|
|
2261
2260
|
}
|
|
2262
|
-
initializeSharing(t = DEFAULT_SCOPE,
|
|
2263
|
-
return this.sharedHandler.initializeSharing(t,
|
|
2261
|
+
initializeSharing(t = DEFAULT_SCOPE, n) {
|
|
2262
|
+
return this.sharedHandler.initializeSharing(t, n);
|
|
2264
2263
|
}
|
|
2265
|
-
initRawContainer(t,
|
|
2264
|
+
initRawContainer(t, n, r) {
|
|
2266
2265
|
const s = getRemoteInfo({
|
|
2267
2266
|
name: t,
|
|
2268
|
-
entry:
|
|
2269
|
-
}),
|
|
2267
|
+
entry: n
|
|
2268
|
+
}), i = new Module({
|
|
2270
2269
|
host: this,
|
|
2271
2270
|
remoteInfo: s
|
|
2272
2271
|
});
|
|
2273
|
-
return
|
|
2272
|
+
return i.remoteEntryExports = r, this.moduleCache.set(t, i), i;
|
|
2274
2273
|
}
|
|
2275
2274
|
// eslint-disable-next-line max-lines-per-function
|
|
2276
2275
|
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
2277
|
-
async loadRemote(t,
|
|
2278
|
-
return this.remoteHandler.loadRemote(t,
|
|
2276
|
+
async loadRemote(t, n) {
|
|
2277
|
+
return this.remoteHandler.loadRemote(t, n);
|
|
2279
2278
|
}
|
|
2280
2279
|
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
2281
2280
|
async preloadRemote(t) {
|
|
2282
2281
|
return this.remoteHandler.preloadRemote(t);
|
|
2283
2282
|
}
|
|
2284
|
-
initShareScopeMap(t,
|
|
2285
|
-
this.sharedHandler.initShareScopeMap(t,
|
|
2283
|
+
initShareScopeMap(t, n, r = {}) {
|
|
2284
|
+
this.sharedHandler.initShareScopeMap(t, n, r);
|
|
2286
2285
|
}
|
|
2287
|
-
formatOptions(t,
|
|
2288
|
-
const { shared: r } = formatShareConfigs(t,
|
|
2286
|
+
formatOptions(t, n) {
|
|
2287
|
+
const { shared: r } = formatShareConfigs(t, n), { userOptions: s, options: i } = this.hooks.lifecycle.beforeInit.emit({
|
|
2289
2288
|
origin: this,
|
|
2290
|
-
userOptions:
|
|
2289
|
+
userOptions: n,
|
|
2291
2290
|
options: t,
|
|
2292
2291
|
shareInfo: r
|
|
2293
|
-
}), l = this.remoteHandler.formatAndRegisterRemote(
|
|
2294
|
-
...
|
|
2292
|
+
}), l = this.remoteHandler.formatAndRegisterRemote(i, s), { shared: a } = this.sharedHandler.registerShared(i, s), c = [
|
|
2293
|
+
...i.plugins
|
|
2295
2294
|
];
|
|
2296
2295
|
s.plugins && s.plugins.forEach((p) => {
|
|
2297
2296
|
c.includes(p) || c.push(p);
|
|
2298
2297
|
});
|
|
2299
|
-
const u = _extends$1({}, t,
|
|
2298
|
+
const u = _extends$1({}, t, n, {
|
|
2300
2299
|
plugins: c,
|
|
2301
2300
|
remotes: l,
|
|
2302
|
-
shared:
|
|
2301
|
+
shared: a
|
|
2303
2302
|
});
|
|
2304
2303
|
return this.hooks.lifecycle.init.emit({
|
|
2305
2304
|
origin: this,
|
|
@@ -2307,18 +2306,11 @@ class FederationHost {
|
|
|
2307
2306
|
}), u;
|
|
2308
2307
|
}
|
|
2309
2308
|
registerPlugins(t) {
|
|
2310
|
-
const
|
|
2311
|
-
|
|
2312
|
-
this.remoteHandler.hooks,
|
|
2313
|
-
this.sharedHandler.hooks,
|
|
2314
|
-
this.snapshotHandler.hooks,
|
|
2315
|
-
this.loaderHook,
|
|
2316
|
-
this.bridgeHook
|
|
2317
|
-
]);
|
|
2318
|
-
this.options.plugins = this.options.plugins.reduce((r, s) => (s && r && !r.find((a) => a.name === s.name) && r.push(s), r), o || []);
|
|
2309
|
+
const n = registerPlugins(t, this);
|
|
2310
|
+
this.options.plugins = this.options.plugins.reduce((r, s) => (s && r && !r.find((i) => i.name === s.name) && r.push(s), r), n || []);
|
|
2319
2311
|
}
|
|
2320
|
-
registerRemotes(t,
|
|
2321
|
-
return this.remoteHandler.registerRemotes(t,
|
|
2312
|
+
registerRemotes(t, n) {
|
|
2313
|
+
return this.remoteHandler.registerRemotes(t, n);
|
|
2322
2314
|
}
|
|
2323
2315
|
constructor(t) {
|
|
2324
2316
|
this.hooks = new PluginSystem({
|
|
@@ -2342,13 +2334,13 @@ class FederationHost {
|
|
|
2342
2334
|
beforeBridgeDestroy: new SyncHook(),
|
|
2343
2335
|
afterBridgeDestroy: new SyncHook()
|
|
2344
2336
|
});
|
|
2345
|
-
const
|
|
2337
|
+
const n = USE_SNAPSHOT ? [
|
|
2346
2338
|
snapshotPlugin(),
|
|
2347
2339
|
generatePreloadAssetsPlugin()
|
|
2348
2340
|
] : [], r = {
|
|
2349
2341
|
id: getBuilderId(),
|
|
2350
2342
|
name: t.name,
|
|
2351
|
-
plugins:
|
|
2343
|
+
plugins: n,
|
|
2352
2344
|
remotes: [],
|
|
2353
2345
|
shared: {},
|
|
2354
2346
|
inBrowser: isBrowserEnv()
|
|
@@ -2364,8 +2356,8 @@ function getInstance() {
|
|
|
2364
2356
|
return FederationInstance;
|
|
2365
2357
|
}
|
|
2366
2358
|
setGlobalFederationConstructor(FederationHost);
|
|
2367
|
-
function createBridgeComponent(
|
|
2368
|
-
const t = /* @__PURE__ */ new Map(),
|
|
2359
|
+
function createBridgeComponent(o) {
|
|
2360
|
+
const t = /* @__PURE__ */ new Map(), n = getInstance();
|
|
2369
2361
|
return () => ({
|
|
2370
2362
|
__APP_VERSION__: "0.16.0",
|
|
2371
2363
|
async render(r) {
|
|
@@ -2373,17 +2365,17 @@ function createBridgeComponent(n) {
|
|
|
2373
2365
|
LoggerInstance.debug("createBridgeComponent render Info", r);
|
|
2374
2366
|
const {
|
|
2375
2367
|
moduleName: s,
|
|
2376
|
-
dom:
|
|
2368
|
+
dom: i,
|
|
2377
2369
|
basename: l,
|
|
2378
|
-
memoryRoute:
|
|
2370
|
+
memoryRoute: a,
|
|
2379
2371
|
hashRoute: c,
|
|
2380
2372
|
...u
|
|
2381
|
-
} = r, p = Vue.createApp(
|
|
2382
|
-
t.set(
|
|
2383
|
-
const d = await ((_ = (E = (g =
|
|
2373
|
+
} = r, p = Vue.createApp(o.rootComponent, u);
|
|
2374
|
+
t.set(i, p);
|
|
2375
|
+
const d = await ((_ = (E = (g = n == null ? void 0 : n.bridgeHook) == null ? void 0 : g.lifecycle) == null ? void 0 : E.beforeBridgeRender) == null ? void 0 : _.emit(r)), m = d && typeof d == "object" && (d != null && d.extraProps) ? d == null ? void 0 : d.extraProps : {}, y = o.appOptions({
|
|
2384
2376
|
app: p,
|
|
2385
2377
|
basename: l,
|
|
2386
|
-
memoryRoute:
|
|
2378
|
+
memoryRoute: a,
|
|
2387
2379
|
hashRoute: c,
|
|
2388
2380
|
...u,
|
|
2389
2381
|
...m
|
|
@@ -2402,9 +2394,9 @@ function createBridgeComponent(n) {
|
|
|
2402
2394
|
LoggerInstance.debug("createBridgeComponent render router info>>>", {
|
|
2403
2395
|
moduleName: s,
|
|
2404
2396
|
router: I
|
|
2405
|
-
}),
|
|
2397
|
+
}), a && await I.push(a.entryPath), p.use(I);
|
|
2406
2398
|
}
|
|
2407
|
-
p.mount(
|
|
2399
|
+
p.mount(i);
|
|
2408
2400
|
},
|
|
2409
2401
|
destroy(r) {
|
|
2410
2402
|
LoggerInstance.debug("createBridgeComponent destroy Info", r);
|
|
@@ -2414,8 +2406,8 @@ function createBridgeComponent(n) {
|
|
|
2414
2406
|
});
|
|
2415
2407
|
}
|
|
2416
2408
|
function e() {
|
|
2417
|
-
const
|
|
2418
|
-
window.dispatchEvent(
|
|
2409
|
+
const o = new PopStateEvent("popstate", { state: window.history.state });
|
|
2410
|
+
window.dispatchEvent(o);
|
|
2419
2411
|
}
|
|
2420
2412
|
const RemoteApp = /* @__PURE__ */ defineComponent({
|
|
2421
2413
|
name: "RemoteApp",
|
|
@@ -2428,76 +2420,76 @@ const RemoteApp = /* @__PURE__ */ defineComponent({
|
|
|
2428
2420
|
rootAttrs: Object
|
|
2429
2421
|
},
|
|
2430
2422
|
inheritAttrs: !1,
|
|
2431
|
-
setup(
|
|
2432
|
-
const t = ref(null),
|
|
2423
|
+
setup(o) {
|
|
2424
|
+
const t = ref(null), n = ref(null), r = ref(""), s = useRoute(), i = getInstance(), l = useAttrs(), a = async () => {
|
|
2433
2425
|
var m, y, g, E;
|
|
2434
|
-
const u = (m =
|
|
2435
|
-
|
|
2426
|
+
const u = (m = o.providerInfo) == null ? void 0 : m.call(o);
|
|
2427
|
+
n.value = u;
|
|
2436
2428
|
let p = {
|
|
2437
2429
|
...l,
|
|
2438
|
-
moduleName:
|
|
2430
|
+
moduleName: o.moduleName,
|
|
2439
2431
|
dom: t.value,
|
|
2440
|
-
basename:
|
|
2441
|
-
memoryRoute:
|
|
2442
|
-
hashRoute:
|
|
2432
|
+
basename: o.basename,
|
|
2433
|
+
memoryRoute: o.memoryRoute,
|
|
2434
|
+
hashRoute: o.hashRoute
|
|
2443
2435
|
};
|
|
2444
2436
|
LoggerInstance.debug("createRemoteAppComponent LazyComponent render >>>", p);
|
|
2445
|
-
const d = await ((E = (g = (y =
|
|
2437
|
+
const d = await ((E = (g = (y = i == null ? void 0 : i.bridgeHook) == null ? void 0 : y.lifecycle) == null ? void 0 : g.beforeBridgeRender) == null ? void 0 : E.emit(p)) || {};
|
|
2446
2438
|
p = {
|
|
2447
2439
|
...p,
|
|
2448
2440
|
...d.extraProps
|
|
2449
2441
|
}, u.render(p);
|
|
2450
2442
|
}, c = watch(() => s == null ? void 0 : s.path, (u) => {
|
|
2451
|
-
u !== s.path &&
|
|
2452
|
-
...
|
|
2443
|
+
u !== s.path && a(), r.value !== "" && r.value !== u && (LoggerInstance.debug("createRemoteAppComponent dispatchPopstateEnv >>>", {
|
|
2444
|
+
...o,
|
|
2453
2445
|
pathname: s.path
|
|
2454
2446
|
}), e()), r.value = u;
|
|
2455
2447
|
});
|
|
2456
2448
|
return onMounted(() => {
|
|
2457
|
-
|
|
2449
|
+
a();
|
|
2458
2450
|
}), onBeforeUnmount(() => {
|
|
2459
2451
|
var u;
|
|
2460
2452
|
LoggerInstance.debug("createRemoteAppComponent LazyComponent destroy >>>", {
|
|
2461
|
-
...
|
|
2462
|
-
}), c(), (u =
|
|
2453
|
+
...o
|
|
2454
|
+
}), c(), (u = n.value) == null || u.destroy({
|
|
2463
2455
|
dom: t.value
|
|
2464
2456
|
});
|
|
2465
|
-
}), () => createVNode("div", mergeProps(
|
|
2457
|
+
}), () => createVNode("div", mergeProps(o.rootAttrs || {}, {
|
|
2466
2458
|
ref: t
|
|
2467
2459
|
}), null);
|
|
2468
2460
|
}
|
|
2469
2461
|
});
|
|
2470
|
-
function createRemoteAppComponent(
|
|
2462
|
+
function createRemoteAppComponent(o) {
|
|
2471
2463
|
return defineAsyncComponent({
|
|
2472
2464
|
__APP_VERSION__: "0.16.0",
|
|
2473
|
-
...
|
|
2465
|
+
...o.asyncComponentOptions,
|
|
2474
2466
|
//@ts-ignore
|
|
2475
2467
|
loader: async () => {
|
|
2476
2468
|
var c, u;
|
|
2477
2469
|
const t = useRoute();
|
|
2478
|
-
let
|
|
2470
|
+
let n = "/";
|
|
2479
2471
|
const r = (u = (c = t == null ? void 0 : t.matched) == null ? void 0 : c[0]) == null ? void 0 : u.path;
|
|
2480
|
-
r && (r.endsWith("/:pathMatch(.*)*") ?
|
|
2481
|
-
const s = (
|
|
2472
|
+
r && (r.endsWith("/:pathMatch(.*)*") ? n = r.replace("/:pathMatch(.*)*", "") : n = t.matched[0].path);
|
|
2473
|
+
const s = (o == null ? void 0 : o.export) || "default";
|
|
2482
2474
|
LoggerInstance.debug(
|
|
2483
2475
|
"createRemoteAppComponent LazyComponent create >>>",
|
|
2484
2476
|
{
|
|
2485
|
-
basename:
|
|
2486
|
-
info:
|
|
2477
|
+
basename: n,
|
|
2478
|
+
info: o
|
|
2487
2479
|
}
|
|
2488
2480
|
);
|
|
2489
|
-
const
|
|
2481
|
+
const i = await o.loader(), l = i && i[Symbol.for("mf_module_id")], a = i[s];
|
|
2490
2482
|
if (LoggerInstance.debug(
|
|
2491
2483
|
"createRemoteAppComponent LazyComponent loadRemote info >>>",
|
|
2492
|
-
{ moduleName: l, module:
|
|
2493
|
-
), s in
|
|
2484
|
+
{ moduleName: l, module: i, exportName: s, basename: n, route: t }
|
|
2485
|
+
), s in i && typeof a == "function")
|
|
2494
2486
|
return {
|
|
2495
2487
|
render() {
|
|
2496
2488
|
return h(RemoteApp, {
|
|
2497
2489
|
moduleName: l,
|
|
2498
|
-
providerInfo:
|
|
2499
|
-
basename:
|
|
2500
|
-
rootAttrs:
|
|
2490
|
+
providerInfo: a,
|
|
2491
|
+
basename: n,
|
|
2492
|
+
rootAttrs: o.rootAttrs
|
|
2501
2493
|
});
|
|
2502
2494
|
}
|
|
2503
2495
|
};
|
|
@@ -2505,10 +2497,10 @@ function createRemoteAppComponent(n) {
|
|
|
2505
2497
|
}
|
|
2506
2498
|
});
|
|
2507
2499
|
}
|
|
2508
|
-
function createRemoteComponent(
|
|
2500
|
+
function createRemoteComponent(o) {
|
|
2509
2501
|
return LoggerInstance.warn(
|
|
2510
2502
|
"createRemoteAppComponent is deprecated, please use createRemoteAppComponent instead!"
|
|
2511
|
-
), createRemoteAppComponent(
|
|
2503
|
+
), createRemoteAppComponent(o);
|
|
2512
2504
|
}
|
|
2513
2505
|
export {
|
|
2514
2506
|
createBridgeComponent,
|