{"version":3,"file":"initializeSharing.cjs","names":["FEDERATION_SUPPORTED_TYPES"],"sources":["../src/initializeSharing.ts"],"sourcesContent":["import { FEDERATION_SUPPORTED_TYPES } from './constant';\nimport { attachShareScopeMap } from './attachShareScopeMap';\nimport { RemoteEntryExports, InitializeSharingOptions } from './types';\n\nexport function initializeSharing({\n shareScopeName,\n webpackRequire,\n initPromises,\n initTokens,\n initScope,\n}: InitializeSharingOptions): Promise | boolean | void {\n const shareScopeKeys = Array.isArray(shareScopeName)\n ? shareScopeName\n : [shareScopeName];\n var initializeSharingPromises: Array | boolean | void> = [];\n var _initializeSharing = function (shareScopeKey: string) {\n if (!initScope) initScope = [];\n const mfInstance = webpackRequire.federation.instance!;\n\n // handling circular init calls\n var initToken = initTokens[shareScopeKey];\n if (!initToken)\n initToken = initTokens[shareScopeKey] = { from: mfInstance.name };\n if (initScope.indexOf(initToken) >= 0) return;\n initScope.push(initToken);\n\n const promise = initPromises[shareScopeKey];\n if (promise) return promise;\n var warn = (msg: string) =>\n typeof console !== 'undefined' && console.warn && console.warn(msg);\n\n var initExternal = (id: string | number) => {\n var handleError = (err: any) =>\n warn('Initialization of sharing external failed: ' + err);\n try {\n var module = webpackRequire(id);\n if (!module) return;\n var initFn = (module: RemoteEntryExports) =>\n module &&\n module.init &&\n // @ts-ignore compat legacy mf shared behavior\n module.init(webpackRequire.S![shareScopeKey], initScope, {\n shareScopeMap: webpackRequire.S || {},\n shareScopeKeys: shareScopeName,\n });\n if (module.then) return promises.push(module.then(initFn, handleError));\n var initResult = initFn(module);\n // @ts-ignore\n if (initResult && typeof initResult !== 'boolean' && initResult.then)\n // @ts-ignore\n return promises.push(initResult['catch'](handleError));\n } catch (err) {\n handleError(err);\n }\n };\n const promises = mfInstance.initializeSharing(shareScopeKey, {\n strategy: mfInstance.options.shareStrategy,\n initScope,\n from: 'build',\n });\n attachShareScopeMap(webpackRequire);\n\n const bundlerRuntimeRemotesOptions =\n webpackRequire.federation.bundlerRuntimeOptions.remotes;\n if (bundlerRuntimeRemotesOptions) {\n Object.keys(bundlerRuntimeRemotesOptions.idToRemoteMap).forEach(\n (moduleId) => {\n const info = bundlerRuntimeRemotesOptions.idToRemoteMap[moduleId];\n const externalModuleId =\n bundlerRuntimeRemotesOptions.idToExternalAndNameMapping[\n moduleId\n ][2];\n if (info.length > 1) {\n initExternal(externalModuleId);\n } else if (info.length === 1) {\n const remoteInfo = info[0];\n if (!FEDERATION_SUPPORTED_TYPES.includes(remoteInfo.externalType)) {\n initExternal(externalModuleId);\n }\n }\n },\n );\n }\n\n if (!promises.length) {\n return (initPromises[shareScopeKey] = true);\n }\n\n return (initPromises[shareScopeKey] = Promise.all(promises).then(\n () => (initPromises[shareScopeKey] = true),\n ));\n };\n\n shareScopeKeys.forEach((key) => {\n initializeSharingPromises.push(_initializeSharing(key));\n });\n return Promise.all(initializeSharingPromises).then(() => true);\n}\n"],"mappings":";;;;AAIA,SAAgB,kBAAkB,EAChC,gBACA,gBACA,cACA,YACA,aAC8D;CAC9D,MAAM,iBAAiB,MAAM,QAAQ,eAAe,GAChD,iBACA,CAAC,eAAe;CACpB,IAAI,4BAAsE,EAAE;CAC5E,IAAI,qBAAqB,SAAU,eAAuB;AACxD,MAAI,CAAC,UAAW,aAAY,EAAE;EAC9B,MAAM,aAAa,eAAe,WAAW;EAG7C,IAAI,YAAY,WAAW;AAC3B,MAAI,CAAC,UACH,aAAY,WAAW,iBAAiB,EAAE,MAAM,WAAW,MAAM;AACnE,MAAI,UAAU,QAAQ,UAAU,IAAI,EAAG;AACvC,YAAU,KAAK,UAAU;EAEzB,MAAM,UAAU,aAAa;AAC7B,MAAI,QAAS,QAAO;EACpB,IAAI,QAAQ,QACV,OAAO,YAAY,eAAe,QAAQ,QAAQ,QAAQ,KAAK,IAAI;EAErE,IAAI,gBAAgB,OAAwB;GAC1C,IAAI,eAAe,QACjB,KAAK,gDAAgD,IAAI;AAC3D,OAAI;IACF,IAAI,SAAS,eAAe,GAAG;AAC/B,QAAI,CAAC,OAAQ;IACb,IAAI,UAAU,WACZ,UACA,OAAO,QAEP,OAAO,KAAK,eAAe,EAAG,gBAAgB,WAAW;KACvD,eAAe,eAAe,KAAK,EAAE;KACrC,gBAAgB;KACjB,CAAC;AACJ,QAAI,OAAO,KAAM,QAAO,SAAS,KAAK,OAAO,KAAK,QAAQ,YAAY,CAAC;IACvE,IAAI,aAAa,OAAO,OAAO;AAE/B,QAAI,cAAc,OAAO,eAAe,aAAa,WAAW,KAE9D,QAAO,SAAS,KAAK,WAAW,SAAS,YAAY,CAAC;YACjD,KAAK;AACZ,gBAAY,IAAI;;;EAGpB,MAAM,WAAW,WAAW,kBAAkB,eAAe;GAC3D,UAAU,WAAW,QAAQ;GAC7B;GACA,MAAM;GACP,CAAC;AACF,kDAAoB,eAAe;EAEnC,MAAM,+BACJ,eAAe,WAAW,sBAAsB;AAClD,MAAI,6BACF,QAAO,KAAK,6BAA6B,cAAc,CAAC,SACrD,aAAa;GACZ,MAAM,OAAO,6BAA6B,cAAc;GACxD,MAAM,mBACJ,6BAA6B,2BAC3B,UACA;AACJ,OAAI,KAAK,SAAS,EAChB,cAAa,iBAAiB;YACrB,KAAK,WAAW,GAAG;IAC5B,MAAM,aAAa,KAAK;AACxB,QAAI,CAACA,4CAA2B,SAAS,WAAW,aAAa,CAC/D,cAAa,iBAAiB;;IAIrC;AAGH,MAAI,CAAC,SAAS,OACZ,QAAQ,aAAa,iBAAiB;AAGxC,SAAQ,aAAa,iBAAiB,QAAQ,IAAI,SAAS,CAAC,WACnD,aAAa,iBAAiB,KACtC;;AAGH,gBAAe,SAAS,QAAQ;AAC9B,4BAA0B,KAAK,mBAAmB,IAAI,CAAC;GACvD;AACF,QAAO,QAAQ,IAAI,0BAA0B,CAAC,WAAW,KAAK"}