@module-federation/sdk
Advanced tools
Comparing version
@@ -5,3 +5,3 @@ 'use strict'; | ||
function _define_property$3(obj, key, value) { | ||
function _define_property$4(obj, key, value) { | ||
if (key in obj) { | ||
@@ -29,5 +29,5 @@ Object.defineProperty(obj, key, { | ||
var _obj; | ||
var NameTransformMap = (_obj = {}, _define_property$3(_obj, NameTransformSymbol.AT, 'scope_'), _define_property$3(_obj, NameTransformSymbol.HYPHEN, '_'), _define_property$3(_obj, NameTransformSymbol.SLASH, '__'), _obj); | ||
var NameTransformMap = (_obj = {}, _define_property$4(_obj, NameTransformSymbol.AT, 'scope_'), _define_property$4(_obj, NameTransformSymbol.HYPHEN, '_'), _define_property$4(_obj, NameTransformSymbol.SLASH, '__'), _obj); | ||
var _obj1; | ||
var EncodedNameTransformMap = (_obj1 = {}, _define_property$3(_obj1, NameTransformMap[NameTransformSymbol.AT], NameTransformSymbol.AT), _define_property$3(_obj1, NameTransformMap[NameTransformSymbol.HYPHEN], NameTransformSymbol.HYPHEN), _define_property$3(_obj1, NameTransformMap[NameTransformSymbol.SLASH], NameTransformSymbol.SLASH), _obj1); | ||
var EncodedNameTransformMap = (_obj1 = {}, _define_property$4(_obj1, NameTransformMap[NameTransformSymbol.AT], NameTransformSymbol.AT), _define_property$4(_obj1, NameTransformMap[NameTransformSymbol.HYPHEN], NameTransformSymbol.HYPHEN), _define_property$4(_obj1, NameTransformMap[NameTransformSymbol.SLASH], NameTransformSymbol.SLASH), _obj1); | ||
var SEPARATOR = ':'; | ||
@@ -98,3 +98,3 @@ var ManifestFileName = 'mf-manifest.json'; | ||
} | ||
function _define_property$2(obj, key, value) { | ||
function _define_property$3(obj, key, value) { | ||
if (key in obj) { | ||
@@ -150,4 +150,4 @@ Object.defineProperty(obj, key, { | ||
_class_call_check(this, Logger); | ||
_define_property$2(this, "enable", false); | ||
_define_property$2(this, "identifier", void 0); | ||
_define_property$3(this, "enable", false); | ||
_define_property$3(this, "identifier", void 0); | ||
this.identifier = identifier || DEBUG_LOG; | ||
@@ -381,3 +381,3 @@ if (isBrowserEnv() && safeGetLocalStorageItem()) { | ||
function _define_property$1(obj, key, value) { | ||
function _define_property$2(obj, key, value) { | ||
if (key in obj) { | ||
@@ -395,3 +395,3 @@ Object.defineProperty(obj, key, { | ||
} | ||
function _object_spread$1(target) { | ||
function _object_spread$2(target) { | ||
for(var i = 1; i < arguments.length; i++){ | ||
@@ -406,3 +406,3 @@ var source = arguments[i] != null ? arguments[i] : {}; | ||
ownKeys.forEach(function(key) { | ||
_define_property$1(target, key, source[key]); | ||
_define_property$2(target, key, source[key]); | ||
}); | ||
@@ -546,3 +546,3 @@ } | ||
var prefetchInterface = manifest.metaData.prefetchInterface; | ||
basicRemoteSnapshot = _object_spread_props(_object_spread$1({}, basicRemoteSnapshot), { | ||
basicRemoteSnapshot = _object_spread_props(_object_spread$2({}, basicRemoteSnapshot), { | ||
prefetchInterface: prefetchInterface | ||
@@ -553,3 +553,3 @@ }); | ||
var _manifest_metaData_prefetchEntry = manifest.metaData.prefetchEntry, path = _manifest_metaData_prefetchEntry.path, name = _manifest_metaData_prefetchEntry.name, type = _manifest_metaData_prefetchEntry.type; | ||
basicRemoteSnapshot = _object_spread_props(_object_spread$1({}, basicRemoteSnapshot), { | ||
basicRemoteSnapshot = _object_spread_props(_object_spread$2({}, basicRemoteSnapshot), { | ||
prefetchEntry: simpleJoinRemoteEntry(path, name), | ||
@@ -560,7 +560,7 @@ prefetchEntryType: type | ||
if ('publicPath' in manifest.metaData) { | ||
remoteSnapshot = _object_spread_props(_object_spread$1({}, basicRemoteSnapshot), { | ||
remoteSnapshot = _object_spread_props(_object_spread$2({}, basicRemoteSnapshot), { | ||
publicPath: getPublicPath() | ||
}); | ||
} else { | ||
remoteSnapshot = _object_spread_props(_object_spread$1({}, basicRemoteSnapshot), { | ||
remoteSnapshot = _object_spread_props(_object_spread$2({}, basicRemoteSnapshot), { | ||
getPublicPath: getPublicPath() | ||
@@ -608,2 +608,15 @@ }); | ||
} | ||
function _define_property$1(obj, key, value) { | ||
if (key in obj) { | ||
Object.defineProperty(obj, key, { | ||
value: value, | ||
enumerable: true, | ||
configurable: true, | ||
writable: true | ||
}); | ||
} else { | ||
obj[key] = value; | ||
} | ||
return obj; | ||
} | ||
function _instanceof(left, right) { | ||
@@ -616,2 +629,17 @@ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { | ||
} | ||
function _object_spread$1(target) { | ||
for(var i = 1; i < arguments.length; i++){ | ||
var source = arguments[i] != null ? arguments[i] : {}; | ||
var ownKeys = Object.keys(source); | ||
if (typeof Object.getOwnPropertySymbols === "function") { | ||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) { | ||
return Object.getOwnPropertyDescriptor(source, sym).enumerable; | ||
})); | ||
} | ||
ownKeys.forEach(function(key) { | ||
_define_property$1(target, key, source[key]); | ||
}); | ||
} | ||
return target; | ||
} | ||
function _ts_generator$1(thisArg, body) { | ||
@@ -761,3 +789,3 @@ var f, y, t, g, _ = { | ||
} | ||
function createScript(url, cb, attrs, createScriptHook) { | ||
function createScript(info) { | ||
// Retrieve the existing script element by its src attribute | ||
@@ -772,3 +800,3 @@ var script = null; | ||
var scriptSrc = s.getAttribute('src'); | ||
if (scriptSrc && isStaticResourcesEqual(scriptSrc, url)) { | ||
if (scriptSrc && isStaticResourcesEqual(scriptSrc, info.url)) { | ||
script = s; | ||
@@ -782,5 +810,5 @@ needAttach = false; | ||
script.type = 'text/javascript'; | ||
script.src = url; | ||
if (createScriptHook) { | ||
var createScriptRes = createScriptHook(url); | ||
script.src = info.url; | ||
if (info.createScriptHook) { | ||
var createScriptRes = info.createScriptHook(info.url); | ||
if (_instanceof(createScriptRes, HTMLScriptElement)) { | ||
@@ -793,16 +821,18 @@ script = createScriptRes; | ||
} | ||
} | ||
if (attrs) { | ||
Object.keys(attrs).forEach(function(name) { | ||
if (script) { | ||
if (name === 'async' || name === 'defer') { | ||
script[name] = attrs[name]; | ||
} else { | ||
script.setAttribute(name, attrs[name]); | ||
var attrs = info.attrs; | ||
if (attrs) { | ||
Object.keys(attrs).forEach(function(name) { | ||
if (script) { | ||
if (name === 'async' || name === 'defer') { | ||
script[name] = attrs[name]; | ||
} else { | ||
script.setAttribute(name, attrs[name]); | ||
} | ||
} | ||
} | ||
}); | ||
}); | ||
} | ||
} | ||
var onScriptComplete = function(prev, // eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
event) { | ||
var _info_cb; | ||
clearTimeout(timeoutId); | ||
@@ -814,12 +844,16 @@ // Prevent memory leaks in IE. | ||
safeWrapper(function() { | ||
(script === null || script === void 0 ? void 0 : script.parentNode) && script.parentNode.removeChild(script); | ||
var _info_needDeleteScript = info.needDeleteScript, needDeleteScript = _info_needDeleteScript === void 0 ? true : _info_needDeleteScript; | ||
if (needDeleteScript) { | ||
(script === null || script === void 0 ? void 0 : script.parentNode) && script.parentNode.removeChild(script); | ||
} | ||
}); | ||
if (prev) { | ||
var _info_cb1; | ||
// eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
var res = prev(event); | ||
cb(); | ||
info === null || info === void 0 ? void 0 : (_info_cb1 = info.cb) === null || _info_cb1 === void 0 ? void 0 : _info_cb1.call(info); | ||
return res; | ||
} | ||
} | ||
cb(); | ||
info === null || info === void 0 ? void 0 : (_info_cb = info.cb) === null || _info_cb === void 0 ? void 0 : _info_cb.call(info); | ||
}; | ||
@@ -829,3 +863,3 @@ script.onerror = onScriptComplete.bind(null, script.onerror); | ||
timeoutId = setTimeout(function() { | ||
onScriptComplete(null, new Error('Remote script "'.concat(url, '" time-outed.'))); | ||
onScriptComplete(null, new Error('Remote script "'.concat(info.url, '" time-outed.'))); | ||
}, timeout); | ||
@@ -837,4 +871,3 @@ return { | ||
} | ||
function createLink(url, cb) { | ||
var attrs = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, createLinkHook = arguments.length > 3 ? arguments[3] : void 0; | ||
function createLink(info) { | ||
// <link rel="preload" href="script.js" as="script"> | ||
@@ -849,3 +882,3 @@ // Retrieve the existing script element by its src attribute | ||
var linkRef = l.getAttribute('ref'); | ||
if (linkHref && isStaticResourcesEqual(linkHref, url) && linkRef === attrs['ref']) { | ||
if (linkHref && isStaticResourcesEqual(linkHref, info.url) && linkRef === info.attrs['ref']) { | ||
link = l; | ||
@@ -858,6 +891,5 @@ needAttach = false; | ||
link = document.createElement('link'); | ||
link.setAttribute('href', url); | ||
link.setAttribute('crossorigin', 'anonymous'); | ||
if (createLinkHook) { | ||
var createLinkRes = createLinkHook(url); | ||
link.setAttribute('href', info.url); | ||
if (info.createLinkHook) { | ||
var createLinkRes = info.createLinkHook(info.url); | ||
if (_instanceof(createLinkRes, HTMLLinkElement)) { | ||
@@ -867,10 +899,11 @@ link = createLinkRes; | ||
} | ||
var attrs = info.attrs; | ||
if (attrs) { | ||
Object.keys(attrs).forEach(function(name) { | ||
if (link) { | ||
link.setAttribute(name, attrs[name]); | ||
} | ||
}); | ||
} | ||
} | ||
if (attrs) { | ||
Object.keys(attrs).forEach(function(name) { | ||
if (link) { | ||
link.setAttribute(name, attrs[name]); | ||
} | ||
}); | ||
} | ||
var onLinkComplete = function(prev, // eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
@@ -883,3 +916,6 @@ event) { | ||
safeWrapper(function() { | ||
(link === null || link === void 0 ? void 0 : link.parentNode) && link.parentNode.removeChild(link); | ||
var _info_needDeleteLink = info.needDeleteLink, needDeleteLink = _info_needDeleteLink === void 0 ? true : _info_needDeleteLink; | ||
if (needDeleteLink) { | ||
(link === null || link === void 0 ? void 0 : link.parentNode) && link.parentNode.removeChild(link); | ||
} | ||
}); | ||
@@ -889,7 +925,7 @@ if (prev) { | ||
var res = prev(event); | ||
cb(); | ||
info.cb(); | ||
return res; | ||
} | ||
} | ||
cb(); | ||
info.cb(); | ||
}; | ||
@@ -904,6 +940,15 @@ link.onerror = onLinkComplete.bind(null, link.onerror); | ||
function loadScript(url, info) { | ||
var attrs = info.attrs, createScriptHook = info.createScriptHook; | ||
var _info_attrs = info.attrs, attrs = _info_attrs === void 0 ? {} : _info_attrs, createScriptHook = info.createScriptHook; | ||
return new Promise(function(resolve, _reject) { | ||
var _createScript = createScript(url, resolve, attrs, createScriptHook), script = _createScript.script, needAttach = _createScript.needAttach; | ||
needAttach && document.getElementsByTagName('head')[0].appendChild(script); | ||
var _createScript = createScript({ | ||
url: url, | ||
cb: resolve, | ||
attrs: _object_spread$1({ | ||
crossorigin: 'anonymous', | ||
fetchpriority: 'high' | ||
}, attrs), | ||
createScriptHook: createScriptHook, | ||
needDeleteScript: true | ||
}), script = _createScript.script, needAttach = _createScript.needAttach; | ||
needAttach && document.head.appendChild(script); | ||
}); | ||
@@ -910,0 +955,0 @@ } |
@@ -1,2 +0,2 @@ | ||
function _define_property$3(obj, key, value) { | ||
function _define_property$4(obj, key, value) { | ||
if (key in obj) { | ||
@@ -24,5 +24,5 @@ Object.defineProperty(obj, key, { | ||
var _obj; | ||
var NameTransformMap = (_obj = {}, _define_property$3(_obj, NameTransformSymbol.AT, 'scope_'), _define_property$3(_obj, NameTransformSymbol.HYPHEN, '_'), _define_property$3(_obj, NameTransformSymbol.SLASH, '__'), _obj); | ||
var NameTransformMap = (_obj = {}, _define_property$4(_obj, NameTransformSymbol.AT, 'scope_'), _define_property$4(_obj, NameTransformSymbol.HYPHEN, '_'), _define_property$4(_obj, NameTransformSymbol.SLASH, '__'), _obj); | ||
var _obj1; | ||
var EncodedNameTransformMap = (_obj1 = {}, _define_property$3(_obj1, NameTransformMap[NameTransformSymbol.AT], NameTransformSymbol.AT), _define_property$3(_obj1, NameTransformMap[NameTransformSymbol.HYPHEN], NameTransformSymbol.HYPHEN), _define_property$3(_obj1, NameTransformMap[NameTransformSymbol.SLASH], NameTransformSymbol.SLASH), _obj1); | ||
var EncodedNameTransformMap = (_obj1 = {}, _define_property$4(_obj1, NameTransformMap[NameTransformSymbol.AT], NameTransformSymbol.AT), _define_property$4(_obj1, NameTransformMap[NameTransformSymbol.HYPHEN], NameTransformSymbol.HYPHEN), _define_property$4(_obj1, NameTransformMap[NameTransformSymbol.SLASH], NameTransformSymbol.SLASH), _obj1); | ||
var SEPARATOR = ':'; | ||
@@ -93,3 +93,3 @@ var ManifestFileName = 'mf-manifest.json'; | ||
} | ||
function _define_property$2(obj, key, value) { | ||
function _define_property$3(obj, key, value) { | ||
if (key in obj) { | ||
@@ -145,4 +145,4 @@ Object.defineProperty(obj, key, { | ||
_class_call_check(this, Logger); | ||
_define_property$2(this, "enable", false); | ||
_define_property$2(this, "identifier", void 0); | ||
_define_property$3(this, "enable", false); | ||
_define_property$3(this, "identifier", void 0); | ||
this.identifier = identifier || DEBUG_LOG; | ||
@@ -376,3 +376,3 @@ if (isBrowserEnv() && safeGetLocalStorageItem()) { | ||
function _define_property$1(obj, key, value) { | ||
function _define_property$2(obj, key, value) { | ||
if (key in obj) { | ||
@@ -390,3 +390,3 @@ Object.defineProperty(obj, key, { | ||
} | ||
function _object_spread$1(target) { | ||
function _object_spread$2(target) { | ||
for(var i = 1; i < arguments.length; i++){ | ||
@@ -401,3 +401,3 @@ var source = arguments[i] != null ? arguments[i] : {}; | ||
ownKeys.forEach(function(key) { | ||
_define_property$1(target, key, source[key]); | ||
_define_property$2(target, key, source[key]); | ||
}); | ||
@@ -541,3 +541,3 @@ } | ||
var prefetchInterface = manifest.metaData.prefetchInterface; | ||
basicRemoteSnapshot = _object_spread_props(_object_spread$1({}, basicRemoteSnapshot), { | ||
basicRemoteSnapshot = _object_spread_props(_object_spread$2({}, basicRemoteSnapshot), { | ||
prefetchInterface: prefetchInterface | ||
@@ -548,3 +548,3 @@ }); | ||
var _manifest_metaData_prefetchEntry = manifest.metaData.prefetchEntry, path = _manifest_metaData_prefetchEntry.path, name = _manifest_metaData_prefetchEntry.name, type = _manifest_metaData_prefetchEntry.type; | ||
basicRemoteSnapshot = _object_spread_props(_object_spread$1({}, basicRemoteSnapshot), { | ||
basicRemoteSnapshot = _object_spread_props(_object_spread$2({}, basicRemoteSnapshot), { | ||
prefetchEntry: simpleJoinRemoteEntry(path, name), | ||
@@ -555,7 +555,7 @@ prefetchEntryType: type | ||
if ('publicPath' in manifest.metaData) { | ||
remoteSnapshot = _object_spread_props(_object_spread$1({}, basicRemoteSnapshot), { | ||
remoteSnapshot = _object_spread_props(_object_spread$2({}, basicRemoteSnapshot), { | ||
publicPath: getPublicPath() | ||
}); | ||
} else { | ||
remoteSnapshot = _object_spread_props(_object_spread$1({}, basicRemoteSnapshot), { | ||
remoteSnapshot = _object_spread_props(_object_spread$2({}, basicRemoteSnapshot), { | ||
getPublicPath: getPublicPath() | ||
@@ -603,2 +603,15 @@ }); | ||
} | ||
function _define_property$1(obj, key, value) { | ||
if (key in obj) { | ||
Object.defineProperty(obj, key, { | ||
value: value, | ||
enumerable: true, | ||
configurable: true, | ||
writable: true | ||
}); | ||
} else { | ||
obj[key] = value; | ||
} | ||
return obj; | ||
} | ||
function _instanceof(left, right) { | ||
@@ -611,2 +624,17 @@ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { | ||
} | ||
function _object_spread$1(target) { | ||
for(var i = 1; i < arguments.length; i++){ | ||
var source = arguments[i] != null ? arguments[i] : {}; | ||
var ownKeys = Object.keys(source); | ||
if (typeof Object.getOwnPropertySymbols === "function") { | ||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) { | ||
return Object.getOwnPropertyDescriptor(source, sym).enumerable; | ||
})); | ||
} | ||
ownKeys.forEach(function(key) { | ||
_define_property$1(target, key, source[key]); | ||
}); | ||
} | ||
return target; | ||
} | ||
function _ts_generator$1(thisArg, body) { | ||
@@ -756,3 +784,3 @@ var f, y, t, g, _ = { | ||
} | ||
function createScript(url, cb, attrs, createScriptHook) { | ||
function createScript(info) { | ||
// Retrieve the existing script element by its src attribute | ||
@@ -767,3 +795,3 @@ var script = null; | ||
var scriptSrc = s.getAttribute('src'); | ||
if (scriptSrc && isStaticResourcesEqual(scriptSrc, url)) { | ||
if (scriptSrc && isStaticResourcesEqual(scriptSrc, info.url)) { | ||
script = s; | ||
@@ -777,5 +805,5 @@ needAttach = false; | ||
script.type = 'text/javascript'; | ||
script.src = url; | ||
if (createScriptHook) { | ||
var createScriptRes = createScriptHook(url); | ||
script.src = info.url; | ||
if (info.createScriptHook) { | ||
var createScriptRes = info.createScriptHook(info.url); | ||
if (_instanceof(createScriptRes, HTMLScriptElement)) { | ||
@@ -788,16 +816,18 @@ script = createScriptRes; | ||
} | ||
} | ||
if (attrs) { | ||
Object.keys(attrs).forEach(function(name) { | ||
if (script) { | ||
if (name === 'async' || name === 'defer') { | ||
script[name] = attrs[name]; | ||
} else { | ||
script.setAttribute(name, attrs[name]); | ||
var attrs = info.attrs; | ||
if (attrs) { | ||
Object.keys(attrs).forEach(function(name) { | ||
if (script) { | ||
if (name === 'async' || name === 'defer') { | ||
script[name] = attrs[name]; | ||
} else { | ||
script.setAttribute(name, attrs[name]); | ||
} | ||
} | ||
} | ||
}); | ||
}); | ||
} | ||
} | ||
var onScriptComplete = function(prev, // eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
event) { | ||
var _info_cb; | ||
clearTimeout(timeoutId); | ||
@@ -809,12 +839,16 @@ // Prevent memory leaks in IE. | ||
safeWrapper(function() { | ||
(script === null || script === void 0 ? void 0 : script.parentNode) && script.parentNode.removeChild(script); | ||
var _info_needDeleteScript = info.needDeleteScript, needDeleteScript = _info_needDeleteScript === void 0 ? true : _info_needDeleteScript; | ||
if (needDeleteScript) { | ||
(script === null || script === void 0 ? void 0 : script.parentNode) && script.parentNode.removeChild(script); | ||
} | ||
}); | ||
if (prev) { | ||
var _info_cb1; | ||
// eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
var res = prev(event); | ||
cb(); | ||
info === null || info === void 0 ? void 0 : (_info_cb1 = info.cb) === null || _info_cb1 === void 0 ? void 0 : _info_cb1.call(info); | ||
return res; | ||
} | ||
} | ||
cb(); | ||
info === null || info === void 0 ? void 0 : (_info_cb = info.cb) === null || _info_cb === void 0 ? void 0 : _info_cb.call(info); | ||
}; | ||
@@ -824,3 +858,3 @@ script.onerror = onScriptComplete.bind(null, script.onerror); | ||
timeoutId = setTimeout(function() { | ||
onScriptComplete(null, new Error('Remote script "'.concat(url, '" time-outed.'))); | ||
onScriptComplete(null, new Error('Remote script "'.concat(info.url, '" time-outed.'))); | ||
}, timeout); | ||
@@ -832,4 +866,3 @@ return { | ||
} | ||
function createLink(url, cb) { | ||
var attrs = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, createLinkHook = arguments.length > 3 ? arguments[3] : void 0; | ||
function createLink(info) { | ||
// <link rel="preload" href="script.js" as="script"> | ||
@@ -844,3 +877,3 @@ // Retrieve the existing script element by its src attribute | ||
var linkRef = l.getAttribute('ref'); | ||
if (linkHref && isStaticResourcesEqual(linkHref, url) && linkRef === attrs['ref']) { | ||
if (linkHref && isStaticResourcesEqual(linkHref, info.url) && linkRef === info.attrs['ref']) { | ||
link = l; | ||
@@ -853,6 +886,5 @@ needAttach = false; | ||
link = document.createElement('link'); | ||
link.setAttribute('href', url); | ||
link.setAttribute('crossorigin', 'anonymous'); | ||
if (createLinkHook) { | ||
var createLinkRes = createLinkHook(url); | ||
link.setAttribute('href', info.url); | ||
if (info.createLinkHook) { | ||
var createLinkRes = info.createLinkHook(info.url); | ||
if (_instanceof(createLinkRes, HTMLLinkElement)) { | ||
@@ -862,10 +894,11 @@ link = createLinkRes; | ||
} | ||
var attrs = info.attrs; | ||
if (attrs) { | ||
Object.keys(attrs).forEach(function(name) { | ||
if (link) { | ||
link.setAttribute(name, attrs[name]); | ||
} | ||
}); | ||
} | ||
} | ||
if (attrs) { | ||
Object.keys(attrs).forEach(function(name) { | ||
if (link) { | ||
link.setAttribute(name, attrs[name]); | ||
} | ||
}); | ||
} | ||
var onLinkComplete = function(prev, // eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
@@ -878,3 +911,6 @@ event) { | ||
safeWrapper(function() { | ||
(link === null || link === void 0 ? void 0 : link.parentNode) && link.parentNode.removeChild(link); | ||
var _info_needDeleteLink = info.needDeleteLink, needDeleteLink = _info_needDeleteLink === void 0 ? true : _info_needDeleteLink; | ||
if (needDeleteLink) { | ||
(link === null || link === void 0 ? void 0 : link.parentNode) && link.parentNode.removeChild(link); | ||
} | ||
}); | ||
@@ -884,7 +920,7 @@ if (prev) { | ||
var res = prev(event); | ||
cb(); | ||
info.cb(); | ||
return res; | ||
} | ||
} | ||
cb(); | ||
info.cb(); | ||
}; | ||
@@ -899,6 +935,15 @@ link.onerror = onLinkComplete.bind(null, link.onerror); | ||
function loadScript(url, info) { | ||
var attrs = info.attrs, createScriptHook = info.createScriptHook; | ||
var _info_attrs = info.attrs, attrs = _info_attrs === void 0 ? {} : _info_attrs, createScriptHook = info.createScriptHook; | ||
return new Promise(function(resolve, _reject) { | ||
var _createScript = createScript(url, resolve, attrs, createScriptHook), script = _createScript.script, needAttach = _createScript.needAttach; | ||
needAttach && document.getElementsByTagName('head')[0].appendChild(script); | ||
var _createScript = createScript({ | ||
url: url, | ||
cb: resolve, | ||
attrs: _object_spread$1({ | ||
crossorigin: 'anonymous', | ||
fetchpriority: 'high' | ||
}, attrs), | ||
createScriptHook: createScriptHook, | ||
needDeleteScript: true | ||
}), script = _createScript.script, needAttach = _createScript.needAttach; | ||
needAttach && document.head.appendChild(script); | ||
}); | ||
@@ -905,0 +950,0 @@ } |
{ | ||
"name": "@module-federation/sdk", | ||
"version": "0.1.18", | ||
"version": "0.1.19", | ||
"license": "MIT", | ||
@@ -5,0 +5,0 @@ "description": "A sdk for support module federation", |
@@ -7,7 +7,19 @@ export declare function safeWrapper<T extends (...args: Array<any>) => any>(callback: T, disableWarn?: boolean): Promise<ReturnType<T> | undefined>; | ||
} | void; | ||
export declare function createScript(url: string, cb: (value: void | PromiseLike<void>) => void, attrs?: Record<string, any>, createScriptHook?: (url: string) => CreateScriptHookReturn): { | ||
export declare function createScript(info: { | ||
url: string; | ||
cb?: (value: void | PromiseLike<void>) => void; | ||
attrs?: Record<string, any>; | ||
needDeleteScript?: boolean; | ||
createScriptHook?: (url: string) => CreateScriptHookReturn; | ||
}): { | ||
script: HTMLScriptElement; | ||
needAttach: boolean; | ||
}; | ||
export declare function createLink(url: string, cb: (value: void | PromiseLike<void>) => void, attrs?: Record<string, string>, createLinkHook?: (url: string) => HTMLLinkElement | void): { | ||
export declare function createLink(info: { | ||
url: string; | ||
cb: (value: void | PromiseLike<void>) => void; | ||
attrs: Record<string, string>; | ||
needDeleteLink?: boolean; | ||
createLinkHook?: (url: string) => HTMLLinkElement | void; | ||
}): { | ||
link: HTMLLinkElement; | ||
@@ -14,0 +26,0 @@ needAttach: boolean; |
{ | ||
"name": "@module-federation/sdk", | ||
"version": "0.1.18", | ||
"version": "0.1.19", | ||
"license": "MIT", | ||
@@ -5,0 +5,0 @@ "description": "A sdk for support module federation", |
143245
2.76%3630
2.89%