WXL
3 天以前 9bce51f651aad297ef9eb6df832bfdaf1de05d84
node_modules/webpack/lib/sharing/ProvideSharedModule.js
@@ -7,7 +7,7 @@
const AsyncDependenciesBlock = require("../AsyncDependenciesBlock");
const Module = require("../Module");
const { SHARED_INIT_TYPES } = require("../ModuleSourceTypesConstants");
const { SHARED_INIT_TYPES } = require("../ModuleSourceTypeConstants");
const { WEBPACK_MODULE_TYPE_PROVIDE } = require("../ModuleTypeConstants");
const RuntimeGlobals = require("../RuntimeGlobals");
const makeSerializable = require("../util/makeSerializable");
@@ -22,7 +22,9 @@
/** @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("../Module").CodeGenerationResultData} CodeGenerationResultData */
/** @typedef {import("../RequestShortener")} RequestShortener */
/** @typedef {import("../ResolverFactory").ResolverWithOptions} ResolverWithOptions */
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
@@ -31,6 +33,7 @@
class ProvideSharedModule extends Module {
   /**
    * Creates an instance of ProvideSharedModule.
    * @param {string} shareScope shared scope name
    * @param {string} name shared key
    * @param {string | false} version version
@@ -47,6 +50,7 @@
   }
   /**
    * Returns the unique identifier used to reference this module.
    * @returns {string} a unique identifier of the module
    */
   identifier() {
@@ -54,6 +58,7 @@
   }
   /**
    * Returns a human-readable identifier for this module.
    * @param {RequestShortener} requestShortener the request shortener
    * @returns {string} a user readable identifier of the module
    */
@@ -64,6 +69,7 @@
   }
   /**
    * Gets the library identifier.
    * @param {LibIdentOptions} options options
    * @returns {LibIdent | null} an identifier for library inclusion
    */
@@ -74,6 +80,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}
@@ -83,6 +90,7 @@
   }
   /**
    * Builds the module using the provided compilation context.
    * @param {WebpackOptions} options webpack options
    * @param {Compilation} compilation the compilation
    * @param {ResolverWithOptions} resolver the resolver
@@ -110,6 +118,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)
    */
@@ -118,6 +127,7 @@
   }
   /**
    * Returns the source types this module can generate.
    * @returns {SourceTypes} types available (do not mutate)
    */
   getSourceTypes() {
@@ -125,6 +135,7 @@
   }
   /**
    * Generates code and runtime requirements for this module.
    * @param {CodeGenerationContext} context context for code generation
    * @returns {CodeGenerationResult} result
    */
@@ -147,7 +158,9 @@
                  runtimeRequirements
               })
      }${this._eager ? ", 1" : ""});`;
      /** @type {Sources} */
      const sources = new Map();
      /** @type {CodeGenerationResultData} */
      const data = new Map();
      data.set("share-init", [
         {
@@ -160,6 +173,7 @@
   }
   /**
    * Serializes this instance into the provided serializer context.
    * @param {ObjectSerializerContext} context context
    */
   serialize(context) {
@@ -173,6 +187,7 @@
   }
   /**
    * Restores this instance from the provided deserializer context.
    * @param {ObjectDeserializerContext} context context
    * @returns {ProvideSharedModule} deserialize fallback dependency
    */