@module-federation/runtime-core 0.0.0-next-20250714095646 → 0.0.0-next-20250715082703

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.
@@ -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.16.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 FederationHost {
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.16.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.16.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 FederationHost {
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.16.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, FederationHost, Global, Module, addGlobalSnapshot, assert, getGlobalFederationConstructor, getGlobalSnapshot, getInfoWithoutType, getRegisteredShare, getRemoteEntry, getRemoteInfo, helpers, isStaticResourcesEqual, matchRemoteWithNameAndExpose, registerGlobalPlugins, resetFederationGlobalInfo, safeWrapper, satisfy, setGlobalFederationConstructor, setGlobalFederationInstance, index as types };
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 };
@@ -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 FederationHost {
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: FederationHost;
15
+ origin: ModuleFederation;
16
16
  shareInfo: ShareInfos;
17
17
  }>;
18
18
  init: SyncHook<[{
19
19
  options: Options;
20
- origin: FederationHost;
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: FederationHost;
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: FederationHost;
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: FederationHost;
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
  }
@@ -1,13 +1,13 @@
1
- import { FederationHost } from './core';
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 { FederationRuntimePlugin } from './type/plugin';
4
+ import { ModuleFederationRuntimePlugin } from './type/plugin';
5
5
  export interface Federation {
6
- __GLOBAL_PLUGIN__: Array<FederationRuntimePlugin>;
6
+ __GLOBAL_PLUGIN__: Array<ModuleFederationRuntimePlugin>;
7
7
  __DEBUG_CONSTRUCTOR_VERSION__?: string;
8
8
  moduleInfo: GlobalModuleInfo;
9
- __DEBUG_CONSTRUCTOR__?: typeof FederationHost;
10
- __INSTANCES__: Array<FederationHost>;
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: FederationHost): void;
24
- export declare function getGlobalFederationConstructor(): typeof FederationHost | undefined;
25
- export declare function setGlobalFederationConstructor(FederationConstructor: typeof FederationHost | undefined, isDebug?: boolean): void;
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<FederationRuntimePlugin>) => void;
40
- export declare const getGlobalHostPlugins: () => Array<FederationRuntimePlugin>;
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>;
@@ -1,7 +1,7 @@
1
1
  import helpers, { type IGlobalUtils, type IShareUtils } from './helpers';
2
- export { FederationHost } from './core';
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, FederationRuntimePlugin } from './type';
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 { FederationHost } from '../core';
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: FederationHost;
10
+ host: ModuleFederation;
11
11
  constructor({ remoteInfo, host, }: {
12
12
  remoteInfo: RemoteInfo;
13
- host: FederationHost;
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 { FederationRuntimePlugin, PreloadAssets, PreloadOptions, RemoteInfoOptionalVersion } from '../type';
3
- import { FederationHost } from '../core';
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: FederationHost, preloadOptions: PreloadOptions[number], remote: RemoteInfoOptionalVersion, globalSnapshot: GlobalModuleInfo, remoteSnapshot: ModuleInfo): PreloadAssets;
8
- export declare const generatePreloadAssetsPlugin: () => FederationRuntimePlugin;
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 { FederationHost } from '../../core';
6
- export declare function getGlobalRemoteInfo(moduleInfo: Remote, origin: FederationHost): {
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: FederationHost;
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: FederationHost;
37
+ host: ModuleFederation;
38
38
  options: Options;
39
39
  moduleInfo: Remote;
40
40
  remoteSnapshot: ModuleInfo;
41
41
  }>;
42
42
  }>;
43
- loaderHook: FederationHost['loaderHook'];
43
+ loaderHook: ModuleFederation['loaderHook'];
44
44
  manifestLoading: Record<string, Promise<ModuleInfo>>;
45
- constructor(HostInstance: FederationHost);
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 { FederationRuntimePlugin } from '../../type/plugin';
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(): FederationRuntimePlugin;
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 { FederationHost } from '../core';
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: FederationHost;
12
+ origin: ModuleFederation;
13
13
  remoteInfo: RemoteInfo;
14
14
  remoteSnapshot?: ModuleInfo;
15
15
  }
16
16
  export declare class RemoteHandler {
17
- host: FederationHost;
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: FederationHost;
25
+ origin: ModuleFederation;
26
26
  }>;
27
27
  registerRemote: SyncWaterfallHook<{
28
28
  remote: Remote;
29
- origin: FederationHost;
29
+ origin: ModuleFederation;
30
30
  }>;
31
31
  beforeRequest: AsyncWaterfallHook<{
32
32
  id: string;
33
33
  options: Options;
34
- origin: FederationHost;
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: FederationHost;
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: FederationHost;
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: FederationHost;
61
+ origin: ModuleFederation;
62
62
  }], unknown>;
63
63
  beforePreloadRemote: AsyncHook<[{
64
64
  preloadOps: Array<PreloadRemoteArgs>;
65
65
  options: Options;
66
- origin: FederationHost;
66
+ origin: ModuleFederation;
67
67
  }], false | void | Promise<false | void>>;
