49 lines
1.1 KiB
JavaScript
49 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 */
|
||
|
/** @typedef {import("./ContainerEntryModule").ExposesList} ExposesList */
|
||
|
|
||
|
class ContainerEntryDependency extends Dependency {
|
||
|
/**
|
||
|
* @param {string} name entry name
|
||
|
* @param {ExposesList} 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;
|