UNPKG

@module-federation/enhanced

Version:

This package provides enhanced features for module federation.

28 lines (26 loc) 1.46 kB
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const require_runtime = require('../../../_virtual/_rolldown/runtime.js'); const require_lib_container_runtime_utils = require('../../container/runtime/utils.js'); let _module_federation_sdk_normalize_webpack_path = require("@module-federation/sdk/normalize-webpack-path"); //#region src/lib/sharing/tree-shaking/SharedUsedExportsOptimizerRuntimeModule.ts const { Template, RuntimeGlobals, RuntimeModule } = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack")); var SharedUsedExportsOptimizerRuntimeModule = class extends RuntimeModule { constructor(sharedUsedExports) { super("shared-used-exports", RuntimeModule.STAGE_ATTACH); this.sharedUsedExports = sharedUsedExports; } /** * @returns {string | null} runtime code */ generate() { if (!this.sharedUsedExports) return null; const federationGlobal = require_lib_container_runtime_utils.getFederationGlobalScope(RuntimeGlobals); return Template.asString([`if(!${federationGlobal}) {return;}`, `${federationGlobal}.usedExports = ${JSON.stringify(Array.from(this.sharedUsedExports.entries()).reduce((acc, [pkg, moduleMap]) => { acc[pkg] = Array.from(moduleMap); return acc; }, {}))};`]); } }; //#endregion exports.default = SharedUsedExportsOptimizerRuntimeModule; //# sourceMappingURL=SharedUsedExportsOptimizerRuntimeModule.js.map