@module-federation/runtime 0.1.3 → 0.1.5
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/README.md +5 -784
- package/package.json +8 -8
- package/dist/LICENSE +0 -21
- package/dist/helpers.cjs.d.ts +0 -2
- package/dist/helpers.cjs.js +0 -34
- package/dist/helpers.esm.js +0 -32
- package/dist/index.cjs.d.ts +0 -1
- package/dist/index.cjs.js +0 -1767
- package/dist/index.esm.js +0 -1747
- package/dist/package.json +0 -50
- package/dist/share.cjs.js +0 -843
- package/dist/share.esm.js +0 -806
- package/dist/src/constant.d.ts +0 -2
- package/dist/src/core.d.ts +0 -164
- package/dist/src/global.d.ts +0 -43
- package/dist/src/helpers.d.ts +0 -33
- package/dist/src/index.d.ts +0 -15
- package/dist/src/module/index.d.ts +0 -19
- package/dist/src/plugins/generate-preload-assets.d.ts +0 -8
- package/dist/src/plugins/snapshot/SnapshotHandler.d.ts +0 -44
- package/dist/src/plugins/snapshot/index.d.ts +0 -5
- package/dist/src/type/config.d.ts +0 -100
- package/dist/src/type/index.d.ts +0 -3
- package/dist/src/type/plugin.d.ts +0 -20
- package/dist/src/type/preload.d.ts +0 -26
- package/dist/src/types.d.ts +0 -1
- package/dist/src/utils/env.d.ts +0 -4
- package/dist/src/utils/hooks/asyncHook.d.ts +0 -6
- package/dist/src/utils/hooks/asyncWaterfallHooks.d.ts +0 -10
- package/dist/src/utils/hooks/index.d.ts +0 -6
- package/dist/src/utils/hooks/pluginSystem.d.ts +0 -15
- package/dist/src/utils/hooks/syncHook.d.ts +0 -12
- package/dist/src/utils/hooks/syncWaterfallHook.d.ts +0 -9
- package/dist/src/utils/index.d.ts +0 -6
- package/dist/src/utils/load.d.ts +0 -18
- package/dist/src/utils/logger.d.ts +0 -3
- package/dist/src/utils/manifest.d.ts +0 -7
- package/dist/src/utils/plugin.d.ts +0 -4
- package/dist/src/utils/preload.d.ts +0 -6
- package/dist/src/utils/semver/compare.d.ts +0 -9
- package/dist/src/utils/semver/constants.d.ts +0 -10
- package/dist/src/utils/semver/index.d.ts +0 -2
- package/dist/src/utils/semver/parser.d.ts +0 -9
- package/dist/src/utils/semver/utils.d.ts +0 -11
- package/dist/src/utils/share.d.ts +0 -16
- package/dist/src/utils/tool.d.ts +0 -12
- package/dist/types.cjs.d.ts +0 -1
- package/dist/types.cjs.js +0 -2
- package/dist/types.esm.js +0 -1
package/dist/src/constant.d.ts
DELETED
package/dist/src/core.d.ts
DELETED
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import type { ModuleInfo, GlobalModuleInfo } from '@module-federation/sdk';
|
|
2
|
-
import { Options, PreloadAssets, PreloadOptions, PreloadRemoteArgs, RemoteEntryExports, Remote, Shared, ShareInfos, UserOptions, RemoteInfo, ShareScopeMap, InitScope, RemoteEntryInitOptions } from './type';
|
|
3
|
-
import { Module, ModuleOptions } from './module';
|
|
4
|
-
import { AsyncHook, AsyncWaterfallHook, PluginSystem, SyncHook, SyncWaterfallHook } from './utils/hooks';
|
|
5
|
-
import { Federation } from './global';
|
|
6
|
-
import { SnapshotHandler } from './plugins/snapshot/SnapshotHandler';
|
|
7
|
-
interface LoadRemoteMatch {
|
|
8
|
-
id: string;
|
|
9
|
-
pkgNameOrAlias: string;
|
|
10
|
-
expose: string;
|
|
11
|
-
remote: Remote;
|
|
12
|
-
options: Options;
|
|
13
|
-
origin: FederationHost;
|
|
14
|
-
remoteInfo: RemoteInfo;
|
|
15
|
-
remoteSnapshot?: ModuleInfo;
|
|
16
|
-
}
|
|
17
|
-
export declare class FederationHost {
|
|
18
|
-
options: Options;
|
|
19
|
-
hooks: PluginSystem<{
|
|
20
|
-
beforeInit: SyncWaterfallHook<{
|
|
21
|
-
userOptions: UserOptions;
|
|
22
|
-
options: Options;
|
|
23
|
-
origin: FederationHost;
|
|
24
|
-
shareInfo: ShareInfos;
|
|
25
|
-
}>;
|
|
26
|
-
init: SyncHook<[{
|
|
27
|
-
options: Options;
|
|
28
|
-
origin: FederationHost;
|
|
29
|
-
}], void>;
|
|
30
|
-
beforeRequest: AsyncWaterfallHook<{
|
|
31
|
-
id: string;
|
|
32
|
-
options: Options;
|
|
33
|
-
origin: FederationHost;
|
|
34
|
-
}>;
|
|
35
|
-
afterResolve: AsyncWaterfallHook<LoadRemoteMatch>;
|
|
36
|
-
beforeInitContainer: AsyncWaterfallHook<{
|
|
37
|
-
shareScope: ShareScopeMap[string];
|
|
38
|
-
initScope: InitScope;
|
|
39
|
-
remoteEntryInitOptions: RemoteEntryInitOptions;
|
|
40
|
-
remoteInfo: RemoteInfo;
|
|
41
|
-
origin: FederationHost;
|
|
42
|
-
}>;
|
|
43
|
-
initContainerShareScopeMap: AsyncWaterfallHook<{
|
|
44
|
-
shareScope: ShareScopeMap[string];
|
|
45
|
-
options: Options;
|
|
46
|
-
origin: FederationHost;
|
|
47
|
-
}>;
|
|
48
|
-
initContainer: AsyncWaterfallHook<{
|
|
49
|
-
shareScope: ShareScopeMap[string];
|
|
50
|
-
initScope: InitScope;
|
|
51
|
-
remoteEntryInitOptions: RemoteEntryInitOptions;
|
|
52
|
-
remoteInfo: RemoteInfo;
|
|
53
|
-
remoteEntryExports: RemoteEntryExports;
|
|
54
|
-
origin: FederationHost;
|
|
55
|
-
}>;
|
|
56
|
-
onLoad: AsyncHook<[{
|
|
57
|
-
id: string;
|
|
58
|
-
expose: string;
|
|
59
|
-
pkgNameOrAlias: string;
|
|
60
|
-
remote: Remote;
|
|
61
|
-
options: ModuleOptions;
|
|
62
|
-
origin: FederationHost;
|
|
63
|
-
exposeModule: any;
|
|
64
|
-
exposeModuleFactory: any;
|
|
65
|
-
moduleInstance: Module;
|
|
66
|
-
}], void>;
|
|
67
|
-
handlePreloadModule: SyncHook<{
|
|
68
|
-
id: string;
|
|
69
|
-
name: string;
|
|
70
|
-
remote: Remote;
|
|
71
|
-
remoteSnapshot: ModuleInfo;
|
|
72
|
-
preloadConfig: PreloadRemoteArgs;
|
|
73
|
-
origin: FederationHost;
|
|
74
|
-
}, void>;
|
|
75
|
-
errorLoadRemote: AsyncHook<[{
|
|
76
|
-
id: string;
|
|
77
|
-
error: unknown;
|
|
78
|
-
from: 'build' | 'runtime';
|
|
79
|
-
origin: FederationHost;
|
|
80
|
-
}], unknown>;
|
|
81
|
-
beforeLoadShare: AsyncWaterfallHook<{
|
|
82
|
-
pkgName: string;
|
|
83
|
-
shareInfo?: Shared | undefined;
|
|
84
|
-
shared: Options['shared'];
|
|
85
|
-
origin: FederationHost;
|
|
86
|
-
}>;
|
|
87
|
-
loadShare: AsyncHook<[FederationHost, string, ShareInfos], false | void | Promise<false | void>>;
|
|
88
|
-
resolveShare: SyncWaterfallHook<{
|
|
89
|
-
shareScopeMap: ShareScopeMap;
|
|
90
|
-
scope: string;
|
|
91
|
-
pkgName: string;
|
|
92
|
-
version: string;
|
|
93
|
-
GlobalFederation: Federation;
|
|
94
|
-
resolver: () => Shared | undefined;
|
|
95
|
-
}>;
|
|
96
|
-
beforePreloadRemote: AsyncHook<{
|
|
97
|
-
preloadOps: Array<PreloadRemoteArgs>;
|
|
98
|
-
options: Options;
|
|
99
|
-
origin: FederationHost;
|
|
100
|
-
}, false | void | Promise<false | void>>;
|
|
101
|
-
generatePreloadAssets: AsyncHook<[{
|
|
102
|
-
origin: FederationHost;
|
|
103
|
-
preloadOptions: PreloadOptions[number];
|
|
104
|
-
remote: Remote;
|
|
105
|
-
remoteInfo: RemoteInfo;
|
|
106
|
-
remoteSnapshot: ModuleInfo;
|
|
107
|
-
globalSnapshot: GlobalModuleInfo;
|
|
108
|
-
}], Promise<PreloadAssets>>;
|
|
109
|
-
afterPreloadRemote: AsyncHook<{
|
|
110
|
-
preloadOps: Array<PreloadRemoteArgs>;
|
|
111
|
-
options: Options;
|
|
112
|
-
origin: FederationHost;
|
|
113
|
-
}, false | void | Promise<false | void>>;
|
|
114
|
-
}>;
|
|
115
|
-
version: string;
|
|
116
|
-
name: string;
|
|
117
|
-
moduleCache: Map<string, Module>;
|
|
118
|
-
snapshotHandler: SnapshotHandler;
|
|
119
|
-
shareScopeMap: ShareScopeMap;
|
|
120
|
-
loaderHook: PluginSystem<{
|
|
121
|
-
getModuleInfo: SyncHook<[{
|
|
122
|
-
target: Record<string, any>;
|
|
123
|
-
key: any;
|
|
124
|
-
}], void | {
|
|
125
|
-
value: any | undefined;
|
|
126
|
-
key: string;
|
|
127
|
-
}>;
|
|
128
|
-
createScript: SyncHook<[{
|
|
129
|
-
url: string;
|
|
130
|
-
}], void | HTMLScriptElement>;
|
|
131
|
-
createLink: SyncHook<[{
|
|
132
|
-
url: string;
|
|
133
|
-
}], void | HTMLLinkElement>;
|
|
134
|
-
fetch: AsyncHook<[string, RequestInit], false | void | Promise<Response>>;
|
|
135
|
-
}>;
|
|
136
|
-
constructor(userOptions: UserOptions);
|
|
137
|
-
private _setGlobalShareScopeMap;
|
|
138
|
-
initOptions(userOptions: UserOptions): Options;
|
|
139
|
-
loadShare<T>(pkgName: string, customShareInfo?: Partial<Shared>): Promise<false | (() => T | undefined)>;
|
|
140
|
-
loadShareSync<T>(pkgName: string, customShareInfo?: Partial<Shared>): () => T | never;
|
|
141
|
-
initRawContainer(name: string, url: string, container: RemoteEntryExports): Module;
|
|
142
|
-
private _getRemoteModuleAndOptions;
|
|
143
|
-
loadRemote<T>(id: string, options?: {
|
|
144
|
-
loadFactory?: boolean;
|
|
145
|
-
from: 'build' | 'runtime';
|
|
146
|
-
}): Promise<T | null>;
|
|
147
|
-
preloadRemote(preloadOptions: Array<PreloadRemoteArgs>): Promise<void>;
|
|
148
|
-
/**
|
|
149
|
-
* This function initializes the sharing sequence (executed only once per share scope).
|
|
150
|
-
* It accepts one argument, the name of the share scope.
|
|
151
|
-
* If the share scope does not exist, it creates one.
|
|
152
|
-
*/
|
|
153
|
-
initializeSharing(shareScopeName?: string, strategy?: Shared['strategy']): Array<Promise<void>>;
|
|
154
|
-
initShareScopeMap(scopeName: string, shareScope: ShareScopeMap[string]): void;
|
|
155
|
-
private formatOptions;
|
|
156
|
-
registerPlugins(plugins: UserOptions['plugins']): void;
|
|
157
|
-
private setShared;
|
|
158
|
-
private removeRemote;
|
|
159
|
-
private registerRemote;
|
|
160
|
-
registerRemotes(remotes: Remote[], options?: {
|
|
161
|
-
force?: boolean;
|
|
162
|
-
}): void;
|
|
163
|
-
}
|
|
164
|
-
export {};
|
package/dist/src/global.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { FederationHost } from './core';
|
|
3
|
-
import { RemoteEntryExports, GlobalShareScopeMap, Remote, Optional } from './type';
|
|
4
|
-
import { GlobalModuleInfo, ModuleInfo } from '@module-federation/sdk';
|
|
5
|
-
import { FederationRuntimePlugin } from './type/plugin';
|
|
6
|
-
export interface Federation {
|
|
7
|
-
__GLOBAL_PLUGIN__: Array<FederationRuntimePlugin>;
|
|
8
|
-
__DEBUG_CONSTRUCTOR_VERSION__?: string;
|
|
9
|
-
moduleInfo: GlobalModuleInfo;
|
|
10
|
-
__DEBUG_CONSTRUCTOR__?: typeof FederationHost;
|
|
11
|
-
__INSTANCES__: Array<FederationHost>;
|
|
12
|
-
__SHARE__: GlobalShareScopeMap;
|
|
13
|
-
__MANIFEST_LOADING__: Record<string, Promise<ModuleInfo>>;
|
|
14
|
-
__PRELOADED_MAP__: Map<string, boolean>;
|
|
15
|
-
}
|
|
16
|
-
export declare const nativeGlobal: typeof global;
|
|
17
|
-
export declare const Global: typeof globalThis;
|
|
18
|
-
declare global {
|
|
19
|
-
var __FEDERATION__: Federation, __VMOK__: Federation, __GLOBAL_LOADING_REMOTE_ENTRY__: Record<string, undefined | Promise<RemoteEntryExports | void>>;
|
|
20
|
-
}
|
|
21
|
-
export declare const globalLoading: Record<string, Promise<void | RemoteEntryExports> | undefined>;
|
|
22
|
-
export declare function resetFederationGlobalInfo(): void;
|
|
23
|
-
export declare function getGlobalFederationInstance(name: string, version: string | undefined): FederationHost | undefined;
|
|
24
|
-
export declare function setGlobalFederationInstance(FederationInstance: FederationHost): void;
|
|
25
|
-
export declare function getGlobalFederationConstructor(): typeof FederationHost | undefined;
|
|
26
|
-
export declare function setGlobalFederationConstructor(FederationConstructor: typeof FederationHost | undefined, isDebug?: boolean): void;
|
|
27
|
-
export declare function getInfoWithoutType<T extends object>(target: T, key: keyof T): {
|
|
28
|
-
value: T[keyof T] | undefined;
|
|
29
|
-
key: string;
|
|
30
|
-
};
|
|
31
|
-
export declare const getGlobalSnapshot: () => GlobalModuleInfo;
|
|
32
|
-
export declare const getTargetSnapshotInfoByModuleInfo: (moduleInfo: Optional<Remote, 'alias'>, snapshot: GlobalModuleInfo) => GlobalModuleInfo[string] | undefined;
|
|
33
|
-
export declare const getGlobalSnapshotInfoByModuleInfo: (moduleInfo: Optional<Remote, 'alias'>) => GlobalModuleInfo[string] | undefined;
|
|
34
|
-
export declare const setGlobalSnapshotInfoByModuleInfo: (remoteInfo: Remote, moduleDetailInfo: GlobalModuleInfo[string]) => GlobalModuleInfo;
|
|
35
|
-
export declare const addGlobalSnapshot: (moduleInfos: GlobalModuleInfo) => (() => void);
|
|
36
|
-
export declare const getRemoteEntryExports: (name: string, globalName: string | undefined) => {
|
|
37
|
-
remoteEntryKey: string;
|
|
38
|
-
entryExports: RemoteEntryExports | undefined;
|
|
39
|
-
};
|
|
40
|
-
export declare const registerGlobalPlugins: (plugins: Array<FederationRuntimePlugin>) => void;
|
|
41
|
-
export declare const getGlobalHostPlugins: () => Array<FederationRuntimePlugin>;
|
|
42
|
-
export declare const getPreloaded: (id: string) => boolean | undefined;
|
|
43
|
-
export declare const setPreloaded: (id: string) => Map<string, boolean>;
|
package/dist/src/helpers.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { resetFederationGlobalInfo, getGlobalFederationInstance, setGlobalFederationInstance, getGlobalFederationConstructor, setGlobalFederationConstructor, getInfoWithoutType, getGlobalSnapshot, getTargetSnapshotInfoByModuleInfo, getGlobalSnapshotInfoByModuleInfo, setGlobalSnapshotInfoByModuleInfo, addGlobalSnapshot, getRemoteEntryExports, registerGlobalPlugins, getGlobalHostPlugins, getPreloaded, setPreloaded, Global } from './global';
|
|
3
|
-
import { getRegisteredShare, getGlobalShareScope } from './utils/share';
|
|
4
|
-
interface IShareUtils {
|
|
5
|
-
getRegisteredShare: typeof getRegisteredShare;
|
|
6
|
-
getGlobalShareScope: typeof getGlobalShareScope;
|
|
7
|
-
}
|
|
8
|
-
interface IGlobalUtils {
|
|
9
|
-
Global: typeof Global;
|
|
10
|
-
nativeGlobal: typeof global;
|
|
11
|
-
resetFederationGlobalInfo: typeof resetFederationGlobalInfo;
|
|
12
|
-
getGlobalFederationInstance: typeof getGlobalFederationInstance;
|
|
13
|
-
setGlobalFederationInstance: typeof setGlobalFederationInstance;
|
|
14
|
-
getGlobalFederationConstructor: typeof getGlobalFederationConstructor;
|
|
15
|
-
setGlobalFederationConstructor: typeof setGlobalFederationConstructor;
|
|
16
|
-
getInfoWithoutType: typeof getInfoWithoutType;
|
|
17
|
-
getGlobalSnapshot: typeof getGlobalSnapshot;
|
|
18
|
-
getTargetSnapshotInfoByModuleInfo: typeof getTargetSnapshotInfoByModuleInfo;
|
|
19
|
-
getGlobalSnapshotInfoByModuleInfo: typeof getGlobalSnapshotInfoByModuleInfo;
|
|
20
|
-
setGlobalSnapshotInfoByModuleInfo: typeof setGlobalSnapshotInfoByModuleInfo;
|
|
21
|
-
addGlobalSnapshot: typeof addGlobalSnapshot;
|
|
22
|
-
getRemoteEntryExports: typeof getRemoteEntryExports;
|
|
23
|
-
registerGlobalPlugins: typeof registerGlobalPlugins;
|
|
24
|
-
getGlobalHostPlugins: typeof getGlobalHostPlugins;
|
|
25
|
-
getPreloaded: typeof getPreloaded;
|
|
26
|
-
setPreloaded: typeof setPreloaded;
|
|
27
|
-
}
|
|
28
|
-
declare const _default: {
|
|
29
|
-
global: IGlobalUtils;
|
|
30
|
-
share: IShareUtils;
|
|
31
|
-
};
|
|
32
|
-
export default _default;
|
|
33
|
-
export type { IGlobalUtils, IShareUtils };
|
package/dist/src/index.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { FederationHost } from './core';
|
|
2
|
-
import { UserOptions, FederationRuntimePlugin } from './type';
|
|
3
|
-
export { FederationHost } from './core';
|
|
4
|
-
export { registerGlobalPlugins } from './global';
|
|
5
|
-
export { getRemoteEntry, getRemoteInfo } from './utils';
|
|
6
|
-
export { loadScript, loadScriptNode } from '@module-federation/sdk';
|
|
7
|
-
export type { Federation } from './global';
|
|
8
|
-
export type { FederationRuntimePlugin };
|
|
9
|
-
export declare function init(options: UserOptions): FederationHost;
|
|
10
|
-
export declare function loadRemote(...args: Parameters<FederationHost['loadRemote']>): ReturnType<FederationHost['loadRemote']>;
|
|
11
|
-
export declare function loadShare(...args: Parameters<FederationHost['loadShare']>): ReturnType<FederationHost['loadShare']>;
|
|
12
|
-
export declare function loadShareSync(...args: Parameters<FederationHost['loadShareSync']>): ReturnType<FederationHost['loadShareSync']>;
|
|
13
|
-
export declare function preloadRemote(...args: Parameters<FederationHost['preloadRemote']>): ReturnType<FederationHost['preloadRemote']>;
|
|
14
|
-
export declare function registerRemotes(...args: Parameters<FederationHost['registerRemotes']>): ReturnType<FederationHost['registerRemotes']>;
|
|
15
|
-
export declare function registerPlugins(...args: Parameters<FederationHost['registerPlugins']>): ReturnType<FederationHost['registerRemotes']>;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { FederationHost } from '../core';
|
|
2
|
-
import { RemoteEntryExports, RemoteInfo } from '../type';
|
|
3
|
-
export type ModuleOptions = ConstructorParameters<typeof Module>[0];
|
|
4
|
-
declare class Module {
|
|
5
|
-
remoteInfo: RemoteInfo;
|
|
6
|
-
inited: boolean;
|
|
7
|
-
remoteEntryExports?: RemoteEntryExports;
|
|
8
|
-
lib: RemoteEntryExports | undefined;
|
|
9
|
-
host: FederationHost;
|
|
10
|
-
constructor({ remoteInfo, host, }: {
|
|
11
|
-
remoteInfo: RemoteInfo;
|
|
12
|
-
host: FederationHost;
|
|
13
|
-
});
|
|
14
|
-
getEntry(): Promise<RemoteEntryExports>;
|
|
15
|
-
get(expose: string, options?: {
|
|
16
|
-
loadFactory?: boolean;
|
|
17
|
-
}): Promise<any>;
|
|
18
|
-
}
|
|
19
|
-
export { Module };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { GlobalModuleInfo, ModuleInfo } from '@module-federation/sdk';
|
|
2
|
-
import { FederationRuntimePlugin, PreloadAssets, PreloadOptions, RemoteInfoOptionalVersion } from '../type';
|
|
3
|
-
import { FederationHost } from '../core';
|
|
4
|
-
declare global {
|
|
5
|
-
var __INIT_VMOK_DEPLOY_GLOBAL_DATA__: boolean | undefined;
|
|
6
|
-
}
|
|
7
|
-
export declare function generatePreloadAssets(origin: FederationHost, preloadOptions: PreloadOptions[number], remote: RemoteInfoOptionalVersion, globalSnapshot: GlobalModuleInfo, remoteSnapshot: ModuleInfo): PreloadAssets;
|
|
8
|
-
export declare const generatePreloadAssetsPlugin: () => FederationRuntimePlugin;
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { GlobalModuleInfo, Manifest, ModuleInfo } from '@module-federation/sdk';
|
|
2
|
-
import { Options, Remote } from '../../type';
|
|
3
|
-
import { getGlobalSnapshot } from '../../global';
|
|
4
|
-
import { PluginSystem, AsyncHook, AsyncWaterfallHook } from '../../utils/hooks';
|
|
5
|
-
import { FederationHost } from '../../core';
|
|
6
|
-
export declare class SnapshotHandler {
|
|
7
|
-
loadingHostSnapshot: Promise<GlobalModuleInfo | void> | null;
|
|
8
|
-
HostInstance: FederationHost;
|
|
9
|
-
manifestCache: Map<string, Manifest>;
|
|
10
|
-
hooks: PluginSystem<{
|
|
11
|
-
beforeLoadRemoteSnapshot: AsyncHook<[{
|
|
12
|
-
options: Options;
|
|
13
|
-
moduleInfo: Remote;
|
|
14
|
-
}], void>;
|
|
15
|
-
loadSnapshot: AsyncWaterfallHook<{
|
|
16
|
-
options: Options;
|
|
17
|
-
moduleInfo: Remote;
|
|
18
|
-
hostGlobalSnapshot: GlobalModuleInfo[string] | undefined;
|
|
19
|
-
globalSnapshot: ReturnType<typeof getGlobalSnapshot>;
|
|
20
|
-
remoteSnapshot?: GlobalModuleInfo[string] | undefined;
|
|
21
|
-
}>;
|
|
22
|
-
loadRemoteSnapshot: AsyncWaterfallHook<{
|
|
23
|
-
options: Options;
|
|
24
|
-
moduleInfo: Remote;
|
|
25
|
-
manifestJson?: Manifest<import("@module-federation/sdk").BasicStatsMetaData, import("@module-federation/sdk").ManifestRemoteCommonInfo> | undefined;
|
|
26
|
-
manifestUrl?: string | undefined;
|
|
27
|
-
remoteSnapshot: ModuleInfo;
|
|
28
|
-
from: 'global' | 'manifest';
|
|
29
|
-
}>;
|
|
30
|
-
}>;
|
|
31
|
-
loaderHook: FederationHost['loaderHook'];
|
|
32
|
-
manifestLoading: Record<string, Promise<ModuleInfo>>;
|
|
33
|
-
constructor(HostInstance: FederationHost);
|
|
34
|
-
loadSnapshot(moduleInfo: Remote): Promise<{
|
|
35
|
-
remoteSnapshot: GlobalModuleInfo[string] | undefined;
|
|
36
|
-
globalSnapshot: ReturnType<typeof getGlobalSnapshot>;
|
|
37
|
-
}>;
|
|
38
|
-
loadRemoteSnapshotInfo(moduleInfo: Remote): Promise<{
|
|
39
|
-
remoteSnapshot: ModuleInfo;
|
|
40
|
-
globalSnapshot: GlobalModuleInfo;
|
|
41
|
-
}> | never;
|
|
42
|
-
private getGlobalRemoteInfo;
|
|
43
|
-
private getManifestJson;
|
|
44
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { ModuleInfo } from '@module-federation/sdk';
|
|
2
|
-
import { FederationRuntimePlugin } from '../../type/plugin';
|
|
3
|
-
import { RemoteInfo } from '../../type';
|
|
4
|
-
export declare function assignRemoteInfo(remoteInfo: RemoteInfo, remoteSnapshot: ModuleInfo): void;
|
|
5
|
-
export declare function snapshotPlugin(): FederationRuntimePlugin;
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import type { RemoteWithEntry, RemoteWithVersion, Module, RemoteEntryType } from '@module-federation/sdk';
|
|
2
|
-
import { FederationRuntimePlugin } from './plugin';
|
|
3
|
-
export type Optional<T, K extends keyof T> = Omit<T, K> & Partial<T>;
|
|
4
|
-
export type PartialOptional<T, K extends keyof T> = Omit<T, K> & {
|
|
5
|
-
[P in K]-?: T[P];
|
|
6
|
-
};
|
|
7
|
-
interface RemoteInfoCommon {
|
|
8
|
-
alias?: string;
|
|
9
|
-
shareScope?: string;
|
|
10
|
-
type?: RemoteEntryType;
|
|
11
|
-
entryGlobalName?: string;
|
|
12
|
-
}
|
|
13
|
-
export type RemoteInfoOptionalVersion = {
|
|
14
|
-
name: string;
|
|
15
|
-
version?: string;
|
|
16
|
-
} & RemoteInfoCommon;
|
|
17
|
-
export type Remote = (RemoteWithEntry | RemoteWithVersion) & RemoteInfoCommon;
|
|
18
|
-
export interface RemoteInfo {
|
|
19
|
-
name: string;
|
|
20
|
-
version?: string;
|
|
21
|
-
buildVersion?: string;
|
|
22
|
-
entry: string;
|
|
23
|
-
type: RemoteEntryType;
|
|
24
|
-
entryGlobalName: string;
|
|
25
|
-
shareScope: string;
|
|
26
|
-
}
|
|
27
|
-
export type HostInfo = Pick<Options, 'name' | 'version' | 'remotes' | 'version'>;
|
|
28
|
-
export interface SharedConfig {
|
|
29
|
-
singleton?: boolean;
|
|
30
|
-
requiredVersion: false | string;
|
|
31
|
-
eager?: boolean;
|
|
32
|
-
strictVersion?: boolean;
|
|
33
|
-
}
|
|
34
|
-
type SharedBaseArgs = {
|
|
35
|
-
version: string;
|
|
36
|
-
shareConfig?: SharedConfig;
|
|
37
|
-
scope?: string | Array<string>;
|
|
38
|
-
deps?: Array<string>;
|
|
39
|
-
strategy?: 'version-first' | 'loaded-first';
|
|
40
|
-
};
|
|
41
|
-
export type SharedGetter = (() => () => Module) | (() => Promise<() => Module>);
|
|
42
|
-
export type ShareArgs = (SharedBaseArgs & {
|
|
43
|
-
get: SharedGetter;
|
|
44
|
-
}) | (SharedBaseArgs & {
|
|
45
|
-
lib: () => Module;
|
|
46
|
-
});
|
|
47
|
-
export type Shared = {
|
|
48
|
-
version: string;
|
|
49
|
-
get: SharedGetter;
|
|
50
|
-
shareConfig: SharedConfig;
|
|
51
|
-
scope: Array<string>;
|
|
52
|
-
useIn: Array<string>;
|
|
53
|
-
from: string;
|
|
54
|
-
deps: Array<string>;
|
|
55
|
-
lib?: () => Module;
|
|
56
|
-
loaded?: boolean;
|
|
57
|
-
loading?: null | Promise<any>;
|
|
58
|
-
eager?: boolean;
|
|
59
|
-
strategy: 'version-first' | 'loaded-first';
|
|
60
|
-
};
|
|
61
|
-
export type ShareScopeMap = {
|
|
62
|
-
[scope: string]: {
|
|
63
|
-
[pkgName: string]: {
|
|
64
|
-
[sharedVersion: string]: Shared;
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
export type GlobalShareScopeMap = {
|
|
69
|
-
[instanceName: string]: ShareScopeMap;
|
|
70
|
-
};
|
|
71
|
-
export type ShareInfos = {
|
|
72
|
-
[pkgName: string]: Shared;
|
|
73
|
-
};
|
|
74
|
-
export interface Options {
|
|
75
|
-
id?: string;
|
|
76
|
-
name: string;
|
|
77
|
-
version?: string;
|
|
78
|
-
remotes: Array<Remote>;
|
|
79
|
-
shared: ShareInfos;
|
|
80
|
-
plugins: Array<FederationRuntimePlugin>;
|
|
81
|
-
inBrowser: boolean;
|
|
82
|
-
}
|
|
83
|
-
export type UserOptions = Omit<Optional<Options, 'plugins'>, 'shared' | 'inBrowser'> & {
|
|
84
|
-
shared?: {
|
|
85
|
-
[pkgName: string]: ShareArgs;
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
|
-
export type LoadModuleOptions = {
|
|
89
|
-
version?: string;
|
|
90
|
-
};
|
|
91
|
-
export type RemoteEntryInitOptions = {
|
|
92
|
-
version: string;
|
|
93
|
-
hostId: string;
|
|
94
|
-
};
|
|
95
|
-
export type InitScope = Array<Record<string, never>>;
|
|
96
|
-
export type RemoteEntryExports = {
|
|
97
|
-
get: (id: string) => () => Promise<Module>;
|
|
98
|
-
init: (shareScope: ShareScopeMap[string], initScope?: InitScope, remoteEntryInitOPtions?: RemoteEntryInitOptions) => void | Promise<void>;
|
|
99
|
-
};
|
|
100
|
-
export {};
|
package/dist/src/type/index.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { FederationHost } from '../core';
|
|
2
|
-
import { Module } from '../module';
|
|
3
|
-
import { SnapshotHandler } from '../plugins/snapshot/SnapshotHandler';
|
|
4
|
-
type CoreLifeCycle = FederationHost['hooks']['lifecycle'];
|
|
5
|
-
type CoreLifeCyclePartial = Partial<{
|
|
6
|
-
[k in keyof CoreLifeCycle]: Parameters<CoreLifeCycle[k]['on']>[0];
|
|
7
|
-
}>;
|
|
8
|
-
type SnapshotLifeCycle = SnapshotHandler['hooks']['lifecycle'];
|
|
9
|
-
type SnapshotLifeCycleCyclePartial = Partial<{
|
|
10
|
-
[k in keyof SnapshotLifeCycle]: Parameters<SnapshotLifeCycle[k]['on']>[0];
|
|
11
|
-
}>;
|
|
12
|
-
type ModuleLifeCycle = Module['host']['loaderHook']['lifecycle'];
|
|
13
|
-
type ModuleLifeCycleCyclePartial = Partial<{
|
|
14
|
-
[k in keyof ModuleLifeCycle]: Parameters<ModuleLifeCycle[k]['on']>[0];
|
|
15
|
-
}>;
|
|
16
|
-
export type FederationRuntimePlugin = CoreLifeCyclePartial & SnapshotLifeCycleCyclePartial & ModuleLifeCycleCyclePartial & {
|
|
17
|
-
name: string;
|
|
18
|
-
version?: string;
|
|
19
|
-
};
|
|
20
|
-
export {};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Remote, RemoteInfo } from './config';
|
|
2
|
-
export type depsPreloadArg = Omit<PreloadRemoteArgs, 'depsRemote'>;
|
|
3
|
-
export interface PreloadRemoteArgs {
|
|
4
|
-
nameOrAlias: string;
|
|
5
|
-
exposes?: Array<string>;
|
|
6
|
-
resourceCategory?: 'all' | 'sync';
|
|
7
|
-
share?: boolean;
|
|
8
|
-
depsRemote?: boolean | Array<depsPreloadArg>;
|
|
9
|
-
filter?: (assetUrl: string) => boolean;
|
|
10
|
-
prefetchInterface?: boolean;
|
|
11
|
-
}
|
|
12
|
-
export type PreloadConfig = PreloadRemoteArgs;
|
|
13
|
-
export type PreloadOptions = Array<{
|
|
14
|
-
remote: Remote;
|
|
15
|
-
preloadConfig: PreloadConfig;
|
|
16
|
-
}>;
|
|
17
|
-
export type EntryAssets = {
|
|
18
|
-
name: string;
|
|
19
|
-
url: string;
|
|
20
|
-
moduleInfo: RemoteInfo;
|
|
21
|
-
};
|
|
22
|
-
export interface PreloadAssets {
|
|
23
|
-
cssAssets: Array<string>;
|
|
24
|
-
jsAssetsWithoutEntry: Array<string>;
|
|
25
|
-
entryAssets: Array<EntryAssets>;
|
|
26
|
-
}
|
package/dist/src/types.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './type';
|
package/dist/src/utils/env.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { ArgsType, SyncHook } from './syncHook';
|
|
2
|
-
type CallbackReturnType = void | false | Promise<void | false>;
|
|
3
|
-
export declare class AsyncHook<T, ExternalEmitReturnType = CallbackReturnType> extends SyncHook<T, ExternalEmitReturnType> {
|
|
4
|
-
emit(...data: ArgsType<T>): Promise<void | false | ExternalEmitReturnType>;
|
|
5
|
-
}
|
|
6
|
-
export {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { SyncHook } from './syncHook';
|
|
2
|
-
type CallbackReturnType<T> = T | Promise<T>;
|
|
3
|
-
export declare class AsyncWaterfallHook<T extends Record<string, any>> extends SyncHook<[
|
|
4
|
-
T
|
|
5
|
-
], CallbackReturnType<T>> {
|
|
6
|
-
onerror: (errMsg: string | Error | unknown) => void;
|
|
7
|
-
constructor(type: string);
|
|
8
|
-
emit(data: T): Promise<T>;
|
|
9
|
-
}
|
|
10
|
-
export {};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { SyncHook } from './syncHook';
|
|
2
|
-
export { AsyncHook } from './asyncHook';
|
|
3
|
-
export { SyncWaterfallHook } from './syncWaterfallHook';
|
|
4
|
-
export { AsyncWaterfallHook } from './asyncWaterfallHooks';
|
|
5
|
-
export { PluginSystem } from './pluginSystem';
|
|
6
|
-
export type { Plugin } from './pluginSystem';
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export type Plugin<T extends Record<string, any>> = {
|
|
2
|
-
[k in keyof T]?: Parameters<T[k]['on']>[0];
|
|
3
|
-
} & {
|
|
4
|
-
name: string;
|
|
5
|
-
version?: string;
|
|
6
|
-
};
|
|
7
|
-
export declare class PluginSystem<T extends Record<string, any>> {
|
|
8
|
-
lifecycle: T;
|
|
9
|
-
lifecycleKeys: Array<keyof T>;
|
|
10
|
-
registerPlugins: Record<string, Plugin<T>>;
|
|
11
|
-
constructor(lifecycle: T);
|
|
12
|
-
applyPlugin(plugin: Plugin<T>): void;
|
|
13
|
-
removePlugin(pluginName: string): void;
|
|
14
|
-
inherit<T extends PluginSystem<any>>({ lifecycle, registerPlugins, }: T): void;
|
|
15
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export type Callback<T, K> = (...args: ArgsType<T>) => K;
|
|
2
|
-
export type ArgsType<T> = T extends Array<any> ? T : Array<any>;
|
|
3
|
-
export declare class SyncHook<T, K> {
|
|
4
|
-
type: string;
|
|
5
|
-
listeners: Set<Callback<T, K>>;
|
|
6
|
-
constructor(type?: string);
|
|
7
|
-
on(fn: Callback<T, K>): void;
|
|
8
|
-
once(fn: Callback<T, K>): void;
|
|
9
|
-
emit(...data: ArgsType<T>): void | K | Promise<any>;
|
|
10
|
-
remove(fn: Callback<T, K>): void;
|
|
11
|
-
removeAll(): void;
|
|
12
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SyncHook } from './syncHook';
|
|
2
|
-
export declare function checkReturnData(originalData: any, returnedData: any): boolean;
|
|
3
|
-
export declare class SyncWaterfallHook<T extends Record<string, any>> extends SyncHook<[
|
|
4
|
-
T
|
|
5
|
-
], T> {
|
|
6
|
-
onerror: (errMsg: string | Error | unknown) => void;
|
|
7
|
-
constructor(type: string);
|
|
8
|
-
emit(data: T): T;
|
|
9
|
-
}
|
package/dist/src/utils/load.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Remote, RemoteEntryExports, RemoteInfo } from '../type';
|
|
2
|
-
export declare function loadEsmEntry({ entry, remoteEntryExports, }: {
|
|
3
|
-
entry: string;
|
|
4
|
-
remoteEntryExports: RemoteEntryExports | undefined;
|
|
5
|
-
}): Promise<RemoteEntryExports>;
|
|
6
|
-
export declare function loadEntryScript({ name, globalName, entry, createScriptHook, }: {
|
|
7
|
-
name: string;
|
|
8
|
-
globalName: string;
|
|
9
|
-
entry: string;
|
|
10
|
-
createScriptHook?: (url: string) => HTMLScriptElement | void;
|
|
11
|
-
}): Promise<RemoteEntryExports>;
|
|
12
|
-
export declare function getRemoteEntryUniqueKey(remoteInfo: RemoteInfo): string;
|
|
13
|
-
export declare function getRemoteEntry({ remoteEntryExports, remoteInfo, createScriptHook, }: {
|
|
14
|
-
remoteInfo: RemoteInfo;
|
|
15
|
-
remoteEntryExports?: RemoteEntryExports | undefined;
|
|
16
|
-
createScriptHook?: (url: string) => HTMLScriptElement | void;
|
|
17
|
-
}): Promise<RemoteEntryExports | void>;
|
|
18
|
-
export declare function getRemoteInfo(remote: Remote): RemoteInfo;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Remote } from '../type';
|
|
2
|
-
export declare function matchRemoteWithNameAndExpose(remotes: Array<Remote>, id: string): {
|
|
3
|
-
pkgNameOrAlias: string;
|
|
4
|
-
expose: string;
|
|
5
|
-
remote: Remote;
|
|
6
|
-
} | undefined;
|
|
7
|
-
export declare function matchRemote(remotes: Array<Remote>, nameOrAlias: string): Remote | undefined;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { FederationHost } from '../core';
|
|
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'] | Module['host']['loaderHook']>): void;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { PreloadAssets, PreloadConfig, PreloadOptions, PreloadRemoteArgs, Remote, RemoteInfo, depsPreloadArg } from '../type';
|
|
2
|
-
import { FederationHost } from '../core';
|
|
3
|
-
export declare function defaultPreloadArgs(preloadConfig: PreloadRemoteArgs | depsPreloadArg): PreloadConfig;
|
|
4
|
-
export declare function formatPreloadArgs(remotes: Array<Remote>, preloadArgs: Array<PreloadRemoteArgs>): PreloadOptions;
|
|
5
|
-
export declare function normalizePreloadExposes(exposes?: string[]): string[];
|
|
6
|
-
export declare function preloadAssets(remoteInfo: RemoteInfo, host: FederationHost, assets: PreloadAssets): void;
|