mirror of https://github.com/webpack/webpack.git
				
				
				
			
		
			
				
	
	
		
			2213 lines
		
	
	
		
			57 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
			
		
		
	
	
			2213 lines
		
	
	
		
			57 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
| /**
 | |
|  * This file was automatically generated.
 | |
|  * DO NOT MODIFY BY HAND.
 | |
|  * Run `yarn special-lint-fix` to update
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * Set the value of `require.amd` and `define.amd`. Or disable AMD support.
 | |
|  */
 | |
| export type Amd =
 | |
| 	| false
 | |
| 	| {
 | |
| 			[k: string]: any;
 | |
| 	  };
 | |
| /**
 | |
|  * Report the first error as a hard error instead of tolerating it.
 | |
|  */
 | |
| export type Bail = boolean;
 | |
| /**
 | |
|  * Cache generated modules and chunks to improve performance for multiple incremental builds.
 | |
|  */
 | |
| export type Cache = true | CacheNormalized;
 | |
| /**
 | |
|  * Cache generated modules and chunks to improve performance for multiple incremental builds.
 | |
|  */
 | |
| export type CacheNormalized = false | MemoryCacheOptions | FileCacheOptions;
 | |
| /**
 | |
|  * The base directory (absolute path!) for resolving the `entry` option. If `output.pathinfo` is set, the included pathinfo is shortened to this directory.
 | |
|  */
 | |
| export type Context = string;
 | |
| /**
 | |
|  * References to other configurations to depend on.
 | |
|  */
 | |
| export type Dependencies = string[];
 | |
| /**
 | |
|  * A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map).
 | |
|  */
 | |
| export type DevTool = (false | "eval") | string;
 | |
| /**
 | |
|  * The entry point(s) of the compilation.
 | |
|  */
 | |
| export type Entry = EntryDynamic | EntryStatic;
 | |
| /**
 | |
|  * A Function returning an entry object, an entry string, an entry array or a promise to these things.
 | |
|  */
 | |
| export type EntryDynamic = () => EntryStatic | Promise<EntryStatic>;
 | |
| /**
 | |
|  * A static entry description.
 | |
|  */
 | |
| export type EntryStatic = EntryObject | EntryUnnamed;
 | |
| /**
 | |
|  * Module(s) that are loaded upon startup.
 | |
|  */
 | |
| export type EntryItem = [string, ...string[]] | string;
 | |
| /**
 | |
|  * Specifies the name of each output file on disk. You must **not** specify an absolute path here! The `output.path` option determines the location on disk the files are written to, filename is used solely for naming the individual files.
 | |
|  */
 | |
| export type Filename =
 | |
| 	| string
 | |
| 	| ((
 | |
| 			pathData: import("../lib/Compilation").PathData,
 | |
| 			assetInfo?: import("../lib/Compilation").AssetInfo
 | |
| 	  ) => string);
 | |
| /**
 | |
|  * Add a comment in the UMD wrapper.
 | |
|  */
 | |
| export type AuxiliaryComment = string | LibraryCustomUmdCommentObject;
 | |
| /**
 | |
|  * Specify which export should be exposed as library.
 | |
|  */
 | |
| export type LibraryExport = string[] | string;
 | |
| /**
 | |
|  * The name of the library (some types allow unnamed libraries too).
 | |
|  */
 | |
| export type LibraryName = string[] | string | LibraryCustomUmdObject;
 | |
| /**
 | |
|  * Type of library.
 | |
|  */
 | |
| export type LibraryType =
 | |
| 	| "var"
 | |
| 	| "module"
 | |
| 	| "assign"
 | |
| 	| "this"
 | |
| 	| "window"
 | |
| 	| "self"
 | |
| 	| "global"
 | |
| 	| "commonjs"
 | |
| 	| "commonjs2"
 | |
| 	| "commonjs-module"
 | |
| 	| "amd"
 | |
| 	| "amd-require"
 | |
| 	| "umd"
 | |
| 	| "umd2"
 | |
| 	| "jsonp"
 | |
| 	| "system";
 | |
| /**
 | |
|  * If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.
 | |
|  */
 | |
| export type UmdNamedDefine = boolean;
 | |
| /**
 | |
|  * An entry point without name.
 | |
|  */
 | |
| export type EntryUnnamed = EntryItem;
 | |
| /**
 | |
|  * Specify dependencies that shouldn't be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.
 | |
|  */
 | |
| export type Externals = ExternalItem[] | ExternalItem;
 | |
| /**
 | |
|  * Specify dependency that shouldn't be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.
 | |
|  */
 | |
| export type ExternalItem =
 | |
| 	| RegExp
 | |
| 	| string
 | |
| 	| {
 | |
| 			/**
 | |
| 			 * The dependency used for the external.
 | |
| 			 */
 | |
| 			[k: string]:
 | |
| 				| string[]
 | |
| 				| boolean
 | |
| 				| string
 | |
| 				| {
 | |
| 						[k: string]: any;
 | |
| 				  };
 | |
| 	  }
 | |
| 	| ((
 | |
| 			context: string,
 | |
| 			request: string,
 | |
| 			callback: (err?: Error, result?: string) => void
 | |
| 	  ) => void);
 | |
| /**
 | |
|  * Specifies the default type of externals ('amd*', 'umd*', 'system' and 'jsonp' depend on output.libraryTarget set to the same value).
 | |
|  */
 | |
| export type ExternalsType =
 | |
| 	| "var"
 | |
| 	| "module"
 | |
| 	| "assign"
 | |
| 	| "this"
 | |
| 	| "window"
 | |
| 	| "self"
 | |
| 	| "global"
 | |
| 	| "commonjs"
 | |
| 	| "commonjs2"
 | |
| 	| "commonjs-module"
 | |
| 	| "amd"
 | |
| 	| "amd-require"
 | |
| 	| "umd"
 | |
| 	| "umd2"
 | |
| 	| "jsonp"
 | |
| 	| "system";
 | |
| /**
 | |
|  * Filtering values.
 | |
|  */
 | |
| export type FilterTypes = FilterItemTypes[] | FilterItemTypes;
 | |
| /**
 | |
|  * Filtering value, regexp or function.
 | |
|  */
 | |
| export type FilterItemTypes = RegExp | string | ((value: string) => boolean);
 | |
| /**
 | |
|  * Enable production optimizations or development hints.
 | |
|  */
 | |
| export type Mode = "development" | "production" | "none";
 | |
| /**
 | |
|  * One or multiple rule conditions.
 | |
|  */
 | |
| export type RuleSetConditionOrConditions = RuleSetCondition | RuleSetConditions;
 | |
| /**
 | |
|  * A condition matcher.
 | |
|  */
 | |
| export type RuleSetCondition =
 | |
| 	| RegExp
 | |
| 	| string
 | |
| 	| {
 | |
| 			/**
 | |
| 			 * Logical AND.
 | |
| 			 */
 | |
| 			and?: RuleSetConditions;
 | |
| 			/**
 | |
| 			 * Logical NOT.
 | |
| 			 */
 | |
| 			not?: RuleSetConditions;
 | |
| 			/**
 | |
| 			 * Logical OR.
 | |
| 			 */
 | |
| 			or?: RuleSetConditions;
 | |
| 	  }
 | |
| 	| ((value: string) => boolean)
 | |
| 	| RuleSetConditions;
 | |
| /**
 | |
|  * A list of rule conditions.
 | |
|  */
 | |
| export type RuleSetConditions = RuleSetCondition[];
 | |
| /**
 | |
|  * One or multiple rule conditions matching an absolute path.
 | |
|  */
 | |
| export type RuleSetConditionOrConditionsAbsolute =
 | |
| 	| RuleSetConditionAbsolute
 | |
| 	| RuleSetConditionsAbsolute;
 | |
| /**
 | |
|  * A condition matcher matching an absolute path.
 | |
|  */
 | |
| export type RuleSetConditionAbsolute =
 | |
| 	| RegExp
 | |
| 	| string
 | |
| 	| {
 | |
| 			/**
 | |
| 			 * Logical AND.
 | |
| 			 */
 | |
| 			and?: RuleSetConditionsAbsolute;
 | |
| 			/**
 | |
| 			 * Logical NOT.
 | |
| 			 */
 | |
| 			not?: RuleSetConditionsAbsolute;
 | |
| 			/**
 | |
| 			 * Logical OR.
 | |
| 			 */
 | |
| 			or?: RuleSetConditionsAbsolute;
 | |
| 	  }
 | |
| 	| ((value: string) => boolean)
 | |
| 	| RuleSetConditionsAbsolute;
 | |
| /**
 | |
|  * A list of rule conditions matching an absolute path.
 | |
|  */
 | |
| export type RuleSetConditionsAbsolute = RuleSetConditionAbsolute[];
 | |
| /**
 | |
|  * A loader request.
 | |
|  */
 | |
| export type RuleSetLoader = string;
 | |
| /**
 | |
|  * Options passed to a loader.
 | |
|  */
 | |
| export type RuleSetLoaderOptions =
 | |
| 	| string
 | |
| 	| {
 | |
| 			[k: string]: any;
 | |
| 	  };
 | |
| /**
 | |
|  * A list of descriptions of loaders applied.
 | |
|  */
 | |
| export type RuleSetUse =
 | |
| 	| RuleSetUseItem[]
 | |
| 	| ((data: object) => RuleSetUseItem[])
 | |
| 	| RuleSetUseItem;
 | |
| /**
 | |
|  * A description of an applied loader.
 | |
|  */
 | |
| export type RuleSetUseItem =
 | |
| 	| {
 | |
| 			/**
 | |
| 			 * Unique loader options identifier.
 | |
| 			 */
 | |
| 			ident?: string;
 | |
| 			/**
 | |
| 			 * Loader name.
 | |
| 			 */
 | |
| 			loader?: RuleSetLoader;
 | |
| 			/**
 | |
| 			 * Loader options.
 | |
| 			 */
 | |
| 			options?: RuleSetLoaderOptions;
 | |
| 	  }
 | |
| 	| ((data: object) => RuleSetUseItem | RuleSetUseItem[])
 | |
| 	| RuleSetLoader;
 | |
| /**
 | |
|  * A list of rules.
 | |
|  */
 | |
| export type RuleSetRules = RuleSetRule[];
 | |
| /**
 | |
|  * Name of the configuration. Used when loading multiple configurations.
 | |
|  */
 | |
| export type Name = string;
 | |
| /**
 | |
|  * Include polyfills or mocks for various node stuff.
 | |
|  */
 | |
| export type Node = false | NodeOptions;
 | |
| /**
 | |
|  * Function acting as plugin.
 | |
|  */
 | |
| export type WebpackPluginFunction = (
 | |
| 	this: import("../lib/Compiler"),
 | |
| 	compiler: import("../lib/Compiler")
 | |
| ) => void;
 | |
| /**
 | |
|  * Create an additional chunk which contains only the webpack runtime and chunk hash maps.
 | |
|  */
 | |
| export type OptimizationRuntimeChunk =
 | |
| 	| ("single" | "multiple")
 | |
| 	| boolean
 | |
| 	| {
 | |
| 			/**
 | |
| 			 * The name or name factory for the runtime chunks.
 | |
| 			 */
 | |
| 			name?: string | Function;
 | |
| 	  };
 | |
| /**
 | |
|  * A function returning cache groups.
 | |
|  */
 | |
| export type OptimizationSplitChunksGetCacheGroups = (
 | |
| 	module: import("../lib/Module")
 | |
| ) =>
 | |
