Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@module-federation/runtime

Package Overview
Dependencies
Maintainers
8
Versions
656
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@module-federation/runtime - npm Package Compare versions

Comparing version 0.0.0-next-20231220085130 to 0.0.0-next-20231221061836

dist/types.cjs.d.ts

2

dist/helpers.cjs.js

@@ -6,3 +6,3 @@ 'use strict';

const ShareUtils = {
getGlobalShare: share.getGlobalShare,
getRegisteredShare: share.getRegisteredShare,
getGlobalShareScope: share.getGlobalShareScope

@@ -9,0 +9,0 @@ };

@@ -1,5 +0,5 @@

import { l as getGlobalShare, x as getGlobalShareScope, F as nativeGlobal, H as resetFederationGlobalInfo, A as getGlobalFederationInstance, C as setGlobalFederationInstance, B as getGlobalFederationConstructor, z as setGlobalFederationConstructor, m as getInfoWithoutType, r as getGlobalSnapshot, I as getTargetSnapshotInfoByModuleInfo, p as getGlobalSnapshotInfoByModuleInfo, q as setGlobalSnapshotInfoByModuleInfo, J as addGlobalSnapshot, c as getRemoteEntryExports, E as registerGlobalPlugins, g as getGlobalHostPlugins, n as getPreloaded, o as setPreloaded } from './share.esm.js';
import { l as getRegisteredShare, t as getGlobalShareScope, F as nativeGlobal, H as resetFederationGlobalInfo, A as getGlobalFederationInstance, C as setGlobalFederationInstance, B as getGlobalFederationConstructor, z as setGlobalFederationConstructor, m as getInfoWithoutType, r as getGlobalSnapshot, I as getTargetSnapshotInfoByModuleInfo, p as getGlobalSnapshotInfoByModuleInfo, q as setGlobalSnapshotInfoByModuleInfo, J as addGlobalSnapshot, c as getRemoteEntryExports, E as registerGlobalPlugins, g as getGlobalHostPlugins, n as getPreloaded, o as setPreloaded } from './share.esm.js';
const ShareUtils = {
getGlobalShare,
getRegisteredShare,
getGlobalShareScope

@@ -6,0 +6,0 @@ };

{
"name": "@module-federation/runtime",
"version": "0.0.3",
"version": "0.0.4",
"author": "zhouxiao <codingzx@gmail.com>",

@@ -42,4 +42,4 @@ "main": "./index.cjs.js",

],
"type": [
"./dist/type.cjs.d.ts"
"types": [
"./dist/types.cjs.d.ts"
]

@@ -46,0 +46,0 @@ }

'use strict';
function getBuilderId() {
//@ts-ignore
return typeof FEDERATION_BUILD_IDENTIFIER !== 'undefined' ? FEDERATION_BUILD_IDENTIFIER : '';

@@ -91,3 +92,3 @@ }

}
var _nativeGlobal___FEDERATION__, _nativeGlobal___FEDERATION__1, _nativeGlobal___FEDERATION__2, _nativeGlobal___FEDERATION__3, _nativeGlobal___FEDERATION__4, _nativeGlobal___FEDERATION__5, _nativeGlobal___FEDERATION__6;
var _nativeGlobal___FEDERATION__, _nativeGlobal___FEDERATION__1, _nativeGlobal___FEDERATION__2, _nativeGlobal___FEDERATION__3, _nativeGlobal___FEDERATION__4, _nativeGlobal___FEDERATION__5;
// export const nativeGlobal: typeof global = new Function('return this')();

@@ -115,3 +116,2 @@ const nativeGlobal = new Function('return this')();

__MANIFEST_LOADING__: {},
__SHARE_SCOPE_LOADING__: {},
__PRELOADED_MAP__: new Map()

@@ -131,6 +131,4 @@ };

(___MANIFEST_LOADING__ = (_nativeGlobal___FEDERATION__4 = nativeGlobal.__FEDERATION__).__MANIFEST_LOADING__) != null ? ___MANIFEST_LOADING__ : _nativeGlobal___FEDERATION__4.__MANIFEST_LOADING__ = {};
var ___SHARE_SCOPE_LOADING__;
(___SHARE_SCOPE_LOADING__ = (_nativeGlobal___FEDERATION__5 = nativeGlobal.__FEDERATION__).__SHARE_SCOPE_LOADING__) != null ? ___SHARE_SCOPE_LOADING__ : _nativeGlobal___FEDERATION__5.__SHARE_SCOPE_LOADING__ = {};
var ___PRELOADED_MAP__;
(___PRELOADED_MAP__ = (_nativeGlobal___FEDERATION__6 = nativeGlobal.__FEDERATION__).__PRELOADED_MAP__) != null ? ___PRELOADED_MAP__ : _nativeGlobal___FEDERATION__6.__PRELOADED_MAP__ = new Map();
(___PRELOADED_MAP__ = (_nativeGlobal___FEDERATION__5 = nativeGlobal.__FEDERATION__).__PRELOADED_MAP__) != null ? ___PRELOADED_MAP__ : _nativeGlobal___FEDERATION__5.__PRELOADED_MAP__ = new Map();
const Global = {

@@ -148,3 +146,2 @@ get __FEDERATION__ () {

nativeGlobal.__FEDERATION__.__MANIFEST_LOADING__ = {};
nativeGlobal.__FEDERATION__.__SHARE_SCOPE_LOADING__ = {};
}

@@ -175,3 +172,3 @@ function getGlobalFederationInstance(name, version) {

Global.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = FederationConstructor;
Global.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = '0.0.3';
Global.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = '0.0.4';
}

@@ -633,2 +630,3 @@ }

get,
loaded: 'lib' in shareArgs ? true : undefined,
scope: Array.isArray(shareArgs.scope) ? shareArgs.scope : [

@@ -650,3 +648,15 @@ 'default'

function versionLt(a, b) {
if (satisfy(a, `<=${b}`)) {
const transformInvalidVersion = (version)=>{
const isNumberVersion = !Number.isNaN(Number(version));
if (isNumberVersion) {
const splitArr = version.split('.');
let validVersion = version;
for(let i = 0; i < 3 - splitArr.length; i++){
validVersion += '.0';
}
return validVersion;
}
return version;
};
if (satisfy(transformInvalidVersion(a), `<=${transformInvalidVersion(b)}`)) {
return true;

@@ -657,5 +667,4 @@ } else {

}
const findVersion = (scope, pkgName, cb)=>{
const globalShares = Global.__FEDERATION__.__SHARE__;
const versions = globalShares[scope][pkgName];
const findVersion = (shareScopeMap, scope, pkgName, cb)=>{
const versions = shareScopeMap[scope][pkgName];
const callback = cb || function(prev, cur) {

@@ -671,16 +680,18 @@ return versionLt(prev, cur);

}
// default version is '0' https://github.com/webpack/webpack/blob/main/lib/sharing/ProvideSharedModule.js#L136
if (prev === '0') {
return cur;
}
return prev;
}, 0);
};
function findSingletonVersionOrderByVersion(scope, pkgName) {
const globalShares = Global.__FEDERATION__.__SHARE__;
const versions = globalShares[scope][pkgName];
function findSingletonVersionOrderByVersion(shareScopeMap, scope, pkgName) {
const versions = shareScopeMap[scope][pkgName];
const callback = function(prev, cur) {
return !versions[prev].loaded && versionLt(prev, cur);
};
return findVersion(scope, pkgName, callback);
return findVersion(shareScopeMap, scope, pkgName, callback);
}
function findSingletonVersionOrderByLoaded(scope, pkgName) {
const globalShares = Global.__FEDERATION__.__SHARE__;
const versions = globalShares[scope][pkgName];
function findSingletonVersionOrderByLoaded(shareScopeMap, scope, pkgName) {
const versions = shareScopeMap[scope][pkgName];
const callback = function(prev, cur) {

@@ -699,8 +710,16 @@ if (versions[cur].loaded) {

};
return findVersion(scope, pkgName, callback);
return findVersion(shareScopeMap, scope, pkgName, callback);
}
function getFindShareFunction(strategy) {
if (strategy === 'loaded-first') {
return findSingletonVersionOrderByLoaded;
}
return findSingletonVersionOrderByVersion;
}
// Details about shared resources
// TODO: Implement strictVersion for alignment with module federation.
function getGlobalShare(pkgName, shareInfo) {
const globalShares = Global.__FEDERATION__.__SHARE__;
function getRegisteredShare(localShareScopeMap, pkgName, shareInfo, resolveShare) {
if (!localShareScopeMap) {
return;
}
const { shareConfig, scope = DEFAULT_SCOPE, strategy } = shareInfo;

@@ -711,30 +730,34 @@ const scopes = Array.isArray(scope) ? scope : [

for (const sc of scopes){
if (shareConfig && globalShares[sc] && globalShares[sc][pkgName]) {
if (shareConfig && localShareScopeMap[sc] && localShareScopeMap[sc][pkgName]) {
const { requiredVersion } = shareConfig;
// eslint-disable-next-line max-depth
if (shareConfig.singleton) {
const singletonVersion = strategy === 'loaded-first' ? findSingletonVersionOrderByLoaded(sc, pkgName) : findSingletonVersionOrderByVersion(sc, pkgName);
// eslint-disable-next-line max-depth
if (typeof requiredVersion === 'string' && !satisfy(singletonVersion, requiredVersion)) {
warn(`Version ${singletonVersion} from ${singletonVersion && globalShares[sc][pkgName][singletonVersion].from} of shared singleton module ${pkgName} does not satisfy the requirement of ${shareInfo.from} which needs ${requiredVersion})`);
}
return globalShares[sc][pkgName][singletonVersion];
} else {
const maxVersion = findSingletonVersionOrderByLoaded(sc, pkgName);
// eslint-disable-next-line max-depth
if (requiredVersion === false || requiredVersion === '*') {
return globalShares[sc][pkgName][maxVersion];
}
// eslint-disable-next-line max-depth
if (satisfy(maxVersion, requiredVersion)) {
return globalShares[sc][pkgName][maxVersion];
}
// eslint-disable-next-line max-depth
for (const [versionKey, versionValue] of Object.entries(globalShares[sc][pkgName])){
// eslint-disable-next-line max-depth
if (satisfy(versionKey, requiredVersion)) {
return versionValue;
const findShareFunction = getFindShareFunction(strategy);
const maxOrSingletonVersion = findShareFunction(localShareScopeMap, sc, pkgName);
//@ts-ignore
const defaultResolver = ()=>{
if (shareConfig.singleton) {
if (typeof requiredVersion === 'string' && !satisfy(maxOrSingletonVersion, requiredVersion)) {
warn(`Version ${maxOrSingletonVersion} from ${maxOrSingletonVersion && localShareScopeMap[sc][pkgName][maxOrSingletonVersion].from} of shared singleton module ${pkgName} does not satisfy the requirement of ${shareInfo.from} which needs ${requiredVersion})`);
}
return localShareScopeMap[sc][pkgName][maxOrSingletonVersion];
} else {
if (requiredVersion === false || requiredVersion === '*') {
return localShareScopeMap[sc][pkgName][maxOrSingletonVersion];
}
for (const [versionKey, versionValue] of Object.entries(localShareScopeMap[sc][pkgName])){
if (satisfy(versionKey, requiredVersion)) {
return versionValue;
}
}
}
}
};
const params = {
shareScopeMap: localShareScopeMap,
scope: sc,
pkgName,
version: maxOrSingletonVersion,
GlobalFederation: Global.__FEDERATION__,
resolver: defaultResolver
};
const resolveShared = resolveShare.emit(params) || params;
return resolveShared.resolver();
}

@@ -760,3 +783,2 @@ }

exports.getGlobalHostPlugins = getGlobalHostPlugins;
exports.getGlobalShare = getGlobalShare;
exports.getGlobalShareScope = getGlobalShareScope;

@@ -767,2 +789,3 @@ exports.getGlobalSnapshot = getGlobalSnapshot;

exports.getPreloaded = getPreloaded;
exports.getRegisteredShare = getRegisteredShare;
exports.getRemoteEntryExports = getRemoteEntryExports;

@@ -769,0 +792,0 @@ exports.getTargetSnapshotInfoByModuleInfo = getTargetSnapshotInfoByModuleInfo;

function getBuilderId() {
//@ts-ignore
return typeof FEDERATION_BUILD_IDENTIFIER !== 'undefined' ? FEDERATION_BUILD_IDENTIFIER : '';

@@ -89,3 +90,3 @@ }

}
var _nativeGlobal___FEDERATION__, _nativeGlobal___FEDERATION__1, _nativeGlobal___FEDERATION__2, _nativeGlobal___FEDERATION__3, _nativeGlobal___FEDERATION__4, _nativeGlobal___FEDERATION__5, _nativeGlobal___FEDERATION__6;
var _nativeGlobal___FEDERATION__, _nativeGlobal___FEDERATION__1, _nativeGlobal___FEDERATION__2, _nativeGlobal___FEDERATION__3, _nativeGlobal___FEDERATION__4, _nativeGlobal___FEDERATION__5;
// export const nativeGlobal: typeof global = new Function('return this')();

@@ -113,3 +114,2 @@ const nativeGlobal = new Function('return this')();

__MANIFEST_LOADING__: {},
__SHARE_SCOPE_LOADING__: {},
__PRELOADED_MAP__: new Map()

@@ -129,6 +129,4 @@ };

(___MANIFEST_LOADING__ = (_nativeGlobal___FEDERATION__4 = nativeGlobal.__FEDERATION__).__MANIFEST_LOADING__) != null ? ___MANIFEST_LOADING__ : _nativeGlobal___FEDERATION__4.__MANIFEST_LOADING__ = {};
var ___SHARE_SCOPE_LOADING__;
(___SHARE_SCOPE_LOADING__ = (_nativeGlobal___FEDERATION__5 = nativeGlobal.__FEDERATION__).__SHARE_SCOPE_LOADING__) != null ? ___SHARE_SCOPE_LOADING__ : _nativeGlobal___FEDERATION__5.__SHARE_SCOPE_LOADING__ = {};
var ___PRELOADED_MAP__;
(___PRELOADED_MAP__ = (_nativeGlobal___FEDERATION__6 = nativeGlobal.__FEDERATION__).__PRELOADED_MAP__) != null ? ___PRELOADED_MAP__ : _nativeGlobal___FEDERATION__6.__PRELOADED_MAP__ = new Map();
(___PRELOADED_MAP__ = (_nativeGlobal___FEDERATION__5 = nativeGlobal.__FEDERATION__).__PRELOADED_MAP__) != null ? ___PRELOADED_MAP__ : _nativeGlobal___FEDERATION__5.__PRELOADED_MAP__ = new Map();
const Global = {

@@ -146,3 +144,2 @@ get __FEDERATION__ () {

nativeGlobal.__FEDERATION__.__MANIFEST_LOADING__ = {};
nativeGlobal.__FEDERATION__.__SHARE_SCOPE_LOADING__ = {};
}

@@ -173,3 +170,3 @@ function getGlobalFederationInstance(name, version) {

Global.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = FederationConstructor;
Global.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = '0.0.3';
Global.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = '0.0.4';
}

@@ -631,2 +628,3 @@ }

get,
loaded: 'lib' in shareArgs ? true : undefined,
scope: Array.isArray(shareArgs.scope) ? shareArgs.scope : [

@@ -648,3 +646,15 @@ 'default'

function versionLt(a, b) {
if (satisfy(a, `<=${b}`)) {
const transformInvalidVersion = (version)=>{
const isNumberVersion = !Number.isNaN(Number(version));
if (isNumberVersion) {
const splitArr = version.split('.');
let validVersion = version;
for(let i = 0; i < 3 - splitArr.length; i++){
validVersion += '.0';
}
return validVersion;
}
return version;
};
if (satisfy(transformInvalidVersion(a), `<=${transformInvalidVersion(b)}`)) {
return true;

@@ -655,5 +665,4 @@ } else {

}
const findVersion = (scope, pkgName, cb)=>{
const globalShares = Global.__FEDERATION__.__SHARE__;
const versions = globalShares[scope][pkgName];
const findVersion = (shareScopeMap, scope, pkgName, cb)=>{
const versions = shareScopeMap[scope][pkgName];
const callback = cb || function(prev, cur) {

@@ -669,16 +678,18 @@ return versionLt(prev, cur);

}
// default version is '0' https://github.com/webpack/webpack/blob/main/lib/sharing/ProvideSharedModule.js#L136
if (prev === '0') {
return cur;
}
return prev;
}, 0);
};
function findSingletonVersionOrderByVersion(scope, pkgName) {
const globalShares = Global.__FEDERATION__.__SHARE__;
const versions = globalShares[scope][pkgName];
function findSingletonVersionOrderByVersion(shareScopeMap, scope, pkgName) {
const versions = shareScopeMap[scope][pkgName];
const callback = function(prev, cur) {
return !versions[prev].loaded && versionLt(prev, cur);
};
return findVersion(scope, pkgName, callback);
return findVersion(shareScopeMap, scope, pkgName, callback);
}
function findSingletonVersionOrderByLoaded(scope, pkgName) {
const globalShares = Global.__FEDERATION__.__SHARE__;
const versions = globalShares[scope][pkgName];
function findSingletonVersionOrderByLoaded(shareScopeMap, scope, pkgName) {
const versions = shareScopeMap[scope][pkgName];
const callback = function(prev, cur) {

@@ -697,8 +708,16 @@ if (versions[cur].loaded) {

};
return findVersion(scope, pkgName, callback);
return findVersion(shareScopeMap, scope, pkgName, callback);
}
function getFindShareFunction(strategy) {
if (strategy === 'loaded-first') {
return findSingletonVersionOrderByLoaded;
}
return findSingletonVersionOrderByVersion;
}
// Details about shared resources
// TODO: Implement strictVersion for alignment with module federation.
function getGlobalShare(pkgName, shareInfo) {
const globalShares = Global.__FEDERATION__.__SHARE__;
function getRegisteredShare(localShareScopeMap, pkgName, shareInfo, resolveShare) {
if (!localShareScopeMap) {
return;
}
const { shareConfig, scope = DEFAULT_SCOPE, strategy } = shareInfo;

@@ -709,30 +728,34 @@ const scopes = Array.isArray(scope) ? scope : [

for (const sc of scopes){
if (shareConfig && globalShares[sc] && globalShares[sc][pkgName]) {
if (shareConfig && localShareScopeMap[sc] && localShareScopeMap[sc][pkgName]) {
const { requiredVersion } = shareConfig;
// eslint-disable-next-line max-depth
if (shareConfig.singleton) {
const singletonVersion = strategy === 'loaded-first' ? findSingletonVersionOrderByLoaded(sc, pkgName) : findSingletonVersionOrderByVersion(sc, pkgName);
// eslint-disable-next-line max-depth
if (typeof requiredVersion === 'string' && !satisfy(singletonVersion, requiredVersion)) {
warn(`Version ${singletonVersion} from ${singletonVersion && globalShares[sc][pkgName][singletonVersion].from} of shared singleton module ${pkgName} does not satisfy the requirement of ${shareInfo.from} which needs ${requiredVersion})`);
}
return globalShares[sc][pkgName][singletonVersion];
} else {
const maxVersion = findSingletonVersionOrderByLoaded(sc, pkgName);
// eslint-disable-next-line max-depth
if (requiredVersion === false || requiredVersion === '*') {
return globalShares[sc][pkgName][maxVersion];
}
// eslint-disable-next-line max-depth
if (satisfy(maxVersion, requiredVersion)) {
return globalShares[sc][pkgName][maxVersion];
}
// eslint-disable-next-line max-depth
for (const [versionKey, versionValue] of Object.entries(globalShares[sc][pkgName])){
// eslint-disable-next-line max-depth
if (satisfy(versionKey, requiredVersion)) {
return versionValue;
const findShareFunction = getFindShareFunction(strategy);
const maxOrSingletonVersion = findShareFunction(localShareScopeMap, sc, pkgName);
//@ts-ignore
const defaultResolver = ()=>{
if (shareConfig.singleton) {
if (typeof requiredVersion === 'string' && !satisfy(maxOrSingletonVersion, requiredVersion)) {
warn(`Version ${maxOrSingletonVersion} from ${maxOrSingletonVersion && localShareScopeMap[sc][pkgName][maxOrSingletonVersion].from} of shared singleton module ${pkgName} does not satisfy the requirement of ${shareInfo.from} which needs ${requiredVersion})`);
}
return localShareScopeMap[sc][pkgName][maxOrSingletonVersion];
} else {
if (requiredVersion === false || requiredVersion === '*') {
return localShareScopeMap[sc][pkgName][maxOrSingletonVersion];
}
for (const [versionKey, versionValue] of Object.entries(localShareScopeMap[sc][pkgName])){
if (satisfy(versionKey, requiredVersion)) {
return versionValue;
}
}
}
}
};
const params = {
shareScopeMap: localShareScopeMap,
scope: sc,
pkgName,
version: maxOrSingletonVersion,
GlobalFederation: Global.__FEDERATION__,
resolver: defaultResolver
};
const resolveShared = resolveShare.emit(params) || params;
return resolveShared.resolver();
}

@@ -745,2 +768,2 @@ }

export { getGlobalFederationInstance as A, getGlobalFederationConstructor as B, setGlobalFederationInstance as C, DEFAULT_REMOTE_TYPE as D, registerGlobalPlugins as E, nativeGlobal as F, Global as G, resetFederationGlobalInfo as H, getTargetSnapshotInfoByModuleInfo as I, addGlobalSnapshot as J, DEFAULT_SCOPE as a, globalLoading as b, getRemoteEntryExports as c, assert as d, getFMId as e, error as f, getGlobalHostPlugins as g, isPlainObject as h, isObject as i, isRemoteInfoWithEntry as j, isPureRemoteEntry as k, getGlobalShare as l, getInfoWithoutType as m, getPreloaded as n, setPreloaded as o, getGlobalSnapshotInfoByModuleInfo as p, setGlobalSnapshotInfoByModuleInfo as q, getGlobalSnapshot as r, safeToString as s, addUniqueItem as t, formatShareConfigs as u, isBrowserEnv as v, warn as w, getGlobalShareScope as x, getBuilderId as y, setGlobalFederationConstructor as z };
export { getGlobalFederationInstance as A, getGlobalFederationConstructor as B, setGlobalFederationInstance as C, DEFAULT_REMOTE_TYPE as D, registerGlobalPlugins as E, nativeGlobal as F, Global as G, resetFederationGlobalInfo as H, getTargetSnapshotInfoByModuleInfo as I, addGlobalSnapshot as J, DEFAULT_SCOPE as a, globalLoading as b, getRemoteEntryExports as c, assert as d, getFMId as e, error as f, getGlobalHostPlugins as g, isPlainObject as h, isObject as i, isRemoteInfoWithEntry as j, isPureRemoteEntry as k, getRegisteredShare as l, getInfoWithoutType as m, getPreloaded as n, setPreloaded as o, getGlobalSnapshotInfoByModuleInfo as p, setGlobalSnapshotInfoByModuleInfo as q, getGlobalSnapshot as r, safeToString as s, getGlobalShareScope as t, addUniqueItem as u, formatShareConfigs as v, warn as w, isBrowserEnv as x, getBuilderId as y, setGlobalFederationConstructor as z };
import type { ModuleInfo, GlobalModuleInfo } from '@module-federation/sdk';
import { Options, PreloadAssets, PreloadOptions, PreloadRemoteArgs, Remote, Shared, ShareInfos, UserOptions, RemoteInfo } from './type';
import { Options, PreloadAssets, PreloadOptions, PreloadRemoteArgs, Remote, Shared, ShareInfos, UserOptions, RemoteInfo, ShareScopeMap } from './type';
import { Module, ModuleOptions } from './module';
import { AsyncHook, AsyncWaterfallHook, PluginSystem, SyncHook, SyncWaterfallHook } from './utils/hooks';
import { Federation } from './global';
import { SnapshotHandler } from './plugins/snapshot/SnapshotHandler';

@@ -63,2 +64,10 @@ interface LoadRemoteMatch {

loadShare: AsyncHook<[FederationHost, string, ShareInfos], false | void | Promise<false | void>>;
resolveShare: SyncWaterfallHook<{
shareScopeMap: ShareScopeMap;
scope: string;
pkgName: string;
version: string;
GlobalFederation: Federation;
resolver: () => Shared | undefined;
}>;
beforePreloadRemote: AsyncHook<{

@@ -83,2 +92,3 @@ preloadOps: Array<PreloadRemoteArgs>;

}>;
releaseNumber: string;
version: string;

@@ -88,2 +98,3 @@ name: string;

snapshotHandler: SnapshotHandler;
shareScopeMap: ShareScopeMap;
loaderHook: PluginSystem<{

@@ -102,6 +113,4 @@ getModuleInfo: SyncHook<[{

}>;
loadingShare: {
[key: string]: Promise<any>;
};
constructor(userOptions: UserOptions);
private _setGlobalShareScopeMap;
initOptions(userOptions: UserOptions): Options;

@@ -120,3 +129,4 @@ loadShare<T>(pkgName: string, customShareInfo?: Partial<Shared>): Promise<false | (() => T | undefined)>;

*/
initializeSharing(shareScopeName?: string): boolean | Promise<boolean>;
initializeSharing(shareScopeName?: string, strategy?: Shared['strategy']): Array<Promise<void>>;
initShareScopeMap(scopeName: string, shareScope: ShareScopeMap[string]): void;
private formatOptions;

@@ -123,0 +133,0 @@ private registerPlugins;

/// <reference types="node" />
import { FederationHost } from './core';
import { RemoteEntryExports, GlobalShareScope, Remote, Optional } from './type';
import { RemoteEntryExports, GlobalShareScopeMap, Remote, Optional } from './type';
import { GlobalModuleInfo, ModuleInfo } from '@module-federation/sdk';

@@ -12,5 +12,4 @@ import { FederationRuntimePlugin } from './type/plugin';

__INSTANCES__: Array<FederationHost>;
__SHARE__: GlobalShareScope;
__SHARE__: GlobalShareScopeMap;
__MANIFEST_LOADING__: Record<string, Promise<ModuleInfo>>;
__SHARE_SCOPE_LOADING__: Record<string, boolean | Promise<boolean>>;
__PRELOADED_MAP__: Map<string, boolean>;

@@ -17,0 +16,0 @@ }

/// <reference types="node" />
import { resetFederationGlobalInfo, getGlobalFederationInstance, setGlobalFederationInstance, getGlobalFederationConstructor, setGlobalFederationConstructor, getInfoWithoutType, getGlobalSnapshot, getTargetSnapshotInfoByModuleInfo, getGlobalSnapshotInfoByModuleInfo, setGlobalSnapshotInfoByModuleInfo, addGlobalSnapshot, getRemoteEntryExports, registerGlobalPlugins, getGlobalHostPlugins, getPreloaded, setPreloaded } from './global';
import { getGlobalShare, getGlobalShareScope } from './utils/share';
import { getRegisteredShare, getGlobalShareScope } from './utils/share';
interface IShareUtils {
getGlobalShare: typeof getGlobalShare;
getRegisteredShare: typeof getRegisteredShare;
getGlobalShareScope: typeof getGlobalShareScope;

@@ -7,0 +7,0 @@ }

@@ -5,2 +5,3 @@ import { FederationHost } from './core';

export { registerGlobalPlugins } from './global';
export { loadScript } from '@module-federation/sdk';
export type { Federation } from './global';

@@ -7,0 +8,0 @@ export declare function init(options: UserOptions): FederationHost;

import { FederationHost } from '../core';
import { RemoteEntryExports, Options, Remote, ShareInfos, RemoteInfo } from '../type';
import { RemoteEntryExports, Options, Remote, ShareInfos, RemoteInfo, ShareScopeMap } from '../type';
export type ModuleOptions = ConstructorParameters<typeof Module>[0];

@@ -13,3 +13,4 @@ type HostInfo = Remote;

loaderHook: FederationHost['loaderHook'];
constructor({ hostInfo, remoteInfo, shared, loaderHook, }: {
shareScopeMap: ShareScopeMap;
constructor({ hostInfo, remoteInfo, shared, loaderHook, shareScopeMap, }: {
hostInfo: HostInfo;

@@ -20,2 +21,3 @@ remoteInfo: RemoteInfo;

loaderHook: FederationHost['loaderHook'];
shareScopeMap: ShareScopeMap;
});

@@ -22,0 +24,0 @@ getEntry(): Promise<RemoteEntryExports>;

@@ -60,3 +60,3 @@ import type { RemoteWithEntry, RemoteWithVersion, Module, RemoteEntryType } from '@module-federation/sdk';

};
export type GlobalShareScope = {
export type ShareScopeMap = {
[scope: string]: {

@@ -68,2 +68,5 @@ [pkgName: string]: {

};
export type GlobalShareScopeMap = {
[instanceName: string]: ShareScopeMap;
};
export type ShareInfos = {

@@ -94,4 +97,4 @@ [pkgName: string]: Shared;

get: (id: string) => () => Promise<Module>;
init: (shareScope: GlobalShareScope[string], initScope?: Array<Record<string, never>>, remoteEntryInitOPtions?: RemoteEntryInitOptions) => void;
init: (shareScope: ShareScopeMap[string], initScope?: Array<Record<string, any>>, remoteEntryInitOPtions?: RemoteEntryInitOptions) => void;
};
export {};

@@ -1,2 +0,4 @@

import { GlobalShareScope, Shared, ShareArgs, ShareInfos } from '../type';
import { Federation } from '../global';
import { GlobalShareScopeMap, Shared, ShareArgs, ShareInfos, ShareScopeMap } from '../type';
import { SyncWaterfallHook } from './hooks';
export declare function formatShare(shareArgs: ShareArgs, from: string): Shared;

@@ -6,3 +8,10 @@ export declare function formatShareConfigs(shareArgs: {

}, from: string): ShareInfos;
export declare function getGlobalShare(pkgName: string, shareInfo: ShareInfos[keyof ShareInfos]): Shared | void;
export declare function getGlobalShareScope(): GlobalShareScope;
export declare function getRegisteredShare(localShareScopeMap: ShareScopeMap, pkgName: string, shareInfo: ShareInfos[keyof ShareInfos], resolveShare: SyncWaterfallHook<{
shareScopeMap: ShareScopeMap;
scope: string;
pkgName: string;
version: string;
GlobalFederation: Federation;
resolver: () => Shared | undefined;
}>): Shared | void;
export declare function getGlobalShareScope(): GlobalShareScopeMap;
{
"name": "@module-federation/runtime",
"version": "0.0.0-next-20231220085130",
"version": "0.0.0-next-20231221061836",
"author": "zhouxiao <codingzx@gmail.com>",

@@ -42,4 +42,4 @@ "main": "./dist/index.cjs",

],
"type": [
"./dist/type.cjs.d.ts"
"types": [
"./dist/types.cjs.d.ts"
]

@@ -49,4 +49,4 @@ }

"dependencies": {
"@module-federation/sdk": "0.0.0-next-20231220085130"
"@module-federation/sdk": "0.0.0-next-20231221061836"
}
}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc