/
githubmirror
/
webpack
Обзор
Документация
Войти
/
githubmirror
/
webpack
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
test/helpers/assertCircularModules.js
43 строки
1 KB
hai-x
refactor: use outgoing connections for circular modules (#21255)
23 июн 2026, 14:41
Не верифицирован
23 июн 2026, 14:41
96500a4
Код
Авторство
О чём код?
"use strict"; const path = require("path"); /** @typedef {import("../../").Compiler} Compiler */ /** @typedef {import("../../").Module} Module */ // Asserts buildInfo.isCircular (set by CircularModulesPlugin in production mode) // matches the expected set of basename. Reads after optimizeModules, before // concatenation, so original NormalModules are still present. /** * @param {Iterable<string>} expectedCircular expected circular module basename * @returns {(compiler: Compiler) => void} plugin */ module.exports = (expectedCircular) => /** * @param {Compiler} compiler compiler * @returns {void} */ function assertCircularModulesPlugin(compiler) { const expected = [...expectedCircular].sort(); compiler.hooks.compilation.tap("assertCircularModules", (compilation) => { compilation.hooks.afterOptimizeModules.tap( "assertCircularModules", /** * @param {Iterable<Module>} modules modules * @returns {void} */ (modules) => { /** @type {string[]} */ const actual = []; for (const module of modules) { const name = module.nameForCondition(); if (!name) continue; if (module.buildInfo && module.buildInfo.isCircular) { actual.push(path.basename(name)); } } expect(actual.sort()).toEqual(expected); } ); }); };