| 	| OptimizationSplitChunksCacheGroup
 | |
| 	| OptimizationSplitChunksCacheGroup[]
 | |
| 	| void;
 | |
| /**
 | |
|  * Size description for limits.
 | |
|  */
 | |
| export type OptimizationSplitChunksSizes =
 | |
| 	| number
 | |
| 	| {
 | |
| 			/**
 | |
| 			 * Size of the part of the chunk with the type of the key.
 | |
| 			 */
 | |
| 			[k: string]: number;
 | |
| 	  };
 | |
| /**
 | |
|  * The filename of asset modules as relative path inside the `output.path` directory.
 | |
|  */
 | |
| export type AssetModuleFilename =
 | |
| 	| string
 | |
| 	| ((
 | |
| 			pathData: import("../lib/Compilation").PathData,
 | |
| 			assetInfo?: import("../lib/Compilation").AssetInfo
 | |
| 	  ) => string);
 | |
| /**
 | |
|  * The callback function name used by webpack for loading of chunks in WebWorkers.
 | |
|  */
 | |
| export type ChunkCallbackName = string;
 | |
| /**
 | |
|  * The filename of non-entry chunks as relative path inside the `output.path` directory.
 | |
|  */
 | |
| export type ChunkFilename = string;
 | |
| /**
 | |
|  * Number of milliseconds before chunk request expires.
 | |
|  */
 | |
| export type ChunkLoadTimeout = number;
 | |
| /**
 | |
|  * Check if to be emitted file already exists and have the same content before writing to output filesystem.
 | |
|  */
 | |
| export type CompareBeforeEmit = boolean;
 | |
| /**
 | |
|  * This option enables cross-origin loading of chunks.
 | |
|  */
 | |
| export type CrossOriginLoading = false | "anonymous" | "use-credentials";
 | |
| /**
 | |
|  * Similar to `output.devtoolModuleFilenameTemplate`, but used in the case of duplicate module identifiers.
 | |
|  */
 | |
| export type DevtoolFallbackModuleFilenameTemplate = string | Function;
 | |
| /**
 | |
|  * Filename template string of function for the sources array in a generated SourceMap.
 | |
|  */
 | |
| export type DevtoolModuleFilenameTemplate = string | Function;
 | |
| /**
 | |
|  * Module namespace to use when interpolating filename template string for the sources array in a generated SourceMap. Defaults to `output.library` if not set. It's useful for avoiding runtime collisions in sourcemaps from multiple webpack projects built as libraries.
 | |
|  */
 | |
| export type DevtoolNamespace = string;
 | |
| /**
 | |
|  * The maximum EcmaScript version of the webpack generated code (doesn't include input source code from modules).
 | |
|  */
 | |
| export type EcmaVersion = 2009 | number;
 | |
| /**
 | |
|  * List of library types enabled for use by entry points.
 | |
|  */
 | |
| export type EnabledLibraryTypes = LibraryType[];
 | |
| /**
 | |
|  * An expression which is used to address the global object/scope in runtime code.
 | |
|  */
 | |
| export type GlobalObject = string;
 | |
| /**
 | |
|  * Digest type used for the hash.
 | |
|  */
 | |
| export type HashDigest = string;
 | |
| /**
 | |
|  * Number of chars which are used for the hash.
 | |
|  */
 | |
| export type HashDigestLength = number;
 | |
| /**
 | |
|  * Algorithm used for generation the hash (see node.js crypto package).
 | |
|  */
 | |
| export type HashFunction = string | typeof import("../lib/util/Hash");
 | |
| /**
 | |
|  * Any string which is added to the hash to salt it.
 | |
|  */
 | |
| export type HashSalt = string;
 | |
| /**
 | |
|  * The filename of the Hot Update Chunks. They are inside the output.path directory.
 | |
|  */
 | |
| export type HotUpdateChunkFilename = string;
 | |
| /**
 | |
|  * The JSONP function used by webpack for async loading of hot update chunks.
 | |
|  */
 | |
| export type HotUpdateFunction = string;
 | |
| /**
 | |
|  * The filename of the Hot Update Main File. It is inside the `output.path` directory.
 | |
|  */
 | |
| export type HotUpdateMainFilename = string;
 | |
| /**
 | |
|  * Wrap javascript code into IIFE's to avoid leaking into global scope.
 | |
|  */
 | |
| export type Iife = boolean;
 | |
| /**
 | |
|  * The JSONP function used by webpack for async loading of chunks.
 | |
|  */
 | |
| export type JsonpFunction = string;
 | |
| /**
 | |
|  * This option enables loading async chunks via a custom script type, such as script type="module".
 | |
|  */
 | |
| export type JsonpScriptType = false | "text/javascript" | "module";
 | |
| /**
 | |
|  * Make the output files a library, exporting the exports of the entry point.
 | |
|  */
 | |
| export type Library = LibraryName | LibraryOptions;
 | |
| /**
 | |
|  * Output javascript files as module source type.
 | |
|  */
 | |
| export type OutputModule = boolean;
 | |
| /**
 | |
|  * The output directory as **absolute path** (required).
 | |
|  */
 | |
| export type Path = string;
 | |
| /**
 | |
|  * Include comments with information about the modules.
 | |
|  */
 | |
| export type Pathinfo = boolean;
 | |
| /**
 | |
|  * The `publicPath` specifies the public URL address of the output files when referenced in a browser.
 | |
|  */
 | |
| export type PublicPath =
 | |
| 	| string
 | |
| 	| ((
 | |
| 			pathData: import("../lib/Compilation").PathData,
 | |
| 			assetInfo?: import("../lib/Compilation").AssetInfo
 | |
| 	  ) => string);
 | |
| /**
 | |
|  * The filename of the SourceMaps for the JavaScript files. They are inside the `output.path` directory.
 | |
|  */
 | |
| export type SourceMapFilename = string;
 | |
| /**
 | |
|  * Prefixes every line of the source in the bundle with this string.
 | |
|  */
 | |
| export type SourcePrefix = string;
 | |
| /**
 | |
|  * Handles exceptions in module loading correctly at a performance cost.
 | |
|  */
 | |
| export type StrictModuleExceptionHandling = boolean;
 | |
| /**
 | |
|  * A unique name of the webpack build to avoid multiple webpack runtimes to conflict when using globals.
 | |
|  */
 | |
| export type UniqueName = string;
 | |
| /**
 | |
|  * The filename of WebAssembly modules as relative path inside the `output.path` directory.
 | |
|  */
 | |
| export type WebassemblyModuleFilename = string;
 | |
| /**
 | |
|  * The number of parallel processed modules in the compilation.
 | |
|  */
 | |
| export type Parallelism = number;
 | |
| /**
 | |
|  * Configuration for web performance recommendations.
 | |
|  */
 | |
| export type Performance = false | PerformanceOptions;
 | |
| /**
 | |
|  * Add additional plugins to the compiler.
 | |
|  */
 | |
| export type Plugins = (WebpackPluginInstance | WebpackPluginFunction)[];
 | |
| /**
 | |
|  * Capture timing information for each module.
 | |
|  */
 | |
| export type Profile = boolean;
 | |
| /**
 | |
|  * Store compiler state to a json file.
 | |
|  */
 | |
| export type RecordsInputPath = false | string;
 | |
| /**
 | |
|  * Load compiler state from a json file.
 | |
|  */
 | |
| export type RecordsOutputPath = false | string;
 | |
| /**
 | |
|  * Store/Load compiler state from/to a json file. This will result in persistent ids of modules and chunks. An absolute path is expected. `recordsPath` is used for `recordsInputPath` and `recordsOutputPath` if they left undefined.
 | |
|  */
 | |
| export type RecordsPath = false | string;
 | |
| /**
 | |
|  * Options for the resolver.
 | |
|  */
 | |
| export type Resolve = ResolveOptions;
 | |
| /**
 | |
|  * Options for the resolver when resolving loaders.
 | |
|  */
 | |
| export type ResolveLoader = ResolveOptions;
 | |
| /**
 | |
|  * Stats options object or preset name.
 | |
|  */
 | |
| export type Stats =
 | |
| 	| (
 | |
| 			| "none"
 | |
| 			| "errors-only"
 | |
| 			| "minimal"
 | |
| 			| "normal"
 | |
| 			| "detailed"
 | |
| 			| "verbose"
 | |
| 			| "errors-warnings"
 | |
| 	  )
 | |
| 	| boolean
 | |
| 	| StatsOptions;
 | |
| /**
 | |
|  * Environment to build for.
 | |
|  */
 | |
| export type Target =
 | |
| 	| (
 | |
| 			| "web"
 | |
| 			| "webworker"
 | |
| 			| "node"
 | |
| 			| "async-node"
 | |
| 			| "node-webkit"
 | |
| 			| "electron-main"
 | |
| 			| "electron-renderer"
 | |
| 			| "electron-preload"
 | |
| 	  )
 | |
| 	| ((compiler: import("../lib/Compiler")) => void);
 | |
| /**
 | |
|  * Enter watch mode, which rebuilds on file change.
 | |
|  */
 | |
| export type Watch = boolean;
 | |
| /**
 | |
|  * A Function returning a Promise resolving to a normalized entry.
 | |
|  */
 | |
| export type EntryDynamicNormalized = () => Promise<EntryStaticNormalized>;
 | |
| /**
 | |
|  * The entry point(s) of the compilation.
 | |
|  */
 | |
| export type EntryNormalized = EntryDynamicNormalized | EntryStaticNormalized;
 | |
| /**
 | |
|  * Create an additional chunk which contains only the webpack runtime and chunk hash maps.
 | |
|  */
 | |
| export type OptimizationRuntimeChunkNormalized =
 | |
| 	| false
 | |
| 	| {
 | |
| 			/**
 | |
| 			 * The name factory for the runtime chunks.
 | |
| 			 */
 | |
| 			name?: Function;
 | |
| 	  };
 | |
| 
 | |
| /**
 | |
|  * Options object as provided by the user.
 | |
|  */
 | |
