@module-federation/sdk 0.0.0-next-20240604074900 → 0.0.0-next-20240605063144

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') {
@@ -776,6 +804,7 @@ function createScript(url, cb, attrs, createScriptHook) {
776
804
  }
777
805
  }
778
806
  }
807
+ var attrs = info.attrs;
779
808
  if (attrs) {
780
809
  Object.keys(attrs).forEach(function(name) {
781
810
  if (script) {
@@ -789,35 +818,38 @@ function createScript(url, cb, attrs, createScriptHook) {
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
+ if (info.needDeleteScript) {
829
+ (script === null || script === void 0 ? void 0 : script.parentNode) && script.parentNode.removeChild(script);
830
+ }
799
831
  });
800
832
  if (prev) {
833
+ var _info_cb1;
801
834
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
802
835
  var res = prev(event);
803
- cb();
836
+ info === null || info === void 0 ? void 0 : (_info_cb1 = info.cb) === null || _info_cb1 === void 0 ? void 0 : _info_cb1.call(info);
804
837
  return res;
805
838
  }
806
839
  }
807
- cb();
840
+ info === null || info === void 0 ? void 0 : (_info_cb = info.cb) === null || _info_cb === void 0 ? void 0 : _info_cb.call(info);
808
841
  };
809
842
  script.onerror = onScriptComplete.bind(null, script.onerror);
810
843
  script.onload = onScriptComplete.bind(null, script.onload);
811
844
  timeoutId = setTimeout(function() {
812
- onScriptComplete(null, new Error('Remote script "'.concat(url, '" time-outed.')));
845
+ onScriptComplete(null, new Error('Remote script "'.concat(info.url, '" time-outed.')));
813
846
  }, timeout);
814
847
  return {
815
848
  script: script,
816
849
  needAttach: needAttach
817
850
  };
818
851
  }
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;
852
+ function createLink(info) {
821
853
  // <link rel="preload" href="script.js" as="script">
822
854
  // Retrieve the existing script element by its src attribute
823
855
  var link = null;
@@ -827,7 +859,7 @@ function createLink(url, cb) {
827
859
  var l = links[i];
828
860
  var linkHref = l.getAttribute('href');
829
861
  var linkRef = l.getAttribute('ref');
830
- if (linkHref && isStaticResourcesEqual(linkHref, url) && linkRef === attrs['ref']) {
862
+ if (linkHref && isStaticResourcesEqual(linkHref, info.url) && linkRef === info.attrs['ref']) {
831
863
  link = l;
832
864
  needAttach = false;
833
865
  break;
@@ -835,15 +867,15 @@ function createLink(url, cb) {
835
867
  }
836
868
  if (!link) {
837
869
  link = document.createElement('link');
838
- link.setAttribute('href', url);
839
- link.setAttribute('crossorigin', 'anonymous');
840
- if (createLinkHook) {
841
- var createLinkRes = createLinkHook(url);
870
+ link.setAttribute('href', info.url);
871
+ if (info.createLinkHook) {
872
+ var createLinkRes = info.createLinkHook(info.url);
842
873
  if (_instanceof(createLinkRes, HTMLLinkElement)) {
843
874
  link = createLinkRes;
844
875
  }
845
876
  }
846
877
  }
878
+ var attrs = info.attrs;
847
879
  if (attrs) {
848
880
  Object.keys(attrs).forEach(function(name) {
849
881
  if (link) {
@@ -863,11 +895,11 @@ function createLink(url, cb) {
863
895
  if (prev) {
864
896
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
865
897
  var res = prev(event);
866
- cb();
898
+ info.cb();
867
899
  return res;
868
900
  }
869
901
  }
870
- cb();
902
+ info.cb();
871
903
  };
872
904
  link.onerror = onLinkComplete.bind(null, link.onerror);
873
905
  link.onload = onLinkComplete.bind(null, link.onload);
@@ -877,10 +909,19 @@ function createLink(url, cb) {
877
909
  };
878
910
  }
879
911
  function loadScript(url, info) {
880
- var attrs = info.attrs, createScriptHook = info.createScriptHook;
912
+ var _info_attrs = info.attrs, attrs = _info_attrs === void 0 ? {} : _info_attrs, createScriptHook = info.createScriptHook;
881
913
  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);
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);
884
925
  });
885
926
  }
886
927
 
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') {
@@ -772,6 +800,7 @@ function createScript(url, cb, attrs, createScriptHook) {
772
800
  }
773
801
  }
774
802
  }
803
+ var attrs = info.attrs;
775
804
  if (attrs) {
776
805
  Object.keys(attrs).forEach(function(name) {
777
806
  if (script) {
@@ -785,35 +814,38 @@ function createScript(url, cb, attrs, createScriptHook) {
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
+ if (info.needDeleteScript) {
825
+ (script === null || script === void 0 ? void 0 : script.parentNode) && script.parentNode.removeChild(script);
826
+ }
795
827
  });
796
828
  if (prev) {
829
+ var _info_cb1;
797
830
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
798
831
  var res = prev(event);
799
- cb();
832
+ info === null || info === void 0 ? void 0 : (_info_cb1 = info.cb) === null || _info_cb1 === void 0 ? void 0 : _info_cb1.call(info);
800
833
  return res;
801
834
  }
802
835
  }
803
- cb();
836
+ info === null || info === void 0 ? void 0 : (_info_cb = info.cb) === null || _info_cb === void 0 ? void 0 : _info_cb.call(info);
804
837
  };
805
838
  script.onerror = onScriptComplete.bind(null, script.onerror);
806
839
  script.onload = onScriptComplete.bind(null, script.onload);
807
840
  timeoutId = setTimeout(function() {
808
- onScriptComplete(null, new Error('Remote script "'.concat(url, '" time-outed.')));
841
+ onScriptComplete(null, new Error('Remote script "'.concat(info.url, '" time-outed.')));
809
842
  }, timeout);
810
843
  return {
811
844
  script: script,
812
845
  needAttach: needAttach
813
846
  };
814
847
  }
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;
848
+ function createLink(info) {
817
849
  // <link rel="preload" href="script.js" as="script">
818
850
  // Retrieve the existing script element by its src attribute
819
851
  var link = null;
@@ -823,7 +855,7 @@ function createLink(url, cb) {
823
855
  var l = links[i];
824
856
  var linkHref = l.getAttribute('href');
825
857
  var linkRef = l.getAttribute('ref');
826
- if (linkHref && isStaticResourcesEqual(linkHref, url) && linkRef === attrs['ref']) {
858
+ if (linkHref && isStaticResourcesEqual(linkHref, info.url) && linkRef === info.attrs['ref']) {
827
859
  link = l;
828
860
  needAttach = false;
829
861
  break;
@@ -831,15 +863,15 @@ function createLink(url, cb) {
831
863
  }
832
864
  if (!link) {
833
865
  link = document.createElement('link');
834
- link.setAttribute('href', url);
835
- link.setAttribute('crossorigin', 'anonymous');
836
- if (createLinkHook) {
837
- var createLinkRes = createLinkHook(url);
866
+ link.setAttribute('href', info.url);
867
+ if (info.createLinkHook) {
868
+ var createLinkRes = info.createLinkHook(info.url);
838
869
  if (_instanceof(createLinkRes, HTMLLinkElement)) {
839
870
  link = createLinkRes;
840
871
  }
841
872
  }
842
873
  }
874
+ var attrs = info.attrs;
843
875
  if (attrs) {
844
876
  Object.keys(attrs).forEach(function(name) {
845
877
  if (link) {
@@ -859,11 +891,11 @@ function createLink(url, cb) {
859
891
  if (prev) {
860
892
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
861
893
  var res = prev(event);
862
- cb();
894
+ info.cb();
863
895
  return res;
864
896
  }
865
897
  }
866
- cb();
898
+ info.cb();
867
899
  };
868
900
  link.onerror = onLinkComplete.bind(null, link.onerror);
869
901
  link.onload = onLinkComplete.bind(null, link.onload);
@@ -873,10 +905,19 @@ function createLink(url, cb) {
873
905
  };
874
906
  }
875
907
  function loadScript(url, info) {
876
- var attrs = info.attrs, createScriptHook = info.createScriptHook;
908
+ var _info_attrs = info.attrs, attrs = _info_attrs === void 0 ? {} : _info_attrs, createScriptHook = info.createScriptHook;
877
909
  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);
910
+ var _createScript = createScript({
911
+ url: url,
912
+ cb: resolve,
913
+ attrs: _object_spread$1({
914
+ crossorigin: 'anonymous',
915
+ fetchpriority: 'high'
916
+ }, attrs),
917
+ createScriptHook: createScriptHook,
918
+ needDeleteScript: true
919
+ }), script = _createScript.script, needAttach = _createScript.needAttach;
920
+ needAttach && document.head.appendChild(script);
880
921
  });
881
922
  }
882
923
 
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/sdk",
3
- "version": "0.1.17",
3
+ "version": "0.1.18",
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,22 @@ 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
+ createLinkHook?: (url: string) => HTMLLinkElement | void;
22
+ }): {
12
23
  link: HTMLLinkElement;
13
24
  needAttach: boolean;
14
25
  };
@@ -1,5 +1,5 @@
1
1
  import type { RemoteWithEntry, RemoteWithVersion } from './common';
2
- export type RemoteEntryType = 'esm' | 'global';
2
+ export type RemoteEntryType = 'var' | 'module' | 'assign' | 'assign-properties' | 'this' | 'window' | 'self' | 'global' | 'commonjs' | 'commonjs2' | 'commonjs-module' | 'commonjs-static' | 'amd' | 'amd-require' | 'umd' | 'umd2' | 'jsonp' | 'system' | string;
3
3
  interface ResourceInfo {
4
4
  path: string;
5
5
  name: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/sdk",
3
- "version": "0.0.0-next-20240604074900",
3
+ "version": "0.0.0-next-20240605063144",
4
4
  "license": "MIT",
5
5
  "description": "A sdk for support module federation",
6
6
  "keywords": [