@module-federation/runtime-core 0.0.0-next-20250902054534 → 0.0.0-next-20250902071251
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.cjs +25 -14
- package/dist/index.cjs.cjs.map +1 -1
- package/dist/index.esm.js +25 -14
- package/dist/index.esm.js.map +1 -1
- package/dist/src/utils/load.d.ts +2 -1
- package/package.json +3 -3
package/dist/index.cjs.cjs
CHANGED
|
@@ -1098,12 +1098,14 @@ function handleRemoteEntryLoaded(name, globalName, entry) {
|
|
|
1098
1098
|
}));
|
|
1099
1099
|
return entryExports;
|
|
1100
1100
|
}
|
|
1101
|
-
async function loadEntryScript({ name, globalName, entry, loaderHook }) {
|
|
1101
|
+
async function loadEntryScript({ name, globalName, entry, loaderHook, getEntryUrl }) {
|
|
1102
1102
|
const { entryExports: remoteEntryExports } = getRemoteEntryExports(name, globalName);
|
|
1103
1103
|
if (remoteEntryExports) {
|
|
1104
1104
|
return remoteEntryExports;
|
|
1105
1105
|
}
|
|
1106
|
-
|
|
1106
|
+
// if getEntryUrl is passed, use the getEntryUrl to get the entry url
|
|
1107
|
+
const url = getEntryUrl ? getEntryUrl(entry) : entry;
|
|
1108
|
+
return sdk.loadScript(url, {
|
|
1107
1109
|
attrs: {},
|
|
1108
1110
|
createScriptHook: (url, attrs)=>{
|
|
1109
1111
|
const res = loaderHook.lifecycle.createScript.emit({
|
|
@@ -1129,7 +1131,7 @@ async function loadEntryScript({ name, globalName, entry, loaderHook }) {
|
|
|
1129
1131
|
throw e;
|
|
1130
1132
|
});
|
|
1131
1133
|
}
|
|
1132
|
-
async function loadEntryDom({ remoteInfo, remoteEntryExports, loaderHook }) {
|
|
1134
|
+
async function loadEntryDom({ remoteInfo, remoteEntryExports, loaderHook, getEntryUrl }) {
|
|
1133
1135
|
const { entry, entryGlobalName: globalName, name, type } = remoteInfo;
|
|
1134
1136
|
switch(type){
|
|
1135
1137
|
case 'esm':
|
|
@@ -1148,7 +1150,8 @@ async function loadEntryDom({ remoteInfo, remoteEntryExports, loaderHook }) {
|
|
|
1148
1150
|
entry,
|
|
1149
1151
|
globalName,
|
|
1150
1152
|
name,
|
|
1151
|
-
loaderHook
|
|
1153
|
+
loaderHook,
|
|
1154
|
+
getEntryUrl
|
|
1152
1155
|
});
|
|
1153
1156
|
}
|
|
1154
1157
|
}
|
|
@@ -1187,7 +1190,8 @@ function getRemoteEntryUniqueKey(remoteInfo) {
|
|
|
1187
1190
|
const { entry, name } = remoteInfo;
|
|
1188
1191
|
return sdk.composeKeyWithSeparator(name, entry);
|
|
1189
1192
|
}
|
|
1190
|
-
async function getRemoteEntry(
|
|
1193
|
+
async function getRemoteEntry(params) {
|
|
1194
|
+
const { origin, remoteEntryExports, remoteInfo, getEntryUrl } = params;
|
|
1191
1195
|
const uniqueKey = getRemoteEntryUniqueKey(remoteInfo);
|
|
1192
1196
|
if (remoteEntryExports) {
|
|
1193
1197
|
return remoteEntryExports;
|
|
@@ -1208,7 +1212,8 @@ async function getRemoteEntry({ origin, remoteEntryExports, remoteInfo }) {
|
|
|
1208
1212
|
return isWebEnvironment ? loadEntryDom({
|
|
1209
1213
|
remoteInfo,
|
|
1210
1214
|
remoteEntryExports,
|
|
1211
|
-
loaderHook
|
|
1215
|
+
loaderHook,
|
|
1216
|
+
getEntryUrl
|
|
1212
1217
|
}) : loadEntryNode({
|
|
1213
1218
|
remoteInfo,
|
|
1214
1219
|
loaderHook
|
|
@@ -1436,14 +1441,20 @@ let Module = class Module {
|
|
|
1436
1441
|
});
|
|
1437
1442
|
} catch (err) {
|
|
1438
1443
|
const uniqueKey = getRemoteEntryUniqueKey(this.remoteInfo);
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1444
|
+
// only when the error is RUNTIME_008 (script resource load failed) trigger loadEntryError.emit
|
|
1445
|
+
const isScriptLoadError = err instanceof Error && err.message.includes(errorCodes.RUNTIME_008);
|
|
1446
|
+
if (isScriptLoadError) {
|
|
1447
|
+
remoteEntryExports = await this.host.loaderHook.lifecycle.loadEntryError.emit({
|
|
1448
|
+
getRemoteEntry,
|
|
1449
|
+
origin: this.host,
|
|
1450
|
+
remoteInfo: this.remoteInfo,
|
|
1451
|
+
remoteEntryExports: this.remoteEntryExports,
|
|
1452
|
+
globalLoading,
|
|
1453
|
+
uniqueKey
|
|
1454
|
+
});
|
|
1455
|
+
} else {
|
|
1456
|
+
throw err;
|
|
1457
|
+
}
|
|
1447
1458
|
}
|
|
1448
1459
|
assert(remoteEntryExports, `remoteEntryExports is undefined \n ${sdk.safeToString(this.remoteInfo)}`);
|
|
1449
1460
|
this.remoteEntryExports = remoteEntryExports;
|