| export interface WebpackOptions {
 | |
| 	/**
 | |
| 	 * Set the value of `require.amd` and `define.amd`. Or disable AMD support.
 | |
| 	 */
 | |
| 	amd?: Amd;
 | |
| 	/**
 | |
| 	 * Report the first error as a hard error instead of tolerating it.
 | |
| 	 */
 | |
| 	bail?: Bail;
 | |
| 	/**
 | |
| 	 * Cache generated modules and chunks to improve performance for multiple incremental builds.
 | |
| 	 */
 | |
| 	cache?: Cache;
 | |
| 	/**
 | |
| 	 * The base directory (absolute path!) for resolving the `entry` option. If `output.pathinfo` is set, the included pathinfo is shortened to this directory.
 | |
| 	 */
 | |
| 	context?: Context;
 | |
| 	/**
 | |
| 	 * References to other configurations to depend on.
 | |
| 	 */
 | |
| 	dependencies?: Dependencies;
 | |
| 	/**
 | |
| 	 * Options for the webpack-dev-server.
 | |
| 	 */
 | |
| 	devServer?: DevServer;
 | |
| 	/**
 | |
| 	 * A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map).
 | |
| 	 */
 | |
| 	devtool?: DevTool;
 | |
| 	/**
 | |
| 	 * The entry point(s) of the compilation.
 | |
| 	 */
 | |
| 	entry?: Entry;
 | |
| 	/**
 | |
| 	 * Enables/Disables experiments (experimental features with relax SemVer compatibility).
 | |
| 	 */
 | |
| 	experiments?: Experiments;
 | |
| 	/**
 | |
| 	 * Specify dependencies that shouldn't be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.
 | |
| 	 */
 | |
| 	externals?: Externals;
 | |
| 	/**
 | |
| 	 * Specifies the default type of externals ('amd*', 'umd*', 'system' and 'jsonp' depend on output.libraryTarget set to the same value).
 | |
| 	 */
 | |
| 	externalsType?: ExternalsType;
 | |
| 	/**
 | |
| 	 * Options for infrastructure level logging.
 | |
| 	 */
 | |
| 	infrastructureLogging?: InfrastructureLogging;
 | |
| 	/**
 | |
| 	 * Custom values available in the loader context.
 | |
| 	 */
 | |
| 	loader?: Loader;
 | |
| 	/**
 | |
| 	 * Enable production optimizations or development hints.
 | |
| 	 */
 | |
| 	mode?: Mode;
 | |
| 	/**
 | |
| 	 * Options affecting the normal modules (`NormalModuleFactory`).
 | |
| 	 */
 | |
| 	module?: Module;
 | |
| 	/**
 | |
| 	 * Name of the configuration. Used when loading multiple configurations.
 | |
| 	 */
 | |
| 	name?: Name;
 | |
| 	/**
 | |
| 	 * Include polyfills or mocks for various node stuff.
 | |
| 	 */
 | |
| 	node?: Node;
 | |
| 	/**
 | |
| 	 * Enables/Disables integrated optimizations.
 | |
| 	 */
 | |
| 	optimization?: Optimization;
 | |
| 	/**
 | |
| 	 * Options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.
 | |
| 	 */
 | |
| 	output?: Output;
 | |
| 	/**
 | |
| 	 * The number of parallel processed modules in the compilation.
 | |
| 	 */
 | |
| 	parallelism?: Parallelism;
 | |
| 	/**
 | |
| 	 * Configuration for web performance recommendations.
 | |
| 	 */
 | |
| 	performance?: Performance;
 | |
| 	/**
 | |
| 	 * Add additional plugins to the compiler.
 | |
| 	 */
 | |
| 	plugins?: Plugins;
 | |
| 	/**
 | |
| 	 * Capture timing information for each module.
 | |
| 	 */
 | |
| 	profile?: Profile;
 | |
| 	/**
 | |
| 	 * Store compiler state to a json file.
 | |
| 	 */
 | |
| 	recordsInputPath?: RecordsInputPath;
 | |
| 	/**
 | |
| 	 * Load compiler state from a json file.
 | |
| 	 */
 | |
| 	recordsOutputPath?: RecordsOutputPath;
 | |
| 	/**
 | |
| 	 * Store/Load compiler state from/to a json file. This will result in persistent ids of modules and chunks. An absolute path is expected. `recordsPath` is used for `recordsInputPath` and `recordsOutputPath` if they left undefined.
 | |
| 	 */
 | |
| 	recordsPath?: RecordsPath;
 | |
| 	/**
 | |
| 	 * Options for the resolver.
 | |
| 	 */
 | |
| 	resolve?: Resolve;
 | |
| 	/**
 | |
| 	 * Options for the resolver when resolving loaders.
 | |
| 	 */
 | |
| 	resolveLoader?: ResolveLoader;
 | |
| 	/**
 | |
| 	 * Stats options object or preset name.
 | |
| 	 */
 | |
| 	stats?: Stats;
 | |
| 	/**
 | |
| 	 * Environment to build for.
 | |
| 	 */
 | |
| 	target?: Target;
 | |
| 	/**
 | |
| 	 * Enter watch mode, which rebuilds on file change.
 | |
| 	 */
 | |
| 	watch?: Watch;
 | |
| 	/**
 | |
| 	 * Options for the watcher.
 | |
| 	 */
 | |
| 	watchOptions?: WatchOptions;
 | |
| }
 | |
| /**
 | |
|  * Options object for in-memory caching.
 | |
|  */
 | |
| export interface MemoryCacheOptions {
 | |
| 	/**
 | |
| 	 * List of paths that are managed by a package manager and contain a version or hash in it's path so all files are immutable.
 | |
| 	 */
 | |
| 	immutablePaths?: string[];
 | |
| 	/**
 | |
| 	 * List of paths that are managed by a package manager and can be trusted to not being modified otherwise.
 | |
| 	 */
 | |
| 	managedPaths?: string[];
 | |
| 	/**
 | |
| 	 * In memory caching.
 | |
| 	 */
 | |
| 	type: "memory";
 | |
| }
 | |
| /**
 | |
|  * Options object for persistent file-based caching.
 | |
|  */
 | |
| export interface FileCacheOptions {
 | |
| 	/**
 | |
| 	 * Dependencies the build depends on (in multiple categories, default categories: 'defaultWebpack').
 | |
| 	 */
 | |
| 	buildDependencies?: {
 | |
| 		/**
 | |
| 		 * List of dependencies the build depends on.
 | |
| 		 */
 | |
| 		[k: string]: string[];
 | |
| 	};
 | |
| 	/**
 | |
| 	 * Base directory for the cache (defaults to node_modules/.cache/webpack).
 | |
| 	 */
 | |
| 	cacheDirectory?: string;
 | |
| 	/**
 | |
| 	 * Locations for the cache (defaults to cacheDirectory / name).
 | |
| 	 */
 | |
| 	cacheLocation?: string;
 | |
| 	/**
 | |
| 	 * Algorithm used for generation the hash (see node.js crypto package).
 | |
| 	 */
 | |
| 	hashAlgorithm?: string;
 | |
| 	/**
 | |
| 	 * Time in ms after which idle period the cache storing should happen (only for store: 'pack' or 'idle').
 | |
| 	 */
 | |
| 	idleTimeout?: number;
 | |
| 	/**
 | |
| 	 * Time in ms after which idle period the initial cache storing should happen (only for store: 'pack' or 'idle').
 | |
| 	 */
 | |
| 	idleTimeoutForInitialStore?: number;
 | |
| 	/**
 | |
| 	 * List of paths that are managed by a package manager and contain a version or hash in it's path so all files are immutable.
 | |
| 	 */
 | |
| 	immutablePaths?: string[];
 | |
| 	/**
 | |
| 	 * List of paths that are managed by a package manager and can be trusted to not being modified otherwise.
 | |
| 	 */
 | |
| 	managedPaths?: string[];
 | |
| 	/**
 | |
| 	 * Name for the cache. Different names will lead to different coexisting caches.
 | |
| 	 */
 | |
| 	name?: string;
 | |
| 	/**
 | |
| 	 * When to store data to the filesystem. (pack: Store data when compiler is idle in a single file).
 | |
| 	 */
 | |
| 	store?: "pack";
 | |
| 	/**
 | |
| 	 * Filesystem caching.
 | |
| 	 */
 | |
| 	type: "filesystem";
 | |
| 	/**
 | |
| 	 * Version of the cache data. Different versions won't allow to reuse the cache and override existing content. Update the version when config changed in a way which doesn't allow to reuse cache. This will invalidate the cache.
 | |
| 	 */
 | |
| 	version?: string;
 | |
| }
 | |
| /**
 | |
|  * Options for the webpack-dev-server.
 | |
|  */
 | |
| export interface DevServer {
 | |
| 	[k: string]: any;
 | |
| }
 | |
| /**
 | |
|  * Multiple entry bundles are created. The key is the entry name. The value can be a string, an array or an entry description object.
 | |
|  */
 | |
| export interface EntryObject {
 | |
| 	/**
 | |
| 	 * An entry point with name.
 | |
| 	 */
 | |
| 	[k: string]: EntryItem | EntryDescription;
 | |
| }
 | |
| /**
 | |
|  * An object with entry point description.
 | |
|  */
 | |
| export interface EntryDescription {
 | |
| 	/**
 | |
| 	 * The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.
 | |
| 	 */
 | |
| 	dependOn?: [string, ...string[]] | string;
 | |
| 	/**
 | |
| 	 * Specifies the name of each output file on disk. You must **not** specify an absolute path here! The `output.path` option determines the location on disk the files are written to, filename is used solely for naming the individual files.
 | |
| 	 */
 | |
| 	filename?: Filename;
 | |
| 	/**
 | |
| 	 * Module(s) that are loaded upon startup.
 | |
| 	 */
 | |
| 	import: EntryItem;
 | |
| 	/**
 | |
| 	 * Options for library.
 | |
| 	 */
 | |
| 	library?: LibraryOptions;
 | |
| }
 | |
| /**
 | |
|  * Options for library.
 | |
|  */
 | |
| export interface LibraryOptions {
 | |
| 	/**
 | |
| 	 * Add a comment in the UMD wrapper.
 | |
| 	 */
 | |
| 	auxiliaryComment?: AuxiliaryComment;
 | |
| 	/**
 | |
| 	 * Specify which export should be exposed as library.
 | |
| 	 */
 | |
| 	export?: LibraryExport;
 | |
| 	/**
 | |
| 	 * The name of the library (some types allow unnamed libraries too).
 | |
| 	 */
 | |
| 	name?: LibraryName;
 | |
| 	/**
 | |
| 	 * Type of library.
 | |
| 	 */
 | |
| 	type: LibraryType;
 | |
| 	/**
 | |
| 	 * If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.
 | |
| 	 */
 | |
| 	umdNamedDefine?: UmdNamedDefine;
 | |
| }
 | |
| /**
 | |
|  * Set explicit comments for `commonjs`, `commonjs2`, `amd`, and `root`.
 | |
|  */
 | |
| export interface LibraryCustomUmdCommentObject {
 | |
| 	/**
 | |
| 	 * Set comment for `amd` section in UMD.
 | |
| 	 */
 | |
| 	amd?: string;
 | |
| 	/**
 | |
| 	 * Set comment for `commonjs` (exports) section in UMD.
 | |
| 	 */
 | |
| 	commonjs?: string;
 | |
| 	/**
 | |
| 	 * Set comment for `commonjs2` (module.exports) section in UMD.
 | |
| 	 */
 | |
| 	commonjs2?: string;
 | |
| 	/**
 | |
| 	 * Set comment for `root` (global variable) section in UMD.
 | |
| 	 */
 | |
| 	root?: string;
 | |
| }
 | |
| /**
 | |
|  * Description object for all UMD variants of the library name.
 | |
|  */
 | |
| export interface LibraryCustomUmdObject {
 | |
| 	/**
 | |
| 	 * Name of the exposed AMD library in the UMD.
 | |
| 	 */
 | |
| 	amd?: string;
 | |
| 	/**
 | |
| 	 * Name of the exposed commonjs export in the UMD.
 | |
| 	 */
 | |
| 	commonjs?: string;
 | |
| 	/**
 | |
| 	 * Name of the property exposed globally by a UMD library.
 | |
| 	 */
 | |
| 	root?: string[] | string;
 | |
| }
 | |
| /**
 | |
|  * Enables/Disables experiments (experimental features with relax SemVer compatibility).
 | |
|  */
 | |
