48 lines
1.1 KiB
JavaScript
48 lines
1.1 KiB
JavaScript
/*
|
|
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy, Marais Rossouw @maraisr
|
|
*/
|
|
|
|
"use strict";
|
|
|
|
const Dependency = require("../Dependency");
|
|
const makeSerializable = require("../util/makeSerializable");
|
|
|
|
/** @typedef {import("./ContainerEntryModule").ExposeOptions} ExposeOptions */
|
|
|
|
class ContainerEntryDependency extends Dependency {
|
|
/**
|
|
* @param {string} name entry name
|
|
* @param {[string, ExposeOptions][]} exposes list of exposed modules
|
|
* @param {string} shareScope name of the share scope
|
|
*/
|
|
constructor(name, exposes, shareScope) {
|
|
super();
|
|
this.name = name;
|
|
this.exposes = exposes;
|
|
this.shareScope = shareScope;
|
|
}
|
|
|
|
/**
|
|
* @returns {string | null} an identifier to merge equal requests
|
|
*/
|
|
getResourceIdentifier() {
|
|
return `container-entry-${this.name}`;
|
|
}
|
|
|
|
get type() {
|
|
return "container entry";
|
|
}
|
|
|
|
get category() {
|
|
return "esm";
|
|
}
|
|
}
|
|
|
|
makeSerializable(
|
|
ContainerEntryDependency,
|
|
"webpack/lib/container/ContainerEntryDependency"
|
|
);
|
|
|
|
module.exports = ContainerEntryDependency;
|