Files
emaui/node_modules/@module-federation/webpack-bundler-runtime/dist/init.cjs.map
2026-05-29 15:23:46 +03:00

1 line
6.2 KiB
Plaintext

{"version":3,"file":"init.cjs","names":["helpers"],"sources":["../src/init.ts"],"sourcesContent":["import type { WebpackRequire } from './types';\nimport {\n getRemoteEntry,\n type ModuleFederationRuntimePlugin,\n} from '@module-federation/runtime';\nimport { ShareArgs } from '@module-federation/runtime/types';\nimport helpers from '@module-federation/runtime/helpers';\n\nexport function init({ webpackRequire }: { webpackRequire: WebpackRequire }) {\n const { initOptions, runtime, sharedFallback, bundlerRuntime, libraryType } =\n webpackRequire.federation;\n\n if (!initOptions) {\n throw new Error('initOptions is required!');\n }\n\n const treeShakingSharePlugin: () => ModuleFederationRuntimePlugin =\n function () {\n return {\n name: 'tree-shake-plugin',\n beforeInit(args) {\n const { userOptions, origin, options: registeredOptions } = args;\n const version = userOptions.version || registeredOptions.version;\n if (!sharedFallback) {\n return args;\n }\n\n const currentShared = userOptions.shared || {};\n const shared: Array<[pkgName: string, ShareArgs]> = [];\n\n Object.keys(currentShared).forEach((sharedName) => {\n const sharedArgs = Array.isArray(currentShared[sharedName])\n ? currentShared[sharedName]\n : [currentShared[sharedName]];\n sharedArgs.forEach((sharedArg) => {\n shared.push([sharedName, sharedArg]);\n if ('get' in sharedArg) {\n sharedArg.treeShaking ||= {};\n sharedArg.treeShaking.get = sharedArg.get;\n sharedArg.get = bundlerRuntime!.getSharedFallbackGetter({\n shareKey: sharedName,\n factory: sharedArg.get,\n webpackRequire,\n libraryType,\n version: sharedArg.version,\n });\n }\n });\n });\n\n // read snapshot to override re-shake getter\n const hostGlobalSnapshot =\n helpers.global.getGlobalSnapshotInfoByModuleInfo({\n name: origin.name,\n version: version,\n });\n if (!hostGlobalSnapshot || !('shared' in hostGlobalSnapshot)) {\n return args;\n }\n\n Object.keys(registeredOptions.shared || {}).forEach((pkgName) => {\n const sharedInfo = registeredOptions.shared[pkgName];\n sharedInfo.forEach((sharedArg) => {\n shared.push([pkgName, sharedArg]);\n });\n });\n\n const patchShared = (pkgName: string, shared: ShareArgs) => {\n const shareSnapshot = hostGlobalSnapshot.shared.find(\n (item) => item.sharedName === pkgName,\n );\n if (!shareSnapshot) {\n return;\n }\n const { treeShaking } = shared;\n if (!treeShaking) {\n return;\n }\n const {\n secondarySharedTreeShakingName,\n secondarySharedTreeShakingEntry,\n treeShakingStatus,\n } = shareSnapshot;\n if (treeShaking.status === treeShakingStatus) {\n return;\n }\n treeShaking.status = treeShakingStatus;\n if (\n secondarySharedTreeShakingEntry &&\n libraryType &&\n secondarySharedTreeShakingName\n ) {\n treeShaking.get = async () => {\n const shareEntry = await getRemoteEntry({\n origin,\n remoteInfo: {\n name: secondarySharedTreeShakingName,\n entry: secondarySharedTreeShakingEntry,\n type: libraryType,\n entryGlobalName: secondarySharedTreeShakingName,\n // current not used\n shareScope: 'default',\n },\n });\n // TODO: add errorLoad hook ?\n // @ts-ignore\n await shareEntry.init(\n origin,\n // @ts-ignore\n __webpack_require__.federation.bundlerRuntime,\n );\n // @ts-ignore\n const getter = shareEntry.get();\n return getter;\n };\n }\n };\n shared.forEach(([pkgName, sharedArg]) => {\n patchShared(pkgName, sharedArg);\n });\n\n return args;\n },\n };\n };\n\n initOptions.plugins ||= [];\n initOptions.plugins.push(treeShakingSharePlugin());\n return runtime!.init(initOptions);\n}\n"],"mappings":";;;;;;AAQA,SAAgB,KAAK,EAAE,kBAAsD;CAC3E,MAAM,EAAE,aAAa,SAAS,gBAAgB,gBAAgB,gBAC5D,eAAe;AAEjB,KAAI,CAAC,YACH,OAAM,IAAI,MAAM,2BAA2B;CAG7C,MAAM,yBACJ,WAAY;AACV,SAAO;GACL,MAAM;GACN,WAAW,MAAM;IACf,MAAM,EAAE,aAAa,QAAQ,SAAS,sBAAsB;IAC5D,MAAM,UAAU,YAAY,WAAW,kBAAkB;AACzD,QAAI,CAAC,eACH,QAAO;IAGT,MAAM,gBAAgB,YAAY,UAAU,EAAE;IAC9C,MAAM,SAA8C,EAAE;AAEtD,WAAO,KAAK,cAAc,CAAC,SAAS,eAAe;AAIjD,MAHmB,MAAM,QAAQ,cAAc,YAAY,GACvD,cAAc,cACd,CAAC,cAAc,YAAY,EACpB,SAAS,cAAc;AAChC,aAAO,KAAK,CAAC,YAAY,UAAU,CAAC;AACpC,UAAI,SAAS,WAAW;AACtB,iBAAU,gBAAgB,EAAE;AAC5B,iBAAU,YAAY,MAAM,UAAU;AACtC,iBAAU,MAAM,eAAgB,wBAAwB;QACtD,UAAU;QACV,SAAS,UAAU;QACnB;QACA;QACA,SAAS,UAAU;QACpB,CAAC;;OAEJ;MACF;IAGF,MAAM,qBACJA,2CAAQ,OAAO,kCAAkC;KAC/C,MAAM,OAAO;KACJ;KACV,CAAC;AACJ,QAAI,CAAC,sBAAsB,EAAE,YAAY,oBACvC,QAAO;AAGT,WAAO,KAAK,kBAAkB,UAAU,EAAE,CAAC,CAAC,SAAS,YAAY;AAE/D,KADmB,kBAAkB,OAAO,SACjC,SAAS,cAAc;AAChC,aAAO,KAAK,CAAC,SAAS,UAAU,CAAC;OACjC;MACF;IAEF,MAAM,eAAe,SAAiB,WAAsB;KAC1D,MAAM,gBAAgB,mBAAmB,OAAO,MAC7C,SAAS,KAAK,eAAe,QAC/B;AACD,SAAI,CAAC,cACH;KAEF,MAAM,EAAE,gBAAgB;AACxB,SAAI,CAAC,YACH;KAEF,MAAM,EACJ,gCACA,iCACA,sBACE;AACJ,SAAI,YAAY,WAAW,kBACzB;AAEF,iBAAY,SAAS;AACrB,SACE,mCACA,eACA,+BAEA,aAAY,MAAM,YAAY;MAC5B,MAAM,aAAa,qDAAqB;OACtC;OACA,YAAY;QACV,MAAM;QACN,OAAO;QACP,MAAM;QACN,iBAAiB;QAEjB,YAAY;QACb;OACF,CAAC;AAGF,YAAM,WAAW,KACf,QAEA,oBAAoB,WAAW,eAChC;AAGD,aADe,WAAW,KAAK;;;AAKrC,WAAO,SAAS,CAAC,SAAS,eAAe;AACvC,iBAAY,SAAS,UAAU;MAC/B;AAEF,WAAO;;GAEV;;AAGL,aAAY,YAAY,EAAE;AAC1B,aAAY,QAAQ,KAAK,wBAAwB,CAAC;AAClD,QAAO,QAAS,KAAK,YAAY"}