mirror of https://github.com/webpack/webpack.git
				
				
				
			add special case for async without name
This commit is contained in:
		
							parent
							
								
									e610b65349
								
							
						
					
					
						commit
						443b62ffa7
					
				|  | @ -115,7 +115,18 @@ You can however specify the name of the async chunk by passing the desired strin | ||||||
| 					// override the "commonChunk" with the newly created async one and use it as commonChunk from now on
 | 					// override the "commonChunk" with the newly created async one and use it as commonChunk from now on
 | ||||||
| 					let asyncChunk; | 					let asyncChunk; | ||||||
| 					if(this.async) { | 					if(this.async) { | ||||||
| 						asyncChunk = this.createAsyncChunk(compilation, this.async, targetChunk); | 						// If async chunk is one of the affected chunks, just use it
 | ||||||
|  | 						asyncChunk = affectedChunks.filter(c => c.name === this.async)[0]; | ||||||
|  | 						// Elsewise create a new one
 | ||||||
|  | 						if(!asyncChunk) { | ||||||
|  | 							asyncChunk = this.createAsyncChunk( | ||||||
|  | 								compilation, | ||||||
|  | 								targetChunks.length <= 1 || typeof this.async !== "string" ? this.async : | ||||||
|  | 								targetChunk.name ? `${this.async}-${targetChunk.name}` : | ||||||
|  | 								true, | ||||||
|  | 								targetChunk | ||||||
|  | 							); | ||||||
|  | 						} | ||||||
| 						targetChunk = asyncChunk; | 						targetChunk = asyncChunk; | ||||||
| 					} | 					} | ||||||
| 
 | 
 | ||||||
|  | @ -306,7 +317,7 @@ Take a look at the "name"/"names" or async/children option.`); | ||||||
| 
 | 
 | ||||||
| 	extractModulesAndReturnAffectedChunks(reallyUsedModules, usedChunks) { | 	extractModulesAndReturnAffectedChunks(reallyUsedModules, usedChunks) { | ||||||
| 		return reallyUsedModules.reduce((affectedChunksSet, module) => { | 		return reallyUsedModules.reduce((affectedChunksSet, module) => { | ||||||
| 			for(let chunk of usedChunks) { | 			for(const chunk of usedChunks) { | ||||||
| 				// removeChunk returns true if the chunk was contained and succesfully removed
 | 				// removeChunk returns true if the chunk was contained and succesfully removed
 | ||||||
| 				// false if the module did not have a connection to the chunk in question
 | 				// false if the module did not have a connection to the chunk in question
 | ||||||
| 				if(module.removeChunk(chunk)) { | 				if(module.removeChunk(chunk)) { | ||||||
|  | @ -318,28 +329,29 @@ Take a look at the "name"/"names" or async/children option.`); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	addExtractedModulesToTargetChunk(chunk, modules) { | 	addExtractedModulesToTargetChunk(chunk, modules) { | ||||||
| 		for(let module of modules) { | 		for(const module of modules) { | ||||||
| 			chunk.addModule(module); | 			chunk.addModule(module); | ||||||
| 			module.addChunk(chunk); | 			module.addChunk(chunk); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	makeTargetChunkParentOfAffectedChunks(usedChunks, commonChunk) { | 	makeTargetChunkParentOfAffectedChunks(usedChunks, commonChunk) { | ||||||
| 		for(let chunk of usedChunks) { | 		for(const chunk of usedChunks) { | ||||||
| 			// set commonChunk as new sole parent
 | 			// set commonChunk as new sole parent
 | ||||||
| 			chunk.parents = [commonChunk]; | 			chunk.parents = [commonChunk]; | ||||||
| 			// add chunk to commonChunk
 | 			// add chunk to commonChunk
 | ||||||
| 			commonChunk.addChunk(chunk); | 			commonChunk.addChunk(chunk); | ||||||
| 
 | 
 | ||||||
| 			for(let entrypoint of chunk.entrypoints) { | 			for(const entrypoint of chunk.entrypoints) { | ||||||
| 				entrypoint.insertChunk(commonChunk, chunk); | 				entrypoint.insertChunk(commonChunk, chunk); | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	moveExtractedChunkBlocksToTargetChunk(chunks, targetChunk) { | 	moveExtractedChunkBlocksToTargetChunk(chunks, targetChunk) { | ||||||
| 		for(let chunk of chunks) { | 		for(const chunk of chunks) { | ||||||
| 			for(let block of chunk.blocks) { | 			if(chunk === targetChunk) continue; | ||||||
|  | 			for(const block of chunk.blocks) { | ||||||
| 				if(block.chunks.indexOf(targetChunk) === -1) { | 				if(block.chunks.indexOf(targetChunk) === -1) { | ||||||
| 					block.chunks.unshift(targetChunk); | 					block.chunks.unshift(targetChunk); | ||||||
| 				} | 				} | ||||||
|  | @ -350,8 +362,8 @@ Take a look at the "name"/"names" or async/children option.`); | ||||||
| 
 | 
 | ||||||
| 	extractOriginsOfChunksWithExtractedModules(chunks) { | 	extractOriginsOfChunksWithExtractedModules(chunks) { | ||||||
| 		const origins = []; | 		const origins = []; | ||||||
| 		for(let chunk of chunks) { | 		for(const chunk of chunks) { | ||||||
| 			for(let origin of chunk.origins) { | 			for(const origin of chunk.origins) { | ||||||
| 				const newOrigin = Object.create(origin); | 				const newOrigin = Object.create(origin); | ||||||
| 				newOrigin.reasons = (origin.reasons || []).concat("async commons"); | 				newOrigin.reasons = (origin.reasons || []).concat("async commons"); | ||||||
| 				origins.push(newOrigin); | 				origins.push(newOrigin); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue