@module-federation/enhanced
Version:
This package provides enhanced features for module federation.
49 lines (47 loc) • 1.63 kB
JavaScript
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
const require_runtime = require('../../../../_virtual/_rolldown/runtime.js');
let _module_federation_sdk_normalize_webpack_path = require("@module-federation/sdk/normalize-webpack-path");
//#region src/lib/sharing/tree-shaking/SharedContainerPlugin/SharedDependency.ts
const makeSerializable = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack/lib/util/makeSerializable"));
const { dependencies } = require((0, _module_federation_sdk_normalize_webpack_path.normalizeWebpackPath)("webpack"));
var SharedDependency = class extends dependencies.ModuleDependency {
/**
* @param {string} sharedName public name
* @param {string} request request to module
*/
constructor(sharedName, request) {
super(request);
this.sharedName = sharedName;
this.request = request;
}
get type() {
return "shared exposed";
}
get category() {
return "esm";
}
/**
* @returns {string | null} an identifier to merge equal requests
*/
getResourceIdentifier() {
return `shared dependency ${this.sharedName}=${this.request}`;
}
/**
* @param {ObjectSerializerContext} context context
*/
serialize(context) {
context.write(this.sharedName);
super.serialize(context);
}
/**
* @param {ObjectDeserializerContext} context context
*/
deserialize(context) {
this.sharedName = context.read();
super.deserialize(context);
}
};
makeSerializable(SharedDependency, "SharedDependency");
//#endregion
exports.default = SharedDependency;
//# sourceMappingURL=SharedDependency.js.map