| export interface Experiments {
 | |
| 	/**
 | |
| 	 * Allow module type 'asset' to generate assets.
 | |
| 	 */
 | |
| 	asset?: boolean;
 | |
| 	/**
 | |
| 	 * Support WebAssembly as asynchronous EcmaScript Module.
 | |
| 	 */
 | |
| 	asyncWebAssembly?: boolean;
 | |
| 	/**
 | |
| 	 * Allow 'import/export' syntax to import async modules.
 | |
| 	 */
 | |
| 	importAsync?: boolean;
 | |
| 	/**
 | |
| 	 * Allow 'import/export await' syntax to import async modules.
 | |
| 	 */
 | |
| 	importAwait?: boolean;
 | |
| 	/**
 | |
| 	 * Support .mjs files as way to define strict ESM file (node.js).
 | |
| 	 */
 | |
| 	mjs?: boolean;
 | |
| 	/**
 | |
| 	 * Allow output javascript files as module source type.
 | |
| 	 */
 | |
| 	outputModule?: boolean;
 | |
| 	/**
 | |
| 	 * Support WebAssembly as synchronous EcmaScript Module (outdated).
 | |
| 	 */
 | |
| 	syncWebAssembly?: boolean;
 | |
| 	/**
 | |
| 	 * Allow using top-level-await in EcmaScript Modules.
 | |
| 	 */
 | |
| 	topLevelAwait?: boolean;
 | |
| }
 | |
| /**
 | |
|  * Options for infrastructure level logging.
 | |
|  */
 | |
| export interface InfrastructureLogging {
 | |
| 	/**
 | |
| 	 * Enable debug logging for specific loggers.
 | |
| 	 */
 | |
| 	debug?: boolean | FilterTypes;
 | |
| 	/**
 | |
| 	 * Log level.
 | |
| 	 */
 | |
| 	level?: "none" | "error" | "warn" | "info" | "log" | "verbose";
 | |
| }
 | |
| /**
 | |
|  * Custom values available in the loader context.
 | |
|  */
 | |
| export interface Loader {
 | |
| 	[k: string]: any;
 | |
| }
 | |
| /**
 | |
|  * Options affecting the normal modules (`NormalModuleFactory`).
 | |
|  */
 | |
| export interface Module {
 | |
| 	/**
 | |
| 	 * An array of rules applied by default for modules.
 | |
| 	 */
 | |
| 	defaultRules?: RuleSetRules;
 | |
| 	/**
 | |
| 	 * Enable warnings for full dynamic dependencies.
 | |
| 	 */
 | |
| 	exprContextCritical?: boolean;
 | |
| 	/**
 | |
| 	 * Enable recursive directory lookup for full dynamic dependencies.
 | |
| 	 */
 | |
| 	exprContextRecursive?: boolean;
 | |
| 	/**
 | |
| 	 * Sets the default regular expression for full dynamic dependencies.
 | |
| 	 */
 | |
| 	exprContextRegExp?: RegExp | boolean;
 | |
| 	/**
 | |
| 	 * Set the default request for full dynamic dependencies.
 | |
| 	 */
 | |
| 	exprContextRequest?: string;
 | |
| 	/**
 | |
| 	 * Don't parse files matching. It's matched against the full resolved request.
 | |
| 	 */
 | |
| 	noParse?:
 | |
| 		| [RegExp | string | Function, ...(RegExp | string | Function)[]]
 | |
| 		| RegExp
 | |
| 		| string
 | |
| 		| Function;
 | |
| 	/**
 | |
| 	 * An array of rules applied for modules.
 | |
| 	 */
 | |
| 	rules?: RuleSetRules;
 | |
| 	/**
 | |
| 	 * Emit errors instead of warnings when imported names don't exist in imported module.
 | |
| 	 */
 | |
| 	strictExportPresence?: boolean;
 | |
| 	/**
 | |
| 	 * Handle the this context correctly according to the spec for namespace objects.
 | |
| 	 */
 | |
| 	strictThisContextOnImports?: boolean;
 | |
| 	/**
 | |
| 	 * Enable warnings when using the require function in a not statically analyse-able way.
 | |
| 	 */
 | |
| 	unknownContextCritical?: boolean;
 | |
| 	/**
 | |
| 	 * Enable recursive directory lookup when using the require function in a not statically analyse-able way.
 | |
| 	 */
 | |
| 	unknownContextRecursive?: boolean;
 | |
| 	/**
 | |
| 	 * Sets the regular expression when using the require function in a not statically analyse-able way.
 | |
| 	 */
 | |
| 	unknownContextRegExp?: RegExp | boolean;
 | |
| 	/**
 | |
| 	 * Sets the request when using the require function in a not statically analyse-able way.
 | |
| 	 */
 | |
| 	unknownContextRequest?: string;
 | |
| 	/**
 | |
| 	 * Cache the resolving of module requests.
 | |
| 	 */
 | |
| 	unsafeCache?: boolean | Function;
 | |
| 	/**
 | |
| 	 * Enable warnings for partial dynamic dependencies.
 | |
| 	 */
 | |
| 	wrappedContextCritical?: boolean;
 | |
| 	/**
 | |
| 	 * Enable recursive directory lookup for partial dynamic dependencies.
 | |
| 	 */
 | |
| 	wrappedContextRecursive?: boolean;
 | |
| 	/**
 | |
| 	 * Set the inner regular expression for partial dynamic dependencies.
 | |
| 	 */
 | |
| 	wrappedContextRegExp?: RegExp;
 | |
| }
 | |
| /**
 | |
|  * A rule description with conditions and effects for modules.
 | |
|  */
 | |
| export interface RuleSetRule {
 | |
| 	/**
 | |
| 	 * Match the child compiler name.
 | |
| 	 */
 | |
| 	compiler?: RuleSetConditionOrConditions;
 | |
| 	/**
 | |
| 	 * Enforce this rule as pre or post step.
 | |
| 	 */
 | |
| 	enforce?: "pre" | "post";
 | |
| 	/**
 | |
| 	 * Shortcut for resource.exclude.
 | |
| 	 */
 | |
| 	exclude?: RuleSetConditionOrConditionsAbsolute;
 | |
| 	/**
 | |
| 	 * The options for the module generator.
 | |
| 	 */
 | |
| 	generator?: {
 | |
| 		[k: string]: any;
 | |
| 	};
 | |
| 	/**
 | |
| 	 * Shortcut for resource.include.
 | |
| 	 */
 | |
| 	include?: RuleSetConditionOrConditionsAbsolute;
 | |
| 	/**
 | |
| 	 * Match the issuer of the module (The module pointing to this module).
 | |
| 	 */
 | |
| 	issuer?: RuleSetConditionOrConditionsAbsolute;
 | |
| 	/**
 | |
| 	 * Shortcut for use.loader.
 | |
| 	 */
 | |
| 	loader?: RuleSetLoader;
 | |
| 	/**
 | |
| 	 * Only execute the first matching rule in this array.
 | |
| 	 */
 | |
| 	oneOf?: RuleSetRules;
 | |
| 	/**
 | |
| 	 * Shortcut for use.options.
 | |
| 	 */
 | |
| 	options?: RuleSetLoaderOptions;
 | |
| 	/**
 | |
| 	 * Options for parsing.
 | |
| 	 */
 | |
| 	parser?: {
 | |
| 		[k: string]: any;
 | |
| 	};
 | |
| 	/**
 | |
| 	 * Match the real resource path of the module.
 | |
| 	 */
 | |
| 	realResource?: RuleSetConditionOrConditionsAbsolute;
 | |
| 	/**
 | |
| 	 * Options for the resolver.
 | |
| 	 */
 | |
| 	resolve?: ResolveOptions;
 | |
| 	/**
 | |
| 	 * Match the resource path of the module.
 | |
| 	 */
 | |
| 	resource?: RuleSetConditionOrConditionsAbsolute;
 | |
| 	/**
 | |
| 	 * Match the resource query of the module.
 | |
| 	 */
 | |
| 	resourceQuery?: RuleSetConditionOrConditions;
 | |
| 	/**
 | |
| 	 * Match and execute these rules when this rule is matched.
 | |
| 	 */
 | |
| 	rules?: RuleSetRules;
 | |
| 	/**
 | |
| 	 * Flags a module as with or without side effects.
 | |
| 	 */
 | |
| 	sideEffects?: boolean;
 | |
| 	/**
 | |
| 	 * Shortcut for resource.test.
 | |
| 	 */
 | |
| 	test?: RuleSetConditionOrConditionsAbsolute;
 | |
| 	/**
 | |
| 	 * Module type to use for the module.
 | |
| 	 */
 | |
| 	type?: string;
 | |
| 	/**
 | |
| 	 * Modifiers applied to the module when rule is matched.
 | |
| 	 */
 | |
| 	use?: RuleSetUse;
 | |
| }
 | |
| /**
 | |
|  * Options object for resolving requests.
 | |
|  */
 | |
| export interface ResolveOptions {
 | |
| 	/**
 | |
| 	 * Redirect module requests.
 | |
| 	 */
 | |
| 	alias?:
 | |
| 		| {
 | |
| 				/**
 | |
| 				 * New request.
 | |
| 				 */
 | |
| 				alias: string[] | false | string;
 | |
| 				/**
 | |
| 				 * Request to be redirected.
 | |
| 				 */
 | |
| 				name: string;
 | |
| 				/**
 | |
| 				 * Redirect only exact matching request.
 | |
| 				 */
 | |
| 				onlyModule?: boolean;
 | |
| 		  }[]
 | |
| 		| {
 | |
| 				/**
 | |
| 				 * New request.
 | |
| 				 */
 | |
| 				[k: string]: string[] | false | string;
 | |
| 		  };
 | |
| 	/**
 | |
| 	 * Fields in the description file (usually package.json) which are used to redirect requests inside the module.
 | |
| 	 */
 | |
| 	aliasFields?: (string[] | string)[];
 | |
| 	/**
 | |
| 	 * Enable caching of successfully resolved requests (cache entries are revalidated).
 | |
| 	 */
 | |
| 	cache?: boolean;
 | |
| 	/**
 | |
| 	 * Predicate function to decide which requests should be cached.
 | |
| 	 */
 | |
| 	cachePredicate?: Function;
 | |
| 	/**
 | |
| 	 * Include the context information in the cache identifier when caching.
 | |
| 	 */
 | |
| 	cacheWithContext?: boolean;
 | |
| 	/**
 | |
| 	 * Filenames used to find a description file (like a package.json).
 | |
| 	 */
 | |
| 	descriptionFiles?: string[];
 | |
| 	/**
 | |
| 	 * Enforce using one of the extensions from the extensions option.
 | |
| 	 */
 | |
| 	enforceExtension?: boolean;
 | |
| 	/**
 | |
| 	 * Extensions added to the request when trying to find the file.
 | |
| 	 */
 | |
| 	extensions?: string[];
 | |
| 	/**
 | |
| 	 * Filesystem for the resolver.
 | |
| 	 */
 | |
| 	fileSystem?: {
 | |
| 		[k: string]: any;
 | |
| 	};
 | |
| 	/**
 | |
| 	 * Field names from the description file (package.json) which are used to find the default entry point.
 | |
| 	 */
 | |
| 	mainFields?: (string[] | string)[];
 | |
| 	/**
 | |
| 	 * Filenames used to find the default entry point if there is no description file or main field.
 | |
| 	 */
 | |
| 	mainFiles?: string[];
 | |
| 	/**
 | |
| 	 * Folder names or directory paths where to find modules.
 | |
| 	 */
 | |
| 	modules?: string[];
 | |
| 	/**
 | |
| 	 * Plugins for the resolver.
 | |
| 	 */
 | |
| 	plugins?: ResolvePluginInstance[];
 | |
| 	/**
 | |
| 	 * Custom resolver.
 | |
| 	 */
 | |
| 	resolver?: {
 | |
| 		[k: string]: any;
 | |
| 	};
 | |
| 	/**
 | |
| 	 * Enable resolving symlinks to the original location.
 | |
| 	 */
 | |
| 	symlinks?: boolean;
 | |
| 	/**
 | |
| 	 * Enable caching of successfully resolved requests (cache entries are not revalidated).
 | |
| 	 */
 | |
| 	unsafeCache?:
 | |
| 		| boolean
 | |
| 		| {
 | |
| 				[k: string]: any;
 | |
| 		  };
 | |
| 	/**
 | |
| 	 * Use synchronous filesystem calls for the resolver.
 | |
| 	 */
 | |
| 	useSyncFileSystemCalls?: boolean;
 | |
| }
 | |
| /**
 | |
|  * Plugin instance.
 | |
|  */
 | |
| export interface ResolvePluginInstance {
 | |
| 	/**
 | |
| 	 * The run point of the plugin, required method.
 | |
| 	 */
 | |
| 	apply: (resolver: import("enhanced-resolve/lib/Resolver")) => void;
 | |
| 	[k: string]: any;
 | |
| }
 | |
| /**
 | |
|  * Options object for node compatibility features.
 | |
|  */
 | |
| export interface NodeOptions {
 | |
| 	/**
 | |
| 	 * Include a polyfill for the '__dirname' variable.
 | |
| 	 */
 | |
| 	__dirname?: false | true | "mock";
 | |
| 	/**
 | |
| 	 * Include a polyfill for the '__filename' variable.
 | |
| 	 */
 | |
| 	__filename?: false | true | "mock";
 | |
| 	/**
 | |
| 	 * Include a polyfill for the 'global' variable.
 | |
| 	 */
 | |
| 	global?: boolean;
 | |
| }
 | |
| /**
 | |
|  * Enables/Disables integrated optimizations.
 | |
|  */
 | |
| export interface Optimization {
 | |
| 	/**
 | |
| 	 * Check for incompatible wasm types when importing/exporting from/to ESM.
 | |
| 	 */
 | |
| 	checkWasmTypes?: boolean;
 | |
| 	/**
 | |
| 	 * Define the algorithm to choose chunk ids (named: readable ids for better debugging, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, total-size: numeric ids focused on minimal total download size, false: no algorithm used, as custom one can be provided via plugin).
 | |
| 	 */
 | |
| 	chunkIds?:
 | |
| 		| "natural"
 | |
| 		| "named"
 | |
| 		| "deterministic"
 | |
| 		| "size"
 | |
| 		| "total-size"
 | |
| 		| false;
 | |
| 	/**
 | |
| 	 * Concatenate modules when possible to generate less modules, more efficient code and enable more optimizations by the minimizer.
 | |
| 	 */
 | |
| 	concatenateModules?: boolean;
 | |
| 	/**
 | |
| 	 * Also flag chunks as loaded which contain a subset of the modules.
 | |
| 	 */
 | |
| 	flagIncludedChunks?: boolean;
 | |
| 	/**
 | |
| 	 * Creates a module-internal dependency graph for top level symbols, exports and imports, to improve unused exports detection.
 | |
| 	 */
 | |
| 	innerGraph?: boolean;
 | |
| 	/**
 | |
| 	 * Rename exports when possible to generate shorter code (depends on optimization.usedExports and optimization.providedExports).
 | |
| 	 */
 | |
| 	mangleExports?: boolean;
 | |
| 	/**
 | |
| 	 * Reduce size of WASM by changing imports to shorter strings.
 | |
| 	 */
 | |
| 	mangleWasmImports?: boolean;
 | |
| 	/**
 | |
| 	 * Merge chunks which contain the same modules.
 | |
| 	 */
 | |
| 	mergeDuplicateChunks?: boolean;
 | |
| 	/**
 | |
| 	 * Enable minimizing the output. Uses optimization.minimizer.
 | |
| 	 */
 | |
| 	minimize?: boolean;
 | |
| 	/**
 | |
| 	 * Minimizer(s) to use for minimizing the output.
 | |
| 	 */
 | |
| 	minimizer?: (WebpackPluginInstance | WebpackPluginFunction)[];
 | |
| 	/**
 | |
| 	 * Define the algorithm to choose module ids (natural: numeric ids in order of usage, named: readable ids for better debugging, hashed: (deprecated) short hashes as ids for better long term caching, deterministic: numeric hash ids for better long term caching, size: numeric ids focused on minimal initial download size, false: no algorithm used, as custom one can be provided via plugin).
 | |
| 	 */
 | |
| 	moduleIds?: "natural" | "named" | "hashed" | "deterministic" | "size" | false;
 | |
| 	/**
 | |
| 	 * Avoid emitting assets when errors occur.
 | |
| 	 */
 | |
| 	noEmitOnErrors?: boolean;
 | |
| 	/**
 | |
| 	 * Set process.env.NODE_ENV to a specific value.
 | |
| 	 */
 | |
| 	nodeEnv?: false | string;
 | |
| 	/**
 | |
| 	 * Generate records with relative paths to be able to move the context folder.
 | |
| 	 */
 | |
| 	portableRecords?: boolean;
 | |
| 	/**
 | |
| 	 * Figure out which exports are provided by modules to generate more efficient code.
 | |
| 	 */
 | |
| 	providedExports?: boolean;
 | |
| 	/**
 | |
| 	 * Removes modules from chunks when these modules are already included in all parents.
 | |
| 	 */
 | |
| 	removeAvailableModules?: boolean;
 | |
| 	/**
 | |
| 	 * Remove chunks which are empty.
 | |
| 	 */
 | |
| 	removeEmptyChunks?: boolean;
 | |
| 	/**
 | |
| 	 * Create an additional chunk which contains only the webpack runtime and chunk hash maps.
 | |
| 	 */
 | |
| 	runtimeChunk?: OptimizationRuntimeChunk;
 | |
| 	/**
 | |
| 	 * Skip over modules which are flagged to contain no side effects when exports are not used.
 | |
| 	 */
 | |
| 	sideEffects?: boolean;
 | |
| 	/**
 | |
| 	 * Optimize duplication and caching by splitting chunks by shared modules and cache group.
 | |
| 	 */
 | |
| 	splitChunks?: false | OptimizationSplitChunksOptions;
 | |
| 	/**
 | |
| 	 * Figure out which exports are used by modules to mangle export names, omit unused exports and generate more efficient code.
 | |
| 	 */
 | |
| 	usedExports?: boolean;
 | |
| }
 | |
| /**
 | |
|  * Plugin instance.
 | |
|  */
 | |
| export interface WebpackPluginInstance {
 | |
| 	/**
 | |
| 	 * The run point of the plugin, required method.
 | |
| 	 */
 | |
| 	apply: (compiler: import("../lib/Compiler")) => void;
 | |
| 	[k: string]: any;
 | |
| }
 | |
| /**
 | |
|  * Options object for splitting chunks into smaller chunks.
 | |
|  */
 | |
| export interface OptimizationSplitChunksOptions {
 | |
| 	/**
 | |
| 	 * Sets the name delimiter for created chunks.
 | |
| 	 */
 | |
| 	automaticNameDelimiter?: string;
 | |
| 	/**
 | |
| 	 * Assign modules to a cache group (modules from different cache groups are tried to keep in separate chunks, default categories: 'default', 'defaultVendors').
 | |
| 	 */
 | |
| 	cacheGroups?: {
 | |
| 		/**
 | |
| 		 * Configuration for a cache group.
 | |
| 		 */
 | |
| 		[k: string]:
 | |
| 			| false
 | |
| 			| RegExp
 | |
| 			| string
 | |
| 			| Function
 | |
| 			| OptimizationSplitChunksCacheGroup;
 | |
| 	};
 | |
| 	/**
 | |
| 	 * Select chunks for determining shared modules (defaults to "async", "initial" and "all" requires adding these chunks to the HTML).
 | |
| 	 */
 | |
| 	chunks?: ("initial" | "async" | "all") | Function;
 | |
| 	/**
 | |
| 	 * Options for modules not selected by any other cache group.
 | |
| 	 */
 | |
| 	fallbackCacheGroup?: {
 | |
| 		/**
 | |
| 		 * Sets the name delimiter for created chunks.
 | |
| 		 */
 | |
| 		automaticNameDelimiter?: string;
 | |
| 		/**
 | |
| 		 * Maximal size hint for the on-demand chunks.
 | |
| 		 */
 | |
| 		maxAsyncSize?: OptimizationSplitChunksSizes;
 | |
| 		/**
 | |
| 		 * Maximal size hint for the initial chunks.
 | |
| 		 */
 | |
| 		maxInitialSize?: OptimizationSplitChunksSizes;
 | |
| 		/**
 | |
| 		 * Maximal size hint for the created chunks.
 | |
| 		 */
 | |
| 		maxSize?: OptimizationSplitChunksSizes;
 | |
| 		/**
 | |
| 		 * Minimal size for the created chunk.
 | |
| 		 */
 | |
| 		minSize?: OptimizationSplitChunksSizes;
 | |
| 	};
 | |
| 	/**
 | |
| 	 * Sets the template for the filename for created chunks.
 | |
| 	 */
 | |
| 	filename?:
 | |
| 		| string
 | |
| 		| ((
 | |
| 				pathData: import("../lib/Compilation").PathData,
 | |
| 				assetInfo?: import("../lib/Compilation").AssetInfo
 | |
| 		  ) => string);
 | |
| 	/**
 | |
| 	 * Prevents exposing path info when creating names for parts splitted by maxSize.
 | |
| 	 */
 | |
| 	hidePathInfo?: boolean;
 | |
| 	/**
 | |
| 	 * Maximum number of requests which are accepted for on-demand loading.
 | |
| 	 */
 | |
| 	maxAsyncRequests?: number;
 | |
| 	/**
 | |
| 	 * Maximal size hint for the on-demand chunks.
 | |
| 	 */
 | |
| 	maxAsyncSize?: OptimizationSplitChunksSizes;
 | |
| 	/**
 | |
| 	 * Maximum number of initial chunks which are accepted for an entry point.
 | |
| 	 */
 | |
| 	maxInitialRequests?: number;
 | |
| 	/**
 | |
| 	 * Maximal size hint for the initial chunks.
 | |
| 	 */
 | |
| 	maxInitialSize?: OptimizationSplitChunksSizes;
 | |
| 	/**
 | |
| 	 * Maximal size hint for the created chunks.
 | |
| 	 */
 | |
| 	maxSize?: OptimizationSplitChunksSizes;
 | |
| 	/**
 | |
| 	 * Minimum number of times a module has to be duplicated until it's considered for splitting.
 | |
| 	 */
 | |
| 	minChunks?: number;
 | |
| 	/**
 | |
| 	 * Minimal size for the chunks the stay after moving the modules to a new chunk.
 | |
| 	 */
 | |
| 	minRemainingSize?: OptimizationSplitChunksSizes;
 | |
| 	/**
 | |
| 	 * Minimal size for the created chunks.
 | |
| 	 */
 | |
| 	minSize?: OptimizationSplitChunksSizes;
 | |
| 	/**
 | |
| 	 * Give chunks created a name (chunks with equal name are merged).
 | |
| 	 */
 | |
| 	name?: false | string | Function;
 | |
| }
 | |
| /**
 | |
|  * Options object for describing behavior of a cache group selecting modules that should be cached together.
 | |
|  */
 | |
| export interface OptimizationSplitChunksCacheGroup {
 | |
| 	/**
 | |
| 	 * Sets the name delimiter for created chunks.
 | |
| 	 */
 | |
| 	automaticNameDelimiter?: string;
 | |
| 	/**
 | |
| 	 * Select chunks for determining cache group content (defaults to "initial", "initial" and "all" requires adding these chunks to the HTML).
 | |
| 	 */
 | |
| 	chunks?:
 | |
| 		| ("initial" | "async" | "all")
 | |
| 		| OptimizationSplitChunksGetCacheGroups;
 | |
| 	/**
 | |
| 	 * Ignore minimum size, minimum chunks and maximum requests and always create chunks for this cache group.
 | |
| 	 */
 | |
| 	enforce?: boolean;
 | |
| 	/**
 | |
| 	 * Sets the template for the filename for created chunks.
 | |
| 	 */
 | |
| 	filename?:
 | |
| 		| string
 | |
| 		| ((
 | |
| 				pathData: import("../lib/Compilation").PathData,
 | |
| 				assetInfo?: import("../lib/Compilation").AssetInfo
 | |
| 		  ) => string);
 | |
| 	/**
 | |
| 	 * Sets the hint for chunk id.
 | |
| 	 */
 | |
| 	idHint?: string;
 | |
| 	/**
 | |
| 	 * Maximum number of requests which are accepted for on-demand loading.
 | |
| 	 */
 | |
| 	maxAsyncRequests?: number;
 | |
| 	/**
 | |
| 	 * Maximal size hint for the on-demand chunks.
 | |
| 	 */
 | |
| 	maxAsyncSize?: OptimizationSplitChunksSizes;
 | |
| 	/**
 | |
| 	 * Maximum number of initial chunks which are accepted for an entry point.
 | |
| 	 */
 | |
| 	maxInitialRequests?: number;
 | |
| 	/**
 | |
| 	 * Maximal size hint for the initial chunks.
 | |
| 	 */
 | |
| 	maxInitialSize?: OptimizationSplitChunksSizes;
 | |
| 	/**
 | |
| 	 * Maximal size hint for the created chunks.
 | |
| 	 */
 | |
| 	maxSize?: OptimizationSplitChunksSizes;
 | |
| 	/**
 | |
| 	 * Minimum number of times a module has to be duplicated until it's considered for splitting.
 | |
| 	 */
 | |
| 	minChunks?: number;
 | |
| 	/**
 | |
| 	 * Minimal size for the chunks the stay after moving the modules to a new chunk.
 | |
| 	 */
 | |
| 	minRemainingSize?: OptimizationSplitChunksSizes;
 | |
| 	/**
 | |
| 	 * Minimal size for the created chunk.
 | |
| 	 */
 | |
| 	minSize?: OptimizationSplitChunksSizes;
 | |
| 	/**
 | |
| 	 * Give chunks for this cache group a name (chunks with equal name are merged).
 | |
| 	 */
 | |
| 	name?: false | string | Function;
 | |
| 	/**
 | |
| 	 * Priority of this cache group.
 | |
| 	 */
 | |
| 	priority?: number;
 | |
| 	/**
 | |
| 	 * Try to reuse existing chunk (with name) when it has matching modules.
 | |
| 	 */
 | |
| 	reuseExistingChunk?: boolean;
 | |
| 	/**
 | |
| 	 * Assign modules to a cache group by module name.
 | |
| 	 */
 | |
| 	test?: RegExp | string | Function;
 | |
| 	/**
 | |
| 	 * Assign modules to a cache group by module type.
 | |
| 	 */
 | |
| 	type?: RegExp | string | Function;
 | |
| }
 | |
| /**
 | |
|  * Options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.
 | |
|  */
 | |
| export interface Output {
 | |
| 	/**
 | |
| 	 * The filename of asset modules as relative path inside the `output.path` directory.
 | |
| 	 */
 | |
| 	assetModuleFilename?: AssetModuleFilename;
 | |
| 	/**
 | |
| 	 * Add a comment in the UMD wrapper.
 | |
| 	 */
 | |
| 	auxiliaryComment?: AuxiliaryComment;
 | |
| 	/**
 | |
| 	 * The callback function name used by webpack for loading of chunks in WebWorkers.
 | |
| 	 */
 | |
| 	chunkCallbackName?: ChunkCallbackName;
 | |
| 	/**
 | |
| 	 * The filename of non-entry chunks as relative path inside the `output.path` directory.
 | |
| 	 */
 | |
| 	chunkFilename?: ChunkFilename;
 | |
| 	/**
 | |
| 	 * Number of milliseconds before chunk request expires.
 | |
| 	 */
 | |
| 	chunkLoadTimeout?: ChunkLoadTimeout;
 | |
| 	/**
 | |
| 	 * Check if to be emitted file already exists and have the same content before writing to output filesystem.
 | |
| 	 */
 | |
| 	compareBeforeEmit?: CompareBeforeEmit;
 | |
| 	/**
 | |
| 	 * This option enables cross-origin loading of chunks.
 | |
| 	 */
 | |
| 	crossOriginLoading?: CrossOriginLoading;
 | |
| 	/**
 | |
| 	 * Similar to `output.devtoolModuleFilenameTemplate`, but used in the case of duplicate module identifiers.
 | |
| 	 */
 | |
| 	devtoolFallbackModuleFilenameTemplate?: DevtoolFallbackModuleFilenameTemplate;
 | |
| 	/**
 | |
| 	 * Filename template string of function for the sources array in a generated SourceMap.
 | |
| 	 */
 | |
| 	devtoolModuleFilenameTemplate?: DevtoolModuleFilenameTemplate;
 | |
| 	/**
 | |
| 	 * Module namespace to use when interpolating filename template string for the sources array in a generated SourceMap. Defaults to `output.library` if not set. It's useful for avoiding runtime collisions in sourcemaps from multiple webpack projects built as libraries.
 | |
| 	 */
 | |
| 	devtoolNamespace?: DevtoolNamespace;
 | |
| 	/**
 | |
| 	 * The maximum EcmaScript version of the webpack generated code (doesn't include input source code from modules).
 | |
| 	 */
 | |
| 	ecmaVersion?: EcmaVersion;
 | |
| 	/**
 | |
| 	 * List of library types enabled for use by entry points.
 | |
| 	 */
 | |
| 	enabledLibraryTypes?: EnabledLibraryTypes;
 | |
| 	/**
 | |
| 	 * Specifies the name of each output file on disk. You must **not** specify an absolute path here! The `output.path` option determines the location on disk the files are written to, filename is used solely for naming the individual files.
 | |
| 	 */
 | |
| 	filename?: Filename;
 | |
| 	/**
 | |
| 	 * An expression which is used to address the global object/scope in runtime code.
 | |
| 	 */
 | |
| 	globalObject?: GlobalObject;
 | |
| 	/**
 | |
| 	 * Digest type used for the hash.
 | |
| 	 */
 | |
| 	hashDigest?: HashDigest;
 | |
| 	/**
 | |
| 	 * Number of chars which are used for the hash.
 | |
| 	 */
 | |
| 	hashDigestLength?: HashDigestLength;
 | |
| 	/**
 | |
| 	 * Algorithm used for generation the hash (see node.js crypto package).
 | |
| 	 */
 | |
| 	hashFunction?: HashFunction;
 | |
| 	/**
 | |
| 	 * Any string which is added to the hash to salt it.
 | |
| 	 */
 | |
| 	hashSalt?: HashSalt;
 | |
| 	/**
 | |
| 	 * The filename of the Hot Update Chunks. They are inside the output.path directory.
 | |
| 	 */
 | |
| 	hotUpdateChunkFilename?: HotUpdateChunkFilename;
 | |
| 	/**
 | |
| 	 * The JSONP function used by webpack for async loading of hot update chunks.
 | |
| 	 */
 | |
| 	hotUpdateFunction?: HotUpdateFunction;
 | |
| 	/**
 | |
| 	 * The filename of the Hot Update Main File. It is inside the `output.path` directory.
 | |
| 	 */
 | |
| 	hotUpdateMainFilename?: HotUpdateMainFilename;
 | |
| 	/**
 | |
| 	 * Wrap javascript code into IIFE's to avoid leaking into global scope.
 | |
| 	 */
 | |
| 	iife?: Iife;
 | |
| 	/**
 | |
| 	 * The JSONP function used by webpack for async loading of chunks.
 | |
| 	 */
 | |
| 	jsonpFunction?: JsonpFunction;
 | |
| 	/**
 | |
| 	 * This option enables loading async chunks via a custom script type, such as script type="module".
 | |
| 	 */
 | |
| 	jsonpScriptType?: JsonpScriptType;
 | |
| 	/**
 | |
| 	 * Make the output files a library, exporting the exports of the entry point.
 | |
| 	 */
 | |
| 	library?: Library;
 | |
| 	/**
 | |
| 	 * Specify which export should be exposed as library.
 | |
| 	 */
 | |
| 	libraryExport?: LibraryExport;
 | |
| 	/**
 | |
| 	 * Type of library.
 | |
| 	 */
 | |
| 	libraryTarget?: LibraryType;
 | |
| 	/**
 | |
| 	 * Output javascript files as module source type.
 | |
| 	 */
 | |
| 	module?: OutputModule;
 | |
| 	/**
 | |
| 	 * The output directory as **absolute path** (required).
 | |
| 	 */
 | |
| 	path?: Path;
 | |
| 	/**
 | |
| 	 * Include comments with information about the modules.
 | |
| 	 */
 | |
| 	pathinfo?: Pathinfo;
 | |
| 	/**
 | |
| 	 * The `publicPath` specifies the public URL address of the output files when referenced in a browser.
 | |
| 	 */
 | |
| 	publicPath?: PublicPath;
 | |
| 	/**
 | |
| 	 * The filename of the SourceMaps for the JavaScript files. They are inside the `output.path` directory.
 | |
| 	 */
 | |
| 	sourceMapFilename?: SourceMapFilename;
 | |
| 	/**
 | |
| 	 * Prefixes every line of the source in the bundle with this string.
 | |
| 	 */
 | |
| 	sourcePrefix?: SourcePrefix;
 | |
| 	/**
 | |
| 	 * Handles exceptions in module loading correctly at a performance cost.
 | |
| 	 */
 | |
| 	strictModuleExceptionHandling?: StrictModuleExceptionHandling;
 | |
| 	/**
 | |
| 	 * If `output.libraryTarget` is set to umd and `output.library` is set, setting this to true will name the AMD module.
 | |
| 	 */
 | |
| 	umdNamedDefine?: UmdNamedDefine;
 | |
| 	/**
 | |
| 	 * A unique name of the webpack build to avoid multiple webpack runtimes to conflict when using globals.
 | |
| 	 */
 | |
| 	uniqueName?: UniqueName;
 | |
| 	/**
 | |
| 	 * The filename of WebAssembly modules as relative path inside the `output.path` directory.
 | |
| 	 */
 | |
| 	webassemblyModuleFilename?: WebassemblyModuleFilename;
 | |
| }
 | |
| /**
 | |
|  * Configuration object for web performance recommendations.
 | |
|  */
 | |
| export interface PerformanceOptions {
 | |
| 	/**
 | |
| 	 * Filter function to select assets that are checked.
 | |
| 	 */
 | |
| 	assetFilter?: Function;
 | |
| 	/**
 | |
| 	 * Sets the format of the hints: warnings, errors or nothing at all.
 | |
| 	 */
 | |
| 	hints?: false | "warning" | "error";
 | |
| 	/**
 | |
| 	 * File size limit (in bytes) when exceeded, that webpack will provide performance hints.
 | |
| 	 */
 | |
| 	maxAssetSize?: number;
 | |
| 	/**
 | |
| 	 * Total size of an entry point (in bytes).
 | |
| 	 */
 | |
| 	maxEntrypointSize?: number;
 | |
| }
 | |
