mirror of https://github.com/webpack/webpack.git
				
				
				
			
		
			
	
	
		
			40 lines
		
	
	
		
			964 B
		
	
	
	
		
			JavaScript
		
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
		
			964 B
		
	
	
	
		
			JavaScript
		
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
									MIT License http://www.opensource.org/licenses/mit-license.php
							 | 
						||
| 
								 | 
							
									Author Tobias Koppers @sokra
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** @typedef {import("../declarations/WebpackOptions").IgnoreWarningsNormalized} IgnoreWarningsNormalized */
							 | 
						||
| 
								 | 
							
								/** @typedef {import("./Compiler")} Compiler */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class IgnoreWarningsPlugin {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * @param {IgnoreWarningsNormalized} ignoreWarnings conditions to ignore warnings
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									constructor(ignoreWarnings) {
							 | 
						||
| 
								 | 
							
										this._ignoreWarnings = ignoreWarnings;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * Apply the plugin
							 | 
						||
| 
								 | 
							
									 * @param {Compiler} compiler the compiler instance
							 | 
						||
| 
								 | 
							
									 * @returns {void}
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									apply(compiler) {
							 | 
						||
| 
								 | 
							
										compiler.hooks.compilation.tap("IgnoreWarningsPlugin", compilation => {
							 | 
						||
| 
								 | 
							
											compilation.hooks.processWarnings.tap(
							 | 
						||
| 
								 | 
							
												"IgnoreWarningsPlugin",
							 | 
						||
| 
								 | 
							
												warnings => {
							 | 
						||
| 
								 | 
							
													return warnings.filter(warning => {
							 | 
						||
| 
								 | 
							
														return !this._ignoreWarnings.some(ignore =>
							 | 
						||
| 
								 | 
							
															ignore(warning, compilation)
							 | 
						||
| 
								 | 
							
														);
							 | 
						||
| 
								 | 
							
													});
							 | 
						||
| 
								 | 
							
												}
							 | 
						||
| 
								 | 
							
											);
							 | 
						||
| 
								 | 
							
										});
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = IgnoreWarningsPlugin;
							 |