@module-federation/runtime-core 0.15.0 → 0.17.0

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.
@@ -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,8 +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: ModuleFederation) => void;
33
34
  };
34
35
  export {};
@@ -1,15 +1,16 @@
1
+ import type { ModuleFederation } from '../../core';
1
2
  export type Plugin<T extends Record<string, any>> = {
2
3
  [k in keyof T]?: Parameters<T[k]['on']>[0];
3
4
  } & {
4
5
  name: string;
5
6
  version?: string;
7
+ apply?: (instance: ModuleFederation) => void;
6
8
  };
7
9
  export declare class PluginSystem<T extends Record<string, any>> {
8
10
  lifecycle: T;
9
11
  lifecycleKeys: Array<keyof T>;
10
12
  registerPlugins: Record<string, Plugin<T>>;
11
13
  constructor(lifecycle: T);
12
- applyPlugin(plugin: Plugin<T>): void;
14
+ applyPlugin(plugin: Plugin<T>, instance: ModuleFederation): void;
13
15
  removePlugin(pluginName: string): void;
14
- inherit<T extends PluginSystem<any>>({ lifecycle, registerPlugins, }: T): void;
15
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,4 +1,3 @@
1
- import { FederationHost } from '../core';
1
+ import { ModuleFederation } from '../core';
2
2
  import { UserOptions } from '../type';
3
- import { Module } from '../module';
4
- export declare function registerPlugins(plugins: UserOptions['plugins'], hookInstances: Array<FederationHost['hooks'] | FederationHost['snapshotHandler']['hooks'] | FederationHost['sharedHandler']['hooks'] | FederationHost['remoteHandler']['hooks'] | Module['host']['loaderHook'] | Module['host']['bridgeHook']>): 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.15.0",
3
+ "version": "0.17.0",
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.15.0",
56
- "@module-federation/error-codes": "0.15.0"
55
+ "@module-federation/sdk": "0.17.0",
56
+ "@module-federation/error-codes": "0.17.0"
57
57
  }
58
58
  }