MCPcopy
hub / github.com/webpack/webpack / processEntryBlock

Function processEntryBlock

lib/buildChunkGraph.js:886–920  ·  view source on GitHub ↗
(block)

Source from the content-addressed store, hash-verified

884 * @returns {void}
885 */
886 const processEntryBlock = (block) => {
887 statProcessedBlocks++;
888 // get prepared block info
889 const blockModules = getBlockModules(block, chunkGroupInfo.runtime);
890
891 if (blockModules !== undefined) {
892 // Traverse all referenced modules in reverse order
893 for (let i = blockModules.length - 3; i >= 0; i -= 3) {
894 const refModule = /** @type {Module} */ (blockModules[i]);
895 const activeState = /** @type {ConnectionState} */ (
896 blockModules[i + 1]
897 );
898 // enqueue, then add and enter to be in the correct order
899 // this is relevant with circular dependencies
900 queue.push({
901 action:
902 activeState === true ? ADD_AND_ENTER_ENTRY_MODULE : PROCESS_BLOCK,
903 block: refModule,
904 module: refModule,
905 chunk,
906 chunkGroup,
907 chunkGroupInfo
908 });
909 }
910 }
911
912 // Traverse all Blocks
913 for (const b of block.blocks) {
914 iteratorBlock(b);
915 }
916
917 if (block.blocks.length > 0 && module !== block) {
918 blocksWithNestedBlocks.add(block);
919 }
920 };
921
922 const processQueue = () => {
923 while (queue.length) {

Callers 1

processQueueFunction · 0.85

Calls 4

getBlockModulesFunction · 0.85
iteratorBlockFunction · 0.85
pushMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected