@module-federation/runtime 0.0.0-next-20240318082152 → 0.0.0-next-20240318085858

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/README.md CHANGED
@@ -212,15 +212,15 @@ init({
212
212
  remotes: [
213
213
  {
214
214
  name: '@demo/sub1',
215
- entry: 'http://localhost:2001/mf-manifest.json',
215
+ entry: 'http://localhost:2001/vmok-manifest.json',
216
216
  },
217
217
  {
218
218
  name: '@demo/sub2',
219
- entry: 'http://localhost:2001/mf-manifest.json',
219
+ entry: 'http://localhost:2001/vmok-manifest.json',
220
220
  },
221
221
  {
222
222
  name: '@demo/sub3',
223
- entry: 'http://localhost:2001/mf-manifest.json',
223
+ entry: 'http://localhost:2001/vmok-manifest.json',
224
224
  },
225
225
  ],
226
226
  });
@@ -258,73 +258,6 @@ preloadRemote([
258
258
  ]);
259
259
  ```
260
260
 
261
- ### registerRemotes
262
-
263
- - Type: `registerRemotes(remotes: Remote[], options?: { force?: boolean }): void`
264
- - Used to register remotes after init .
265
-
266
- - Type
267
-
268
- ```typescript
269
- function registerRemotes(remotes: Remote[], options?: { force?: boolean }) {}
270
-
271
- type Remote = (RemoteWithEntry | RemoteWithVersion) & RemoteInfoCommon;
272
-
273
- interface RemoteInfoCommon {
274
- alias?: string;
275
- shareScope?: string;
276
- type?: RemoteEntryType;
277
- entryGlobalName?: string;
278
- }
279
-
280
- interface RemoteWithEntry {
281
- name: string;
282
- entry: string;
283
- }
284
-
285
- interface RemoteWithVersion {
286
- name: string;
287
- version: string;
288
- }
289
- ```
290
-
291
- - Details
292
- **info**: Please be careful when setting `force:true` !
293
-
294
- If set `force: true`, it will merge remote(include loaded remote), and remove loaded remote cache , as well as console.warn to tell this action may have risks.
295
-
296
- * Example
297
-
298
- ```ts
299
- import { init, registerRemotes } from '@module-federation/runtime';
300
-
301
- init({
302
- name: '@demo/register-new-remotes',
303
- remotes: [
304
- {
305
- name: '@demo/sub1',
306
- entry: 'http://localhost:2001/mf-manifest.json',
307
- }
308
- ],
309
- });
310
-
311
- // add new remote @demo/sub2
312
- registerRemotes([
313
- {
314
- name: '@demo/sub2',
315
- entry: 'http://localhost:2002/mf-manifest.json',
316
- }
317
- ]);
318
-
319
- // override previous remote @demo/sub1
320
- registerRemotes([
321
- {
322
- name: '@demo/sub1',
323
- entry: 'http://localhost:2003/mf-manifest.json',
324
- }
325
- ]);
326
- ```
327
-
328
261
  ## hooks
329
262
 
330
263
  Lifecycle hooks for FederationHost interaction.
package/dist/index.cjs.js CHANGED
@@ -160,13 +160,9 @@ async function loadEntryScript({ name, globalName, entry, createScriptHook }) {
160
160
  return e;
161
161
  });
162
162
  }
163
- function getRemoteEntryUniqueKey(remoteInfo) {
164
- const { entry, name } = remoteInfo;
165
- return sdk.composeKeyWithSeparator(name, entry);
166
- }
167
163
  async function getRemoteEntry({ remoteEntryExports, remoteInfo, createScriptHook }) {
168
164
  const { entry, name, type, entryGlobalName } = remoteInfo;
169
- const uniqueKey = getRemoteEntryUniqueKey(remoteInfo);
165
+ const uniqueKey = sdk.composeKeyWithSeparator(name, entry);
170
166
  if (remoteEntryExports) {
171
167
  return remoteEntryExports;
172
168
  }
@@ -1484,9 +1480,30 @@ class FederationHost {
1484
1480
  });
1485
1481
  const userRemotes = userOptionsRes.remotes || [];
1486
1482
  const remotes = userRemotes.reduce((res, remote)=>{
1487
- this.registerRemote(remote, res, {
1488
- force: false
1489
- });
1483
+ if (!res.find((item)=>item.name === remote.name)) {
1484
+ if (remote.alias) {
1485
+ // Validate if alias equals the prefix of remote.name and remote.alias, if so, throw an error
1486
+ // As multi-level path references cannot guarantee unique names, alias being a prefix of remote.name is not supported
1487
+ const findEqual = res.find((item)=>{
1488
+ var _item_alias;
1489
+ return remote.alias && (item.name.startsWith(remote.alias) || ((_item_alias = item.alias) == null ? void 0 : _item_alias.startsWith(remote.alias)));
1490
+ });
1491
+ share.assert(!findEqual, `The alias ${remote.alias} of remote ${remote.name} is not allowed to be the prefix of ${findEqual && findEqual.name} name or alias`);
1492
+ }
1493
+ // Set the remote entry to a complete path
1494
+ if ('entry' in remote) {
1495
+ if (share.isBrowserEnv() && !remote.entry.startsWith('http')) {
1496
+ remote.entry = new URL(remote.entry, window.location.origin).href;
1497
+ }
1498
+ }
1499
+ if (!remote.shareScope) {
1500
+ remote.shareScope = share.DEFAULT_SCOPE;
1501
+ }
1502
+ if (!remote.type) {
1503
+ remote.type = share.DEFAULT_REMOTE_TYPE;
1504
+ }
1505
+ res.push(remote);
1506
+ }
1490
1507
  return res;
1491
1508
  }, globalOptionsRes.remotes);
1492
1509
  // register shared in shareScopeMap
@@ -1566,74 +1583,6 @@ class FederationHost {
1566
1583
  }
1567
1584
  });
1568
1585
  }
1569
- removeRemote(remote) {
1570
- const { name } = remote;
1571
- const remoteIndex = this.options.remotes.findIndex((item)=>item.name === name);
1572
- if (remoteIndex !== -1) {
1573
- this.options.remotes.splice(remoteIndex, 1);
1574
- }
1575
- const loadedModule = this.moduleCache.get(remote.name);
1576
- if (loadedModule) {
1577
- const key = loadedModule.remoteInfo.entryGlobalName;
1578
- if (globalThis[key]) {
1579
- delete globalThis[key];
1580
- }
1581
- const remoteEntryUniqueKey = getRemoteEntryUniqueKey(loadedModule.remoteInfo);
1582
- if (share.globalLoading[remoteEntryUniqueKey]) {
1583
- delete share.globalLoading[remoteEntryUniqueKey];
1584
- }
1585
- this.moduleCache.delete(remote.name);
1586
- }
1587
- }
1588
- registerRemote(remote, targetRemotes, options) {
1589
- const normalizeRemote = ()=>{
1590
- if (remote.alias) {
1591
- // Validate if alias equals the prefix of remote.name and remote.alias, if so, throw an error
1592
- // As multi-level path references cannot guarantee unique names, alias being a prefix of remote.name is not supported
1593
- const findEqual = targetRemotes.find((item)=>{
1594
- var _item_alias;
1595
- return remote.alias && (item.name.startsWith(remote.alias) || ((_item_alias = item.alias) == null ? void 0 : _item_alias.startsWith(remote.alias)));
1596
- });
1597
- share.assert(!findEqual, `The alias ${remote.alias} of remote ${remote.name} is not allowed to be the prefix of ${findEqual && findEqual.name} name or alias`);
1598
- }
1599
- // Set the remote entry to a complete path
1600
- if ('entry' in remote) {
1601
- if (share.isBrowserEnv() && !remote.entry.startsWith('http')) {
1602
- remote.entry = new URL(remote.entry, window.location.origin).href;
1603
- }
1604
- }
1605
- if (!remote.shareScope) {
1606
- remote.shareScope = share.DEFAULT_SCOPE;
1607
- }
1608
- if (!remote.type) {
1609
- remote.type = share.DEFAULT_REMOTE_TYPE;
1610
- }
1611
- };
1612
- const registeredRemote = targetRemotes.find((item)=>item.name === remote.name);
1613
- if (!registeredRemote) {
1614
- normalizeRemote();
1615
- targetRemotes.push(remote);
1616
- } else {
1617
- const messages = [
1618
- `The remote "${remote.name}" is already registered.`,
1619
- (options == null ? void 0 : options.force) ? 'Hope you have known that OVERRIDE it may have some unexpected errors' : 'If you want to merge the remote, you can set "force: true".'
1620
- ];
1621
- if (options == null ? void 0 : options.force) {
1622
- // remove registered remote
1623
- this.removeRemote(registeredRemote);
1624
- normalizeRemote();
1625
- targetRemotes.push(remote);
1626
- }
1627
- share.warn(messages.join(' '));
1628
- }
1629
- }
1630
- registerRemotes(remotes, options) {
1631
- remotes.forEach((remote)=>{
1632
- this.registerRemote(remote, this.options.remotes, {
1633
- force: options == null ? void 0 : options.force
1634
- });
1635
- });
1636
- }
1637
1586
  constructor(userOptions){
1638
1587
  this.hooks = new PluginSystem({
1639
1588
  beforeInit: new SyncWaterfallHook('beforeInit'),
@@ -1658,7 +1607,7 @@ class FederationHost {
1658
1607
  // not used yet
1659
1608
  afterPreloadRemote: new AsyncHook()
1660
1609
  });
1661
- this.version = "0.0.17";
1610
+ this.version = "0.0.15";
1662
1611
  this.moduleCache = new Map();
1663
1612
  this.loaderHook = new PluginSystem({
1664
1613
  // FIXME: may not be suitable , not open to the public yet
@@ -1733,11 +1682,6 @@ function preloadRemote(...args) {
1733
1682
  // eslint-disable-next-line prefer-spread
1734
1683
  return FederationInstance.preloadRemote.apply(FederationInstance, args);
1735
1684
  }
1736
- function registerRemotes(...args) {
1737
- share.assert(FederationInstance, 'Please call init first');
1738
- // eslint-disable-next-line prefer-spread
1739
- return FederationInstance.registerRemotes.apply(FederationInstance, args);
1740
- }
1741
1685
  // Inject for debug
1742
1686
  share.setGlobalFederationConstructor(FederationHost);
1743
1687
 
@@ -1758,4 +1702,3 @@ exports.loadRemote = loadRemote;
1758
1702
  exports.loadShare = loadShare;
1759
1703
  exports.loadShareSync = loadShareSync;
1760
1704
  exports.preloadRemote = preloadRemote;
1761
- exports.registerRemotes = registerRemotes;
package/dist/index.esm.js CHANGED
@@ -1,6 +1,6 @@
1
- import { g as getGlobalHostPlugins, a as globalLoading, D as DEFAULT_REMOTE_TYPE, b as DEFAULT_SCOPE, c as getRemoteEntryExports, d as assert, s as safeToString, e as getFMId, i as isObject, f as error, w as warn, h as isPlainObject, j as isRemoteInfoWithEntry, k as isPureRemoteEntry, l as getRegisteredShare, m as getInfoWithoutType, n as getPreloaded, o as setPreloaded, p as getGlobalSnapshotInfoByModuleInfo, q as addGlobalSnapshot, r as setGlobalSnapshotInfoByModuleInfo, t as getGlobalSnapshot, G as Global, u as getGlobalShareScope, v as formatShareConfigs, x as getBuilderId, y as isBrowserEnv, z as addUniqueItem, A as setGlobalFederationConstructor, B as getGlobalFederationInstance, C as getGlobalFederationConstructor, E as setGlobalFederationInstance } from './share.esm.js';
1
+ import { g as getGlobalHostPlugins, a as globalLoading, D as DEFAULT_REMOTE_TYPE, b as DEFAULT_SCOPE, c as getRemoteEntryExports, d as assert, s as safeToString, e as getFMId, i as isObject, f as error, w as warn, h as isPlainObject, j as isRemoteInfoWithEntry, k as isPureRemoteEntry, l as getRegisteredShare, m as getInfoWithoutType, n as getPreloaded, o as setPreloaded, p as getGlobalSnapshotInfoByModuleInfo, q as addGlobalSnapshot, r as setGlobalSnapshotInfoByModuleInfo, t as getGlobalSnapshot, G as Global, u as getGlobalShareScope, v as formatShareConfigs, x as isBrowserEnv, y as getBuilderId, z as addUniqueItem, A as setGlobalFederationConstructor, B as getGlobalFederationInstance, C as getGlobalFederationConstructor, E as setGlobalFederationInstance } from './share.esm.js';
2
2
  export { F as registerGlobalPlugins } from './share.esm.js';
3
- import { loadScriptNode, loadScript, composeKeyWithSeparator, createLink, getResourceUrl, isManifestProvider, generateSnapshotFromManifest } from '@module-federation/sdk';
3
+ import { composeKeyWithSeparator, loadScriptNode, loadScript, createLink, getResourceUrl, isManifestProvider, generateSnapshotFromManifest } from '@module-federation/sdk';
4
4
  export { loadScript, loadScriptNode } from '@module-federation/sdk';
5
5
 
6
6
  // Function to match a remote with its name and expose
@@ -158,13 +158,9 @@ async function loadEntryScript({ name, globalName, entry, createScriptHook }) {
158
158
  return e;
159
159
  });
160
160
  }
161
- function getRemoteEntryUniqueKey(remoteInfo) {
162
- const { entry, name } = remoteInfo;
163
- return composeKeyWithSeparator(name, entry);
164
- }
165
161
  async function getRemoteEntry({ remoteEntryExports, remoteInfo, createScriptHook }) {
166
162
  const { entry, name, type, entryGlobalName } = remoteInfo;
167
- const uniqueKey = getRemoteEntryUniqueKey(remoteInfo);
163
+ const uniqueKey = composeKeyWithSeparator(name, entry);
168
164
  if (remoteEntryExports) {
169
165
  return remoteEntryExports;
170
166
  }
@@ -1482,9 +1478,30 @@ class FederationHost {
1482
1478
  });
1483
1479
  const userRemotes = userOptionsRes.remotes || [];
1484
1480
  const remotes = userRemotes.reduce((res, remote)=>{
1485
- this.registerRemote(remote, res, {
1486
- force: false
1487
- });
1481
+ if (!res.find((item)=>item.name === remote.name)) {
1482
+ if (remote.alias) {
1483
+ // Validate if alias equals the prefix of remote.name and remote.alias, if so, throw an error
1484
+ // As multi-level path references cannot guarantee unique names, alias being a prefix of remote.name is not supported
1485
+ const findEqual = res.find((item)=>{
1486
+ var _item_alias;
1487
+ return remote.alias && (item.name.startsWith(remote.alias) || ((_item_alias = item.alias) == null ? void 0 : _item_alias.startsWith(remote.alias)));
1488
+ });
1489
+ assert(!findEqual, `The alias ${remote.alias} of remote ${remote.name} is not allowed to be the prefix of ${findEqual && findEqual.name} name or alias`);
1490
+ }
1491
+ // Set the remote entry to a complete path
1492
+ if ('entry' in remote) {
1493
+ if (isBrowserEnv() && !remote.entry.startsWith('http')) {
1494
+ remote.entry = new URL(remote.entry, window.location.origin).href;
1495
+ }
1496
+ }
1497
+ if (!remote.shareScope) {
1498
+ remote.shareScope = DEFAULT_SCOPE;
1499
+ }
1500
+ if (!remote.type) {
1501
+ remote.type = DEFAULT_REMOTE_TYPE;
1502
+ }
1503
+ res.push(remote);
1504
+ }
1488
1505
  return res;
1489
1506
  }, globalOptionsRes.remotes);
1490
1507
  // register shared in shareScopeMap
@@ -1564,74 +1581,6 @@ class FederationHost {
1564
1581
  }
1565
1582
  });
1566
1583
  }
1567
- removeRemote(remote) {
1568
- const { name } = remote;
1569
- const remoteIndex = this.options.remotes.findIndex((item)=>item.name === name);
1570
- if (remoteIndex !== -1) {
1571
- this.options.remotes.splice(remoteIndex, 1);
1572
- }
1573
- const loadedModule = this.moduleCache.get(remote.name);
1574
- if (loadedModule) {
1575
- const key = loadedModule.remoteInfo.entryGlobalName;
1576
- if (globalThis[key]) {
1577
- delete globalThis[key];
1578
- }
1579
- const remoteEntryUniqueKey = getRemoteEntryUniqueKey(loadedModule.remoteInfo);
1580
- if (globalLoading[remoteEntryUniqueKey]) {
1581
- delete globalLoading[remoteEntryUniqueKey];
1582
- }
1583
- this.moduleCache.delete(remote.name);
1584
- }
1585
- }
1586
- registerRemote(remote, targetRemotes, options) {
1587
- const normalizeRemote = ()=>{
1588
- if (remote.alias) {
1589
- // Validate if alias equals the prefix of remote.name and remote.alias, if so, throw an error
1590
- // As multi-level path references cannot guarantee unique names, alias being a prefix of remote.name is not supported
1591
- const findEqual = targetRemotes.find((item)=>{
1592
- var _item_alias;
1593
- return remote.alias && (item.name.startsWith(remote.alias) || ((_item_alias = item.alias) == null ? void 0 : _item_alias.startsWith(remote.alias)));
1594
- });
1595
- assert(!findEqual, `The alias ${remote.alias} of remote ${remote.name} is not allowed to be the prefix of ${findEqual && findEqual.name} name or alias`);
1596
- }
1597
- // Set the remote entry to a complete path
1598
- if ('entry' in remote) {
1599
- if (isBrowserEnv() && !remote.entry.startsWith('http')) {
1600
- remote.entry = new URL(remote.entry, window.location.origin).href;
1601
- }
1602
- }
1603
- if (!remote.shareScope) {
1604
- remote.shareScope = DEFAULT_SCOPE;
1605
- }
1606
- if (!remote.type) {
1607
- remote.type = DEFAULT_REMOTE_TYPE;
1608
- }
1609
- };
1610
- const registeredRemote = targetRemotes.find((item)=>item.name === remote.name);
1611
- if (!registeredRemote) {
1612
- normalizeRemote();
1613
- targetRemotes.push(remote);
1614
- } else {
1615
- const messages = [
1616
- `The remote "${remote.name}" is already registered.`,
1617
- (options == null ? void 0 : options.force) ? 'Hope you have known that OVERRIDE it may have some unexpected errors' : 'If you want to merge the remote, you can set "force: true".'
1618
- ];
1619
- if (options == null ? void 0 : options.force) {
1620
- // remove registered remote
1621
- this.removeRemote(registeredRemote);
1622
- normalizeRemote();
1623
- targetRemotes.push(remote);
1624
- }
1625
- warn(messages.join(' '));
1626
- }
1627
- }
1628
- registerRemotes(remotes, options) {
1629
- remotes.forEach((remote)=>{
1630
- this.registerRemote(remote, this.options.remotes, {
1631
- force: options == null ? void 0 : options.force
1632
- });
1633
- });
1634
- }
1635
1584
  constructor(userOptions){
1636
1585
  this.hooks = new PluginSystem({
1637
1586
  beforeInit: new SyncWaterfallHook('beforeInit'),
@@ -1656,7 +1605,7 @@ class FederationHost {
1656
1605
  // not used yet
1657
1606
  afterPreloadRemote: new AsyncHook()
1658
1607
  });
1659
- this.version = "0.0.17";
1608
+ this.version = "0.0.15";
1660
1609
  this.moduleCache = new Map();
1661
1610
  this.loaderHook = new PluginSystem({
1662
1611
  // FIXME: may not be suitable , not open to the public yet
@@ -1731,12 +1680,7 @@ function preloadRemote(...args) {
1731
1680
  // eslint-disable-next-line prefer-spread
1732
1681
  return FederationInstance.preloadRemote.apply(FederationInstance, args);
1733
1682
  }
1734
- function registerRemotes(...args) {
1735
- assert(FederationInstance, 'Please call init first');
1736
- // eslint-disable-next-line prefer-spread
1737
- return FederationInstance.registerRemotes.apply(FederationInstance, args);
1738
- }
1739
1683
  // Inject for debug
1740
1684
  setGlobalFederationConstructor(FederationHost);
1741
1685
 
1742
- export { FederationHost, getRemoteEntry, getRemoteInfo, init, loadRemote, loadShare, loadShareSync, preloadRemote, registerRemotes };
1686
+ export { FederationHost, getRemoteEntry, getRemoteInfo, init, loadRemote, loadShare, loadShareSync, preloadRemote };
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/runtime",
3
- "version": "0.0.17",
3
+ "version": "0.0.15",
4
4
  "author": "zhouxiao <codingzx@gmail.com>",
5
5
  "main": "./index.cjs.js",
6
6
  "module": "./index.esm.js",
package/dist/share.cjs.js CHANGED
@@ -185,7 +185,7 @@ function getGlobalFederationConstructor() {
185
185
  function setGlobalFederationConstructor(FederationConstructor, isDebug = isDebugMode()) {
186
186
  if (isDebug) {
187
187
  globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = FederationConstructor;
188
- globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = "0.0.17";
188
+ globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = "0.0.15";
189
189
  }
190
190
  }
191
191
  // eslint-disable-next-line @typescript-eslint/ban-types
package/dist/share.esm.js CHANGED
@@ -183,7 +183,7 @@ function getGlobalFederationConstructor() {
183
183
  function setGlobalFederationConstructor(FederationConstructor, isDebug = isDebugMode()) {
184
184
  if (isDebug) {
185
185
  globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = FederationConstructor;
186
- globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = "0.0.17";
186
+ globalThis.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = "0.0.15";
187
187
  }
188
188
  }
189
189
  // eslint-disable-next-line @typescript-eslint/ban-types
@@ -803,4 +803,4 @@ function getGlobalShareScope() {
803
803
  return Global.__FEDERATION__.__SHARE__;
804
804
  }
805
805
 
806
- export { setGlobalFederationConstructor as A, getGlobalFederationInstance as B, getGlobalFederationConstructor as C, DEFAULT_REMOTE_TYPE as D, setGlobalFederationInstance as E, registerGlobalPlugins as F, Global as G, nativeGlobal as H, resetFederationGlobalInfo as I, getTargetSnapshotInfoByModuleInfo as J, globalLoading as a, DEFAULT_SCOPE as b, getRemoteEntryExports as c, assert as d, getFMId as e, error as f, getGlobalHostPlugins as g, isPlainObject as h, isObject as i, isRemoteInfoWithEntry as j, isPureRemoteEntry as k, getRegisteredShare as l, getInfoWithoutType as m, getPreloaded as n, setPreloaded as o, getGlobalSnapshotInfoByModuleInfo as p, addGlobalSnapshot as q, setGlobalSnapshotInfoByModuleInfo as r, safeToString as s, getGlobalSnapshot as t, getGlobalShareScope as u, formatShareConfigs as v, warn as w, getBuilderId as x, isBrowserEnv as y, addUniqueItem as z };
806
+ export { setGlobalFederationConstructor as A, getGlobalFederationInstance as B, getGlobalFederationConstructor as C, DEFAULT_REMOTE_TYPE as D, setGlobalFederationInstance as E, registerGlobalPlugins as F, Global as G, nativeGlobal as H, resetFederationGlobalInfo as I, getTargetSnapshotInfoByModuleInfo as J, globalLoading as a, DEFAULT_SCOPE as b, getRemoteEntryExports as c, assert as d, getFMId as e, error as f, getGlobalHostPlugins as g, isPlainObject as h, isObject as i, isRemoteInfoWithEntry as j, isPureRemoteEntry as k, getRegisteredShare as l, getInfoWithoutType as m, getPreloaded as n, setPreloaded as o, getGlobalSnapshotInfoByModuleInfo as p, addGlobalSnapshot as q, setGlobalSnapshotInfoByModuleInfo as r, safeToString as s, getGlobalSnapshot as t, getGlobalShareScope as u, formatShareConfigs as v, warn as w, isBrowserEnv as x, getBuilderId as y, addUniqueItem as z };
@@ -155,10 +155,5 @@ export declare class FederationHost {
155
155
  private formatOptions;
156
156
  private registerPlugins;
157
157
  private setShared;
158
- private removeRemote;
159
- private registerRemote;
160
- registerRemotes(remotes: Remote[], options?: {
161
- force?: boolean;
162
- }): void;
163
158
  }
164
159
  export {};
@@ -11,4 +11,3 @@ export declare function loadRemote(...args: Parameters<FederationHost['loadRemot
11
11
  export declare function loadShare(...args: Parameters<FederationHost['loadShare']>): ReturnType<FederationHost['loadShare']>;
12
12
  export declare function loadShareSync(...args: Parameters<FederationHost['loadShareSync']>): ReturnType<FederationHost['loadShareSync']>;
13
13
  export declare function preloadRemote(...args: Parameters<FederationHost['preloadRemote']>): ReturnType<FederationHost['preloadRemote']>;
14
- export declare function registerRemotes(...args: Parameters<FederationHost['registerRemotes']>): ReturnType<FederationHost['registerRemotes']>;
@@ -9,7 +9,6 @@ export declare function loadEntryScript({ name, globalName, entry, createScriptH
9
9
  entry: string;
10
10
  createScriptHook?: (url: string) => HTMLScriptElement | void;
11
11
  }): Promise<RemoteEntryExports>;
12
- export declare function getRemoteEntryUniqueKey(remoteInfo: RemoteInfo): string;
13
12
  export declare function getRemoteEntry({ remoteEntryExports, remoteInfo, createScriptHook, }: {
14
13
  remoteInfo: RemoteInfo;
15
14
  remoteEntryExports?: RemoteEntryExports | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/runtime",
3
- "version": "0.0.0-next-20240318082152",
3
+ "version": "0.0.0-next-20240318085858",
4
4
  "author": "zhouxiao <codingzx@gmail.com>",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.esm.js",
@@ -45,6 +45,6 @@
45
45
  }
46
46
  },
47
47
  "dependencies": {
48
- "@module-federation/sdk": "0.0.0-next-20240318082152"
48
+ "@module-federation/sdk": "0.0.0-next-20240318085858"
49
49
  }
50
50
  }