WXL
3 天以前 9bce51f651aad297ef9eb6df832bfdaf1de05d84
node_modules/webpack/lib/DynamicEntryPlugin.js
@@ -10,23 +10,30 @@
const EntryDependency = require("./dependencies/EntryDependency");
/** @typedef {import("../declarations/WebpackOptions").EntryDescriptionNormalized} EntryDescriptionNormalized */
/** @typedef {import("../declarations/WebpackOptions").EntryDynamicNormalized} EntryDynamic */
/** @typedef {import("../declarations/WebpackOptions").EntryStatic} EntryStatic */
/** @typedef {import("../declarations/WebpackOptions").EntryStaticNormalized} EntryStaticNormalized */
/** @typedef {import("./Compiler")} Compiler */
const PLUGIN_NAME = "DynamicEntryPlugin";
/** @typedef {() => EntryStatic | Promise<EntryStatic>} RawEntryDynamic */
/** @typedef {() => Promise<EntryStaticNormalized>} EntryDynamic */
class DynamicEntryPlugin {
   /**
    * Creates an instance of DynamicEntryPlugin.
    * @param {string} context the context path
    * @param {EntryDynamic} entry the entry value
    */
   constructor(context, entry) {
      /** @type {string} */
      this.context = context;
      /** @type {EntryDynamic} */
      this.entry = entry;
   }
   /**
    * Apply the plugin
    * Applies the plugin by registering its hooks on the compiler.
    * @param {Compiler} compiler the compiler instance
    * @returns {void}
    */
@@ -44,6 +51,7 @@
      compiler.hooks.make.tapPromise(PLUGIN_NAME, (compilation) =>
         Promise.resolve(this.entry())
            .then((entry) => {
               /** @type {Promise<void>[]} */
               const promises = [];
               for (const name of Object.keys(entry)) {
                  const desc = entry[name];
@@ -58,6 +66,7 @@
                     promises.push(
                        new Promise(
                           /**
                            * Handles the callback logic for this hook.
                            * @param {(value?: undefined) => void} resolve resolve
                            * @param {(reason?: Error) => void} reject reject
                            */