@module-federation/runtime 2.3.3 → 2.4.0

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/core.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import * as runtimeCore from "@module-federation/runtime-core";
2
2
  export * from "@module-federation/runtime-core";
3
- export { runtimeCore as default };
3
+ export = runtimeCore;
package/dist/index.cjs CHANGED
@@ -6,7 +6,10 @@ let _module_federation_error_codes = require("@module-federation/error-codes");
6
6
 
7
7
  //#region src/index.ts
8
8
  function createInstance(options) {
9
- const instance = new (((0, _module_federation_runtime_core.getGlobalFederationConstructor)()) || _module_federation_runtime_core.ModuleFederation)(options);
9
+ const instance = new (((0, _module_federation_runtime_core.getGlobalFederationConstructor)()) || _module_federation_runtime_core.ModuleFederation)({
10
+ id: `${options.name}@${options.version || Date.now()}`,
11
+ ...options
12
+ });
10
13
  (0, _module_federation_runtime_core.setGlobalFederationInstance)(instance);
11
14
  return instance;
12
15
  }
@@ -16,11 +19,15 @@ let FederationInstance = null;
16
19
  */
17
20
  function init(options) {
18
21
  const instance = require_utils.getGlobalFederationInstance(options.name, options.version);
22
+ const normalizedOptions = {
23
+ ...options,
24
+ id: options.id || ""
25
+ };
19
26
  if (!instance) {
20
- FederationInstance = createInstance(options);
27
+ FederationInstance = createInstance(normalizedOptions);
21
28
  return FederationInstance;
22
29
  } else {
23
- instance.initOptions(options);
30
+ instance.initOptions(normalizedOptions);
24
31
  if (!FederationInstance) FederationInstance = instance;
25
32
  return instance;
26
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["ModuleFederation","getGlobalFederationInstance","RUNTIME_009","runtimeDescMap"],"sources":["../src/index.ts"],"sourcesContent":["import {\n ModuleFederation,\n type UserOptions,\n getGlobalFederationConstructor,\n setGlobalFederationInstance,\n assert,\n setGlobalFederationConstructor,\n} from '@module-federation/runtime-core';\nimport { runtimeDescMap, RUNTIME_009 } from '@module-federation/error-codes';\nimport { getGlobalFederationInstance } from './utils';\n\nexport {\n loadScript,\n loadScriptNode,\n Module,\n getRemoteEntry,\n getRemoteInfo,\n registerGlobalPlugins,\n type ModuleFederationRuntimePlugin,\n type Federation,\n} from '@module-federation/runtime-core';\n\nexport { ModuleFederation };\n\nexport function createInstance(options: UserOptions) {\n // Retrieve debug constructor\n const ModuleFederationConstructor =\n getGlobalFederationConstructor() || ModuleFederation;\n const instance = new ModuleFederationConstructor(options);\n setGlobalFederationInstance(instance);\n return instance;\n}\n\nlet FederationInstance: ModuleFederation | null = null;\n/**\n * @deprecated Use createInstance or getInstance instead\n */\nexport function init(options: UserOptions): ModuleFederation {\n // Retrieve the same instance with the same name\n const instance = getGlobalFederationInstance(options.name, options.version);\n if (!instance) {\n FederationInstance = createInstance(options);\n return FederationInstance;\n } else {\n // Merge options\n instance.initOptions(options);\n if (!FederationInstance) {\n FederationInstance = instance;\n }\n return instance;\n }\n}\n\nexport function loadRemote<T>(\n ...args: Parameters<ModuleFederation['loadRemote']>\n): Promise<T | null> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n const loadRemote: typeof FederationInstance.loadRemote<T> =\n FederationInstance.loadRemote;\n // eslint-disable-next-line prefer-spread\n return loadRemote.apply(FederationInstance, args);\n}\n\nexport function loadShare<T>(\n ...args: Parameters<ModuleFederation['loadShare']>\n): Promise<false | (() => T | undefined)> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n const loadShare: typeof FederationInstance.loadShare<T> =\n FederationInstance.loadShare;\n return loadShare.apply(FederationInstance, args);\n}\n\nexport function loadShareSync<T>(\n ...args: Parameters<ModuleFederation['loadShareSync']>\n): () => T | never {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n const loadShareSync: typeof FederationInstance.loadShareSync<T> =\n FederationInstance.loadShareSync;\n // eslint-disable-next-line prefer-spread\n return loadShareSync.apply(FederationInstance, args);\n}\n\nexport function preloadRemote(\n ...args: Parameters<ModuleFederation['preloadRemote']>\n): ReturnType<ModuleFederation['preloadRemote']> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n return FederationInstance.preloadRemote.apply(FederationInstance, args);\n}\n\nexport function registerRemotes(\n ...args: Parameters<ModuleFederation['registerRemotes']>\n): ReturnType<ModuleFederation['registerRemotes']> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerRemotes.apply(FederationInstance, args);\n}\n\nexport function registerPlugins(\n ...args: Parameters<ModuleFederation['registerPlugins']>\n): ReturnType<ModuleFederation['registerRemotes']> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerPlugins.apply(FederationInstance, args);\n}\n\nexport function getInstance() {\n return FederationInstance;\n}\n\nexport function registerShared(\n ...args: Parameters<ModuleFederation['registerShared']>\n): ReturnType<ModuleFederation['registerShared']> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerShared.apply(FederationInstance, args);\n}\n\n// Inject for debug\nsetGlobalFederationConstructor(ModuleFederation);\n"],"mappings":";;;;;;;AAwBA,SAAgB,eAAe,SAAsB;CAInD,MAAM,WAAW,2EADiB,KAAIA,kDACW,QAAQ;AACzD,kEAA4B,SAAS;AACrC,QAAO;;AAGT,IAAI,qBAA8C;;;;AAIlD,SAAgB,KAAK,SAAwC;CAE3D,MAAM,WAAWC,0CAA4B,QAAQ,MAAM,QAAQ,QAAQ;AAC3E,KAAI,CAAC,UAAU;AACb,uBAAqB,eAAe,QAAQ;AAC5C,SAAO;QACF;AAEL,WAAS,YAAY,QAAQ;AAC7B,MAAI,CAAC,mBACH,sBAAqB;AAEvB,SAAO;;;AAIX,SAAgB,WACd,GAAG,MACgB;AACnB,6CAAO,oBAAoBC,4CAAaC,8CAAe;AAIvD,QAFE,mBAAmB,WAEH,MAAM,oBAAoB,KAAK;;AAGnD,SAAgB,UACd,GAAG,MACqC;AACxC,6CAAO,oBAAoBD,4CAAaC,8CAAe;AAIvD,QADE,mBAAmB,UACJ,MAAM,oBAAoB,KAAK;;AAGlD,SAAgB,cACd,GAAG,MACc;AACjB,6CAAO,oBAAoBD,4CAAaC,8CAAe;AAIvD,QAFE,mBAAmB,cAEA,MAAM,oBAAoB,KAAK;;AAGtD,SAAgB,cACd,GAAG,MAC4C;AAC/C,6CAAO,oBAAoBD,4CAAaC,8CAAe;AAEvD,QAAO,mBAAmB,cAAc,MAAM,oBAAoB,KAAK;;AAGzE,SAAgB,gBACd,GAAG,MAC8C;AACjD,6CAAO,oBAAoBD,4CAAaC,8CAAe;AAEvD,QAAO,mBAAmB,gBAAgB,MAAM,oBAAoB,KAAK;;AAG3E,SAAgB,gBACd,GAAG,MAC8C;AACjD,6CAAO,oBAAoBD,4CAAaC,8CAAe;AAEvD,QAAO,mBAAmB,gBAAgB,MAAM,oBAAoB,KAAK;;AAG3E,SAAgB,cAAc;AAC5B,QAAO;;AAGT,SAAgB,eACd,GAAG,MAC6C;AAChD,6CAAO,oBAAoBD,4CAAaC,8CAAe;AAEvD,QAAO,mBAAmB,eAAe,MAAM,oBAAoB,KAAK;;oEAI3CH,iDAAiB"}
1
+ {"version":3,"file":"index.cjs","names":["ModuleFederation","getGlobalFederationInstance","RUNTIME_009","runtimeDescMap"],"sources":["../src/index.ts"],"sourcesContent":["import {\n ModuleFederation,\n type UserOptions,\n getGlobalFederationConstructor,\n setGlobalFederationInstance,\n assert,\n setGlobalFederationConstructor,\n} from '@module-federation/runtime-core';\nimport { runtimeDescMap, RUNTIME_009 } from '@module-federation/error-codes';\nimport { getGlobalFederationInstance } from './utils';\n\nexport {\n loadScript,\n loadScriptNode,\n Module,\n getRemoteEntry,\n getRemoteInfo,\n registerGlobalPlugins,\n type ModuleFederationRuntimePlugin,\n type Federation,\n} from '@module-federation/runtime-core';\n\nexport { ModuleFederation };\n\nexport function createInstance(options: UserOptions) {\n // Retrieve debug constructor\n const ModuleFederationConstructor =\n getGlobalFederationConstructor() || ModuleFederation;\n const instance = new ModuleFederationConstructor({\n id: `${options.name}@${options.version || Date.now()}`,\n ...options,\n });\n setGlobalFederationInstance(instance);\n return instance;\n}\n\nlet FederationInstance: ModuleFederation | null = null;\n/**\n * @deprecated Use createInstance or getInstance instead\n */\nexport function init(options: UserOptions): ModuleFederation {\n // Retrieve the same instance with the same name\n const instance = getGlobalFederationInstance(options.name, options.version);\n const normalizedOptions = { ...options, id: options.id || '' };\n if (!instance) {\n FederationInstance = createInstance(normalizedOptions);\n return FederationInstance;\n } else {\n // Merge options\n instance.initOptions(normalizedOptions);\n if (!FederationInstance) {\n FederationInstance = instance;\n }\n return instance;\n }\n}\n\nexport function loadRemote<T>(\n ...args: Parameters<ModuleFederation['loadRemote']>\n): Promise<T | null> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n const loadRemote: typeof FederationInstance.loadRemote<T> =\n FederationInstance.loadRemote;\n // eslint-disable-next-line prefer-spread\n return loadRemote.apply(FederationInstance, args);\n}\n\nexport function loadShare<T>(\n ...args: Parameters<ModuleFederation['loadShare']>\n): Promise<false | (() => T | undefined)> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n const loadShare: typeof FederationInstance.loadShare<T> =\n FederationInstance.loadShare;\n return loadShare.apply(FederationInstance, args);\n}\n\nexport function loadShareSync<T>(\n ...args: Parameters<ModuleFederation['loadShareSync']>\n): () => T | never {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n const loadShareSync: typeof FederationInstance.loadShareSync<T> =\n FederationInstance.loadShareSync;\n // eslint-disable-next-line prefer-spread\n return loadShareSync.apply(FederationInstance, args);\n}\n\nexport function preloadRemote(\n ...args: Parameters<ModuleFederation['preloadRemote']>\n): ReturnType<ModuleFederation['preloadRemote']> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n return FederationInstance.preloadRemote.apply(FederationInstance, args);\n}\n\nexport function registerRemotes(\n ...args: Parameters<ModuleFederation['registerRemotes']>\n): ReturnType<ModuleFederation['registerRemotes']> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerRemotes.apply(FederationInstance, args);\n}\n\nexport function registerPlugins(\n ...args: Parameters<ModuleFederation['registerPlugins']>\n): ReturnType<ModuleFederation['registerRemotes']> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerPlugins.apply(FederationInstance, args);\n}\n\nexport function getInstance() {\n return FederationInstance;\n}\n\nexport function registerShared(\n ...args: Parameters<ModuleFederation['registerShared']>\n): ReturnType<ModuleFederation['registerShared']> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerShared.apply(FederationInstance, args);\n}\n\n// Inject for debug\nsetGlobalFederationConstructor(ModuleFederation);\n"],"mappings":";;;;;;;AAwBA,SAAgB,eAAe,SAAsB;CAInD,MAAM,WAAW,2EADiB,KAAIA,kDACW;EAC/C,IAAI,GAAG,QAAQ,KAAK,GAAG,QAAQ,WAAW,KAAK,KAAK;EACpD,GAAG;EACJ,CAAC;AACF,kEAA4B,SAAS;AACrC,QAAO;;AAGT,IAAI,qBAA8C;;;;AAIlD,SAAgB,KAAK,SAAwC;CAE3D,MAAM,WAAWC,0CAA4B,QAAQ,MAAM,QAAQ,QAAQ;CAC3E,MAAM,oBAAoB;EAAE,GAAG;EAAS,IAAI,QAAQ,MAAM;EAAI;AAC9D,KAAI,CAAC,UAAU;AACb,uBAAqB,eAAe,kBAAkB;AACtD,SAAO;QACF;AAEL,WAAS,YAAY,kBAAkB;AACvC,MAAI,CAAC,mBACH,sBAAqB;AAEvB,SAAO;;;AAIX,SAAgB,WACd,GAAG,MACgB;AACnB,6CAAO,oBAAoBC,4CAAaC,8CAAe;AAIvD,QAFE,mBAAmB,WAEH,MAAM,oBAAoB,KAAK;;AAGnD,SAAgB,UACd,GAAG,MACqC;AACxC,6CAAO,oBAAoBD,4CAAaC,8CAAe;AAIvD,QADE,mBAAmB,UACJ,MAAM,oBAAoB,KAAK;;AAGlD,SAAgB,cACd,GAAG,MACc;AACjB,6CAAO,oBAAoBD,4CAAaC,8CAAe;AAIvD,QAFE,mBAAmB,cAEA,MAAM,oBAAoB,KAAK;;AAGtD,SAAgB,cACd,GAAG,MAC4C;AAC/C,6CAAO,oBAAoBD,4CAAaC,8CAAe;AAEvD,QAAO,mBAAmB,cAAc,MAAM,oBAAoB,KAAK;;AAGzE,SAAgB,gBACd,GAAG,MAC8C;AACjD,6CAAO,oBAAoBD,4CAAaC,8CAAe;AAEvD,QAAO,mBAAmB,gBAAgB,MAAM,oBAAoB,KAAK;;AAG3E,SAAgB,gBACd,GAAG,MAC8C;AACjD,6CAAO,oBAAoBD,4CAAaC,8CAAe;AAEvD,QAAO,mBAAmB,gBAAgB,MAAM,oBAAoB,KAAK;;AAG3E,SAAgB,cAAc;AAC5B,QAAO;;AAGT,SAAgB,eACd,GAAG,MAC6C;AAChD,6CAAO,oBAAoBD,4CAAaC,8CAAe;AAEvD,QAAO,mBAAmB,eAAe,MAAM,oBAAoB,KAAK;;oEAI3CH,iDAAiB"}
package/dist/index.js CHANGED
@@ -4,7 +4,10 @@ import { RUNTIME_009, runtimeDescMap } from "@module-federation/error-codes";
4
4
 
5
5
  //#region src/index.ts
6
6
  function createInstance(options) {
7
- const instance = new ((getGlobalFederationConstructor()) || ModuleFederation)(options);
7
+ const instance = new ((getGlobalFederationConstructor()) || ModuleFederation)({
8
+ id: `${options.name}@${options.version || Date.now()}`,
9
+ ...options
10
+ });
8
11
  setGlobalFederationInstance(instance);
9
12
  return instance;
10
13
  }
@@ -14,11 +17,15 @@ let FederationInstance = null;
14
17
  */
15
18
  function init(options) {
16
19
  const instance = getGlobalFederationInstance(options.name, options.version);
20
+ const normalizedOptions = {
21
+ ...options,
22
+ id: options.id || ""
23
+ };
17
24
  if (!instance) {
18
- FederationInstance = createInstance(options);
25
+ FederationInstance = createInstance(normalizedOptions);
19
26
  return FederationInstance;
20
27
  } else {
21
- instance.initOptions(options);
28
+ instance.initOptions(normalizedOptions);
22
29
  if (!FederationInstance) FederationInstance = instance;
23
30
  return instance;
24
31
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import {\n ModuleFederation,\n type UserOptions,\n getGlobalFederationConstructor,\n setGlobalFederationInstance,\n assert,\n setGlobalFederationConstructor,\n} from '@module-federation/runtime-core';\nimport { runtimeDescMap, RUNTIME_009 } from '@module-federation/error-codes';\nimport { getGlobalFederationInstance } from './utils';\n\nexport {\n loadScript,\n loadScriptNode,\n Module,\n getRemoteEntry,\n getRemoteInfo,\n registerGlobalPlugins,\n type ModuleFederationRuntimePlugin,\n type Federation,\n} from '@module-federation/runtime-core';\n\nexport { ModuleFederation };\n\nexport function createInstance(options: UserOptions) {\n // Retrieve debug constructor\n const ModuleFederationConstructor =\n getGlobalFederationConstructor() || ModuleFederation;\n const instance = new ModuleFederationConstructor(options);\n setGlobalFederationInstance(instance);\n return instance;\n}\n\nlet FederationInstance: ModuleFederation | null = null;\n/**\n * @deprecated Use createInstance or getInstance instead\n */\nexport function init(options: UserOptions): ModuleFederation {\n // Retrieve the same instance with the same name\n const instance = getGlobalFederationInstance(options.name, options.version);\n if (!instance) {\n FederationInstance = createInstance(options);\n return FederationInstance;\n } else {\n // Merge options\n instance.initOptions(options);\n if (!FederationInstance) {\n FederationInstance = instance;\n }\n return instance;\n }\n}\n\nexport function loadRemote<T>(\n ...args: Parameters<ModuleFederation['loadRemote']>\n): Promise<T | null> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n const loadRemote: typeof FederationInstance.loadRemote<T> =\n FederationInstance.loadRemote;\n // eslint-disable-next-line prefer-spread\n return loadRemote.apply(FederationInstance, args);\n}\n\nexport function loadShare<T>(\n ...args: Parameters<ModuleFederation['loadShare']>\n): Promise<false | (() => T | undefined)> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n const loadShare: typeof FederationInstance.loadShare<T> =\n FederationInstance.loadShare;\n return loadShare.apply(FederationInstance, args);\n}\n\nexport function loadShareSync<T>(\n ...args: Parameters<ModuleFederation['loadShareSync']>\n): () => T | never {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n const loadShareSync: typeof FederationInstance.loadShareSync<T> =\n FederationInstance.loadShareSync;\n // eslint-disable-next-line prefer-spread\n return loadShareSync.apply(FederationInstance, args);\n}\n\nexport function preloadRemote(\n ...args: Parameters<ModuleFederation['preloadRemote']>\n): ReturnType<ModuleFederation['preloadRemote']> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n return FederationInstance.preloadRemote.apply(FederationInstance, args);\n}\n\nexport function registerRemotes(\n ...args: Parameters<ModuleFederation['registerRemotes']>\n): ReturnType<ModuleFederation['registerRemotes']> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerRemotes.apply(FederationInstance, args);\n}\n\nexport function registerPlugins(\n ...args: Parameters<ModuleFederation['registerPlugins']>\n): ReturnType<ModuleFederation['registerRemotes']> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerPlugins.apply(FederationInstance, args);\n}\n\nexport function getInstance() {\n return FederationInstance;\n}\n\nexport function registerShared(\n ...args: Parameters<ModuleFederation['registerShared']>\n): ReturnType<ModuleFederation['registerShared']> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerShared.apply(FederationInstance, args);\n}\n\n// Inject for debug\nsetGlobalFederationConstructor(ModuleFederation);\n"],"mappings":";;;;;AAwBA,SAAgB,eAAe,SAAsB;CAInD,MAAM,WAAW,MADf,gCAAgC,KAAI,kBACW,QAAQ;AACzD,6BAA4B,SAAS;AACrC,QAAO;;AAGT,IAAI,qBAA8C;;;;AAIlD,SAAgB,KAAK,SAAwC;CAE3D,MAAM,WAAW,4BAA4B,QAAQ,MAAM,QAAQ,QAAQ;AAC3E,KAAI,CAAC,UAAU;AACb,uBAAqB,eAAe,QAAQ;AAC5C,SAAO;QACF;AAEL,WAAS,YAAY,QAAQ;AAC7B,MAAI,CAAC,mBACH,sBAAqB;AAEvB,SAAO;;;AAIX,SAAgB,WACd,GAAG,MACgB;AACnB,QAAO,oBAAoB,aAAa,eAAe;AAIvD,QAFE,mBAAmB,WAEH,MAAM,oBAAoB,KAAK;;AAGnD,SAAgB,UACd,GAAG,MACqC;AACxC,QAAO,oBAAoB,aAAa,eAAe;AAIvD,QADE,mBAAmB,UACJ,MAAM,oBAAoB,KAAK;;AAGlD,SAAgB,cACd,GAAG,MACc;AACjB,QAAO,oBAAoB,aAAa,eAAe;AAIvD,QAFE,mBAAmB,cAEA,MAAM,oBAAoB,KAAK;;AAGtD,SAAgB,cACd,GAAG,MAC4C;AAC/C,QAAO,oBAAoB,aAAa,eAAe;AAEvD,QAAO,mBAAmB,cAAc,MAAM,oBAAoB,KAAK;;AAGzE,SAAgB,gBACd,GAAG,MAC8C;AACjD,QAAO,oBAAoB,aAAa,eAAe;AAEvD,QAAO,mBAAmB,gBAAgB,MAAM,oBAAoB,KAAK;;AAG3E,SAAgB,gBACd,GAAG,MAC8C;AACjD,QAAO,oBAAoB,aAAa,eAAe;AAEvD,QAAO,mBAAmB,gBAAgB,MAAM,oBAAoB,KAAK;;AAG3E,SAAgB,cAAc;AAC5B,QAAO;;AAGT,SAAgB,eACd,GAAG,MAC6C;AAChD,QAAO,oBAAoB,aAAa,eAAe;AAEvD,QAAO,mBAAmB,eAAe,MAAM,oBAAoB,KAAK;;AAI1E,+BAA+B,iBAAiB"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import {\n ModuleFederation,\n type UserOptions,\n getGlobalFederationConstructor,\n setGlobalFederationInstance,\n assert,\n setGlobalFederationConstructor,\n} from '@module-federation/runtime-core';\nimport { runtimeDescMap, RUNTIME_009 } from '@module-federation/error-codes';\nimport { getGlobalFederationInstance } from './utils';\n\nexport {\n loadScript,\n loadScriptNode,\n Module,\n getRemoteEntry,\n getRemoteInfo,\n registerGlobalPlugins,\n type ModuleFederationRuntimePlugin,\n type Federation,\n} from '@module-federation/runtime-core';\n\nexport { ModuleFederation };\n\nexport function createInstance(options: UserOptions) {\n // Retrieve debug constructor\n const ModuleFederationConstructor =\n getGlobalFederationConstructor() || ModuleFederation;\n const instance = new ModuleFederationConstructor({\n id: `${options.name}@${options.version || Date.now()}`,\n ...options,\n });\n setGlobalFederationInstance(instance);\n return instance;\n}\n\nlet FederationInstance: ModuleFederation | null = null;\n/**\n * @deprecated Use createInstance or getInstance instead\n */\nexport function init(options: UserOptions): ModuleFederation {\n // Retrieve the same instance with the same name\n const instance = getGlobalFederationInstance(options.name, options.version);\n const normalizedOptions = { ...options, id: options.id || '' };\n if (!instance) {\n FederationInstance = createInstance(normalizedOptions);\n return FederationInstance;\n } else {\n // Merge options\n instance.initOptions(normalizedOptions);\n if (!FederationInstance) {\n FederationInstance = instance;\n }\n return instance;\n }\n}\n\nexport function loadRemote<T>(\n ...args: Parameters<ModuleFederation['loadRemote']>\n): Promise<T | null> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n const loadRemote: typeof FederationInstance.loadRemote<T> =\n FederationInstance.loadRemote;\n // eslint-disable-next-line prefer-spread\n return loadRemote.apply(FederationInstance, args);\n}\n\nexport function loadShare<T>(\n ...args: Parameters<ModuleFederation['loadShare']>\n): Promise<false | (() => T | undefined)> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n const loadShare: typeof FederationInstance.loadShare<T> =\n FederationInstance.loadShare;\n return loadShare.apply(FederationInstance, args);\n}\n\nexport function loadShareSync<T>(\n ...args: Parameters<ModuleFederation['loadShareSync']>\n): () => T | never {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n const loadShareSync: typeof FederationInstance.loadShareSync<T> =\n FederationInstance.loadShareSync;\n // eslint-disable-next-line prefer-spread\n return loadShareSync.apply(FederationInstance, args);\n}\n\nexport function preloadRemote(\n ...args: Parameters<ModuleFederation['preloadRemote']>\n): ReturnType<ModuleFederation['preloadRemote']> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n return FederationInstance.preloadRemote.apply(FederationInstance, args);\n}\n\nexport function registerRemotes(\n ...args: Parameters<ModuleFederation['registerRemotes']>\n): ReturnType<ModuleFederation['registerRemotes']> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerRemotes.apply(FederationInstance, args);\n}\n\nexport function registerPlugins(\n ...args: Parameters<ModuleFederation['registerPlugins']>\n): ReturnType<ModuleFederation['registerRemotes']> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerPlugins.apply(FederationInstance, args);\n}\n\nexport function getInstance() {\n return FederationInstance;\n}\n\nexport function registerShared(\n ...args: Parameters<ModuleFederation['registerShared']>\n): ReturnType<ModuleFederation['registerShared']> {\n assert(FederationInstance, RUNTIME_009, runtimeDescMap);\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerShared.apply(FederationInstance, args);\n}\n\n// Inject for debug\nsetGlobalFederationConstructor(ModuleFederation);\n"],"mappings":";;;;;AAwBA,SAAgB,eAAe,SAAsB;CAInD,MAAM,WAAW,MADf,gCAAgC,KAAI,kBACW;EAC/C,IAAI,GAAG,QAAQ,KAAK,GAAG,QAAQ,WAAW,KAAK,KAAK;EACpD,GAAG;EACJ,CAAC;AACF,6BAA4B,SAAS;AACrC,QAAO;;AAGT,IAAI,qBAA8C;;;;AAIlD,SAAgB,KAAK,SAAwC;CAE3D,MAAM,WAAW,4BAA4B,QAAQ,MAAM,QAAQ,QAAQ;CAC3E,MAAM,oBAAoB;EAAE,GAAG;EAAS,IAAI,QAAQ,MAAM;EAAI;AAC9D,KAAI,CAAC,UAAU;AACb,uBAAqB,eAAe,kBAAkB;AACtD,SAAO;QACF;AAEL,WAAS,YAAY,kBAAkB;AACvC,MAAI,CAAC,mBACH,sBAAqB;AAEvB,SAAO;;;AAIX,SAAgB,WACd,GAAG,MACgB;AACnB,QAAO,oBAAoB,aAAa,eAAe;AAIvD,QAFE,mBAAmB,WAEH,MAAM,oBAAoB,KAAK;;AAGnD,SAAgB,UACd,GAAG,MACqC;AACxC,QAAO,oBAAoB,aAAa,eAAe;AAIvD,QADE,mBAAmB,UACJ,MAAM,oBAAoB,KAAK;;AAGlD,SAAgB,cACd,GAAG,MACc;AACjB,QAAO,oBAAoB,aAAa,eAAe;AAIvD,QAFE,mBAAmB,cAEA,MAAM,oBAAoB,KAAK;;AAGtD,SAAgB,cACd,GAAG,MAC4C;AAC/C,QAAO,oBAAoB,aAAa,eAAe;AAEvD,QAAO,mBAAmB,cAAc,MAAM,oBAAoB,KAAK;;AAGzE,SAAgB,gBACd,GAAG,MAC8C;AACjD,QAAO,oBAAoB,aAAa,eAAe;AAEvD,QAAO,mBAAmB,gBAAgB,MAAM,oBAAoB,KAAK;;AAG3E,SAAgB,gBACd,GAAG,MAC8C;AACjD,QAAO,oBAAoB,aAAa,eAAe;AAEvD,QAAO,mBAAmB,gBAAgB,MAAM,oBAAoB,KAAK;;AAG3E,SAAgB,cAAc;AAC5B,QAAO;;AAGT,SAAgB,eACd,GAAG,MAC6C;AAChD,QAAO,oBAAoB,aAAa,eAAe;AAEvD,QAAO,mBAAmB,eAAe,MAAM,oBAAoB,KAAK;;AAI1E,+BAA+B,iBAAiB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/runtime",
3
- "version": "2.3.3",
3
+ "version": "2.4.0",
4
4
  "type": "module",
5
5
  "author": "zhouxiao <codingzx@gmail.com>",
6
6
  "main": "./dist/index.cjs",
@@ -86,9 +86,9 @@
86
86
  }
87
87
  },
88
88
  "dependencies": {
89
- "@module-federation/sdk": "2.3.3",
90
- "@module-federation/error-codes": "2.3.3",
91
- "@module-federation/runtime-core": "2.3.3"
89
+ "@module-federation/sdk": "2.4.0",
90
+ "@module-federation/error-codes": "2.4.0",
91
+ "@module-federation/runtime-core": "2.4.0"
92
92
  },
93
93
  "scripts": {
94
94
  "build": "tsdown --config tsdown.config.ts",