@module-federation/runtime 0.8.0 → 0.8.2
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.js +20 -8
- package/dist/index.esm.mjs +20 -8
- package/dist/share.cjs.js +1 -1
- package/dist/share.esm.mjs +1 -1
- package/dist/src/core.d.ts +9 -0
- package/dist/src/embedded.d.ts +8 -0
- package/package.json +3 -3
package/dist/index.cjs.js
CHANGED
|
@@ -270,12 +270,24 @@ let Module = class Module {
|
|
|
270
270
|
if (this.remoteEntryExports) {
|
|
271
271
|
return this.remoteEntryExports;
|
|
272
272
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
273
|
+
let remoteEntryExports;
|
|
274
|
+
try {
|
|
275
|
+
remoteEntryExports = await getRemoteEntry({
|
|
276
|
+
origin: this.host,
|
|
277
|
+
remoteInfo: this.remoteInfo,
|
|
278
|
+
remoteEntryExports: this.remoteEntryExports
|
|
279
|
+
});
|
|
280
|
+
} catch (err) {
|
|
281
|
+
const uniqueKey = getRemoteEntryUniqueKey(this.remoteInfo);
|
|
282
|
+
remoteEntryExports = await this.host.loaderHook.lifecycle.loadEntryError.emit({
|
|
283
|
+
getRemoteEntry,
|
|
284
|
+
origin: this.host,
|
|
285
|
+
remoteInfo: this.remoteInfo,
|
|
286
|
+
remoteEntryExports: this.remoteEntryExports,
|
|
287
|
+
globalLoading: share.globalLoading,
|
|
288
|
+
uniqueKey
|
|
289
|
+
});
|
|
290
|
+
}
|
|
279
291
|
share.assert(remoteEntryExports, `remoteEntryExports is undefined \n ${sdk.safeToString(this.remoteInfo)}`);
|
|
280
292
|
this.remoteEntryExports = remoteEntryExports;
|
|
281
293
|
return this.remoteEntryExports;
|
|
@@ -2014,15 +2026,15 @@ class FederationHost {
|
|
|
2014
2026
|
// maybe will change, temporarily for internal use only
|
|
2015
2027
|
initContainer: new AsyncWaterfallHook('initContainer')
|
|
2016
2028
|
});
|
|
2017
|
-
this.version = "0.8.
|
|
2029
|
+
this.version = "0.8.2";
|
|
2018
2030
|
this.moduleCache = new Map();
|
|
2019
2031
|
this.loaderHook = new PluginSystem({
|
|
2020
2032
|
// FIXME: may not be suitable , not open to the public yet
|
|
2021
2033
|
getModuleInfo: new SyncHook(),
|
|
2022
2034
|
createScript: new SyncHook(),
|
|
2023
2035
|
createLink: new SyncHook(),
|
|
2024
|
-
// only work for manifest , so not open to the public yet
|
|
2025
2036
|
fetch: new AsyncHook(),
|
|
2037
|
+
loadEntryError: new AsyncHook(),
|
|
2026
2038
|
getModuleFactory: new AsyncHook()
|
|
2027
2039
|
});
|
|
2028
2040
|
this.bridgeHook = new PluginSystem({
|
package/dist/index.esm.mjs
CHANGED
|
@@ -270,12 +270,24 @@ let Module = class Module {
|
|
|
270
270
|
if (this.remoteEntryExports) {
|
|
271
271
|
return this.remoteEntryExports;
|
|
272
272
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
273
|
+
let remoteEntryExports;
|
|
274
|
+
try {
|
|
275
|
+
remoteEntryExports = await getRemoteEntry({
|
|
276
|
+
origin: this.host,
|
|
277
|
+
remoteInfo: this.remoteInfo,
|
|
278
|
+
remoteEntryExports: this.remoteEntryExports
|
|
279
|
+
});
|
|
280
|
+
} catch (err) {
|
|
281
|
+
const uniqueKey = getRemoteEntryUniqueKey(this.remoteInfo);
|
|
282
|
+
remoteEntryExports = await this.host.loaderHook.lifecycle.loadEntryError.emit({
|
|
283
|
+
getRemoteEntry,
|
|
284
|
+
origin: this.host,
|
|
285
|
+
remoteInfo: this.remoteInfo,
|
|
286
|
+
remoteEntryExports: this.remoteEntryExports,
|
|
287
|
+
globalLoading,
|
|
288
|
+
uniqueKey
|
|
289
|
+
});
|
|
290
|
+
}
|
|
279
291
|
assert(remoteEntryExports, `remoteEntryExports is undefined \n ${safeToString(this.remoteInfo)}`);
|
|
280
292
|
this.remoteEntryExports = remoteEntryExports;
|
|
281
293
|
return this.remoteEntryExports;
|
|
@@ -2014,15 +2026,15 @@ class FederationHost {
|
|
|
2014
2026
|
// maybe will change, temporarily for internal use only
|
|
2015
2027
|
initContainer: new AsyncWaterfallHook('initContainer')
|
|
2016
2028
|
});
|
|
2017
|
-
this.version = "0.8.
|
|
2029
|
+
this.version = "0.8.2";
|
|
2018
2030
|
this.moduleCache = new Map();
|
|
2019
2031
|
this.loaderHook = new PluginSystem({
|
|
2020
2032
|
// FIXME: may not be suitable , not open to the public yet
|
|
2021
2033
|
getModuleInfo: new SyncHook(),
|
|
2022
2034
|
createScript: new SyncHook(),
|
|
2023
2035
|
createLink: new SyncHook(),
|
|
2024
|
-
// only work for manifest , so not open to the public yet
|
|
2025
2036
|
fetch: new AsyncHook(),
|
|
2037
|
+
loadEntryError: new AsyncHook(),
|
|
2026
2038
|
getModuleFactory: new AsyncHook()
|
|
2027
2039
|
});
|
|
2028
2040
|
this.bridgeHook = new PluginSystem({
|
package/dist/share.cjs.js
CHANGED
|
@@ -197,7 +197,7 @@ function getGlobalFederationConstructor() {
|
|
|
197
197
|
function setGlobalFederationConstructor(FederationConstructor, isDebug = sdk.isDebugMode()) {
|
|
198
198
|
if (isDebug) {
|
|
199
199
|
CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = FederationConstructor;
|
|
200
|
-
CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = "0.8.
|
|
200
|
+
CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = "0.8.2";
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
203
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
package/dist/share.esm.mjs
CHANGED
|
@@ -195,7 +195,7 @@ function getGlobalFederationConstructor() {
|
|
|
195
195
|
function setGlobalFederationConstructor(FederationConstructor, isDebug = isDebugMode()) {
|
|
196
196
|
if (isDebug) {
|
|
197
197
|
CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = FederationConstructor;
|
|
198
|
-
CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = "0.8.
|
|
198
|
+
CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = "0.8.2";
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
package/dist/src/core.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CreateScriptHookReturn, ModuleInfo } from '@module-federation/sdk';
|
|
2
2
|
import { Options, PreloadRemoteArgs, RemoteEntryExports, Remote, Shared, ShareInfos, UserOptions, RemoteInfo, ShareScopeMap, InitScope, RemoteEntryInitOptions, CallFrom } from './type';
|
|
3
|
+
import { getRemoteEntry } from './utils';
|
|
3
4
|
import { Module } from './module';
|
|
4
5
|
import { AsyncHook, AsyncWaterfallHook, PluginSystem, SyncHook, SyncWaterfallHook } from './utils/hooks';
|
|
5
6
|
import { SnapshotHandler } from './plugins/snapshot/SnapshotHandler';
|
|
@@ -60,6 +61,14 @@ export declare class FederationHost {
|
|
|
60
61
|
attrs?: Record<string, any>;
|
|
61
62
|
}], void | HTMLLinkElement>;
|
|
62
63
|
fetch: AsyncHook<[string, RequestInit], false | void | Promise<Response>>;
|
|
64
|
+
loadEntryError: AsyncHook<[{
|
|
65
|
+
getRemoteEntry: typeof getRemoteEntry;
|
|
66
|
+
origin: FederationHost;
|
|
67
|
+
remoteInfo: RemoteInfo;
|
|
68
|
+
remoteEntryExports?: RemoteEntryExports | undefined;
|
|
69
|
+
globalLoading: Record<string, Promise<void | RemoteEntryExports> | undefined>;
|
|
70
|
+
uniqueKey: string;
|
|
71
|
+
}], Promise<(() => Promise<RemoteEntryExports | undefined>) | undefined>>;
|
|
63
72
|
getModuleFactory: AsyncHook<[{
|
|
64
73
|
remoteEntryExports: RemoteEntryExports;
|
|
65
74
|
expose: string;
|
package/dist/src/embedded.d.ts
CHANGED
|
@@ -72,6 +72,14 @@ export declare class FederationHost implements IndexModule.FederationHost {
|
|
|
72
72
|
attrs?: Record<string, any>;
|
|
73
73
|
}], void | HTMLLinkElement>;
|
|
74
74
|
fetch: import("./utils/hooks").AsyncHook<[string, RequestInit], false | void | Promise<Response>>;
|
|
75
|
+
loadEntryError: import("./utils/hooks").AsyncHook<[{
|
|
76
|
+
getRemoteEntry: typeof IndexModule.getRemoteEntry;
|
|
77
|
+
origin: IndexModule.FederationHost;
|
|
78
|
+
remoteInfo: import("./type").RemoteInfo;
|
|
79
|
+
remoteEntryExports?: import("./type").RemoteEntryExports | undefined;
|
|
80
|
+
globalLoading: Record<string, Promise<void | import("./type").RemoteEntryExports> | undefined>;
|
|
81
|
+
uniqueKey: string;
|
|
82
|
+
}], Promise<(() => Promise<import("./type").RemoteEntryExports | undefined>) | undefined>>;
|
|
75
83
|
getModuleFactory: import("./utils/hooks").AsyncHook<[{
|
|
76
84
|
remoteEntryExports: import("./type").RemoteEntryExports;
|
|
77
85
|
expose: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@module-federation/runtime",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.2",
|
|
4
4
|
"author": "zhouxiao <codingzx@gmail.com>",
|
|
5
5
|
"main": "./dist/index.cjs.js",
|
|
6
6
|
"module": "./dist/index.esm.mjs",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
}
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@module-federation/sdk": "0.8.
|
|
54
|
-
"@module-federation/error-codes": "0.8.
|
|
53
|
+
"@module-federation/sdk": "0.8.2",
|
|
54
|
+
"@module-federation/error-codes": "0.8.2"
|
|
55
55
|
}
|
|
56
56
|
}
|