68
68
  generatePreloadAssets: AsyncHook<[{
69
- origin: FederationHost;
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: FederationHost;
79
+ origin: ModuleFederation;
80
80
  }, false | void | Promise<false | void>>;
81
81
  loadEntry: AsyncHook<[{
82
- loaderHook: FederationHost["loaderHook"];
82
+ loaderHook: ModuleFederation["loaderHook"];
83
83
  remoteInfo: RemoteInfo;
84
84
  remoteEntryExports?: RemoteEntryExports;
85
85
  }], Promise<RemoteEntryExports>>;
86
86
  }>;
87
- constructor(host: FederationHost);
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 { FederationHost } from '../core';
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: FederationHost;
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: FederationHost;
15
+ origin: ModuleFederation;
16
16
  }>;
17
- loadShare: AsyncHook<[FederationHost, string, ShareInfos], false | void | Promise<false | void>>;
17
+ loadShare: AsyncHook<[ModuleFederation, string, ShareInfos], false | void | Promise<false | void>>;
18
18
  resolveShare: SyncWaterfallHook<{
19
19
  shareScopeMap: ShareScopeMap;
20
20
  scope: string;
@@ -26,13 +26,13 @@ export declare class SharedHandler {
26
26
  initContainerShareScopeMap: SyncWaterfallHook<{
27
27
  shareScope: ShareScopeMap[string];
28
28
  options: Options;
29
- origin: FederationHost;
29
+ origin: ModuleFederation;
30
30
  scopeName: string;
31
31
  hostShareScopeMap?: ShareScopeMap;
32
32
  }>;
33
33
  }>;
34
34
  initTokens: InitTokens;
35
- constructor(host: FederationHost);
35
+ constructor(host: ModuleFederation);
36
36
  registerShared(globalOptions: Options, userOptions: UserOptions): {
37
37
  shareInfos: ShareInfos;
38
38
  shared: {
@@ -1,5 +1,5 @@
1
1
  import type { RemoteWithEntry, RemoteWithVersion, Module, RemoteEntryType } from '@module-federation/sdk';
2
- import { FederationRuntimePlugin } from './plugin';
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<FederationRuntimePlugin>;
91
+ plugins: Array<ModuleFederationRuntimePlugin>;
92
92
  inBrowser: boolean;
93
93
  shareStrategy?: ShareStrategy;
94
94
  }
@@ -1,9 +1,9 @@
1
- import { FederationHost } from '../core';
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 = FederationHost['hooks']['lifecycle'];
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 FederationRuntimePlugin = CoreLifeCyclePartial & SnapshotLifeCycleCyclePartial & SharedLifeCycleCyclePartial & RemoteLifeCycleCyclePartial & ModuleLifeCycleCyclePartial & ModuleBridgeLifeCycleCyclePartial & {
30
+ export type ModuleFederationRuntimePlugin = CoreLifeCyclePartial & SnapshotLifeCycleCyclePartial & SharedLifeCycleCyclePartial & RemoteLifeCycleCyclePartial & ModuleLifeCycleCyclePartial & ModuleBridgeLifeCycleCyclePartial & {
31
31
  name: string;
32
32
  version?: string;
33
- apply?: (instance: FederationHost) => void;
33
+ apply?: (instance: ModuleFederation) => void;
34
34
  };
35
35
  export {};
@@ -1,16 +1,16 @@
1
- import type { FederationHost } from '../../core';
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: FederationHost) => void;
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: FederationHost): void;
14
+ applyPlugin(plugin: Plugin<T>, instance: ModuleFederation): void;
15
15
  removePlugin(pluginName: string): void;
16
16
  }
@@ -1,8 +1,8 @@
1
- import { FederationHost } from '../core';
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: FederationHost;
5
+ origin: ModuleFederation;
6
6
  remoteInfo: RemoteInfo;
7
7
  remoteEntryExports?: RemoteEntryExports | undefined;
8
8
  }): Promise<RemoteEntryExports | false | void>;
@@ -1,3 +1,3 @@
1
- import { FederationHost } from '../core';
1
+ import { ModuleFederation } from '../core';
2
2
  import { UserOptions } from '../type';
3
- export declare function registerPlugins(plugins: UserOptions['plugins'], instance: FederationHost): import("../type").FederationRuntimePlugin[] | undefined;
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 { FederationHost } from '../core';
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: FederationHost, assets: PreloadAssets, useLinkPreload?: boolean): void;
6
+ export declare function preloadAssets(remoteInfo: RemoteInfo, host: ModuleFederation, assets: PreloadAssets, useLinkPreload?: boolean): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/runtime-core",
3
- "version": "0.0.0-next-20250714095646",
3
+ "version": "0.0.0-next-20250715082703",
4
4
  "type": "module",
5
5
  "author": "zhouxiao <codingzx@gmail.com>",
6
6
  "main": "./dist/index.cjs.cjs",
@@ -52,7 +52,7 @@
52
52
  }
53
53
  },
54
54
  "dependencies": {
55
- "@module-federation/sdk": "0.0.0-next-20250714095646",
56
- "@module-federation/error-codes": "0.0.0-next-20250714095646"
55
+ "@module-federation/sdk": "0.0.0-next-20250715082703",
56
+ "@module-federation/error-codes": "0.0.0-next-20250715082703"
57
57
  }
58
58
  }