MCPcopy
hub / github.com/webpack/webpack / MODULES_GROUPERS

Function MODULES_GROUPERS

lib/stats/DefaultStatsFactoryPlugin.js:2311–2493  ·  view source on GitHub ↗
(type)

Source from the content-addressed store, hash-verified

2309 * @type {(type: ExcludeModulesType) => ModulesGroupers}
2310 */
2311const MODULES_GROUPERS = (type) => ({
2312 _: (groupConfigs, context, options) => {
2313 /**
2314 * Processes the provided name.
2315 * @param {keyof KnownStatsModule} name name
2316 * @param {string} type type
2317 * @param {boolean=} exclude need exclude?
2318 */
2319 const groupByFlag = (name, type, exclude) => {
2320 groupConfigs.push({
2321 getKeys: (module) => (module[name] ? ["1"] : undefined),
2322 getOptions: () => ({
2323 groupChildren: !exclude,
2324 force: exclude
2325 }),
2326 createGroup: (key, children, modules) => ({
2327 type,
2328 [name]: Boolean(key),
2329 ...(exclude ? { filteredChildren: modules.length } : { children }),
2330 ...moduleGroup(
2331 /** @type {(KnownStatsModule & ModuleGroupBySizeResult)[]} */
2332 (children),
2333 modules
2334 )
2335 })
2336 });
2337 };
2338 const {
2339 groupModulesByCacheStatus,
2340 groupModulesByLayer,
2341 groupModulesByAttributes,
2342 groupModulesByType,
2343 groupModulesByPath,
2344 groupModulesByExtension
2345 } = options;
2346 if (groupModulesByAttributes) {
2347 groupByFlag("errors", "modules with errors");
2348 groupByFlag("warnings", "modules with warnings");
2349 groupByFlag("assets", "modules with assets");
2350 groupByFlag("optional", "optional modules");
2351 }
2352 if (groupModulesByCacheStatus) {
2353 groupByFlag("cacheable", "cacheable modules");
2354 groupByFlag("built", "built modules");
2355 groupByFlag("codeGenerated", "code generated modules");
2356 }
2357 if (groupModulesByCacheStatus || !options.cachedModules) {
2358 groupByFlag("cached", "cached modules", !options.cachedModules);
2359 }
2360 if (groupModulesByAttributes || !options.orphanModules) {
2361 groupByFlag("orphan", "orphan modules", !options.orphanModules);
2362 }
2363 if (groupModulesByAttributes || !options.dependentModules) {
2364 groupByFlag("dependent", "dependent modules", !options.dependentModules);
2365 }
2366 if (groupModulesByType || !options.runtimeModules) {
2367 groupConfigs.push({
2368 getKeys: (module) => {

Callers 1

Calls 8

groupByFlagFunction · 0.85
moduleGroupFunction · 0.85
splitMethod · 0.80
popMethod · 0.80
execMethod · 0.80
sliceMethod · 0.80
fnFunction · 0.50
pushMethod · 0.45

Tested by

no test coverage detected