WXL
4 天以前 3bd962a6d7f61239c020e2dbbeb7341e5b842dd1
node_modules/webpack/lib/dependencies/WorkerPlugin.js
@@ -41,13 +41,14 @@
/** @typedef {import("../Dependency").DependencyLocation} DependencyLocation */
/** @typedef {import("../Entrypoint").EntryOptions} EntryOptions */
/** @typedef {import("../NormalModule")} NormalModule */
/** @typedef {import("../Parser").ParserState} ParserState */
/** @typedef {import("../javascript/JavascriptParser")} JavascriptParser */
/** @typedef {import("../javascript/JavascriptParser")} Parser */
/** @typedef {import("../javascript/JavascriptParser").JavascriptParserState} JavascriptParserState */
/** @typedef {import("../javascript/JavascriptParser").Range} Range */
/** @typedef {import("./HarmonyImportDependencyParserPlugin").HarmonySettings} HarmonySettings */
/**
 * Returns url.
 * @param {NormalModule} module module
 * @returns {string} url
 */
@@ -62,13 +63,14 @@
   "Worker from worker_threads"
];
/** @type {WeakMap<ParserState, number>} */
/** @type {WeakMap<JavascriptParserState, number>} */
const workerIndexMap = new WeakMap();
const PLUGIN_NAME = "WorkerPlugin";
class WorkerPlugin {
   /**
    * Creates an instance of WorkerPlugin.
    * @param {ChunkLoading=} chunkLoading chunk loading
    * @param {WasmLoading=} wasmLoading wasm loading
    * @param {OutputModule=} module output module
@@ -82,7 +84,7 @@
   }
   /**
    * Apply the plugin
    * Applies the plugin by registering its hooks on the compiler.
    * @param {Compiler} compiler the compiler instance
    * @returns {void}
    */
@@ -114,6 +116,7 @@
            );
            /**
             * Returns parsed.
             * @param {JavascriptParser} parser the parser
             * @param {Expression} expr expression
             * @returns {[string, Range] | void} parsed
@@ -164,6 +167,7 @@
            };
            /**
             * Checks whether this worker plugin is meta url.
             * @param {JavascriptParser} parser the parser
             * @param {MemberExpression} expr expression
             * @returns {boolean} is `import.meta.url`
@@ -187,6 +191,7 @@
            /** @typedef {Record<string, EXPECTED_ANY>} Values */
            /**
             * Parses object expression.
             * @param {JavascriptParser} parser the parser
             * @param {ObjectExpression} expr expression
             * @returns {{ expressions: Record<string, Expression | Pattern>, otherElements: (Property | SpreadElement)[], values: Values, spread: boolean, insertType: "comma" | "single", insertLocation: number }} parsed object
@@ -237,6 +242,7 @@
            };
            /**
             * Processes the provided parser.
             * @param {Parser} parser parser parser
             * @param {JavascriptParserOptions} parserOptions parserOptions
             * @returns {void}
@@ -247,6 +253,7 @@
                  ? ["..."]
                  : parserOptions.worker;
               /**
                * Returns true when handled.
                * @param {CallExpression} expr expression
                * @returns {boolean | void} true when handled
                */
@@ -387,6 +394,7 @@
                  const block = new AsyncDependenciesBlock({
                     name: entryOptions.name,
                     circular: false,
                     entryOptions: {
                        chunkLoading: this._chunkLoading,
                        wasmLoading: this._wasmLoading,
@@ -473,6 +481,7 @@
                  return true;
               };
               /**
                * Processes the provided item.
                * @param {string} item item
                */
               const processItem = (item) => {