diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2023-11-01 20:49:36 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2023-11-01 20:49:36 +0800 |
| commit | e99f950f5018cfe737c0d1150e50d97c6e6a4823 (patch) | |
| tree | 16f329a1b22128ed67f3fcae15a9b0a030f2ccbf /node_modules/webpack/lib/async-modules | |
| parent | c5d8a744dd584749e0b920119b42e731e37e5f62 (diff) | |
update
Diffstat (limited to 'node_modules/webpack/lib/async-modules')
| -rw-r--r-- | node_modules/webpack/lib/async-modules/AwaitDependenciesInitFragment.js | 73 | ||||
| -rw-r--r-- | node_modules/webpack/lib/async-modules/InferAsyncModulesPlugin.js | 55 |
2 files changed, 0 insertions, 128 deletions
diff --git a/node_modules/webpack/lib/async-modules/AwaitDependenciesInitFragment.js b/node_modules/webpack/lib/async-modules/AwaitDependenciesInitFragment.js deleted file mode 100644 index 2bec9076..00000000 --- a/node_modules/webpack/lib/async-modules/AwaitDependenciesInitFragment.js +++ /dev/null @@ -1,73 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const InitFragment = require("../InitFragment"); -const RuntimeGlobals = require("../RuntimeGlobals"); -const Template = require("../Template"); - -/** @typedef {import("webpack-sources").Source} Source */ -/** @typedef {import("../Generator").GenerateContext} GenerateContext */ - -/** - * @typedef {GenerateContext} Context - */ -class AwaitDependenciesInitFragment extends InitFragment { - /** - * @param {Set<string>} promises the promises that should be awaited - */ - constructor(promises) { - super( - undefined, - InitFragment.STAGE_ASYNC_DEPENDENCIES, - 0, - "await-dependencies" - ); - this.promises = promises; - } - - /** - * @param {AwaitDependenciesInitFragment} other other AwaitDependenciesInitFragment - * @returns {AwaitDependenciesInitFragment} AwaitDependenciesInitFragment - */ - merge(other) { - const promises = new Set(other.promises); - for (const p of this.promises) { - promises.add(p); - } - return new AwaitDependenciesInitFragment(promises); - } - - /** - * @param {Context} context context - * @returns {string|Source} the source code that will be included as initialization code - */ - getContent({ runtimeRequirements }) { - runtimeRequirements.add(RuntimeGlobals.module); - const promises = this.promises; - if (promises.size === 0) { - return ""; - } - if (promises.size === 1) { - for (const p of promises) { - return Template.asString([ - `var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([${p}]);`, - `${p} = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];`, - "" - ]); - } - } - const sepPromises = Array.from(promises).join(", "); - // TODO check if destructuring is supported - return Template.asString([ - `var __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([${sepPromises}]);`, - `([${sepPromises}] = __webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__);`, - "" - ]); - } -} - -module.exports = AwaitDependenciesInitFragment; diff --git a/node_modules/webpack/lib/async-modules/InferAsyncModulesPlugin.js b/node_modules/webpack/lib/async-modules/InferAsyncModulesPlugin.js deleted file mode 100644 index d395e30c..00000000 --- a/node_modules/webpack/lib/async-modules/InferAsyncModulesPlugin.js +++ /dev/null @@ -1,55 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -"use strict"; - -const HarmonyImportDependency = require("../dependencies/HarmonyImportDependency"); - -/** @typedef {import("../Compiler")} Compiler */ -/** @typedef {import("../Module")} Module */ - -class InferAsyncModulesPlugin { - /** - * Apply the plugin - * @param {Compiler} compiler the compiler instance - * @returns {void} - */ - apply(compiler) { - compiler.hooks.compilation.tap("InferAsyncModulesPlugin", compilation => { - const { moduleGraph } = compilation; - compilation.hooks.finishModules.tap( - "InferAsyncModulesPlugin", - modules => { - /** @type {Set<Module>} */ - const queue = new Set(); - for (const module of modules) { - if (module.buildMeta && module.buildMeta.async) { - queue.add(module); - } - } - for (const module of queue) { - moduleGraph.setAsync(module); - for (const [ - originModule, - connections - ] of moduleGraph.getIncomingConnectionsByOriginModule(module)) { - if ( - connections.some( - c => - c.dependency instanceof HarmonyImportDependency && - c.isTargetActive(undefined) - ) - ) { - queue.add(/** @type {Module} */ (originModule)); - } - } - } - } - ); - }); - } -} - -module.exports = InferAsyncModulesPlugin; |
