UNPKG

@module-federation/enhanced

Version:

This package provides enhanced features for module federation.

42 lines (40 loc) 2.53 kB
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const require_runtime = require('../../../_virtual/_rolldown/runtime.js'); const require_lib_container_runtime_getFederationGlobal = require('./getFederationGlobal.js'); let _module_federation_sdk_normalize_webpack_path = require("@module-federation/sdk/normalize-webpack-path"); //#region src/lib/container/runtime/FederationRuntimeModule.ts const compileBooleanMatcher = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack/lib/util/compileBooleanMatcher")); const { getUndoPath } = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack/lib/util/identifier")); const { RuntimeModule, RuntimeGlobals, Template } = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack")); var FederationRuntimeModule = class extends RuntimeModule { constructor(runtimeRequirements, containerName, initOptionsWithoutShared) { super("federation runtime", RuntimeModule.STAGE_NORMAL - 1); this.runtimeRequirements = runtimeRequirements; this.containerName = containerName; this.initOptionsWithoutShared = initOptionsWithoutShared; } /** * @returns {string | null} runtime code */ generate() { let matcher = false; let rootOutputDir; if (this.compilation && this.chunk) { const jsModulePlugin = this.compilation.compiler.webpack?.javascript?.JavascriptModulesPlugin || require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack/lib/javascript/JavascriptModulesPlugin")); const { chunkHasJs } = jsModulePlugin; if (this.runtimeRequirements.has(RuntimeGlobals.ensureChunkHandlers)) { const hasJsMatcher = compileBooleanMatcher(this.compilation.chunkGraph.getChunkConditionMap(this.chunk, chunkHasJs)); if (typeof hasJsMatcher === "boolean") matcher = hasJsMatcher; else matcher = hasJsMatcher("chunkId"); rootOutputDir = getUndoPath(this.compilation.getPath(jsModulePlugin.getChunkFilenameTemplate(this.chunk, this.compilation.outputOptions), { chunk: this.chunk, contentHashType: "javascript" }), this.compilation.outputOptions.path || "", false); } } return Template.asString([require_lib_container_runtime_getFederationGlobal.default(Template, RuntimeGlobals, matcher, rootOutputDir, this.initOptionsWithoutShared)]); } }; //#endregion exports.default = FederationRuntimeModule; //# sourceMappingURL=FederationRuntimeModule.js.map