| 
									
										
										
										
											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
										 |  |  | */ | 
					
						
							| 
									
										
										
										
											2018-07-30 23:08:51 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-04 03:21:51 +08:00
										 |  |  | "use strict"; | 
					
						
							| 
									
										
										
										
											2017-03-25 05:17:47 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-27 04:37:21 +08:00
										 |  |  | const { formatSize } = require("../SizeFormatHelpers"); | 
					
						
							| 
									
										
										
										
											2018-07-30 23:08:51 +08:00
										 |  |  | const WebpackError = require("../WebpackError"); | 
					
						
							| 
									
										
										
										
											2016-11-29 23:32:10 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-09 05:13:56 +08:00
										 |  |  | /** @typedef {import("./SizeLimitsPlugin").AssetDetails} AssetDetails */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-29 03:04:11 +08:00
										 |  |  | module.exports = class AssetsOverSizeLimitWarning extends WebpackError { | 
					
						
							| 
									
										
										
										
											2018-11-09 05:13:56 +08:00
										 |  |  | 	/** | 
					
						
							|  |  |  | 	 * @param {AssetDetails[]} assetsOverSizeLimit the assets | 
					
						
							|  |  |  | 	 * @param {number} assetLimit the size limit | 
					
						
							|  |  |  | 	 */ | 
					
						
							| 
									
										
										
										
											2017-01-04 03:21:51 +08:00
										 |  |  | 	constructor(assetsOverSizeLimit, assetLimit) { | 
					
						
							| 
									
										
										
										
											2018-06-04 16:10:23 +08:00
										 |  |  | 		const assetLists = assetsOverSizeLimit | 
					
						
							| 
									
										
										
										
											2025-07-17 00:13:14 +08:00
										 |  |  | 			.map((asset) => `\n  ${asset.name} (${formatSize(asset.size)})`) | 
					
						
							| 
									
										
										
										
											2018-02-25 09:00:20 +08:00
										 |  |  | 			.join(""); | 
					
						
							| 
									
										
										
										
											2018-06-04 16:10:23 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-27 04:37:21 +08:00
										 |  |  | 		super(`asset size limit: The following asset(s) exceed the recommended size limit (${formatSize( | 
					
						
							| 
									
										
										
										
											2018-02-25 09:00:20 +08:00
										 |  |  | 			assetLimit | 
					
						
							|  |  |  | 		)}). | 
					
						
							| 
									
										
										
										
											2017-01-04 03:21:51 +08:00
										 |  |  | This can impact web performance. | 
					
						
							| 
									
										
										
										
											2018-06-04 16:10:23 +08:00
										 |  |  | Assets: ${assetLists}`);
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		this.name = "AssetsOverSizeLimitWarning"; | 
					
						
							|  |  |  | 		this.assets = assetsOverSizeLimit; | 
					
						
							| 
									
										
										
										
											2017-01-04 03:21:51 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | }; |