WXL
4 天以前 3bd962a6d7f61239c020e2dbbeb7341e5b842dd1
node_modules/webpack/lib/dependencies/CommonJsRequireContextDependency.js
@@ -5,6 +5,7 @@
"use strict";
const Dependency = require("../Dependency");
const makeSerializable = require("../util/makeSerializable");
const ContextDependency = require("./ContextDependency");
const ContextDependencyTemplateAsRequireCall = require("./ContextDependencyTemplateAsRequireCall");
@@ -13,13 +14,18 @@
/** @typedef {import("../serialization/ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
/** @typedef {import("../serialization/ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
/** @typedef {import("./ContextDependency").ContextDependencyOptions} ContextDependencyOptions */
/** @typedef {import("../Dependency").RawReferencedExports} RawReferencedExports */
/** @typedef {import("../Dependency").ReferencedExports} ReferencedExports */
/** @typedef {import("../ModuleGraph")} ModuleGraph */
/** @typedef {import("../util/runtime").RuntimeSpec} RuntimeSpec */
class CommonJsRequireContextDependency extends ContextDependency {
   /**
    * Creates an instance of CommonJsRequireContextDependency.
    * @param {ContextDependencyOptions} options options for the context module
    * @param {Range} range location in source code
    * @param {Range | undefined} valueRange location of the require call
    * @param {boolean | string } inShorthand true or name
    * @param {Range=} valueRange location of the require call
    * @param {boolean | string=} inShorthand true or name
    * @param {string=} context context
    */
   constructor(options, range, valueRange, inShorthand, context) {
@@ -36,6 +42,23 @@
   }
   /**
    * Returns list of exports referenced by this dependency
    * @param {ModuleGraph} moduleGraph module graph
    * @param {RuntimeSpec} runtime the runtime for which the module is analysed
    * @returns {ReferencedExports} referenced exports
    */
   getReferencedExports(moduleGraph, runtime) {
      if (!this.options.referencedExports) {
         return Dependency.EXPORTS_OBJECT_REFERENCED;
      }
      return this.options.referencedExports.map((name) => ({
         name,
         canMangle: false
      }));
   }
   /**
    * Serializes this instance into the provided serializer context.
    * @param {ObjectSerializerContext} context context
    */
   serialize(context) {
@@ -49,6 +72,7 @@
   }
   /**
    * Restores this instance from the provided deserializer context.
    * @param {ObjectDeserializerContext} context context
    */
   deserialize(context) {