Files
klz-cables.com/.pnpm-store/v10/files/59/9372e2630ea56f18c6789cdd0775bb9b6366facce9bf642a76319b1039a4079ff43c6e22e8a1d3a98d7769f8ed501f316c2baac8f4c047722ac56401731b3f
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

53 lines
1.3 KiB
Plaintext

/*
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;