| /**
 | |
|  * Stats options object.
 | |
|  */
 | |
| export interface StatsOptions {
 | |
| 	/**
 | |
| 	 * Fallback value for stats options when an option is not defined (has precedence over local webpack defaults).
 | |
| 	 */
 | |
| 	all?: boolean;
 | |
| 	/**
 | |
| 	 * Add assets information.
 | |
| 	 */
 | |
| 	assets?: boolean;
 | |
| 	/**
 | |
| 	 * Sort the assets by that field.
 | |
| 	 */
 | |
| 	assetsSort?: string;
 | |
| 	/**
 | |
| 	 * Add built at time information.
 | |
| 	 */
 | |
| 	builtAt?: boolean;
 | |
| 	/**
 | |
| 	 * Add information about cached (not built) modules.
 | |
| 	 */
 | |
| 	cached?: boolean;
 | |
| 	/**
 | |
| 	 * Show cached assets (setting this to `false` only shows emitted files).
 | |
| 	 */
 | |
| 	cachedAssets?: boolean;
 | |
| 	/**
 | |
| 	 * Add children information.
 | |
| 	 */
 | |
| 	children?: boolean;
 | |
| 	/**
 | |
| 	 * Display all chunk groups with the corresponding bundles.
 | |
| 	 */
 | |
| 	chunkGroups?: boolean;
 | |
| 	/**
 | |
| 	 * Add built modules information to chunk information.
 | |
| 	 */
 | |
| 	chunkModules?: boolean;
 | |
| 	/**
 | |
| 	 * Add the origins of chunks and chunk merging info.
 | |
| 	 */
 | |
| 	chunkOrigins?: boolean;
 | |
| 	/**
 | |
| 	 * Add information about parent, children and sibling chunks to chunk information.
 | |
| 	 */
 | |
| 	chunkRelations?: boolean;
 | |
| 	/**
 | |
| 	 * Add root modules information to chunk information.
 | |
| 	 */
 | |
| 	chunkRootModules?: boolean;
 | |
| 	/**
 | |
| 	 * Add chunk information.
 | |
| 	 */
 | |
| 	chunks?: boolean;
 | |
| 	/**
 | |
| 	 * Sort the chunks by that field.
 | |
| 	 */
 | |
| 	chunksSort?: string;
 | |
| 	/**
 | |
| 	 * Enables/Disables colorful output.
 | |
| 	 */
 | |
| 	colors?:
 | |
| 		| boolean
 | |
| 		| {
 | |
| 				/**
 | |
| 				 * Custom color for bold text.
 | |
| 				 */
 | |
| 				bold?: string;
 | |
| 				/**
 | |
| 				 * Custom color for cyan text.
 | |
| 				 */
 | |
| 				cyan?: string;
 | |
| 				/**
 | |
| 				 * Custom color for green text.
 | |
| 				 */
 | |
| 				green?: string;
 | |
| 				/**
 | |
| 				 * Custom color for magenta text.
 | |
| 				 */
 | |
| 				magenta?: string;
 | |
| 				/**
 | |
| 				 * Custom color for red text.
 | |
| 				 */
 | |
| 				red?: string;
 | |
| 				/**
 | |
| 				 * Custom color for yellow text.
 | |
| 				 */
 | |
| 				yellow?: string;
 | |
| 		  };
 | |
| 	/**
 | |
| 	 * Context directory for request shortening.
 | |
| 	 */
 | |
| 	context?: string;
 | |
| 	/**
 | |
| 	 * Add module depth in module graph.
 | |
| 	 */
 | |
| 	depth?: boolean;
 | |
| 	/**
 | |
| 	 * Display the entry points with the corresponding bundles.
 | |
| 	 */
 | |
| 	entrypoints?: boolean;
 | |
| 	/**
 | |
| 	 * Add --env information.
 | |
| 	 */
 | |
| 	env?: boolean;
 | |
| 	/**
 | |
| 	 * Add details to errors (like resolving log).
 | |
| 	 */
 | |
| 	errorDetails?: boolean;
 | |
| 	/**
 | |
| 	 * Add internal stack trace to errors.
 | |
| 	 */
 | |
| 	errorStack?: boolean;
 | |
| 	/**
 | |
| 	 * Add errors.
 | |
| 	 */
 | |
| 	errors?: boolean;
 | |
| 	/**
 | |
| 	 * Please use excludeModules instead.
 | |
| 	 */
 | |
| 	exclude?: boolean | FilterTypes;
 | |
| 	/**
 | |
| 	 * Suppress assets that match the specified filters. Filters can be Strings, RegExps or Functions.
 | |
| 	 */
 | |
| 	excludeAssets?: FilterTypes;
 | |
| 	/**
 | |
| 	 * Suppress modules that match the specified filters. Filters can be Strings, RegExps, Booleans or Functions.
 | |
| 	 */
 | |
| 	excludeModules?: boolean | FilterTypes;
 | |
| 	/**
 | |
| 	 * Add the hash of the compilation.
 | |
| 	 */
 | |
| 	hash?: boolean;
 | |
| 	/**
 | |
| 	 * Add ids.
 | |
| 	 */
 | |
| 	ids?: boolean;
 | |
| 	/**
 | |
| 	 * Add logging output.
 | |
| 	 */
 | |
| 	logging?: ("none" | "error" | "warn" | "info" | "log" | "verbose") | boolean;
 | |
| 	/**
 | |
| 	 * Include debug logging of specified loggers (i. e. for plugins or loaders). Filters can be Strings, RegExps or Functions.
 | |
| 	 */
 | |
| 	loggingDebug?: boolean | FilterTypes;
 | |
| 	/**
 | |
| 	 * Add stack traces to logging output.
 | |
| 	 */
 | |
| 	loggingTrace?: boolean;
 | |
| 	/**
 | |
| 	 * Set the maximum number of modules to be shown.
 | |
| 	 */
 | |
| 	maxModules?: number;
 | |
| 	/**
 | |
| 	 * Add information about assets inside modules.
 | |
| 	 */
 | |
| 	moduleAssets?: boolean;
 | |
| 	/**
 | |
| 	 * Add dependencies and origin of warnings/errors.
 | |
| 	 */
 | |
| 	moduleTrace?: boolean;
 | |
| 	/**
 | |
| 	 * Add built modules information.
 | |
| 	 */
 | |
| 	modules?: boolean;
 | |
| 	/**
 | |
| 	 * Sort the modules by that field.
 | |
| 	 */
 | |
| 	modulesSort?: string;
 | |
| 	/**
 | |
| 	 * Add information about modules nested in other modules (like with module concatenation).
 | |
| 	 */
 | |
| 	nestedModules?: boolean;
 | |
| 	/**
 | |
| 	 * Show reasons why optimization bailed out for modules.
 | |
| 	 */
 | |
| 	optimizationBailout?: boolean;
 | |
| 	/**
 | |
| 	 * Add information about orphan modules.
 | |
| 	 */
 | |
| 	orphanModules?: boolean;
 | |
| 	/**
 | |
| 	 * Add output path information.
 | |
| 	 */
 | |
| 	outputPath?: boolean;
 | |
| 	/**
 | |
| 	 * Add performance hint flags.
 | |
| 	 */
 | |
| 	performance?: boolean;
 | |
| 	/**
 | |
| 	 * Preset for the default values.
 | |
| 	 */
 | |
| 	preset?: boolean | string;
 | |
| 	/**
 | |
| 	 * Show exports provided by modules.
 | |
| 	 */
 | |
| 	providedExports?: boolean;
 | |
| 	/**
 | |
| 	 * Add public path information.
 | |
| 	 */
 | |
| 	publicPath?: boolean;
 | |
| 	/**
 | |
| 	 * Add information about the reasons why modules are included.
 | |
| 	 */
 | |
| 	reasons?: boolean;
 | |
| 	/**
 | |
| 	 * Add information about runtime modules.
 | |
| 	 */
 | |
| 	runtime?: boolean;
 | |
| 	/**
 | |
| 	 * Add the source code of modules.
 | |
| 	 */
 | |
| 	source?: boolean;
 | |
| 	/**
 | |
| 	 * Add timing information.
 | |
| 	 */
 | |
| 	timings?: boolean;
 | |
| 	/**
 | |
| 	 * Show exports used by modules.
 | |
| 	 */
 | |
| 	usedExports?: boolean;
 | |
| 	/**
 | |
| 	 * Add webpack version information.
 | |
| 	 */
 | |
| 	version?: boolean;
 | |
| 	/**
 | |
| 	 * Add warnings.
 | |
| 	 */
 | |
| 	warnings?: boolean;
 | |
| 	/**
 | |
| 	 * Suppress warnings that match the specified filters. Filters can be Strings, RegExps or Functions.
 | |
| 	 */
 | |
| 	warningsFilter?: FilterTypes;
 | |
| }
 | |
| /**
 | |
|  * Options for the watcher.
 | |
|  */
 | |
| export interface WatchOptions {
 | |
| 	/**
 | |
| 	 * Delay the rebuilt after the first change. Value is a time in ms.
 | |
| 	 */
 | |
| 	aggregateTimeout?: number;
 | |
| 	/**
 | |
| 	 * Ignore some files from watching (glob pattern).
 | |
| 	 */
 | |
| 	ignored?: string[] | string;
 | |
| 	/**
 | |
| 	 * Enable polling mode for watching.
 | |
| 	 */
 | |
| 	poll?: number | boolean;
 | |
| 	/**
 | |
| 	 * Stop watching when stdin stream has ended.
 | |
| 	 */
 | |
| 	stdin?: boolean;
 | |
| }
 | |
| /**
 | |
|  * An object with entry point description.
 | |
|  */
 | |
| export interface EntryDescriptionNormalized {
 | |
| 	/**
 | |
| 	 * The entrypoints that the current entrypoint depend on. They must be loaded when this entrypoint is loaded.
 | |
| 	 */
 | |
| 	dependOn?: [string, ...string[]];
 | |
| 	/**
 | |
| 	 * Specifies the name of each output file on disk. You must **not** specify an absolute path here! The `output.path` option determines the location on disk the files are written to, filename is used solely for naming the individual files.
 | |
| 	 */
 | |
| 	filename?: Filename;
 | |
| 	/**
 | |
| 	 * Module(s) that are loaded upon startup. The last one is exported.
 | |
| 	 */
 | |
| 	import: [string, ...string[]];
 | |
| 	/**
 | |
| 	 * Options for library.
 | |
| 	 */
 | |
| 	library?: LibraryOptions;
 | |
| }
 | |
| /**
 | |
|  * Multiple entry bundles are created. The key is the entry name. The value is an entry description object.
 | |
|  */
 | |
| export interface EntryStaticNormalized {
 | |
| 	/**
 | |
| 	 * An object with entry point description.
 | |
| 	 */
 | |
| 	[k: string]: EntryDescriptionNormalized;
 | |
| }
 | |
| /**
 | |
|  * Normalized options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.
 | |
|  */
 | |
