MCPcopy
hub / github.com/webpack/webpack / buildChunkGraph

Function buildChunkGraph

lib/buildChunkGraph.js:1425–1482  ·  lib/buildChunkGraph.js::buildChunkGraph
(compilation, inputEntrypointsAndModules)

Source from the content-addressed store, hash-verified

1423 * @returns {void}
1424 */
1425const buildChunkGraph = (compilation, inputEntrypointsAndModules) => {
1426 const logger = compilation.getLogger(class="st">"webpack.buildChunkGraph");
1427
1428 class="cm">// SHARED STATE
1429
1430 /** @type {BlockConnections} */
1431 const blockConnections = new Map();
1432
1433 /** @type {AllCreatedChunkGroups} */
1434 const allCreatedChunkGroups = new Set();
1435
1436 /** @type {ChunkGroupInfoMap} */
1437 const chunkGroupInfoMap = new Map();
1438
1439 /** @type {BlocksWithNestedBlocks} */
1440 const blocksWithNestedBlocks = new Set();
1441
1442 /** @type {MaskByChunk} */
1443 const maskByChunk = new Map();
1444
1445 class="cm">// PART ONE
1446
1447 logger.time(class="st">"visitModules");
1448 visitModules(
1449 logger,
1450 compilation,
1451 inputEntrypointsAndModules,
1452 chunkGroupInfoMap,
1453 blockConnections,
1454 blocksWithNestedBlocks,
1455 allCreatedChunkGroups,
1456 maskByChunk
1457 );
1458 logger.timeEnd(class="st">"visitModules");
1459
1460 class="cm">// PART TWO
1461
1462 logger.time(class="st">"connectChunkGroups");
1463 connectChunkGroups(
1464 compilation,
1465 blocksWithNestedBlocks,
1466 blockConnections,
1467 maskByChunk
1468 );
1469 logger.timeEnd(class="st">"connectChunkGroups");
1470
1471 for (const [chunkGroup, chunkGroupInfo] of chunkGroupInfoMap) {
1472 for (const chunk of chunkGroup.chunks) {
1473 chunk.runtime = mergeRuntime(chunk.runtime, chunkGroupInfo.runtime);
1474 }
1475 }
1476
1477 class="cm">// Cleanup work
1478
1479 logger.time(class="st">"cleanup");
1480 cleanupUnconnectedGroups(compilation, allCreatedChunkGroups);
1481 logger.timeEnd(class="st">"cleanup");
1482};

Callers 1

sealMethod · 0.85

Calls 7

visitModulesFunction · 0.85
connectChunkGroupsFunction · 0.85
mergeRuntimeFunction · 0.85
cleanupUnconnectedGroupsFunction · 0.85
timeMethod · 0.80
timeEndMethod · 0.80
getLoggerMethod · 0.65

Tested by

no test coverage detected