/
Mikhail823
/
todo
Обзор
Документация
Войти
/
Mikhail823
/
todo
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/webpack/lib/async-modules/AsyncModuleHelpers.js
52 строки
1 KB
Mikhail Popov
j
23 фев 2026, 16:12
23 фев 2026, 16:12
ff7232a
Код
Авторство
О чём код?
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Haijie Xie @hai-x */ "use strict"; const HarmonyImportDependency = require("../dependencies/HarmonyImportDependency"); /** @typedef {import("../ModuleGraph")} ModuleGraph */ /** @typedef {import("../Module")} Module */ /** @typedef {Set<Module>} Modules */ /** * @param {ModuleGraph} moduleGraph module graph * @param {Module} module module * @returns {Modules} set of modules */ const getOutgoingAsyncModules = (moduleGraph, module) => { /** @type {Modules} */ const set = new Set(); /** @type {Modules} */ const seen = new Set(); (function g(module) { if (!moduleGraph.isAsync(module) || seen.has(module)) return; seen.add(module); if (module.buildMeta && module.buildMeta.async) { set.add(module); } else { const outgoingConnectionMap = moduleGraph.getOutgoingConnectionsByModule(module); if (outgoingConnectionMap) { for (const [module, connections] of outgoingConnectionMap) { if ( connections.some( (c) => c.dependency instanceof HarmonyImportDependency && c.isTargetActive(undefined) ) && module ) { g(module); } } } } })(module); return set; }; module.exports.getOutgoingAsyncModules = getOutgoingAsyncModules;