| export interface OutputNormalized {
 | |
| 	/**
 | |
| 	 * The filename of asset modules as relative path inside the `output.path` directory.
 | |
| 	 */
 | |
| 	assetModuleFilename?: AssetModuleFilename;
 | |
| 	/**
 | |
| 	 * The callback function name used by webpack for loading of chunks in WebWorkers.
 | |
| 	 */
 | |
| 	chunkCallbackName?: ChunkCallbackName;
 | |
| 	/**
 | |
| 	 * The filename of non-entry chunks as relative path inside the `output.path` directory.
 | |
| 	 */
 | |
| 	chunkFilename?: ChunkFilename;
 | |
| 	/**
 | |
| 	 * Number of milliseconds before chunk request expires.
 | |
| 	 */
 | |
| 	chunkLoadTimeout?: ChunkLoadTimeout;
 | |
| 	/**
 | |
| 	 * Check if to be emitted file already exists and have the same content before writing to output filesystem.
 | |
| 	 */
 | |
| 	compareBeforeEmit?: CompareBeforeEmit;
 | |
| 	/**
 | |
| 	 * This option enables cross-origin loading of chunks.
 | |
| 	 */
 | |
| 	crossOriginLoading?: CrossOriginLoading;
 | |
| 	/**
 | |
| 	 * Similar to `output.devtoolModuleFilenameTemplate`, but used in the case of duplicate module identifiers.
 | |
| 	 */
 | |
| 	devtoolFallbackModuleFilenameTemplate?: DevtoolFallbackModuleFilenameTemplate;
 | |
| 	/**
 | |
| 	 * Filename template string of function for the sources array in a generated SourceMap.
 | |
| 	 */
 | |
| 	devtoolModuleFilenameTemplate?: DevtoolModuleFilenameTemplate;
 | |
| 	/**
 | |
| 	 * Module namespace to use when interpolating filename template string for the sources array in a generated SourceMap. Defaults to `output.library` if not set. It's useful for avoiding runtime collisions in sourcemaps from multiple webpack projects built as libraries.
 | |
| 	 */
 | |
| 	devtoolNamespace?: DevtoolNamespace;
 | |
| 	/**
 | |
| 	 * The maximum EcmaScript version of the webpack generated code (doesn't include input source code from modules).
 | |
| 	 */
 | |
| 	ecmaVersion?: EcmaVersion;
 | |
| 	/**
 | |
| 	 * List of library types enabled for use by entry points.
 | |
| 	 */
 | |
| 	enabledLibraryTypes?: EnabledLibraryTypes;
 | |
| 	/**
 | |
| 	 * Specifies the name of each output file on disk. You must **not** specify an absolute path here! The `output.path` option determines the location on disk the files are written to, filename is used solely for naming the individual files.
 | |
| 	 */
 | |
| 	filename?: Filename;
 | |
| 	/**
 | |
| 	 * An expression which is used to address the global object/scope in runtime code.
 | |
| 	 */
 | |
| 	globalObject?: GlobalObject;
 | |
| 	/**
 | |
| 	 * Digest type used for the hash.
 | |
| 	 */
 | |
| 	hashDigest?: HashDigest;
 | |
| 	/**
 | |
| 	 * Number of chars which are used for the hash.
 | |
| 	 */
 | |
| 	hashDigestLength?: HashDigestLength;
 | |
| 	/**
 | |
| 	 * Algorithm used for generation the hash (see node.js crypto package).
 | |
| 	 */
 | |
| 	hashFunction?: HashFunction;
 | |
| 	/**
 | |
| 	 * Any string which is added to the hash to salt it.
 | |
| 	 */
 | |
| 	hashSalt?: HashSalt;
 | |
| 	/**
 | |
| 	 * The filename of the Hot Update Chunks. They are inside the output.path directory.
 | |
| 	 */
 | |
| 	hotUpdateChunkFilename?: HotUpdateChunkFilename;
 | |
| 	/**
 | |
| 	 * The JSONP function used by webpack for async loading of hot update chunks.
 | |
| 	 */
 | |
| 	hotUpdateFunction?: HotUpdateFunction;
 | |
| 	/**
 | |
| 	 * The filename of the Hot Update Main File. It is inside the `output.path` directory.
 | |
| 	 */
 | |
| 	hotUpdateMainFilename?: HotUpdateMainFilename;
 | |
| 	/**
 | |
| 	 * Wrap javascript code into IIFE's to avoid leaking into global scope.
 | |
| 	 */
 | |
| 	iife?: Iife;
 | |
| 	/**
 | |
| 	 * The JSONP function used by webpack for async loading of chunks.
 | |
| 	 */
 | |
| 	jsonpFunction?: JsonpFunction;
 | |
| 	/**
 | |
| 	 * This option enables loading async chunks via a custom script type, such as script type="module".
 | |
| 	 */
 | |
| 	jsonpScriptType?: JsonpScriptType;
 | |
| 	/**
 | |
| 	 * Options for library.
 | |
| 	 */
 | |
| 	library?: LibraryOptions;
 | |
| 	/**
 | |
| 	 * Output javascript files as module source type.
 | |
| 	 */
 | |
| 	module?: OutputModule;
 | |
| 	/**
 | |
| 	 * The output directory as **absolute path** (required).
 | |
| 	 */
 | |
| 	path?: Path;
 | |
| 	/**
 | |
| 	 * Include comments with information about the modules.
 | |
| 	 */
 | |
| 	pathinfo?: Pathinfo;
 | |
| 	/**
 | |
| 	 * The `publicPath` specifies the public URL address of the output files when referenced in a browser.
 | |
| 	 */
 | |
| 	publicPath?: PublicPath;
 | |
| 	/**
 | |
| 	 * The filename of the SourceMaps for the JavaScript files. They are inside the `output.path` directory.
 | |
| 	 */
 | |
| 	sourceMapFilename?: SourceMapFilename;
 | |
| 	/**
 | |
| 	 * Prefixes every line of the source in the bundle with this string.
 | |
| 	 */
 | |
| 	sourcePrefix?: SourcePrefix;
 | |
| 	/**
 | |
| 	 * Handles exceptions in module loading correctly at a performance cost.
 | |
| 	 */
 | |
| 	strictModuleExceptionHandling?: StrictModuleExceptionHandling;
 | |
| 	/**
 | |
| 	 * A unique name of the webpack build to avoid multiple webpack runtimes to conflict when using globals.
 | |
| 	 */
 | |
| 	uniqueName?: UniqueName;
 | |
| 	/**
 | |
| 	 * The filename of WebAssembly modules as relative path inside the `output.path` directory.
 | |
| 	 */
 | |
| 	webassemblyModuleFilename?: WebassemblyModuleFilename;
 | |
| }
 | |
| /**
 | |
|  * Normalized webpack options object.
 | |
|  */
 | |
| export interface WebpackOptionsNormalized {
 | |
| 	/**
 | |
| 	 * Set the value of `require.amd` and `define.amd`. Or disable AMD support.
 | |
| 	 */
 | |
| 	amd?: Amd;
 | |
| 	/**
 | |
| 	 * Report the first error as a hard error instead of tolerating it.
 | |
| 	 */
 | |
| 	bail?: Bail;
 | |
| 	/**
 | |
| 	 * Cache generated modules and chunks to improve performance for multiple incremental builds.
 | |
| 	 */
 | |
| 	cache: CacheNormalized;
 | |
| 	/**
 | |
| 	 * The base directory (absolute path!) for resolving the `entry` option. If `output.pathinfo` is set, the included pathinfo is shortened to this directory.
 | |
| 	 */
 | |
| 	context?: Context;
 | |
| 	/**
 | |
| 	 * References to other configurations to depend on.
 | |
| 	 */
 | |
| 	dependencies?: Dependencies;
 | |
| 	/**
 | |
| 	 * Options for the webpack-dev-server.
 | |
| 	 */
 | |
| 	devServer?: DevServer;
 | |
| 	/**
 | |
| 	 * A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map).
 | |
| 	 */
 | |
| 	devtool?: DevTool;
 | |
| 	/**
 | |
| 	 * The entry point(s) of the compilation.
 | |
| 	 */
 | |
| 	entry: EntryNormalized;
 | |
| 	/**
 | |
| 	 * Enables/Disables experiments (experimental features with relax SemVer compatibility).
 | |
| 	 */
 | |
| 	experiments: Experiments;
 | |
| 	/**
 | |
| 	 * Specify dependencies that shouldn't be resolved by webpack, but should become dependencies of the resulting bundle. The kind of the dependency depends on `output.libraryTarget`.
 | |
| 	 */
 | |
| 	externals: Externals;
 | |
| 	/**
 | |
| 	 * Specifies the default type of externals ('amd*', 'umd*', 'system' and 'jsonp' depend on output.libraryTarget set to the same value).
 | |
| 	 */
 | |
| 	externalsType?: ExternalsType;
 | |
| 	/**
 | |
| 	 * Options for infrastructure level logging.
 | |
| 	 */
 | |
| 	infrastructureLogging: InfrastructureLogging;
 | |
| 	/**
 | |
| 	 * Custom values available in the loader context.
 | |
| 	 */
 | |
| 	loader?: Loader;
 | |
| 	/**
 | |
| 	 * Enable production optimizations or development hints.
 | |
| 	 */
 | |
| 	mode?: Mode;
 | |
| 	/**
 | |
| 	 * Options affecting the normal modules (`NormalModuleFactory`).
 | |
| 	 */
 | |
| 	module: Module;
 | |
| 	/**
 | |
| 	 * Name of the configuration. Used when loading multiple configurations.
 | |
| 	 */
 | |
| 	name?: Name;
 | |
| 	/**
 | |
| 	 * Include polyfills or mocks for various node stuff.
 | |
| 	 */
 | |
| 	node: Node;
 | |
| 	/**
 | |
| 	 * Enables/Disables integrated optimizations.
 | |
| 	 */
 | |
| 	optimization: Optimization;
 | |
| 	/**
 | |
| 	 * Normalized options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.
 | |
| 	 */
 | |
| 	output: OutputNormalized;
 | |
| 	/**
 | |
| 	 * The number of parallel processed modules in the compilation.
 | |
| 	 */
 | |
| 	parallelism?: Parallelism;
 | |
| 	/**
 | |
| 	 * Configuration for web performance recommendations.
 | |
| 	 */
 | |
| 	performance?: Performance;
 | |
| 	/**
 | |
| 	 * Add additional plugins to the compiler.
 | |
| 	 */
 | |
| 	plugins: Plugins;
 | |
| 	/**
 | |
| 	 * Capture timing information for each module.
 | |
| 	 */
 | |
| 	profile?: Profile;
 | |
| 	/**
 | |
| 	 * Store compiler state to a json file.
 | |
| 	 */
 | |
| 	recordsInputPath?: RecordsInputPath;
 | |
| 	/**
 | |
| 	 * Load compiler state from a json file.
 | |
| 	 */
 | |
| 	recordsOutputPath?: RecordsOutputPath;
 | |
| 	/**
 | |
| 	 * Options for the resolver.
 | |
| 	 */
 | |
| 	resolve: Resolve;
 | |
| 	/**
 | |
| 	 * Options for the resolver when resolving loaders.
 | |
| 	 */
 | |
| 	resolveLoader: ResolveLoader;
 | |
| 	/**
 | |
| 	 * Stats options object or preset name.
 | |
| 	 */
 | |
| 	stats: Stats;
 | |
| 	/**
 | |
| 	 * Environment to build for.
 | |
| 	 */
 | |
| 	target?: Target;
 | |
| 	/**
 | |
| 	 * Enter watch mode, which rebuilds on file change.
 | |
| 	 */
 | |
| 	watch?: Watch;
 | |
| 	/**
 | |
| 	 * Options for the watcher.
 | |
| 	 */
 | |
| 	watchOptions: WatchOptions;
 | |
| }
 |