@module-federation/sdk 0.1.18 → 0.1.19

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/dist/index.cjs.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- function _define_property$3(obj, key, value) {
5
+ function _define_property$4(obj, key, value) {
6
6
  if (key in obj) {
7
7
  Object.defineProperty(obj, key, {
8
8
  value: value,
@@ -25,9 +25,9 @@ var NameTransformSymbol = {
25
25
  SLASH: '/'
26
26
  };
27
27
  var _obj;
28
- var NameTransformMap = (_obj = {}, _define_property$3(_obj, NameTransformSymbol.AT, 'scope_'), _define_property$3(_obj, NameTransformSymbol.HYPHEN, '_'), _define_property$3(_obj, NameTransformSymbol.SLASH, '__'), _obj);
28
+ var NameTransformMap = (_obj = {}, _define_property$4(_obj, NameTransformSymbol.AT, 'scope_'), _define_property$4(_obj, NameTransformSymbol.HYPHEN, '_'), _define_property$4(_obj, NameTransformSymbol.SLASH, '__'), _obj);
29
29
  var _obj1;
30
- 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);
30
+ 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);
31
31
  var SEPARATOR = ':';
32
32
  var ManifestFileName = 'mf-manifest.json';
33
33
  var StatsFileName = 'mf-stats.json';
@@ -93,7 +93,7 @@ function _create_class(Constructor, protoProps, staticProps) {
93
93
  if (staticProps) _defineProperties(Constructor, staticProps);
94
94
  return Constructor;
95
95
  }
96
- function _define_property$2(obj, key, value) {
96
+ function _define_property$3(obj, key, value) {
97
97
  if (key in obj) {
98
98
  Object.defineProperty(obj, key, {
99
99
  value: value,
@@ -144,8 +144,8 @@ function safeGetLocalStorageItem() {
144
144
  var Logger = /*#__PURE__*/ function() {
145
145
  function Logger(identifier) {
146
146
  _class_call_check(this, Logger);
147
- _define_property$2(this, "enable", false);
148
- _define_property$2(this, "identifier", void 0);
147
+ _define_property$3(this, "enable", false);
148
+ _define_property$3(this, "identifier", void 0);
149
149
  this.identifier = identifier || DEBUG_LOG;
150
150
  if (isBrowserEnv() && safeGetLocalStorageItem()) {
151
151
  this.enable = true;
@@ -374,7 +374,7 @@ var warn = function(msg) {
374
374
  console.warn("".concat(LOG_CATEGORY, ": ").concat(msg));
375
375
  };
376
376
 
377
- function _define_property$1(obj, key, value) {
377
+ function _define_property$2(obj, key, value) {
378
378
  if (key in obj) {
379
379
  Object.defineProperty(obj, key, {
380
380
  value: value,
@@ -387,7 +387,7 @@ function _define_property$1(obj, key, value) {
387
387
  }
388
388
  return obj;
389
389
  }
390
- function _object_spread$1(target) {
390
+ function _object_spread$2(target) {
391
391
  for(var i = 1; i < arguments.length; i++){
392
392
  var source = arguments[i] != null ? arguments[i] : {};
393
393
  var ownKeys = Object.keys(source);
@@ -397,7 +397,7 @@ function _object_spread$1(target) {
397
397
  }));
398
398
  }
399
399
  ownKeys.forEach(function(key) {
400
- _define_property$1(target, key, source[key]);
400
+ _define_property$2(target, key, source[key]);
401
401
  });
402
402
  }
403
403
  return target;
@@ -536,23 +536,23 @@ function generateSnapshotFromManifest(manifest) {
536
536
  };
537
537
  if ((_manifest_metaData = manifest.metaData) === null || _manifest_metaData === void 0 ? void 0 : _manifest_metaData.prefetchInterface) {
538
538
  var prefetchInterface = manifest.metaData.prefetchInterface;
539
- basicRemoteSnapshot = _object_spread_props(_object_spread$1({}, basicRemoteSnapshot), {
539
+ basicRemoteSnapshot = _object_spread_props(_object_spread$2({}, basicRemoteSnapshot), {
540
540
  prefetchInterface: prefetchInterface
541
541
  });
542
542
  }
543
543
  if ((_manifest_metaData1 = manifest.metaData) === null || _manifest_metaData1 === void 0 ? void 0 : _manifest_metaData1.prefetchEntry) {
544
544
  var _manifest_metaData_prefetchEntry = manifest.metaData.prefetchEntry, path = _manifest_metaData_prefetchEntry.path, name = _manifest_metaData_prefetchEntry.name, type = _manifest_metaData_prefetchEntry.type;
545
- basicRemoteSnapshot = _object_spread_props(_object_spread$1({}, basicRemoteSnapshot), {
545
+ basicRemoteSnapshot = _object_spread_props(_object_spread$2({}, basicRemoteSnapshot), {
546
546
  prefetchEntry: simpleJoinRemoteEntry(path, name),
547
547
  prefetchEntryType: type
548
548
  });
549
549
  }
550
550
  if ('publicPath' in manifest.metaData) {
551
- remoteSnapshot = _object_spread_props(_object_spread$1({}, basicRemoteSnapshot), {
551
+ remoteSnapshot = _object_spread_props(_object_spread$2({}, basicRemoteSnapshot), {
552
552
  publicPath: getPublicPath()
553
553
  });
554
554
  } else {
555
- remoteSnapshot = _object_spread_props(_object_spread$1({}, basicRemoteSnapshot), {
555
+ remoteSnapshot = _object_spread_props(_object_spread$2({}, basicRemoteSnapshot), {
556
556
  getPublicPath: getPublicPath()
557
557
  });
558
558
  }
@@ -595,6 +595,19 @@ function _async_to_generator$1(fn) {
595
595
  });
596
596
  };
597
597
  }
598
+ function _define_property$1(obj, key, value) {
599
+ if (key in obj) {
600
+ Object.defineProperty(obj, key, {
601
+ value: value,
602
+ enumerable: true,
603
+ configurable: true,
604
+ writable: true
605
+ });
606
+ } else {
607
+ obj[key] = value;
608
+ }
609
+ return obj;
610
+ }
598
611
  function _instanceof(left, right) {
599
612
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
600
613
  return !!right[Symbol.hasInstance](left);
@@ -602,6 +615,21 @@ function _instanceof(left, right) {
602
615
  return left instanceof right;
603
616
  }
604
617
  }
618
+ function _object_spread$1(target) {
619
+ for(var i = 1; i < arguments.length; i++){
620
+ var source = arguments[i] != null ? arguments[i] : {};
621
+ var ownKeys = Object.keys(source);
622
+ if (typeof Object.getOwnPropertySymbols === "function") {
623
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
624
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
625
+ }));
626
+ }
627
+ ownKeys.forEach(function(key) {
628
+ _define_property$1(target, key, source[key]);
629
+ });
630
+ }
631
+ return target;
632
+ }
605
633
  function _ts_generator$1(thisArg, body) {
606
634
  var f, y, t, g, _ = {
607
635
  label: 0,
@@ -746,7 +774,7 @@ function isStaticResourcesEqual(url1, url2) {
746
774
  // Check if the relative paths are identical
747
775
  return relativeUrl1 === relativeUrl2;
748
776
  }
749
- function createScript(url, cb, attrs, createScriptHook) {
777
+ function createScript(info) {
750
778
  // Retrieve the existing script element by its src attribute
751
779
  var script = null;
752
780
  var needAttach = true;
@@ -756,7 +784,7 @@ function createScript(url, cb, attrs, createScriptHook) {
756
784
  for(var i = 0; i < scripts.length; i++){
757
785
  var s = scripts[i];
758
786
  var scriptSrc = s.getAttribute('src');
759
- if (scriptSrc && isStaticResourcesEqual(scriptSrc, url)) {
787
+ if (scriptSrc && isStaticResourcesEqual(scriptSrc, info.url)) {
760
788
  script = s;
761
789
  needAttach = false;
762
790
  break;
@@ -765,9 +793,9 @@ function createScript(url, cb, attrs, createScriptHook) {
765
793
  if (!script) {
766
794
  script = document.createElement('script');
767
795
  script.type = 'text/javascript';
768
- script.src = url;
769
- if (createScriptHook) {
770
- var createScriptRes = createScriptHook(url);
796
+ script.src = info.url;
797
+ if (info.createScriptHook) {
798
+ var createScriptRes = info.createScriptHook(info.url);
771
799
  if (_instanceof(createScriptRes, HTMLScriptElement)) {
772
800
  script = createScriptRes;
773
801
  } else if (typeof createScriptRes === 'object') {
@@ -775,49 +803,54 @@ function createScript(url, cb, attrs, createScriptHook) {
775
803
  if (createScriptRes.timeout) timeout = createScriptRes.timeout;
776
804
  }
777
805
  }
778
- }
779
- if (attrs) {
780
- Object.keys(attrs).forEach(function(name) {
781
- if (script) {
782
- if (name === 'async' || name === 'defer') {
783
- script[name] = attrs[name];
784
- } else {
785
- script.setAttribute(name, attrs[name]);
806
+ var attrs = info.attrs;
807
+ if (attrs) {
808
+ Object.keys(attrs).forEach(function(name) {
809
+ if (script) {
810
+ if (name === 'async' || name === 'defer') {
811
+ script[name] = attrs[name];
812
+ } else {
813
+ script.setAttribute(name, attrs[name]);
814
+ }
786
815
  }
787
- }
788
- });
816
+ });
817
+ }
789
818
  }
790
819
  var onScriptComplete = function(prev, // eslint-disable-next-line @typescript-eslint/no-explicit-any
791
820
  event) {
821
+ var _info_cb;
792
822
  clearTimeout(timeoutId);
793
823
  // Prevent memory leaks in IE.
794
824
  if (script) {
795
825
  script.onerror = null;
796
826
  script.onload = null;
797
827
  safeWrapper(function() {
798
- (script === null || script === void 0 ? void 0 : script.parentNode) && script.parentNode.removeChild(script);
828
+ var _info_needDeleteScript = info.needDeleteScript, needDeleteScript = _info_needDeleteScript === void 0 ? true : _info_needDeleteScript;
829
+ if (needDeleteScript) {
830
+ (script === null || script === void 0 ? void 0 : script.parentNode) && script.parentNode.removeChild(script);
831
+ }
799
832
  });
800
833
  if (prev) {
834
+ var _info_cb1;
801
835
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
802
836
  var res = prev(event);
803
- cb();
837
+ info === null || info === void 0 ? void 0 : (_info_cb1 = info.cb) === null || _info_cb1 === void 0 ? void 0 : _info_cb1.call(info);
804
838
  return res;
805
839
  }
806
840
  }
807
- cb();
841
+ info === null || info === void 0 ? void 0 : (_info_cb = info.cb) === null || _info_cb === void 0 ? void 0 : _info_cb.call(info);
808
842
  };
809
843
  script.onerror = onScriptComplete.bind(null, script.onerror);
810
844
  script.onload = onScriptComplete.bind(null, script.onload);
811
845
  timeoutId = setTimeout(function() {
812
- onScriptComplete(null, new Error('Remote script "'.concat(url, '" time-outed.')));
846
+ onScriptComplete(null, new Error('Remote script "'.concat(info.url, '" time-outed.')));
813
847
  }, timeout);
814
848
  return {
815
849
  script: script,
816
850
  needAttach: needAttach
817
851
  };
818
852
  }
819
- function createLink(url, cb) {
820
- var attrs = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, createLinkHook = arguments.length > 3 ? arguments[3] : void 0;
853
+ function createLink(info) {
821
854
  // <link rel="preload" href="script.js" as="script">
822
855
  // Retrieve the existing script element by its src attribute
823
856
  var link = null;
@@ -827,7 +860,7 @@ function createLink(url, cb) {
827
860
  var l = links[i];
828
861
  var linkHref = l.getAttribute('href');
829
862
  var linkRef = l.getAttribute('ref');
830
- if (linkHref && isStaticResourcesEqual(linkHref, url) && linkRef === attrs['ref']) {
863
+ if (linkHref && isStaticResourcesEqual(linkHref, info.url) && linkRef === info.attrs['ref']) {
831
864
  link = l;
832
865
  needAttach = false;
833
866
  break;
@@ -835,21 +868,21 @@ function createLink(url, cb) {
835
868
  }
836
869
  if (!link) {
837
870
  link = document.createElement('link');
838
- link.setAttribute('href', url);
839
- link.setAttribute('crossorigin', 'anonymous');
840
- if (createLinkHook) {
841
- var createLinkRes = createLinkHook(url);
871
+ link.setAttribute('href', info.url);
872
+ if (info.createLinkHook) {
873
+ var createLinkRes = info.createLinkHook(info.url);
842
874
  if (_instanceof(createLinkRes, HTMLLinkElement)) {
843
875
  link = createLinkRes;
844
876
  }
845
877
  }
846
- }
847
- if (attrs) {
848
- Object.keys(attrs).forEach(function(name) {
849
- if (link) {
850
- link.setAttribute(name, attrs[name]);
851
- }
852
- });
878
+ var attrs = info.attrs;
879
+ if (attrs) {
880
+ Object.keys(attrs).forEach(function(name) {
881
+ if (link) {
882
+ link.setAttribute(name, attrs[name]);
883
+ }
884
+ });
885
+ }
853
886
  }
854
887
  var onLinkComplete = function(prev, // eslint-disable-next-line @typescript-eslint/no-explicit-any
855
888
  event) {
@@ -858,16 +891,19 @@ function createLink(url, cb) {
858
891
  link.onerror = null;
859
892
  link.onload = null;
860
893
  safeWrapper(function() {
861
- (link === null || link === void 0 ? void 0 : link.parentNode) && link.parentNode.removeChild(link);
894
+ var _info_needDeleteLink = info.needDeleteLink, needDeleteLink = _info_needDeleteLink === void 0 ? true : _info_needDeleteLink;
895
+ if (needDeleteLink) {
896
+ (link === null || link === void 0 ? void 0 : link.parentNode) && link.parentNode.removeChild(link);
897
+ }
862
898
  });
863
899
  if (prev) {
864
900
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
865
901
  var res = prev(event);
866
- cb();
902
+ info.cb();
867
903
  return res;
868
904
  }
869
905
  }
870
- cb();
906
+ info.cb();
871
907
  };
872
908
  link.onerror = onLinkComplete.bind(null, link.onerror);
873
909
  link.onload = onLinkComplete.bind(null, link.onload);
@@ -877,10 +913,19 @@ function createLink(url, cb) {
877
913
  };
878
914
  }
879
915
  function loadScript(url, info) {
880
- var attrs = info.attrs, createScriptHook = info.createScriptHook;
916
+ var _info_attrs = info.attrs, attrs = _info_attrs === void 0 ? {} : _info_attrs, createScriptHook = info.createScriptHook;
881
917
  return new Promise(function(resolve, _reject) {
882
- var _createScript = createScript(url, resolve, attrs, createScriptHook), script = _createScript.script, needAttach = _createScript.needAttach;
883
- needAttach && document.getElementsByTagName('head')[0].appendChild(script);
918
+ var _createScript = createScript({
919
+ url: url,
920
+ cb: resolve,
921
+ attrs: _object_spread$1({
922
+ crossorigin: 'anonymous',
923
+ fetchpriority: 'high'
924
+ }, attrs),
925
+ createScriptHook: createScriptHook,
926
+ needDeleteScript: true
927
+ }), script = _createScript.script, needAttach = _createScript.needAttach;
928
+ needAttach && document.head.appendChild(script);
884
929
  });
885
930
  }
886
931
 
package/dist/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- function _define_property$3(obj, key, value) {
1
+ function _define_property$4(obj, key, value) {
2
2
  if (key in obj) {
3
3
  Object.defineProperty(obj, key, {
4
4
  value: value,
@@ -21,9 +21,9 @@ var NameTransformSymbol = {
21
21
  SLASH: '/'
22
22
  };
23
23
  var _obj;
24
- var NameTransformMap = (_obj = {}, _define_property$3(_obj, NameTransformSymbol.AT, 'scope_'), _define_property$3(_obj, NameTransformSymbol.HYPHEN, '_'), _define_property$3(_obj, NameTransformSymbol.SLASH, '__'), _obj);
24
+ var NameTransformMap = (_obj = {}, _define_property$4(_obj, NameTransformSymbol.AT, 'scope_'), _define_property$4(_obj, NameTransformSymbol.HYPHEN, '_'), _define_property$4(_obj, NameTransformSymbol.SLASH, '__'), _obj);
25
25
  var _obj1;
26
- 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);
26
+ 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);
27
27
  var SEPARATOR = ':';
28
28
  var ManifestFileName = 'mf-manifest.json';
29
29
  var StatsFileName = 'mf-stats.json';
@@ -89,7 +89,7 @@ function _create_class(Constructor, protoProps, staticProps) {
89
89
  if (staticProps) _defineProperties(Constructor, staticProps);
90
90
  return Constructor;
91
91
  }
92
- function _define_property$2(obj, key, value) {
92
+ function _define_property$3(obj, key, value) {
93
93
  if (key in obj) {
94
94
  Object.defineProperty(obj, key, {
95
95
  value: value,
@@ -140,8 +140,8 @@ function safeGetLocalStorageItem() {
140
140
  var Logger = /*#__PURE__*/ function() {
141
141
  function Logger(identifier) {
142
142
  _class_call_check(this, Logger);
143
- _define_property$2(this, "enable", false);
144
- _define_property$2(this, "identifier", void 0);
143
+ _define_property$3(this, "enable", false);
144
+ _define_property$3(this, "identifier", void 0);
145
145
  this.identifier = identifier || DEBUG_LOG;
146
146
  if (isBrowserEnv() && safeGetLocalStorageItem()) {
147
147
  this.enable = true;
@@ -370,7 +370,7 @@ var warn = function(msg) {
370
370
  console.warn("".concat(LOG_CATEGORY, ": ").concat(msg));
371
371
  };
372
372
 
373
- function _define_property$1(obj, key, value) {
373
+ function _define_property$2(obj, key, value) {
374
374
  if (key in obj) {
375
375
  Object.defineProperty(obj, key, {
376
376
  value: value,
@@ -383,7 +383,7 @@ function _define_property$1(obj, key, value) {
383
383
  }
384
384
  return obj;
385
385
  }
386
- function _object_spread$1(target) {
386
+ function _object_spread$2(target) {
387
387
  for(var i = 1; i < arguments.length; i++){
388
388
  var source = arguments[i] != null ? arguments[i] : {};
389
389
  var ownKeys = Object.keys(source);
@@ -393,7 +393,7 @@ function _object_spread$1(target) {
393
393
  }));
394
394
  }
395
395
  ownKeys.forEach(function(key) {
396
- _define_property$1(target, key, source[key]);
396
+ _define_property$2(target, key, source[key]);
397
397
  });
398
398
  }
399
399
  return target;
@@ -532,23 +532,23 @@ function generateSnapshotFromManifest(manifest) {
532
532
  };
533
533
  if ((_manifest_metaData = manifest.metaData) === null || _manifest_metaData === void 0 ? void 0 : _manifest_metaData.prefetchInterface) {
534
534
  var prefetchInterface = manifest.metaData.prefetchInterface;
535
- basicRemoteSnapshot = _object_spread_props(_object_spread$1({}, basicRemoteSnapshot), {
535
+ basicRemoteSnapshot = _object_spread_props(_object_spread$2({}, basicRemoteSnapshot), {
536
536
  prefetchInterface: prefetchInterface
537
537
  });
538
538
  }
539
539
  if ((_manifest_metaData1 = manifest.metaData) === null || _manifest_metaData1 === void 0 ? void 0 : _manifest_metaData1.prefetchEntry) {
540
540
  var _manifest_metaData_prefetchEntry = manifest.metaData.prefetchEntry, path = _manifest_metaData_prefetchEntry.path, name = _manifest_metaData_prefetchEntry.name, type = _manifest_metaData_prefetchEntry.type;
541
- basicRemoteSnapshot = _object_spread_props(_object_spread$1({}, basicRemoteSnapshot), {
541
+ basicRemoteSnapshot = _object_spread_props(_object_spread$2({}, basicRemoteSnapshot), {
542
542
  prefetchEntry: simpleJoinRemoteEntry(path, name),
543
543
  prefetchEntryType: type
544
544
  });
545
545
  }
546
546
  if ('publicPath' in manifest.metaData) {
547
- remoteSnapshot = _object_spread_props(_object_spread$1({}, basicRemoteSnapshot), {
547
+ remoteSnapshot = _object_spread_props(_object_spread$2({}, basicRemoteSnapshot), {
548
548
  publicPath: getPublicPath()
549
549
  });
550
550
  } else {
551
- remoteSnapshot = _object_spread_props(_object_spread$1({}, basicRemoteSnapshot), {
551
+ remoteSnapshot = _object_spread_props(_object_spread$2({}, basicRemoteSnapshot), {
552
552
  getPublicPath: getPublicPath()
553
553
  });
554
554
  }
@@ -591,6 +591,19 @@ function _async_to_generator$1(fn) {
591
591
  });
592
592
  };
593
593
  }
594
+ function _define_property$1(obj, key, value) {
595
+ if (key in obj) {
596
+ Object.defineProperty(obj, key, {
597
+ value: value,
598
+ enumerable: true,
599
+ configurable: true,
600
+ writable: true
601
+ });
602
+ } else {
603
+ obj[key] = value;
604
+ }
605
+ return obj;
606
+ }
594
607
  function _instanceof(left, right) {
595
608
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
596
609
  return !!right[Symbol.hasInstance](left);
@@ -598,6 +611,21 @@ function _instanceof(left, right) {
598
611
  return left instanceof right;
599
612
  }
600
613
  }
614
+ function _object_spread$1(target) {
615
+ for(var i = 1; i < arguments.length; i++){
616
+ var source = arguments[i] != null ? arguments[i] : {};
617
+ var ownKeys = Object.keys(source);
618
+ if (typeof Object.getOwnPropertySymbols === "function") {
619
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
620
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
621
+ }));
622
+ }
623
+ ownKeys.forEach(function(key) {
624
+ _define_property$1(target, key, source[key]);
625
+ });
626
+ }
627
+ return target;
628
+ }
601
629
  function _ts_generator$1(thisArg, body) {
602
630
  var f, y, t, g, _ = {
603
631
  label: 0,
@@ -742,7 +770,7 @@ function isStaticResourcesEqual(url1, url2) {
742
770
  // Check if the relative paths are identical
743
771
  return relativeUrl1 === relativeUrl2;
744
772
  }
745
- function createScript(url, cb, attrs, createScriptHook) {
773
+ function createScript(info) {
746
774
  // Retrieve the existing script element by its src attribute
747
775
  var script = null;
748
776
  var needAttach = true;
@@ -752,7 +780,7 @@ function createScript(url, cb, attrs, createScriptHook) {
752
780
  for(var i = 0; i < scripts.length; i++){
753
781
  var s = scripts[i];
754
782
  var scriptSrc = s.getAttribute('src');
755
- if (scriptSrc && isStaticResourcesEqual(scriptSrc, url)) {
783
+ if (scriptSrc && isStaticResourcesEqual(scriptSrc, info.url)) {
756
784
  script = s;
757
785
  needAttach = false;
758
786
  break;
@@ -761,9 +789,9 @@ function createScript(url, cb, attrs, createScriptHook) {
761
789
  if (!script) {
762
790
  script = document.createElement('script');
763
791
  script.type = 'text/javascript';
764
- script.src = url;
765
- if (createScriptHook) {
766
- var createScriptRes = createScriptHook(url);
792
+ script.src = info.url;
793
+ if (info.createScriptHook) {
794
+ var createScriptRes = info.createScriptHook(info.url);
767
795
  if (_instanceof(createScriptRes, HTMLScriptElement)) {
768
796
  script = createScriptRes;
769
797
  } else if (typeof createScriptRes === 'object') {
@@ -771,49 +799,54 @@ function createScript(url, cb, attrs, createScriptHook) {
771
799
  if (createScriptRes.timeout) timeout = createScriptRes.timeout;
772
800
  }
773
801
  }
774
- }
775
- if (attrs) {
776
- Object.keys(attrs).forEach(function(name) {
777
- if (script) {
778
- if (name === 'async' || name === 'defer') {
779
- script[name] = attrs[name];
780
- } else {
781
- script.setAttribute(name, attrs[name]);
802
+ var attrs = info.attrs;
803
+ if (attrs) {
804
+ Object.keys(attrs).forEach(function(name) {
805
+ if (script) {
806
+ if (name === 'async' || name === 'defer') {
807
+ script[name] = attrs[name];
808
+ } else {
809
+ script.setAttribute(name, attrs[name]);
810
+ }
782
811
  }
783
- }
784
- });
812
+ });
813
+ }
785
814
  }
786
815
  var onScriptComplete = function(prev, // eslint-disable-next-line @typescript-eslint/no-explicit-any
787
816
  event) {
817
+ var _info_cb;
788
818
  clearTimeout(timeoutId);
789
819
  // Prevent memory leaks in IE.
790
820
  if (script) {
791
821
  script.onerror = null;
792
822
  script.onload = null;
793
823
  safeWrapper(function() {
794
- (script === null || script === void 0 ? void 0 : script.parentNode) && script.parentNode.removeChild(script);
824
+ var _info_needDeleteScript = info.needDeleteScript, needDeleteScript = _info_needDeleteScript === void 0 ? true : _info_needDeleteScript;
825
+ if (needDeleteScript) {
826
+ (script === null || script === void 0 ? void 0 : script.parentNode) && script.parentNode.removeChild(script);
827
+ }
795
828
  });
796
829
  if (prev) {
830
+ var _info_cb1;
797
831
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
798
832
  var res = prev(event);
799
- cb();
833
+ info === null || info === void 0 ? void 0 : (_info_cb1 = info.cb) === null || _info_cb1 === void 0 ? void 0 : _info_cb1.call(info);
800
834
  return res;
801
835
  }
802
836
  }
803
- cb();
837
+ info === null || info === void 0 ? void 0 : (_info_cb = info.cb) === null || _info_cb === void 0 ? void 0 : _info_cb.call(info);
804
838
  };
805
839
  script.onerror = onScriptComplete.bind(null, script.onerror);
806
840
  script.onload = onScriptComplete.bind(null, script.onload);
807
841
  timeoutId = setTimeout(function() {
808
- onScriptComplete(null, new Error('Remote script "'.concat(url, '" time-outed.')));
842
+ onScriptComplete(null, new Error('Remote script "'.concat(info.url, '" time-outed.')));
809
843
  }, timeout);
810
844
  return {
811
845
  script: script,
812
846
  needAttach: needAttach
813
847
  };
814
848
  }
815
- function createLink(url, cb) {
816
- var attrs = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, createLinkHook = arguments.length > 3 ? arguments[3] : void 0;
849
+ function createLink(info) {
817
850
  // <link rel="preload" href="script.js" as="script">
818
851
  // Retrieve the existing script element by its src attribute
819
852
  var link = null;
@@ -823,7 +856,7 @@ function createLink(url, cb) {
823
856
  var l = links[i];
824
857
  var linkHref = l.getAttribute('href');
825
858
  var linkRef = l.getAttribute('ref');
826
- if (linkHref && isStaticResourcesEqual(linkHref, url) && linkRef === attrs['ref']) {
859
+ if (linkHref && isStaticResourcesEqual(linkHref, info.url) && linkRef === info.attrs['ref']) {
827
860
  link = l;
828
861
  needAttach = false;
829
862
  break;
@@ -831,21 +864,21 @@ function createLink(url, cb) {
831
864
  }
832
865
  if (!link) {
833
866
  link = document.createElement('link');
834
- link.setAttribute('href', url);
835
- link.setAttribute('crossorigin', 'anonymous');
836
- if (createLinkHook) {
837
- var createLinkRes = createLinkHook(url);
867
+ link.setAttribute('href', info.url);
868
+ if (info.createLinkHook) {
869
+ var createLinkRes = info.createLinkHook(info.url);
838
870
  if (_instanceof(createLinkRes, HTMLLinkElement)) {
839
871
  link = createLinkRes;
840
872
  }
841
873
  }
842
- }
843
- if (attrs) {
844
- Object.keys(attrs).forEach(function(name) {
845
- if (link) {
846
- link.setAttribute(name, attrs[name]);
847
- }
848
- });
874
+ var attrs = info.attrs;
875
+ if (attrs) {
876
+ Object.keys(attrs).forEach(function(name) {
877
+ if (link) {
878
+ link.setAttribute(name, attrs[name]);
879
+ }
880
+ });
881
+ }
849
882
  }
850
883
  var onLinkComplete = function(prev, // eslint-disable-next-line @typescript-eslint/no-explicit-any
851
884
  event) {
@@ -854,16 +887,19 @@ function createLink(url, cb) {
854
887
  link.onerror = null;
855
888
  link.onload = null;
856
889
  safeWrapper(function() {
857
- (link === null || link === void 0 ? void 0 : link.parentNode) && link.parentNode.removeChild(link);
890
+ var _info_needDeleteLink = info.needDeleteLink, needDeleteLink = _info_needDeleteLink === void 0 ? true : _info_needDeleteLink;
891
+ if (needDeleteLink) {
892
+ (link === null || link === void 0 ? void 0 : link.parentNode) && link.parentNode.removeChild(link);
893
+ }
858
894
  });
859
895
  if (prev) {
860
896
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
861
897
  var res = prev(event);
862
- cb();
898
+ info.cb();
863
899
  return res;
864
900
  }
865
901
  }
866
- cb();
902
+ info.cb();
867
903
  };
868
904
  link.onerror = onLinkComplete.bind(null, link.onerror);
869
905
  link.onload = onLinkComplete.bind(null, link.onload);
@@ -873,10 +909,19 @@ function createLink(url, cb) {
873
909
  };
874
910
  }
875
911
  function loadScript(url, info) {
876
- var attrs = info.attrs, createScriptHook = info.createScriptHook;
912
+ var _info_attrs = info.attrs, attrs = _info_attrs === void 0 ? {} : _info_attrs, createScriptHook = info.createScriptHook;
877
913
  return new Promise(function(resolve, _reject) {
878
- var _createScript = createScript(url, resolve, attrs, createScriptHook), script = _createScript.script, needAttach = _createScript.needAttach;
879
- needAttach && document.getElementsByTagName('head')[0].appendChild(script);
914
+ var _createScript = createScript({
915
+ url: url,
916
+ cb: resolve,
917
+ attrs: _object_spread$1({
918
+ crossorigin: 'anonymous',
919
+ fetchpriority: 'high'
920
+ }, attrs),
921
+ createScriptHook: createScriptHook,
922
+ needDeleteScript: true
923
+ }), script = _createScript.script, needAttach = _createScript.needAttach;
924
+ needAttach && document.head.appendChild(script);
880
925
  });
881
926
  }
882
927
 
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/sdk",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "license": "MIT",
5
5
  "description": "A sdk for support module federation",
6
6
  "keywords": [
package/dist/src/dom.d.ts CHANGED
@@ -4,11 +4,23 @@ export type CreateScriptHookReturn = HTMLScriptElement | {
4
4
  script?: HTMLScriptElement;
5
5
  timeout?: number;
6
6
  } | void;
7
- export declare function createScript(url: string, cb: (value: void | PromiseLike<void>) => void, attrs?: Record<string, any>, createScriptHook?: (url: string) => CreateScriptHookReturn): {
7
+ export declare function createScript(info: {
8
+ url: string;
9
+ cb?: (value: void | PromiseLike<void>) => void;
10
+ attrs?: Record<string, any>;
11
+ needDeleteScript?: boolean;
12
+ createScriptHook?: (url: string) => CreateScriptHookReturn;
13
+ }): {
8
14
  script: HTMLScriptElement;
9
15
  needAttach: boolean;
10
16
  };
11
- export declare function createLink(url: string, cb: (value: void | PromiseLike<void>) => void, attrs?: Record<string, string>, createLinkHook?: (url: string) => HTMLLinkElement | void): {
17
+ export declare function createLink(info: {
18
+ url: string;
19
+ cb: (value: void | PromiseLike<void>) => void;
20
+ attrs: Record<string, string>;
21
+ needDeleteLink?: boolean;
22
+ createLinkHook?: (url: string) => HTMLLinkElement | void;
23
+ }): {
12
24
  link: HTMLLinkElement;
13
25
  needAttach: boolean;
14
26
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/sdk",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "license": "MIT",
5
5
  "description": "A sdk for support module federation",
6
6
  "keywords": [