@module-federation/runtime-core 0.0.0-next-20250714115720 → 0.0.0-next-20250717203314
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 +10 -5
- package/dist/index.esm.js +10 -5
- package/dist/src/core.d.ts +7 -6
- package/dist/src/global.d.ts +10 -10
- package/dist/src/index.d.ts +2 -2
- package/dist/src/module/index.d.ts +3 -3
- package/dist/src/plugins/generate-preload-assets.d.ts +4 -4
- package/dist/src/plugins/snapshot/SnapshotHandler.d.ts +6 -6
- package/dist/src/plugins/snapshot/index.d.ts +2 -2
- package/dist/src/remote/index.d.ts +14 -14
- package/dist/src/shared/index.d.ts +7 -7
- package/dist/src/type/config.d.ts +2 -2
- package/dist/src/type/plugin.d.ts +4 -4
- package/dist/src/utils/hooks/pluginSystem.d.ts +3 -3
- package/dist/src/utils/load.d.ts +2 -2
- package/dist/src/utils/plugin.d.ts +2 -2
- package/dist/src/utils/preload.d.ts +2 -2
- package/dist/src/utils/share.d.ts +1 -1
- package/package.json +10 -10
- /package/dist/{index.esm.d.ts → index.d.ts} +0 -0
- /package/dist/{types.esm.d.ts → types.d.ts} +0 -0
package/dist/index.cjs.cjs
CHANGED
|
@@ -196,7 +196,7 @@ function getGlobalFederationConstructor() {
|
|
|
196
196
|
function setGlobalFederationConstructor(FederationConstructor, isDebug = sdk.isDebugMode()) {
|
|
197
197
|
if (isDebug) {
|
|
198
198
|
CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = FederationConstructor;
|
|
199
|
-
CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = "0.
|
|
199
|
+
CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = "0.17.0";
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
@@ -1934,7 +1934,7 @@ function generatePreloadAssets(origin, preloadOptions, remote, globalSnapshot, r
|
|
|
1934
1934
|
}
|
|
1935
1935
|
}
|
|
1936
1936
|
}, true, memo, remoteSnapshot);
|
|
1937
|
-
if (remoteSnapshot.shared) {
|
|
1937
|
+
if (remoteSnapshot.shared && remoteSnapshot.shared.length > 0) {
|
|
1938
1938
|
const collectSharedAssets = (shareInfo, snapshotShared)=>{
|
|
1939
1939
|
const registeredShared = getRegisteredShare(origin.shareScopeMap, snapshotShared.sharedName, shareInfo, origin.sharedHandler.hooks.lifecycle.resolveShare);
|
|
1940
1940
|
// If the global share does not exist, or the lib function does not exist, it means that the shared has not been loaded yet and can be preloaded.
|
|
@@ -2921,7 +2921,7 @@ class RemoteHandler {
|
|
|
2921
2921
|
}
|
|
2922
2922
|
|
|
2923
2923
|
const USE_SNAPSHOT = typeof FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN === 'boolean' ? !FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN : true; // Default to true (use snapshot) when not explicitly defined
|
|
2924
|
-
class
|
|
2924
|
+
class ModuleFederation {
|
|
2925
2925
|
initOptions(userOptions) {
|
|
2926
2926
|
this.registerPlugins(userOptions.plugins);
|
|
2927
2927
|
const options = this.formatOptions(this.options, userOptions);
|
|
@@ -3011,6 +3011,11 @@ class FederationHost {
|
|
|
3011
3011
|
registerRemotes(remotes, options) {
|
|
3012
3012
|
return this.remoteHandler.registerRemotes(remotes, options);
|
|
3013
3013
|
}
|
|
3014
|
+
registerShared(shared) {
|
|
3015
|
+
this.sharedHandler.registerShared(this.options, polyfills._extends({}, this.options, {
|
|
3016
|
+
shared
|
|
3017
|
+
}));
|
|
3018
|
+
}
|
|
3014
3019
|
constructor(userOptions){
|
|
3015
3020
|
this.hooks = new PluginSystem({
|
|
3016
3021
|
beforeInit: new SyncWaterfallHook('beforeInit'),
|
|
@@ -3020,7 +3025,7 @@ class FederationHost {
|
|
|
3020
3025
|
// maybe will change, temporarily for internal use only
|
|
3021
3026
|
initContainer: new AsyncWaterfallHook('initContainer')
|
|
3022
3027
|
});
|
|
3023
|
-
this.version = "0.
|
|
3028
|
+
this.version = "0.17.0";
|
|
3024
3029
|
this.moduleCache = new Map();
|
|
3025
3030
|
this.loaderHook = new PluginSystem({
|
|
3026
3031
|
// FIXME: may not be suitable , not open to the public yet
|
|
@@ -3072,9 +3077,9 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
3072
3077
|
exports.loadScript = sdk.loadScript;
|
|
3073
3078
|
exports.loadScriptNode = sdk.loadScriptNode;
|
|
3074
3079
|
exports.CurrentGlobal = CurrentGlobal;
|
|
3075
|
-
exports.FederationHost = FederationHost;
|
|
3076
3080
|
exports.Global = Global;
|
|
3077
3081
|
exports.Module = Module;
|
|
3082
|
+
exports.ModuleFederation = ModuleFederation;
|
|
3078
3083
|
exports.addGlobalSnapshot = addGlobalSnapshot;
|
|
3079
3084
|
exports.assert = assert;
|
|
3080
3085
|
exports.getGlobalFederationConstructor = getGlobalFederationConstructor;
|
package/dist/index.esm.js
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.
|
|
198
|
+
CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = "0.17.0";
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
@@ -1933,7 +1933,7 @@ function generatePreloadAssets(origin, preloadOptions, remote, globalSnapshot, r
|
|
|
1933
1933
|
}
|
|
1934
1934
|
}
|
|
1935
1935
|
}, true, memo, remoteSnapshot);
|
|
1936
|
-
if (remoteSnapshot.shared) {
|
|
1936
|
+
if (remoteSnapshot.shared && remoteSnapshot.shared.length > 0) {
|
|
1937
1937
|
const collectSharedAssets = (shareInfo, snapshotShared)=>{
|
|
1938
1938
|
const registeredShared = getRegisteredShare(origin.shareScopeMap, snapshotShared.sharedName, shareInfo, origin.sharedHandler.hooks.lifecycle.resolveShare);
|
|
1939
1939
|
// If the global share does not exist, or the lib function does not exist, it means that the shared has not been loaded yet and can be preloaded.
|
|
@@ -2920,7 +2920,7 @@ class RemoteHandler {
|
|
|
2920
2920
|
}
|
|
2921
2921
|
|
|
2922
2922
|
const USE_SNAPSHOT = typeof FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN === 'boolean' ? !FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN : true; // Default to true (use snapshot) when not explicitly defined
|
|
2923
|
-
class
|
|
2923
|
+
class ModuleFederation {
|
|
2924
2924
|
initOptions(userOptions) {
|
|
2925
2925
|
this.registerPlugins(userOptions.plugins);
|
|
2926
2926
|
const options = this.formatOptions(this.options, userOptions);
|
|
@@ -3010,6 +3010,11 @@ class FederationHost {
|
|
|
3010
3010
|
registerRemotes(remotes, options) {
|
|
3011
3011
|
return this.remoteHandler.registerRemotes(remotes, options);
|
|
3012
3012
|
}
|
|
3013
|
+
registerShared(shared) {
|
|
3014
|
+
this.sharedHandler.registerShared(this.options, _extends({}, this.options, {
|
|
3015
|
+
shared
|
|
3016
|
+
}));
|
|
3017
|
+
}
|
|
3013
3018
|
constructor(userOptions){
|
|
3014
3019
|
this.hooks = new PluginSystem({
|
|
3015
3020
|
beforeInit: new SyncWaterfallHook('beforeInit'),
|
|
@@ -3019,7 +3024,7 @@ class FederationHost {
|
|
|
3019
3024
|
// maybe will change, temporarily for internal use only
|
|
3020
3025
|
initContainer: new AsyncWaterfallHook('initContainer')
|
|
3021
3026
|
});
|
|
3022
|
-
this.version = "0.
|
|
3027
|
+
this.version = "0.17.0";
|
|
3023
3028
|
this.moduleCache = new Map();
|
|
3024
3029
|
this.loaderHook = new PluginSystem({
|
|
3025
3030
|
// FIXME: may not be suitable , not open to the public yet
|
|
@@ -3068,4 +3073,4 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
3068
3073
|
__proto__: null
|
|
3069
3074
|
});
|
|
3070
3075
|
|
|
3071
|
-
export { CurrentGlobal,
|
|
3076
|
+
export { CurrentGlobal, Global, Module, ModuleFederation, addGlobalSnapshot, assert, getGlobalFederationConstructor, getGlobalSnapshot, getInfoWithoutType, getRegisteredShare, getRemoteEntry, getRemoteInfo, helpers, isStaticResourcesEqual, matchRemoteWithNameAndExpose, registerGlobalPlugins, resetFederationGlobalInfo, safeWrapper, satisfy, setGlobalFederationConstructor, setGlobalFederationInstance, index as types };
|
package/dist/src/core.d.ts
CHANGED
|
@@ -6,25 +6,25 @@ import { AsyncHook, AsyncWaterfallHook, PluginSystem, SyncHook, SyncWaterfallHoo
|
|
|
6
6
|
import { SnapshotHandler } from './plugins/snapshot/SnapshotHandler';
|
|
7
7
|
import { SharedHandler } from './shared';
|
|
8
8
|
import { RemoteHandler } from './remote';
|
|
9
|
-
export declare class
|
|
9
|
+
export declare class ModuleFederation {
|
|
10
10
|
options: Options;
|
|
11
11
|
hooks: PluginSystem<{
|
|
12
12
|
beforeInit: SyncWaterfallHook<{
|
|
13
13
|
userOptions: UserOptions;
|
|
14
14
|
options: Options;
|
|
15
|
-
origin:
|
|
15
|
+
origin: ModuleFederation;
|
|
16
16
|
shareInfo: ShareInfos;
|
|
17
17
|
}>;
|
|
18
18
|
init: SyncHook<[{
|
|
19
19
|
options: Options;
|
|
20
|
-
origin:
|
|
20
|
+
origin: ModuleFederation;
|
|
21
21
|
}], void>;
|
|
22
22
|
beforeInitContainer: AsyncWaterfallHook<{
|
|
23
23
|
shareScope: ShareScopeMap[string];
|
|
24
24
|
initScope: InitScope;
|
|
25
25
|
remoteEntryInitOptions: RemoteEntryInitOptions;
|
|
26
26
|
remoteInfo: RemoteInfo;
|
|
27
|
-
origin:
|
|
27
|
+
origin: ModuleFederation;
|
|
28
28
|
}>;
|
|
29
29
|
initContainer: AsyncWaterfallHook<{
|
|
30
30
|
shareScope: ShareScopeMap[string];
|
|
@@ -32,7 +32,7 @@ export declare class FederationHost {
|
|
|
32
32
|
remoteEntryInitOptions: RemoteEntryInitOptions;
|
|
33
33
|
remoteInfo: RemoteInfo;
|
|
34
34
|
remoteEntryExports: RemoteEntryExports;
|
|
35
|
-
origin:
|
|
35
|
+
origin: ModuleFederation;
|
|
36
36
|
id: string;
|
|
37
37
|
remoteSnapshot?: ModuleInfo;
|
|
38
38
|
}>;
|
|
@@ -63,7 +63,7 @@ export declare class FederationHost {
|
|
|
63
63
|
fetch: AsyncHook<[string, RequestInit], false | void | Promise<Response>>;
|
|
64
64
|
loadEntryError: AsyncHook<[{
|
|
65
65
|
getRemoteEntry: typeof getRemoteEntry;
|
|
66
|
-
origin:
|
|
66
|
+
origin: ModuleFederation;
|
|
67
67
|
remoteInfo: RemoteInfo;
|
|
68
68
|
remoteEntryExports?: RemoteEntryExports | undefined;
|
|
69
69
|
globalLoading: Record<string, Promise<void | RemoteEntryExports> | undefined>;
|
|
@@ -111,4 +111,5 @@ export declare class FederationHost {
|
|
|
111
111
|
registerRemotes(remotes: Remote[], options?: {
|
|
112
112
|
force?: boolean;
|
|
113
113
|
}): void;
|
|
114
|
+
registerShared(shared: UserOptions['shared']): void;
|
|
114
115
|
}
|
package/dist/src/global.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ModuleFederation } from './core';
|
|
2
2
|
import { RemoteEntryExports, GlobalShareScopeMap, Remote, Optional } from './type';
|
|
3
3
|
import { GlobalModuleInfo, ModuleInfo } from '@module-federation/sdk';
|
|
4
|
-
import {
|
|
4
|
+
import { ModuleFederationRuntimePlugin } from './type/plugin';
|
|
5
5
|
export interface Federation {
|
|
6
|
-
__GLOBAL_PLUGIN__: Array<
|
|
6
|
+
__GLOBAL_PLUGIN__: Array<ModuleFederationRuntimePlugin>;
|
|
7
7
|
__DEBUG_CONSTRUCTOR_VERSION__?: string;
|
|
8
8
|
moduleInfo: GlobalModuleInfo;
|
|
9
|
-
__DEBUG_CONSTRUCTOR__?: typeof
|
|
10
|
-
__INSTANCES__: Array<
|
|
9
|
+
__DEBUG_CONSTRUCTOR__?: typeof ModuleFederation;
|
|
10
|
+
__INSTANCES__: Array<ModuleFederation>;
|
|
11
11
|
__SHARE__: GlobalShareScopeMap;
|
|
12
12
|
__MANIFEST_LOADING__: Record<string, Promise<ModuleInfo>>;
|
|
13
13
|
__PRELOADED_MAP__: Map<string, boolean>;
|
|
@@ -20,9 +20,9 @@ declare global {
|
|
|
20
20
|
}
|
|
21
21
|
export declare const globalLoading: Record<string, Promise<void | RemoteEntryExports> | undefined>;
|
|
22
22
|
export declare function resetFederationGlobalInfo(): void;
|
|
23
|
-
export declare function setGlobalFederationInstance(FederationInstance:
|
|
24
|
-
export declare function getGlobalFederationConstructor(): typeof
|
|
25
|
-
export declare function setGlobalFederationConstructor(FederationConstructor: typeof
|
|
23
|
+
export declare function setGlobalFederationInstance(FederationInstance: ModuleFederation): void;
|
|
24
|
+
export declare function getGlobalFederationConstructor(): typeof ModuleFederation | undefined;
|
|
25
|
+
export declare function setGlobalFederationConstructor(FederationConstructor: typeof ModuleFederation | undefined, isDebug?: boolean): void;
|
|
26
26
|
export declare function getInfoWithoutType<T extends object>(target: T, key: keyof T): {
|
|
27
27
|
value: T[keyof T] | undefined;
|
|
28
28
|
key: string;
|
|
@@ -36,7 +36,7 @@ export declare const getRemoteEntryExports: (name: string, globalName: string |
|
|
|
36
36
|
remoteEntryKey: string;
|
|
37
37
|
entryExports: RemoteEntryExports | undefined;
|
|
38
38
|
};
|
|
39
|
-
export declare const registerGlobalPlugins: (plugins: Array<
|
|
40
|
-
export declare const getGlobalHostPlugins: () => Array<
|
|
39
|
+
export declare const registerGlobalPlugins: (plugins: Array<ModuleFederationRuntimePlugin>) => void;
|
|
40
|
+
export declare const getGlobalHostPlugins: () => Array<ModuleFederationRuntimePlugin>;
|
|
41
41
|
export declare const getPreloaded: (id: string) => boolean | undefined;
|
|
42
42
|
export declare const setPreloaded: (id: string) => Map<string, boolean>;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import helpers, { type IGlobalUtils, type IShareUtils } from './helpers';
|
|
2
|
-
export {
|
|
2
|
+
export { ModuleFederation } from './core';
|
|
3
3
|
export { type Federation, CurrentGlobal, Global, getGlobalFederationConstructor, setGlobalFederationInstance, setGlobalFederationConstructor, resetFederationGlobalInfo, addGlobalSnapshot, getGlobalSnapshot, getInfoWithoutType, } from './global';
|
|
4
|
-
export type { UserOptions,
|
|
4
|
+
export type { UserOptions, ModuleFederationRuntimePlugin } from './type';
|
|
5
5
|
export { assert } from './utils/logger';
|
|
6
6
|
export { registerGlobalPlugins } from './global';
|
|
7
7
|
export { getRemoteEntry, getRemoteInfo, isStaticResourcesEqual, matchRemoteWithNameAndExpose, safeWrapper, } from './utils';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ModuleInfo } from '@module-federation/sdk';
|
|
2
|
-
import {
|
|
2
|
+
import { ModuleFederation } from '../core';
|
|
3
3
|
import { RemoteEntryExports, RemoteInfo } from '../type';
|
|
4
4
|
export type ModuleOptions = ConstructorParameters<typeof Module>[0];
|
|
5
5
|
declare class Module {
|
|
@@ -7,10 +7,10 @@ declare class Module {
|
|
|
7
7
|
inited: boolean;
|
|
8
8
|
remoteEntryExports?: RemoteEntryExports;
|
|
9
9
|
lib: RemoteEntryExports | undefined;
|
|
10
|
-
host:
|
|
10
|
+
host: ModuleFederation;
|
|
11
11
|
constructor({ remoteInfo, host, }: {
|
|
12
12
|
remoteInfo: RemoteInfo;
|
|
13
|
-
host:
|
|
13
|
+
host: ModuleFederation;
|
|
14
14
|
});
|
|
15
15
|
getEntry(): Promise<RemoteEntryExports>;
|
|
16
16
|
get(id: string, expose: string, options?: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { GlobalModuleInfo, ModuleInfo } from '@module-federation/sdk';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ModuleFederationRuntimePlugin, PreloadAssets, PreloadOptions, RemoteInfoOptionalVersion } from '../type';
|
|
3
|
+
import { ModuleFederation } from '../core';
|
|
4
4
|
declare global {
|
|
5
5
|
var __INIT_VMOK_DEPLOY_GLOBAL_DATA__: boolean | undefined;
|
|
6
6
|
}
|
|
7
|
-
export declare function generatePreloadAssets(origin:
|
|
8
|
-
export declare const generatePreloadAssetsPlugin: () =>
|
|
7
|
+
export declare function generatePreloadAssets(origin: ModuleFederation, preloadOptions: PreloadOptions[number], remote: RemoteInfoOptionalVersion, globalSnapshot: GlobalModuleInfo, remoteSnapshot: ModuleInfo): PreloadAssets;
|
|
8
|
+
export declare const generatePreloadAssetsPlugin: () => ModuleFederationRuntimePlugin;
|
|
@@ -2,15 +2,15 @@ import { GlobalModuleInfo, Manifest, ModuleInfo } from '@module-federation/sdk';
|
|
|
2
2
|
import { Options, Remote } from '../../type';
|
|
3
3
|
import { getGlobalSnapshot } from '../../global';
|
|
4
4
|
import { PluginSystem, AsyncHook, AsyncWaterfallHook } from '../../utils/hooks';
|
|
5
|
-
import {
|
|
6
|
-
export declare function getGlobalRemoteInfo(moduleInfo: Remote, origin:
|
|
5
|
+
import { ModuleFederation } from '../../core';
|
|
6
|
+
export declare function getGlobalRemoteInfo(moduleInfo: Remote, origin: ModuleFederation): {
|
|
7
7
|
hostGlobalSnapshot: ModuleInfo | undefined;
|
|
8
8
|
globalSnapshot: ReturnType<typeof getGlobalSnapshot>;
|
|
9
9
|
remoteSnapshot: GlobalModuleInfo[string] | undefined;
|
|
10
10
|
};
|
|
11
11
|
export declare class SnapshotHandler {
|
|
12
12
|
loadingHostSnapshot: Promise<GlobalModuleInfo | void> | null;
|
|
13
|
-
HostInstance:
|
|
13
|
+
HostInstance: ModuleFederation;
|
|
14
14
|
manifestCache: Map<string, Manifest>;
|
|
15
15
|
hooks: PluginSystem<{
|
|
16
16
|
beforeLoadRemoteSnapshot: AsyncHook<[{
|
|
@@ -34,15 +34,15 @@ export declare class SnapshotHandler {
|
|
|
34
34
|
}>;
|
|
35
35
|
afterLoadSnapshot: AsyncWaterfallHook<{
|
|
36
36
|
id?: string;
|
|
37
|
-
host:
|
|
37
|
+
host: ModuleFederation;
|
|
38
38
|
options: Options;
|
|
39
39
|
moduleInfo: Remote;
|
|
40
40
|
remoteSnapshot: ModuleInfo;
|
|
41
41
|
}>;
|
|
42
42
|
}>;
|
|
43
|
-
loaderHook:
|
|
43
|
+
loaderHook: ModuleFederation['loaderHook'];
|
|
44
44
|
manifestLoading: Record<string, Promise<ModuleInfo>>;
|
|
45
|
-
constructor(HostInstance:
|
|
45
|
+
constructor(HostInstance: ModuleFederation);
|
|
46
46
|
loadRemoteSnapshotInfo({ moduleInfo, id, expose, }: {
|
|
47
47
|
moduleInfo: Remote;
|
|
48
48
|
id?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ModuleInfo } from '@module-federation/sdk';
|
|
2
|
-
import {
|
|
2
|
+
import { ModuleFederationRuntimePlugin } from '../../type/plugin';
|
|
3
3
|
import { RemoteInfo } from '../../type';
|
|
4
4
|
export declare function assignRemoteInfo(remoteInfo: RemoteInfo, remoteSnapshot: ModuleInfo): void;
|
|
5
|
-
export declare function snapshotPlugin():
|
|
5
|
+
export declare function snapshotPlugin(): ModuleFederationRuntimePlugin;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ModuleInfo, GlobalModuleInfo } from '@module-federation/sdk';
|
|
2
2
|
import { Options, UserOptions, PreloadAssets, PreloadOptions, PreloadRemoteArgs, Remote, RemoteInfo, RemoteEntryExports, CallFrom } from '../type';
|
|
3
|
-
import {
|
|
3
|
+
import { ModuleFederation } from '../core';
|
|
4
4
|
import { PluginSystem, AsyncHook, AsyncWaterfallHook, SyncHook, SyncWaterfallHook } from '../utils/hooks';
|
|
5
5
|
import { Module, ModuleOptions } from '../module';
|
|
6
6
|
export interface LoadRemoteMatch {
|
|
@@ -9,12 +9,12 @@ export interface LoadRemoteMatch {
|
|
|
9
9
|
expose: string;
|
|
10
10
|
remote: Remote;
|
|
11
11
|
options: Options;
|
|
12
|
-
origin:
|
|
12
|
+
origin: ModuleFederation;
|
|
13
13
|
remoteInfo: RemoteInfo;
|
|
14
14
|
remoteSnapshot?: ModuleInfo;
|
|
15
15
|
}
|
|
16
16
|
export declare class RemoteHandler {
|
|
17
|
-
host:
|
|
17
|
+
host: ModuleFederation;
|
|
18
18
|
idToRemoteMap: Record<string, {
|
|
19
19
|
name: string;
|
|
20
20
|
expose: string;
|
|
@@ -22,16 +22,16 @@ export declare class RemoteHandler {
|
|
|
22
22
|
hooks: PluginSystem<{
|
|
23
23
|
beforeRegisterRemote: SyncWaterfallHook<{
|
|
24
24
|
remote: Remote;
|
|
25
|
-
origin:
|
|
25
|
+
origin: ModuleFederation;
|
|
26
26
|
}>;
|
|
27
27
|
registerRemote: SyncWaterfallHook<{
|
|
28
28
|
remote: Remote;
|
|
29
|
-
origin:
|
|
29
|
+
origin: ModuleFederation;
|
|
30
30
|
}>;
|
|
31
31
|
beforeRequest: AsyncWaterfallHook<{
|
|
32
32
|
id: string;
|
|
33
33
|
options: Options;
|
|
34
|
-
origin:
|
|
34
|
+
origin: ModuleFederation;
|
|
35
35
|
}>;
|
|
36
36
|
onLoad: AsyncHook<[{
|
|
37
37
|
id: string;
|
|
@@ -39,7 +39,7 @@ export declare class RemoteHandler {
|
|
|
39
39
|
pkgNameOrAlias: string;
|
|
40
40
|
remote: Remote;
|
|
41
41
|
options: ModuleOptions;
|
|
42
|
-
origin:
|
|
42
|
+
origin: ModuleFederation;
|
|
43
43
|
exposeModule: any;
|
|
44
44
|
exposeModuleFactory: any;
|
|
45
45
|
moduleInstance: Module;
|
|
@@ -50,7 +50,7 @@ export declare class RemoteHandler {
|
|
|
50
50
|
remote: Remote;
|
|
51
51
|
remoteSnapshot: ModuleInfo;
|
|
52
52
|
preloadConfig: PreloadRemoteArgs;
|
|
53
|
-
origin:
|
|
53
|
+
origin: ModuleFederation;
|
|
54
54
|
}], void>;
|
|
55
55
|
errorLoadRemote: AsyncHook<[{
|
|
56
56
|
id: string;
|
|
@@ -58,15 +58,15 @@ export declare class RemoteHandler {
|
|
|
58
58
|
options?: any;
|
|
59
59
|
from: CallFrom;
|
|
60
60
|
lifecycle: "beforeRequest" | "beforeLoadShare" | "afterResolve" | "onLoad";
|
|
61
|
-
origin:
|
|
61
|
+
origin: ModuleFederation;
|
|
62
62
|
}], unknown>;
|
|
63
63
|
beforePreloadRemote: AsyncHook<[{
|
|
64
64
|
preloadOps: Array<PreloadRemoteArgs>;
|
|
65
65
|
options: Options;
|
|
66
|
-
origin:
|
|
66
|
+
origin: ModuleFederation;
|
|
67
67
|
}], false | void | Promise<false | void>>;
|
|
68
68
|
generatePreloadAssets: AsyncHook<[{
|
|
69
|
-
origin:
|
|
69
|
+
origin: ModuleFederation;
|
|
70
70
|
preloadOptions: PreloadOptions[number];
|
|
71
71
|
remote: Remote;
|
|
72
72
|
remoteInfo: RemoteInfo;
|
|
@@ -76,15 +76,15 @@ export declare class RemoteHandler {
|
|
|
76
76
|
afterPreloadRemote: AsyncHook<{
|
|
77
77
|
preloadOps: Array<PreloadRemoteArgs>;
|
|
78
78
|
options: Options;
|
|
79
|
-
origin:
|
|
79
|
+
origin: ModuleFederation;
|
|
80
80
|
}, false | void | Promise<false | void>>;
|
|
81
81
|
loadEntry: AsyncHook<[{
|
|
82
|
-
loaderHook:
|
|
82
|
+
loaderHook: ModuleFederation["loaderHook"];
|
|
83
83
|
remoteInfo: RemoteInfo;
|
|
84
84
|
remoteEntryExports?: RemoteEntryExports;
|
|
85
85
|
}], Promise<RemoteEntryExports>>;
|
|
86
86
|
}>;
|
|
87
|
-
constructor(host:
|
|
87
|
+
constructor(host: ModuleFederation);
|
|
88
88
|
formatAndRegisterRemote(globalOptions: Options, userOptions: UserOptions): Remote[];
|
|
89
89
|
setIdToRemoteMap(id: string, remoteMatchInfo: LoadRemoteMatch): void;
|
|
90
90
|
loadRemote<T>(id: string, options?: {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Federation } from '../global';
|
|
2
2
|
import { Options, ShareScopeMap, ShareInfos, Shared, UserOptions, ShareStrategy, InitScope, InitTokens, CallFrom } from '../type';
|
|
3
|
-
import {
|
|
3
|
+
import { ModuleFederation } from '../core';
|
|
4
4
|
import { PluginSystem, AsyncHook, AsyncWaterfallHook, SyncWaterfallHook } from '../utils/hooks';
|
|
5
5
|
import { LoadRemoteMatch } from '../remote';
|
|
6
6
|
export declare class SharedHandler {
|
|
7
|
-
host:
|
|
7
|
+
host: ModuleFederation;
|
|
8
8
|
shareScopeMap: ShareScopeMap;
|
|
9
9
|
hooks: PluginSystem<{
|
|
10
10
|
afterResolve: AsyncWaterfallHook<LoadRemoteMatch>;
|
|
@@ -12,9 +12,9 @@ export declare class SharedHandler {
|
|
|
12
12
|
pkgName: string;
|
|
13
13
|
shareInfo?: Shared;
|
|
14
14
|
shared: Options["shared"];
|
|
15
|
-
origin:
|
|
15
|
+
origin: ModuleFederation;
|
|
16
16
|
}>;
|
|
17
|
-
loadShare: AsyncHook<[
|
|
17
|
+
loadShare: AsyncHook<[ModuleFederation, string, ShareInfos], false | void | Promise<false | void>>;
|
|
18
18
|
resolveShare: SyncWaterfallHook<{
|
|
19
19
|
shareScopeMap: ShareScopeMap;
|
|
20
20
|
scope: string;
|
|
@@ -26,17 +26,17 @@ export declare class SharedHandler {
|
|
|
26
26
|
initContainerShareScopeMap: SyncWaterfallHook<{
|
|
27
27
|
shareScope: ShareScopeMap[string];
|
|
28
28
|
options: Options;
|
|
29
|
-
origin:
|
|
29
|
+
origin: ModuleFederation;
|
|
30
30
|
scopeName: string;
|
|
31
31
|
hostShareScopeMap?: ShareScopeMap;
|
|
32
32
|
}>;
|
|
33
33
|
}>;
|
|
34
34
|
initTokens: InitTokens;
|
|
35
|
-
constructor(host:
|
|
35
|
+
constructor(host: ModuleFederation);
|
|
36
36
|
registerShared(globalOptions: Options, userOptions: UserOptions): {
|
|
37
37
|
shareInfos: ShareInfos;
|
|
38
38
|
shared: {
|
|
39
|
-
[
|
|
39
|
+
[pkgName: string]: Shared[];
|
|
40
40
|
};
|
|
41
41
|
};
|
|
42
42
|
loadShare<T>(pkgName: string, extraOptions?: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RemoteWithEntry, RemoteWithVersion, Module, RemoteEntryType } from '@module-federation/sdk';
|
|
2
|
-
import {
|
|
2
|
+
import { ModuleFederationRuntimePlugin } from './plugin';
|
|
3
3
|
export type Optional<T, K extends keyof T> = Omit<T, K> & Partial<T>;
|
|
4
4
|
export type PartialOptional<T, K extends keyof T> = Omit<T, K> & {
|
|
5
5
|
[P in K]-?: T[P];
|
|
@@ -88,7 +88,7 @@ export interface Options {
|
|
|
88
88
|
version?: string;
|
|
89
89
|
remotes: Array<Remote>;
|
|
90
90
|
shared: ShareInfos;
|
|
91
|
-
plugins: Array<
|
|
91
|
+
plugins: Array<ModuleFederationRuntimePlugin>;
|
|
92
92
|
inBrowser: boolean;
|
|
93
93
|
shareStrategy?: ShareStrategy;
|
|
94
94
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ModuleFederation } from '../core';
|
|
2
2
|
import { Module } from '../module';
|
|
3
3
|
import { SnapshotHandler } from '../plugins/snapshot/SnapshotHandler';
|
|
4
4
|
import { SharedHandler } from '../shared';
|
|
5
5
|
import { RemoteHandler } from '../remote';
|
|
6
|
-
type CoreLifeCycle =
|
|
6
|
+
type CoreLifeCycle = ModuleFederation['hooks']['lifecycle'];
|
|
7
7
|
type CoreLifeCyclePartial = Partial<{
|
|
8
8
|
[k in keyof CoreLifeCycle]: Parameters<CoreLifeCycle[k]['on']>[0];
|
|
9
9
|
}>;
|
|
@@ -27,9 +27,9 @@ type RemoteLifeCycle = RemoteHandler['hooks']['lifecycle'];
|
|
|
27
27
|
type RemoteLifeCycleCyclePartial = Partial<{
|
|
28
28
|
[k in keyof RemoteLifeCycle]: Parameters<RemoteLifeCycle[k]['on']>[0];
|
|
29
29
|
}>;
|
|
30
|
-
export type
|
|
30
|
+
export type ModuleFederationRuntimePlugin = CoreLifeCyclePartial & SnapshotLifeCycleCyclePartial & SharedLifeCycleCyclePartial & RemoteLifeCycleCyclePartial & ModuleLifeCycleCyclePartial & ModuleBridgeLifeCycleCyclePartial & {
|
|
31
31
|
name: string;
|
|
32
32
|
version?: string;
|
|
33
|
-
apply?: (instance:
|
|
33
|
+
apply?: (instance: ModuleFederation) => void;
|
|
34
34
|
};
|
|
35
35
|
export {};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ModuleFederation } from '../../core';
|
|
2
2
|
export type Plugin<T extends Record<string, any>> = {
|
|
3
3
|
[k in keyof T]?: Parameters<T[k]['on']>[0];
|
|
4
4
|
} & {
|
|
5
5
|
name: string;
|
|
6
6
|
version?: string;
|
|
7
|
-
apply?: (instance:
|
|
7
|
+
apply?: (instance: ModuleFederation) => void;
|
|
8
8
|
};
|
|
9
9
|
export declare class PluginSystem<T extends Record<string, any>> {
|
|
10
10
|
lifecycle: T;
|
|
11
11
|
lifecycleKeys: Array<keyof T>;
|
|
12
12
|
registerPlugins: Record<string, Plugin<T>>;
|
|
13
13
|
constructor(lifecycle: T);
|
|
14
|
-
applyPlugin(plugin: Plugin<T>, instance:
|
|
14
|
+
applyPlugin(plugin: Plugin<T>, instance: ModuleFederation): void;
|
|
15
15
|
removePlugin(pluginName: string): void;
|
|
16
16
|
}
|
package/dist/src/utils/load.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ModuleFederation } from '../core';
|
|
2
2
|
import { Remote, RemoteEntryExports, RemoteInfo } from '../type';
|
|
3
3
|
export declare function getRemoteEntryUniqueKey(remoteInfo: RemoteInfo): string;
|
|
4
4
|
export declare function getRemoteEntry({ origin, remoteEntryExports, remoteInfo, }: {
|
|
5
|
-
origin:
|
|
5
|
+
origin: ModuleFederation;
|
|
6
6
|
remoteInfo: RemoteInfo;
|
|
7
7
|
remoteEntryExports?: RemoteEntryExports | undefined;
|
|
8
8
|
}): Promise<RemoteEntryExports | false | void>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ModuleFederation } from '../core';
|
|
2
2
|
import { UserOptions } from '../type';
|
|
3
|
-
export declare function registerPlugins(plugins: UserOptions['plugins'], instance:
|
|
3
|
+
export declare function registerPlugins(plugins: UserOptions['plugins'], instance: ModuleFederation): import("../type").ModuleFederationRuntimePlugin[] | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PreloadAssets, PreloadConfig, PreloadOptions, PreloadRemoteArgs, Remote, RemoteInfo, depsPreloadArg } from '../type';
|
|
2
|
-
import {
|
|
2
|
+
import { ModuleFederation } from '../core';
|
|
3
3
|
export declare function defaultPreloadArgs(preloadConfig: PreloadRemoteArgs | depsPreloadArg): PreloadConfig;
|
|
4
4
|
export declare function formatPreloadArgs(remotes: Array<Remote>, preloadArgs: Array<PreloadRemoteArgs>): PreloadOptions;
|
|
5
5
|
export declare function normalizePreloadExposes(exposes?: string[]): string[];
|
|
6
|
-
export declare function preloadAssets(remoteInfo: RemoteInfo, host:
|
|
6
|
+
export declare function preloadAssets(remoteInfo: RemoteInfo, host: ModuleFederation, assets: PreloadAssets, useLinkPreload?: boolean): void;
|
|
@@ -4,7 +4,7 @@ import { SyncWaterfallHook } from './hooks';
|
|
|
4
4
|
export declare function formatShare(shareArgs: ShareArgs, from: string, name: string, shareStrategy?: ShareStrategy): Shared;
|
|
5
5
|
export declare function formatShareConfigs(globalOptions: Options, userOptions: UserOptions): {
|
|
6
6
|
shared: {
|
|
7
|
-
[
|
|
7
|
+
[pkgName: string]: Shared[];
|
|
8
8
|
};
|
|
9
9
|
shareInfos: ShareInfos;
|
|
10
10
|
};
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@module-federation/runtime-core",
|
|
3
|
-
"version": "0.0.0-next-
|
|
3
|
+
"version": "0.0.0-next-20250717203314",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"author": "zhouxiao <codingzx@gmail.com>",
|
|
6
6
|
"main": "./dist/index.cjs.cjs",
|
|
7
7
|
"module": "./dist/index.esm.js",
|
|
8
|
-
"types": "./dist/index.
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"publishConfig": {
|
|
11
11
|
"access": "public"
|
|
@@ -22,21 +22,21 @@
|
|
|
22
22
|
"exports": {
|
|
23
23
|
".": {
|
|
24
24
|
"import": {
|
|
25
|
-
"types": "./dist/index.
|
|
25
|
+
"types": "./dist/index.d.ts",
|
|
26
26
|
"default": "./dist/index.esm.js"
|
|
27
27
|
},
|
|
28
28
|
"require": {
|
|
29
|
-
"types": "./dist/index.
|
|
29
|
+
"types": "./dist/index.d.ts",
|
|
30
30
|
"default": "./dist/index.cjs.cjs"
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
"./types": {
|
|
34
34
|
"import": {
|
|
35
|
-
"types": "./dist/types.
|
|
35
|
+
"types": "./dist/types.d.ts",
|
|
36
36
|
"default": "./dist/types.esm.js"
|
|
37
37
|
},
|
|
38
38
|
"require": {
|
|
39
|
-
"types": "./dist/types.
|
|
39
|
+
"types": "./dist/types.d.ts",
|
|
40
40
|
"default": "./dist/types.cjs.cjs"
|
|
41
41
|
}
|
|
42
42
|
}
|
|
@@ -44,15 +44,15 @@
|
|
|
44
44
|
"typesVersions": {
|
|
45
45
|
"*": {
|
|
46
46
|
".": [
|
|
47
|
-
"./dist/index.
|
|
47
|
+
"./dist/index.d.ts"
|
|
48
48
|
],
|
|
49
49
|
"types": [
|
|
50
|
-
"./dist/types.
|
|
50
|
+
"./dist/types.d.ts"
|
|
51
51
|
]
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@module-federation/sdk": "0.0.0-next-
|
|
56
|
-
"@module-federation/error-codes": "0.0.0-next-
|
|
55
|
+
"@module-federation/sdk": "0.0.0-next-20250717203314",
|
|
56
|
+
"@module-federation/error-codes": "0.0.0-next-20250717203314"
|
|
57
57
|
}
|
|
58
58
|
}
|
|
File without changes
|
|
File without changes
|