WXL
4 天以前 2cc85c64f1c64a2dbaeae276a3e2ca8420de76b7
node_modules/webpack/lib/container/ContainerEntryModule.js
@@ -8,7 +8,10 @@
const { OriginalSource, RawSource } = require("webpack-sources");
const AsyncDependenciesBlock = require("../AsyncDependenciesBlock");
const Module = require("../Module");
const { JS_TYPES } = require("../ModuleSourceTypesConstants");
const {
   JAVASCRIPT_TYPE,
   JAVASCRIPT_TYPES
} = require("../ModuleSourceTypeConstants");
const { JAVASCRIPT_MODULE_TYPE_DYNAMIC } = require("../ModuleTypeConstants");
const RuntimeGlobals = require("../RuntimeGlobals");
const Template = require("../Template");
@@ -25,6 +28,7 @@
/** @typedef {import("../Module").LibIdent} LibIdent */
/** @typedef {import("../Module").NeedBuildCallback} NeedBuildCallback */
/** @typedef {import("../Module").NeedBuildContext} NeedBuildContext */
/** @typedef {import("../Module").Sources} Sources */
/** @typedef {import("../Module").SourceTypes} SourceTypes */
/** @typedef {import("../RequestShortener")} RequestShortener */
/** @typedef {import("../ResolverFactory").ResolverWithOptions} ResolverWithOptions */
@@ -33,6 +37,7 @@
/** @typedef {import("../util/fs").InputFileSystem} InputFileSystem */
/**
 * Defines the expose options type used by this module.
 * @typedef {object} ExposeOptions
 * @property {string[]} import requests to exposed modules (last one is exported)
 * @property {string} name custom chunk name for the exposed module
@@ -42,25 +47,31 @@
class ContainerEntryModule extends Module {
   /**
    * Creates an instance of ContainerEntryModule.
    * @param {string} name container entry name
    * @param {ExposesList} exposes list of exposed modules
    * @param {string} shareScope name of the share scope
    */
   constructor(name, exposes, shareScope) {
      super(JAVASCRIPT_MODULE_TYPE_DYNAMIC, null);
      /** @type {string} */
      this._name = name;
      /** @type {ExposesList} */
      this._exposes = exposes;
      /** @type {string} */
      this._shareScope = shareScope;
   }
   /**
    * Returns the source types this module can generate.
    * @returns {SourceTypes} types available (do not mutate)
    */
   getSourceTypes() {
      return JS_TYPES;
      return JAVASCRIPT_TYPES;
   }
   /**
    * Returns the unique identifier used to reference this module.
    * @returns {string} a unique identifier of the module
    */
   identifier() {
@@ -70,6 +81,7 @@
   }
   /**
    * Returns a human-readable identifier for this module.
    * @param {RequestShortener} requestShortener the request shortener
    * @returns {string} a user readable identifier of the module
    */
@@ -78,6 +90,7 @@
   }
   /**
    * Gets the library identifier.
    * @param {LibIdentOptions} options options
    * @returns {LibIdent | null} an identifier for library inclusion
    */
@@ -88,6 +101,7 @@
   }
   /**
    * Checks whether the module needs to be rebuilt for the current build state.
    * @param {NeedBuildContext} context context info
    * @param {NeedBuildCallback} callback callback function, returns true, if the module needs a rebuild
    * @returns {void}
@@ -97,6 +111,7 @@
   }
   /**
    * Builds the module using the provided compilation context.
    * @param {WebpackOptions} options webpack options
    * @param {Compilation} compilation the compilation
    * @param {ResolverWithOptions} resolver the resolver
@@ -140,16 +155,19 @@
   }
   /**
    * Generates code and runtime requirements for this module.
    * @param {CodeGenerationContext} context context for code generation
    * @returns {CodeGenerationResult} result
    */
   codeGeneration({ moduleGraph, chunkGraph, runtimeTemplate }) {
      /** @type {Sources} */
      const sources = new Map();
      const runtimeRequirements = new Set([
         RuntimeGlobals.definePropertyGetters,
         RuntimeGlobals.hasOwnProperty,
         RuntimeGlobals.exports
      ]);
      /** @type {string[]} */
      const getters = [];
      for (const block of this.blocks) {
@@ -164,6 +182,7 @@
            };
         });
         /** @type {string} */
         let str;
         if (modules.some((m) => !m.module)) {
@@ -242,7 +261,7 @@
      ]);
      sources.set(
         "javascript",
         JAVASCRIPT_TYPE,
         this.useSourceMap || this.useSimpleSourceMap
            ? new OriginalSource(source, "webpack/container-entry")
            : new RawSource(source)
@@ -255,6 +274,7 @@
   }
   /**
    * Returns the estimated size for the requested source type.
    * @param {string=} type the source type for which the size should be estimated
    * @returns {number} the estimated size of the module (must be non-zero)
    */
@@ -263,6 +283,7 @@
   }
   /**
    * Serializes this instance into the provided serializer context.
    * @param {ObjectSerializerContext} context context
    */
   serialize(context) {
@@ -274,6 +295,7 @@
   }
   /**
    * Restores this instance from the provided deserializer context.
    * @param {ObjectDeserializerContext} context context
    * @returns {ContainerEntryModule} deserialized container entry module
    */