| 
									
										
										
										
											2016-11-06 00:08:58 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 	MIT License http://www.opensource.org/licenses/mit-license.php
 | 
					
						
							| 
									
										
										
										
											2016-11-06 00:43:03 +08:00
										 |  |  | 	Author Sean Larkin @thelarkinn | 
					
						
							| 
									
										
										
										
											2016-11-06 00:08:58 +08:00
										 |  |  | */ | 
					
						
							| 
									
										
										
										
											2017-01-04 03:21:51 +08:00
										 |  |  | "use strict"; | 
					
						
							| 
									
										
										
										
											2017-03-25 05:17:47 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | const WebpackError = require("../WebpackError"); | 
					
						
							| 
									
										
										
										
											2017-01-04 03:21:51 +08:00
										 |  |  | const SizeFormatHelpers = require("../SizeFormatHelpers"); | 
					
						
							| 
									
										
										
										
											2016-11-29 23:32:10 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-25 05:17:47 +08:00
										 |  |  | module.exports = class EntrypointsOverSizeLimitWarning extends WebpackError { | 
					
						
							| 
									
										
										
										
											2017-01-04 03:21:51 +08:00
										 |  |  | 	constructor(entrypoints, entrypointLimit) { | 
					
						
							| 
									
										
										
										
											2018-06-04 16:10:23 +08:00
										 |  |  | 		const entrypointList = entrypoints | 
					
						
							| 
									
										
										
										
											2018-02-25 09:00:20 +08:00
										 |  |  | 			.map( | 
					
						
							|  |  |  | 				entrypoint => | 
					
						
							|  |  |  | 					`\n  ${entrypoint.name} (${SizeFormatHelpers.formatSize( | 
					
						
							|  |  |  | 						entrypoint.size | 
					
						
							|  |  |  | 					)})\n${entrypoint.files.map(asset => `      ${asset}`).join("\n")}`
 | 
					
						
							|  |  |  | 			) | 
					
						
							|  |  |  | 			.join(""); | 
					
						
							| 
									
										
										
										
											2018-06-04 16:10:23 +08:00
										 |  |  | 		super(`entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (${SizeFormatHelpers.formatSize( | 
					
						
							| 
									
										
										
										
											2018-02-25 09:00:20 +08:00
										 |  |  | 			entrypointLimit | 
					
						
							|  |  |  | 		)}). This can impact web performance. | 
					
						
							| 
									
										
										
										
											2018-06-04 16:10:23 +08:00
										 |  |  | Entrypoints:${entrypointList}\n`);
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		this.name = "EntrypointsOverSizeLimitWarning"; | 
					
						
							|  |  |  | 		this.entrypoints = entrypoints; | 
					
						
							| 
									
										
										
										
											2017-03-25 05:17:47 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-17 00:16:47 +08:00
										 |  |  | 		Error.captureStackTrace(this, this.constructor); | 
					
						
							| 
									
										
										
										
											2017-01-04 03:21:51 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | }; |