@module-federation/runtime
Advanced tools
Comparing version 0.0.6 to 0.0.7
@@ -10,2 +10,3 @@ 'use strict'; | ||
const GlobalUtils = { | ||
Global: share.Global, | ||
nativeGlobal: share.nativeGlobal, | ||
@@ -12,0 +13,0 @@ resetFederationGlobalInfo: share.resetFederationGlobalInfo, |
@@ -1,2 +0,2 @@ | ||
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 getGlobalShare, x as getGlobalShareScope, G as Global, 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'; | ||
@@ -8,2 +8,3 @@ const ShareUtils = { | ||
const GlobalUtils = { | ||
Global, | ||
nativeGlobal, | ||
@@ -10,0 +11,0 @@ resetFederationGlobalInfo, |
{ | ||
"name": "@module-federation/runtime", | ||
"version": "0.0.6", | ||
"version": "0.0.7", | ||
"author": "zhouxiao <codingzx@gmail.com>", | ||
@@ -5,0 +5,0 @@ "main": "./index.cjs.js", |
@@ -91,65 +91,71 @@ 'use strict'; | ||
} | ||
var _nativeGlobal___FEDERATION__, _nativeGlobal___FEDERATION__1, _nativeGlobal___FEDERATION__2, _nativeGlobal___FEDERATION__3, _nativeGlobal___FEDERATION__4, _nativeGlobal___FEDERATION__5, _nativeGlobal___FEDERATION__6; | ||
// export const nativeGlobal: typeof global = new Function('return this')(); | ||
const nativeGlobal = new Function('return this')(); | ||
const Global = nativeGlobal; | ||
function definePropertyGlobalVal(target, key, val) { | ||
Object.defineProperty(target, key, { | ||
value: val, | ||
configurable: false, | ||
writable: true | ||
}); | ||
} | ||
function includeOwnProperty(target, key) { | ||
return Object.hasOwnProperty.call(target, key); | ||
} | ||
// This section is to prevent encapsulation by certain microfrontend frameworks. Due to reuse policies, sandbox escapes. | ||
// The sandbox in the microfrontend does not replicate the value of 'configurable'. | ||
// If there is no loading content on the global object, this section defines the loading object. | ||
if (!Object.hasOwnProperty.call(globalThis, '__GLOBAL_LOADING_REMOTE_ENTRY__')) { | ||
Object.defineProperty(globalThis, '__GLOBAL_LOADING_REMOTE_ENTRY__', { | ||
value: {}, | ||
configurable: false | ||
}); | ||
if (!includeOwnProperty(globalThis, '__GLOBAL_LOADING_REMOTE_ENTRY__')) { | ||
definePropertyGlobalVal(globalThis, '__GLOBAL_LOADING_REMOTE_ENTRY__', {}); | ||
} | ||
const globalLoading = globalThis.__GLOBAL_LOADING_REMOTE_ENTRY__; | ||
// | ||
if (nativeGlobal.__VMOK__) { | ||
nativeGlobal.__FEDERATION__ = nativeGlobal.__VMOK__; | ||
} else if (!nativeGlobal.__FEDERATION__) { | ||
nativeGlobal.__FEDERATION__ = { | ||
__GLOBAL_PLUGIN__: [], | ||
__INSTANCES__: [], | ||
moduleInfo: {}, | ||
__SHARE__: {}, | ||
__MANIFEST_LOADING__: {}, | ||
__SHARE_SCOPE_LOADING__: {}, | ||
__PRELOADED_MAP__: new Map() | ||
}; | ||
nativeGlobal.__VMOK__ = nativeGlobal.__FEDERATION__; | ||
function setGlobalDefaultVal(target) { | ||
var _target___FEDERATION__, _target___FEDERATION__1, _target___FEDERATION__2, _target___FEDERATION__3, _target___FEDERATION__4, _target___FEDERATION__5, _target___FEDERATION__6; | ||
if (includeOwnProperty(target, '__VMOK__') && !includeOwnProperty(target, '__FEDERATION__')) { | ||
definePropertyGlobalVal(target, '__FEDERATION__', target.__VMOK__); | ||
} | ||
if (!includeOwnProperty(target, '__FEDERATION__')) { | ||
definePropertyGlobalVal(target, '__FEDERATION__', { | ||
__GLOBAL_PLUGIN__: [], | ||
__INSTANCES__: [], | ||
moduleInfo: {}, | ||
__SHARE__: {}, | ||
__MANIFEST_LOADING__: {}, | ||
__SHARE_SCOPE_LOADING__: {}, | ||
__PRELOADED_MAP__: new Map() | ||
}); | ||
definePropertyGlobalVal(target, '__VMOK__', target.__FEDERATION__); | ||
} | ||
var ___GLOBAL_PLUGIN__; | ||
(___GLOBAL_PLUGIN__ = (_target___FEDERATION__ = target.__FEDERATION__).__GLOBAL_PLUGIN__) != null ? ___GLOBAL_PLUGIN__ : _target___FEDERATION__.__GLOBAL_PLUGIN__ = []; | ||
var ___INSTANCES__; | ||
(___INSTANCES__ = (_target___FEDERATION__1 = target.__FEDERATION__).__INSTANCES__) != null ? ___INSTANCES__ : _target___FEDERATION__1.__INSTANCES__ = []; | ||
var _moduleInfo; | ||
(_moduleInfo = (_target___FEDERATION__2 = target.__FEDERATION__).moduleInfo) != null ? _moduleInfo : _target___FEDERATION__2.moduleInfo = {}; | ||
var ___SHARE__; | ||
(___SHARE__ = (_target___FEDERATION__3 = target.__FEDERATION__).__SHARE__) != null ? ___SHARE__ : _target___FEDERATION__3.__SHARE__ = {}; | ||
var ___MANIFEST_LOADING__; | ||
(___MANIFEST_LOADING__ = (_target___FEDERATION__4 = target.__FEDERATION__).__MANIFEST_LOADING__) != null ? ___MANIFEST_LOADING__ : _target___FEDERATION__4.__MANIFEST_LOADING__ = {}; | ||
var ___SHARE_SCOPE_LOADING__; | ||
(___SHARE_SCOPE_LOADING__ = (_target___FEDERATION__5 = target.__FEDERATION__).__SHARE_SCOPE_LOADING__) != null ? ___SHARE_SCOPE_LOADING__ : _target___FEDERATION__5.__SHARE_SCOPE_LOADING__ = {}; | ||
var ___PRELOADED_MAP__; | ||
(___PRELOADED_MAP__ = (_target___FEDERATION__6 = target.__FEDERATION__).__PRELOADED_MAP__) != null ? ___PRELOADED_MAP__ : _target___FEDERATION__6.__PRELOADED_MAP__ = new Map(); | ||
} | ||
var ___GLOBAL_PLUGIN__; | ||
(___GLOBAL_PLUGIN__ = (_nativeGlobal___FEDERATION__ = nativeGlobal.__FEDERATION__).__GLOBAL_PLUGIN__) != null ? ___GLOBAL_PLUGIN__ : _nativeGlobal___FEDERATION__.__GLOBAL_PLUGIN__ = []; | ||
var ___INSTANCES__; | ||
(___INSTANCES__ = (_nativeGlobal___FEDERATION__1 = nativeGlobal.__FEDERATION__).__INSTANCES__) != null ? ___INSTANCES__ : _nativeGlobal___FEDERATION__1.__INSTANCES__ = []; | ||
var _moduleInfo; | ||
(_moduleInfo = (_nativeGlobal___FEDERATION__2 = nativeGlobal.__FEDERATION__).moduleInfo) != null ? _moduleInfo : _nativeGlobal___FEDERATION__2.moduleInfo = {}; | ||
var ___SHARE__; | ||
(___SHARE__ = (_nativeGlobal___FEDERATION__3 = nativeGlobal.__FEDERATION__).__SHARE__) != null ? ___SHARE__ : _nativeGlobal___FEDERATION__3.__SHARE__ = {}; | ||
var ___MANIFEST_LOADING__; | ||
(___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(); | ||
const Global = { | ||
get __FEDERATION__ () { | ||
const globalThisVal = new Function('return globalThis')(); | ||
return globalThisVal.__FEDERATION__; | ||
} | ||
}; | ||
setGlobalDefaultVal(globalThis); | ||
setGlobalDefaultVal(nativeGlobal); | ||
function resetFederationGlobalInfo() { | ||
nativeGlobal.__FEDERATION__.__GLOBAL_PLUGIN__ = []; | ||
nativeGlobal.__FEDERATION__.__INSTANCES__ = []; | ||
nativeGlobal.__FEDERATION__.moduleInfo = {}; | ||
nativeGlobal.__FEDERATION__.__SHARE__ = {}; | ||
nativeGlobal.__FEDERATION__.__MANIFEST_LOADING__ = {}; | ||
nativeGlobal.__FEDERATION__.__SHARE_SCOPE_LOADING__ = {}; | ||
globalThis.__FEDERATION__.__GLOBAL_PLUGIN__ = []; | ||
globalThis.__FEDERATION__.__INSTANCES__ = []; | ||
globalThis.__FEDERATION__.moduleInfo = {}; | ||
globalThis.__FEDERATION__.__SHARE__ = {}; | ||
globalThis.__FEDERATION__.__MANIFEST_LOADING__ = {}; | ||
globalThis.__FEDERATION__.__SHARE_SCOPE_LOADING__ = {}; | ||
} | ||
function getGlobalFederationInstance(name, version) { | ||
const buildId = getBuilderId(); | ||
return Global.__FEDERATION__.__INSTANCES__.find((GMInstance)=>{ | ||
return globalThis.__FEDERATION__.__INSTANCES__.find((GMInstance)=>{ | ||
if (buildId && GMInstance.options.id === getBuilderId()) { | ||
return true; | ||
} | ||
if (GMInstance.options.name === name && !version) { | ||
if (GMInstance.options.name === name && !GMInstance.options.version && !version) { | ||
return true; | ||
@@ -164,11 +170,11 @@ } | ||
function setGlobalFederationInstance(FederationInstance) { | ||
Global.__FEDERATION__.__INSTANCES__.push(FederationInstance); | ||
globalThis.__FEDERATION__.__INSTANCES__.push(FederationInstance); | ||
} | ||
function getGlobalFederationConstructor() { | ||
return Global.__FEDERATION__.__DEBUG_CONSTRUCTOR__; | ||
return globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR__; | ||
} | ||
function setGlobalFederationConstructor(FederationConstructor) { | ||
if (isDebugMode()) { | ||
Global.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = FederationConstructor; | ||
Global.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = '0.0.6'; | ||
globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = FederationConstructor; | ||
globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = '0.0.7'; | ||
} | ||
@@ -188,3 +194,3 @@ } | ||
} | ||
const getGlobalSnapshot = ()=>Global.__FEDERATION__.moduleInfo; | ||
const getGlobalSnapshot = ()=>nativeGlobal.__FEDERATION__.moduleInfo; | ||
const getTargetSnapshotInfoByModuleInfo = (moduleInfo, snapshot, getModuleInfoHook)=>{ | ||
@@ -207,3 +213,3 @@ // Check if the remote is included in the hostSnapshot | ||
const moduleKeyWithoutVersion = getFMId(resModuleInfo); | ||
const getModuleInfoWithoutVersion = getInfoWithoutType(Global.__FEDERATION__.moduleInfo, moduleKeyWithoutVersion, getModuleInfoHook).value; | ||
const getModuleInfoWithoutVersion = getInfoWithoutType(nativeGlobal.__FEDERATION__.moduleInfo, moduleKeyWithoutVersion, getModuleInfoHook).value; | ||
if ((getModuleInfoWithoutVersion == null ? void 0 : getModuleInfoWithoutVersion.version) === version) { | ||
@@ -215,14 +221,14 @@ return getModuleInfoWithoutVersion; | ||
}; | ||
const getGlobalSnapshotInfoByModuleInfo = (moduleInfo, extraOptions)=>getTargetSnapshotInfoByModuleInfo(moduleInfo, Global.__FEDERATION__.moduleInfo, extraOptions == null ? void 0 : extraOptions.getModuleInfoHook); | ||
const getGlobalSnapshotInfoByModuleInfo = (moduleInfo, extraOptions)=>getTargetSnapshotInfoByModuleInfo(moduleInfo, nativeGlobal.__FEDERATION__.moduleInfo, extraOptions == null ? void 0 : extraOptions.getModuleInfoHook); | ||
const setGlobalSnapshotInfoByModuleInfo = (remoteInfo, moduleDetailInfo)=>{ | ||
const moduleKey = getFMId(remoteInfo); | ||
Global.__FEDERATION__.moduleInfo[moduleKey] = moduleDetailInfo; | ||
return Global.__FEDERATION__.moduleInfo; | ||
nativeGlobal.__FEDERATION__.moduleInfo[moduleKey] = moduleDetailInfo; | ||
return nativeGlobal.__FEDERATION__.moduleInfo; | ||
}; | ||
const addGlobalSnapshot = (moduleInfos)=>{ | ||
Global.__FEDERATION__.moduleInfo = _extends$1({}, Global.__FEDERATION__.moduleInfo, moduleInfos); | ||
nativeGlobal.__FEDERATION__.moduleInfo = _extends$1({}, nativeGlobal.__FEDERATION__.moduleInfo, moduleInfos); | ||
return ()=>{ | ||
const keys = Object.keys(moduleInfos); | ||
for (const key of keys){ | ||
delete Global.__FEDERATION__.moduleInfo[key]; | ||
delete nativeGlobal.__FEDERATION__.moduleInfo[key]; | ||
} | ||
@@ -244,3 +250,3 @@ }; | ||
const registerGlobalPlugins = (plugins)=>{ | ||
const { __GLOBAL_PLUGIN__ } = Global.__FEDERATION__; | ||
const { __GLOBAL_PLUGIN__ } = nativeGlobal.__FEDERATION__; | ||
plugins.forEach((plugin)=>{ | ||
@@ -254,5 +260,5 @@ if (__GLOBAL_PLUGIN__.findIndex((p)=>p.name === plugin.name) === -1) { | ||
}; | ||
const getGlobalHostPlugins = ()=>Global.__FEDERATION__.__GLOBAL_PLUGIN__; | ||
const getPreloaded = (id)=>Global.__FEDERATION__.__PRELOADED_MAP__.get(id); | ||
const setPreloaded = (id)=>Global.__FEDERATION__.__PRELOADED_MAP__.set(id, true); | ||
const getGlobalHostPlugins = ()=>nativeGlobal.__FEDERATION__.__GLOBAL_PLUGIN__; | ||
const getPreloaded = (id)=>globalThis.__FEDERATION__.__PRELOADED_MAP__.get(id); | ||
const setPreloaded = (id)=>globalThis.__FEDERATION__.__PRELOADED_MAP__.set(id, true); | ||
@@ -259,0 +265,0 @@ const DEFAULT_SCOPE = 'default'; |
@@ -89,65 +89,71 @@ function getBuilderId() { | ||
} | ||
var _nativeGlobal___FEDERATION__, _nativeGlobal___FEDERATION__1, _nativeGlobal___FEDERATION__2, _nativeGlobal___FEDERATION__3, _nativeGlobal___FEDERATION__4, _nativeGlobal___FEDERATION__5, _nativeGlobal___FEDERATION__6; | ||
// export const nativeGlobal: typeof global = new Function('return this')(); | ||
const nativeGlobal = new Function('return this')(); | ||
const Global = nativeGlobal; | ||
function definePropertyGlobalVal(target, key, val) { | ||
Object.defineProperty(target, key, { | ||
value: val, | ||
configurable: false, | ||
writable: true | ||
}); | ||
} | ||
function includeOwnProperty(target, key) { | ||
return Object.hasOwnProperty.call(target, key); | ||
} | ||
// This section is to prevent encapsulation by certain microfrontend frameworks. Due to reuse policies, sandbox escapes. | ||
// The sandbox in the microfrontend does not replicate the value of 'configurable'. | ||
// If there is no loading content on the global object, this section defines the loading object. | ||
if (!Object.hasOwnProperty.call(globalThis, '__GLOBAL_LOADING_REMOTE_ENTRY__')) { | ||
Object.defineProperty(globalThis, '__GLOBAL_LOADING_REMOTE_ENTRY__', { | ||
value: {}, | ||
configurable: false | ||
}); | ||
if (!includeOwnProperty(globalThis, '__GLOBAL_LOADING_REMOTE_ENTRY__')) { | ||
definePropertyGlobalVal(globalThis, '__GLOBAL_LOADING_REMOTE_ENTRY__', {}); | ||
} | ||
const globalLoading = globalThis.__GLOBAL_LOADING_REMOTE_ENTRY__; | ||
// | ||
if (nativeGlobal.__VMOK__) { | ||
nativeGlobal.__FEDERATION__ = nativeGlobal.__VMOK__; | ||
} else if (!nativeGlobal.__FEDERATION__) { | ||
nativeGlobal.__FEDERATION__ = { | ||
__GLOBAL_PLUGIN__: [], | ||
__INSTANCES__: [], | ||
moduleInfo: {}, | ||
__SHARE__: {}, | ||
__MANIFEST_LOADING__: {}, | ||
__SHARE_SCOPE_LOADING__: {}, | ||
__PRELOADED_MAP__: new Map() | ||
}; | ||
nativeGlobal.__VMOK__ = nativeGlobal.__FEDERATION__; | ||
function setGlobalDefaultVal(target) { | ||
var _target___FEDERATION__, _target___FEDERATION__1, _target___FEDERATION__2, _target___FEDERATION__3, _target___FEDERATION__4, _target___FEDERATION__5, _target___FEDERATION__6; | ||
if (includeOwnProperty(target, '__VMOK__') && !includeOwnProperty(target, '__FEDERATION__')) { | ||
definePropertyGlobalVal(target, '__FEDERATION__', target.__VMOK__); | ||
} | ||
if (!includeOwnProperty(target, '__FEDERATION__')) { | ||
definePropertyGlobalVal(target, '__FEDERATION__', { | ||
__GLOBAL_PLUGIN__: [], | ||
__INSTANCES__: [], | ||
moduleInfo: {}, | ||
__SHARE__: {}, | ||
__MANIFEST_LOADING__: {}, | ||
__SHARE_SCOPE_LOADING__: {}, | ||
__PRELOADED_MAP__: new Map() | ||
}); | ||
definePropertyGlobalVal(target, '__VMOK__', target.__FEDERATION__); | ||
} | ||
var ___GLOBAL_PLUGIN__; | ||
(___GLOBAL_PLUGIN__ = (_target___FEDERATION__ = target.__FEDERATION__).__GLOBAL_PLUGIN__) != null ? ___GLOBAL_PLUGIN__ : _target___FEDERATION__.__GLOBAL_PLUGIN__ = []; | ||
var ___INSTANCES__; | ||
(___INSTANCES__ = (_target___FEDERATION__1 = target.__FEDERATION__).__INSTANCES__) != null ? ___INSTANCES__ : _target___FEDERATION__1.__INSTANCES__ = []; | ||
var _moduleInfo; | ||
(_moduleInfo = (_target___FEDERATION__2 = target.__FEDERATION__).moduleInfo) != null ? _moduleInfo : _target___FEDERATION__2.moduleInfo = {}; | ||
var ___SHARE__; | ||
(___SHARE__ = (_target___FEDERATION__3 = target.__FEDERATION__).__SHARE__) != null ? ___SHARE__ : _target___FEDERATION__3.__SHARE__ = {}; | ||
var ___MANIFEST_LOADING__; | ||
(___MANIFEST_LOADING__ = (_target___FEDERATION__4 = target.__FEDERATION__).__MANIFEST_LOADING__) != null ? ___MANIFEST_LOADING__ : _target___FEDERATION__4.__MANIFEST_LOADING__ = {}; | ||
var ___SHARE_SCOPE_LOADING__; | ||
(___SHARE_SCOPE_LOADING__ = (_target___FEDERATION__5 = target.__FEDERATION__).__SHARE_SCOPE_LOADING__) != null ? ___SHARE_SCOPE_LOADING__ : _target___FEDERATION__5.__SHARE_SCOPE_LOADING__ = {}; | ||
var ___PRELOADED_MAP__; | ||
(___PRELOADED_MAP__ = (_target___FEDERATION__6 = target.__FEDERATION__).__PRELOADED_MAP__) != null ? ___PRELOADED_MAP__ : _target___FEDERATION__6.__PRELOADED_MAP__ = new Map(); | ||
} | ||
var ___GLOBAL_PLUGIN__; | ||
(___GLOBAL_PLUGIN__ = (_nativeGlobal___FEDERATION__ = nativeGlobal.__FEDERATION__).__GLOBAL_PLUGIN__) != null ? ___GLOBAL_PLUGIN__ : _nativeGlobal___FEDERATION__.__GLOBAL_PLUGIN__ = []; | ||
var ___INSTANCES__; | ||
(___INSTANCES__ = (_nativeGlobal___FEDERATION__1 = nativeGlobal.__FEDERATION__).__INSTANCES__) != null ? ___INSTANCES__ : _nativeGlobal___FEDERATION__1.__INSTANCES__ = []; | ||
var _moduleInfo; | ||
(_moduleInfo = (_nativeGlobal___FEDERATION__2 = nativeGlobal.__FEDERATION__).moduleInfo) != null ? _moduleInfo : _nativeGlobal___FEDERATION__2.moduleInfo = {}; | ||
var ___SHARE__; | ||
(___SHARE__ = (_nativeGlobal___FEDERATION__3 = nativeGlobal.__FEDERATION__).__SHARE__) != null ? ___SHARE__ : _nativeGlobal___FEDERATION__3.__SHARE__ = {}; | ||
var ___MANIFEST_LOADING__; | ||
(___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(); | ||
const Global = { | ||
get __FEDERATION__ () { | ||
const globalThisVal = new Function('return globalThis')(); | ||
return globalThisVal.__FEDERATION__; | ||
} | ||
}; | ||
setGlobalDefaultVal(globalThis); | ||
setGlobalDefaultVal(nativeGlobal); | ||
function resetFederationGlobalInfo() { | ||
nativeGlobal.__FEDERATION__.__GLOBAL_PLUGIN__ = []; | ||
nativeGlobal.__FEDERATION__.__INSTANCES__ = []; | ||
nativeGlobal.__FEDERATION__.moduleInfo = {}; | ||
nativeGlobal.__FEDERATION__.__SHARE__ = {}; | ||
nativeGlobal.__FEDERATION__.__MANIFEST_LOADING__ = {}; | ||
nativeGlobal.__FEDERATION__.__SHARE_SCOPE_LOADING__ = {}; | ||
globalThis.__FEDERATION__.__GLOBAL_PLUGIN__ = []; | ||
globalThis.__FEDERATION__.__INSTANCES__ = []; | ||
globalThis.__FEDERATION__.moduleInfo = {}; | ||
globalThis.__FEDERATION__.__SHARE__ = {}; | ||
globalThis.__FEDERATION__.__MANIFEST_LOADING__ = {}; | ||
globalThis.__FEDERATION__.__SHARE_SCOPE_LOADING__ = {}; | ||
} | ||
function getGlobalFederationInstance(name, version) { | ||
const buildId = getBuilderId(); | ||
return Global.__FEDERATION__.__INSTANCES__.find((GMInstance)=>{ | ||
return globalThis.__FEDERATION__.__INSTANCES__.find((GMInstance)=>{ | ||
if (buildId && GMInstance.options.id === getBuilderId()) { | ||
return true; | ||
} | ||
if (GMInstance.options.name === name && !version) { | ||
if (GMInstance.options.name === name && !GMInstance.options.version && !version) { | ||
return true; | ||
@@ -162,11 +168,11 @@ } | ||
function setGlobalFederationInstance(FederationInstance) { | ||
Global.__FEDERATION__.__INSTANCES__.push(FederationInstance); | ||
globalThis.__FEDERATION__.__INSTANCES__.push(FederationInstance); | ||
} | ||
function getGlobalFederationConstructor() { | ||
return Global.__FEDERATION__.__DEBUG_CONSTRUCTOR__; | ||
return globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR__; | ||
} | ||
function setGlobalFederationConstructor(FederationConstructor) { | ||
if (isDebugMode()) { | ||
Global.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = FederationConstructor; | ||
Global.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = '0.0.6'; | ||
globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = FederationConstructor; | ||
globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = '0.0.7'; | ||
} | ||
@@ -186,3 +192,3 @@ } | ||
} | ||
const getGlobalSnapshot = ()=>Global.__FEDERATION__.moduleInfo; | ||
const getGlobalSnapshot = ()=>nativeGlobal.__FEDERATION__.moduleInfo; | ||
const getTargetSnapshotInfoByModuleInfo = (moduleInfo, snapshot, getModuleInfoHook)=>{ | ||
@@ -205,3 +211,3 @@ // Check if the remote is included in the hostSnapshot | ||
const moduleKeyWithoutVersion = getFMId(resModuleInfo); | ||
const getModuleInfoWithoutVersion = getInfoWithoutType(Global.__FEDERATION__.moduleInfo, moduleKeyWithoutVersion, getModuleInfoHook).value; | ||
const getModuleInfoWithoutVersion = getInfoWithoutType(nativeGlobal.__FEDERATION__.moduleInfo, moduleKeyWithoutVersion, getModuleInfoHook).value; | ||
if ((getModuleInfoWithoutVersion == null ? void 0 : getModuleInfoWithoutVersion.version) === version) { | ||
@@ -213,14 +219,14 @@ return getModuleInfoWithoutVersion; | ||
}; | ||
const getGlobalSnapshotInfoByModuleInfo = (moduleInfo, extraOptions)=>getTargetSnapshotInfoByModuleInfo(moduleInfo, Global.__FEDERATION__.moduleInfo, extraOptions == null ? void 0 : extraOptions.getModuleInfoHook); | ||
const getGlobalSnapshotInfoByModuleInfo = (moduleInfo, extraOptions)=>getTargetSnapshotInfoByModuleInfo(moduleInfo, nativeGlobal.__FEDERATION__.moduleInfo, extraOptions == null ? void 0 : extraOptions.getModuleInfoHook); | ||
const setGlobalSnapshotInfoByModuleInfo = (remoteInfo, moduleDetailInfo)=>{ | ||
const moduleKey = getFMId(remoteInfo); | ||
Global.__FEDERATION__.moduleInfo[moduleKey] = moduleDetailInfo; | ||
return Global.__FEDERATION__.moduleInfo; | ||
nativeGlobal.__FEDERATION__.moduleInfo[moduleKey] = moduleDetailInfo; | ||
return nativeGlobal.__FEDERATION__.moduleInfo; | ||
}; | ||
const addGlobalSnapshot = (moduleInfos)=>{ | ||
Global.__FEDERATION__.moduleInfo = _extends$1({}, Global.__FEDERATION__.moduleInfo, moduleInfos); | ||
nativeGlobal.__FEDERATION__.moduleInfo = _extends$1({}, nativeGlobal.__FEDERATION__.moduleInfo, moduleInfos); | ||
return ()=>{ | ||
const keys = Object.keys(moduleInfos); | ||
for (const key of keys){ | ||
delete Global.__FEDERATION__.moduleInfo[key]; | ||
delete nativeGlobal.__FEDERATION__.moduleInfo[key]; | ||
} | ||
@@ -242,3 +248,3 @@ }; | ||
const registerGlobalPlugins = (plugins)=>{ | ||
const { __GLOBAL_PLUGIN__ } = Global.__FEDERATION__; | ||
const { __GLOBAL_PLUGIN__ } = nativeGlobal.__FEDERATION__; | ||
plugins.forEach((plugin)=>{ | ||
@@ -252,5 +258,5 @@ if (__GLOBAL_PLUGIN__.findIndex((p)=>p.name === plugin.name) === -1) { | ||
}; | ||
const getGlobalHostPlugins = ()=>Global.__FEDERATION__.__GLOBAL_PLUGIN__; | ||
const getPreloaded = (id)=>Global.__FEDERATION__.__PRELOADED_MAP__.get(id); | ||
const setPreloaded = (id)=>Global.__FEDERATION__.__PRELOADED_MAP__.set(id, true); | ||
const getGlobalHostPlugins = ()=>nativeGlobal.__FEDERATION__.__GLOBAL_PLUGIN__; | ||
const getPreloaded = (id)=>globalThis.__FEDERATION__.__PRELOADED_MAP__.get(id); | ||
const setPreloaded = (id)=>globalThis.__FEDERATION__.__PRELOADED_MAP__.set(id, true); | ||
@@ -257,0 +263,0 @@ const DEFAULT_SCOPE = 'default'; |
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, RemoteEntryExports, Remote, Shared, ShareInfos, UserOptions, RemoteInfo, GlobalShareScope, InitScope, RemoteEntryInitOptions } from './type'; | ||
import { Module, ModuleOptions } from './module'; | ||
@@ -35,2 +35,17 @@ import { AsyncHook, AsyncWaterfallHook, PluginSystem, SyncHook, SyncWaterfallHook } from './utils/hooks'; | ||
afterResolve: AsyncWaterfallHook<LoadRemoteMatch>; | ||
beforeInitContainer: AsyncWaterfallHook<{ | ||
shareScope: GlobalShareScope[string]; | ||
initScope: InitScope; | ||
remoteEntryInitOptions: RemoteEntryInitOptions; | ||
remoteInfo: RemoteInfo; | ||
origin: FederationHost; | ||
}>; | ||
initContainer: AsyncWaterfallHook<{ | ||
shareScope: GlobalShareScope[string]; | ||
initScope: InitScope; | ||
remoteEntryInitOptions: RemoteEntryInitOptions; | ||
remoteInfo: RemoteInfo; | ||
remoteEntryExports: RemoteEntryExports; | ||
origin: FederationHost; | ||
}>; | ||
onLoad: AsyncHook<[{ | ||
@@ -37,0 +52,0 @@ id: string; |
@@ -18,2 +18,3 @@ /// <reference types="node" /> | ||
export declare const nativeGlobal: typeof global; | ||
export declare const Global: typeof globalThis; | ||
declare global { | ||
@@ -23,5 +24,2 @@ var __FEDERATION__: Federation, __VMOK__: Federation, __GLOBAL_LOADING_REMOTE_ENTRY__: Record<string, undefined | Promise<RemoteEntryExports | void>>; | ||
export declare const globalLoading: Record<string, Promise<void | RemoteEntryExports> | undefined>; | ||
export declare const Global: { | ||
readonly __FEDERATION__: Federation; | ||
}; | ||
export declare function resetFederationGlobalInfo(): void; | ||
@@ -28,0 +26,0 @@ export declare function getGlobalFederationInstance(name: string, version: string | undefined): FederationHost | undefined; |
/// <reference types="node" /> | ||
import { resetFederationGlobalInfo, getGlobalFederationInstance, setGlobalFederationInstance, getGlobalFederationConstructor, setGlobalFederationConstructor, getInfoWithoutType, getGlobalSnapshot, getTargetSnapshotInfoByModuleInfo, getGlobalSnapshotInfoByModuleInfo, setGlobalSnapshotInfoByModuleInfo, addGlobalSnapshot, getRemoteEntryExports, registerGlobalPlugins, getGlobalHostPlugins, getPreloaded, setPreloaded } from './global'; | ||
import { resetFederationGlobalInfo, getGlobalFederationInstance, setGlobalFederationInstance, getGlobalFederationConstructor, setGlobalFederationConstructor, getInfoWithoutType, getGlobalSnapshot, getTargetSnapshotInfoByModuleInfo, getGlobalSnapshotInfoByModuleInfo, setGlobalSnapshotInfoByModuleInfo, addGlobalSnapshot, getRemoteEntryExports, registerGlobalPlugins, getGlobalHostPlugins, getPreloaded, setPreloaded, Global } from './global'; | ||
import { getGlobalShare, getGlobalShareScope } from './utils/share'; | ||
@@ -9,2 +9,3 @@ interface IShareUtils { | ||
interface IGlobalUtils { | ||
Global: typeof Global; | ||
nativeGlobal: typeof global; | ||
@@ -11,0 +12,0 @@ resetFederationGlobalInfo: typeof resetFederationGlobalInfo; |
import { FederationHost } from '../core'; | ||
import { RemoteEntryExports, Options, Remote, ShareInfos, RemoteInfo } from '../type'; | ||
import { RemoteEntryExports, RemoteInfo } from '../type'; | ||
export type ModuleOptions = ConstructorParameters<typeof Module>[0]; | ||
type HostInfo = Remote; | ||
declare class Module { | ||
hostInfo: HostInfo; | ||
remoteInfo: RemoteInfo; | ||
inited: boolean; | ||
shared: ShareInfos; | ||
remoteEntryExports?: RemoteEntryExports; | ||
lib: RemoteEntryExports | undefined; | ||
loaderHook: FederationHost['loaderHook']; | ||
constructor({ hostInfo, remoteInfo, shared, loaderHook, }: { | ||
hostInfo: HostInfo; | ||
host: FederationHost; | ||
constructor({ remoteInfo, host, }: { | ||
remoteInfo: RemoteInfo; | ||
shared: ShareInfos; | ||
plugins: Options['plugins']; | ||
loaderHook: FederationHost['loaderHook']; | ||
host: FederationHost; | ||
}); | ||
@@ -20,0 +14,0 @@ getEntry(): Promise<RemoteEntryExports>; |
@@ -90,6 +90,7 @@ import type { RemoteWithEntry, RemoteWithVersion, Module, RemoteEntryType } from '@module-federation/sdk'; | ||
}; | ||
export type InitScope = Array<Record<string, never>>; | ||
export type RemoteEntryExports = { | ||
get: (id: string) => () => Promise<Module>; | ||
init: (shareScope: GlobalShareScope[string], initScope?: Array<Record<string, never>>, remoteEntryInitOPtions?: RemoteEntryInitOptions) => void; | ||
init: (shareScope: GlobalShareScope[string], initScope?: InitScope, remoteEntryInitOPtions?: RemoteEntryInitOptions) => void; | ||
}; | ||
export {}; |
@@ -12,3 +12,3 @@ import { FederationHost } from '../core'; | ||
}>; | ||
type ModuleLifeCycle = Module['loaderHook']['lifecycle']; | ||
type ModuleLifeCycle = Module['host']['loaderHook']['lifecycle']; | ||
type ModuleLifeCycleCyclePartial = Partial<{ | ||
@@ -15,0 +15,0 @@ [k in keyof ModuleLifeCycle]: Parameters<ModuleLifeCycle[k]['on']>[0]; |
import { FederationHost } from '../core'; | ||
import { UserOptions } from '../type'; | ||
import { Module } from '../module'; | ||
export declare function registerPlugins(plugins: UserOptions['plugins'], hookInstances: Array<FederationHost['hooks'] | FederationHost['snapshotHandler']['hooks'] | Module['loaderHook']>): void; | ||
export declare function registerPlugins(plugins: UserOptions['plugins'], hookInstances: Array<FederationHost['hooks'] | FederationHost['snapshotHandler']['hooks'] | Module['host']['loaderHook']>): void; |
{ | ||
"name": "@module-federation/runtime", | ||
"version": "0.0.6", | ||
"version": "0.0.7", | ||
"author": "zhouxiao <codingzx@gmail.com>", | ||
@@ -48,4 +48,4 @@ "main": "./dist/index.cjs", | ||
"dependencies": { | ||
"@module-federation/sdk": "0.0.6" | ||
"@module-federation/sdk": "0.0.7" | ||
} | ||
} |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
237730
5375
+ Added@module-federation/sdk@0.0.7(transitive)
- Removed@module-federation/sdk@0.0.6(transitive)
Updated@module-federation/sdk@0.0.7