UNPKG

webpack-v5-chain

Version:
483 lines 24.6 kB
import { Configuration, ResolveOptions, RuleSetRule, WebpackPluginInstance } from "webpack"; import { Configuration as Configuration$1 } from "webpack-dev-server"; //#region src/utils/ChainedMap.d.ts declare class Chained<Parent = unknown> { parent: Parent; constructor(parent?: Parent); batch(handler: (chained: this) => void): this; end(): Parent; } declare class TypedChainedMap<Parent = unknown, OptionsType = unknown> extends Chained<Parent> { store: Map<string, unknown>; shorthands: string[]; constructor(parent?: Parent); extend(methods: string[]): this; clear(): this; delete(key: string): this; order(): { entries: Record<string, unknown>; order: string[]; }; entries(): OptionsType; values<OptionKey extends keyof OptionsType>(): OptionsType[OptionKey][]; get<OptionKey extends keyof OptionsType>(key: OptionKey): OptionsType[OptionKey]; getOrCompute<OptionKey extends keyof OptionsType>(key: OptionKey, fn: () => OptionsType[OptionKey]): OptionsType[OptionKey]; has(key: string): boolean; set<OptionKey extends keyof OptionsType>(key: OptionKey, value: OptionsType[OptionKey]): this; merge(obj: Partial<OptionsType>, omit?: string[]): this; omitEmpty(obj: Record<string, unknown>): Record<string, unknown>; when(condition: boolean, whenTruthy?: (obj: this) => void, whenFalsy?: (obj: this) => void): this; } declare class ChainedMap<Parent = unknown> extends TypedChainedMap<Parent, any> {} //#endregion //#region src/utils/ChainedSet.d.ts declare class TypedChainedSet<Parent = unknown, Value = unknown> extends Chained<Parent> { store: Set<Value>; constructor(parent?: Parent); add(value: Value): this; prepend(value: Value): this; clear(): this; delete(key: Value): this; values(): Value[]; has(key: Value): boolean; merge(arr: Value[]): this; when(condition: boolean, whenTruthy?: (obj: this) => void, whenFalsy?: (obj: this) => void): this; } declare class ChainedSet<Parent = unknown> extends TypedChainedSet<Parent, any> {} //#endregion //#region src/utils/Callable.d.ts declare class Callable extends Function { constructor(); classCall(..._args: unknown[]): unknown; } //#endregion //#region src/utils/ChainedValueMap.d.ts declare class ChainedValueMap<Parent> extends Callable { parent: Parent; store: Map<string, unknown>; shorthands: string[]; value: unknown; useMap: boolean; constructor(parent?: Parent); end(): Parent; batch(handler: (chained: this) => void): this; extend(methods: string[]): this; order(): { entries: Record<string, unknown>; order: string[]; }; clear(): this; delete(key: string): this; has(key: string): boolean; set(key: string, value: unknown): this; get(key: string): unknown; getOrCompute(key: string, fn: () => unknown): unknown; classCall(value: unknown): Parent; entries(): unknown; values(): unknown; merge(obj: Record<string, unknown>, omit?: string[]): this; omitEmpty(obj: Record<string, unknown>): Record<string, unknown>; when(condition: boolean, whenTruthy?: (obj: this) => void, whenFalsy?: (obj: this) => void): this; } interface ChainedValueMap<Parent> { (value: unknown): Parent; } //#endregion //#region src/utils/Orderable.d.ts interface Orderable { before: (name: string) => this; after: (name: string) => this; } declare const createOrderable: <TBase extends new (...args: any[]) => any>(superClass: TBase) => { new (...args: any[]): { [x: string]: any; __before?: string; __after?: string; before(name: string): /*elided*/ any; after(name: string): /*elided*/ any; merge(obj: Record<string, unknown>, omit?: string[]): /*elided*/ any; }; } & TBase; //#endregion //#region src/DevServerClient.d.ts type DevServerOptions$1 = Configuration$1; type ClientConfig = Exclude<NonNullable<DevServerOptions$1["client"]>, boolean>; declare class DevServerClient extends ChainedMap<DevServer> { constructor(parent?: DevServer); logging: (value: ClientConfig["logging"]) => this; overlay: (value: ClientConfig["overlay"]) => this; progress: (value: ClientConfig["progress"]) => this; reconnect: (value: ClientConfig["reconnect"]) => this; webSocketURL: (value: ClientConfig["webSocketURL"]) => this; toConfig(): Record<string, unknown>; } //#endregion //#region src/DevServer.d.ts type DevServerOptions = Configuration$1; declare class DevServer extends ChainedMap<Config> { #private; allowedHosts: TypedChainedSet<this, string>; client: DevServerClient; constructor(parent?: Config); app: (value: DevServerOptions["app"]) => this; bonjour: (value: DevServerOptions["bonjour"]) => this; compress: (value: DevServerOptions["compress"]) => this; devMiddleware: (value: DevServerOptions["devMiddleware"]) => this; headers: (value: DevServerOptions["headers"]) => this; historyApiFallback: (value: DevServerOptions["historyApiFallback"]) => this; host: (value: DevServerOptions["host"]) => this; hot: (value: DevServerOptions["hot"]) => this; ipc: (value: DevServerOptions["ipc"]) => this; liveReload: (value: DevServerOptions["liveReload"]) => this; onListening: (value: DevServerOptions["onListening"]) => this; open: (value: DevServerOptions["open"]) => this; port: (value: DevServerOptions["port"]) => this; proxy: (value: DevServerOptions["proxy"]) => this; server: (value: DevServerOptions["server"]) => this; setupExitSignals: (value: DevServerOptions["setupExitSignals"]) => this; setupMiddlewares: (value: DevServerOptions["setupMiddlewares"]) => this; static: (value: DevServerOptions["static"]) => this; watchFiles: (value: DevServerOptions["watchFiles"]) => this; webSocketServer: (value: DevServerOptions["webSocketServer"]) => this; disableClient(): this; toConfig(): Record<string, unknown>; merge(obj: Record<string, unknown>, omit?: string[]): this; } //#endregion //#region src/Plugin.d.ts type ResolvePlugin$2 = Exclude<NonNullable<ResolveOptions["plugins"]>[number], "...">; declare class Plugin<Parent = unknown, PluginType extends WebpackPluginInstance | ResolvePlugin$2 = any> extends ChainedMap<Parent> { name: string; type: string; __before?: string; __after?: string; constructor(parent?: Parent, name?: string, type?: string); init: (value: (plugin: PluginType | (new (...opts: unknown[]) => PluginType), args: unknown[]) => PluginType) => this; use(plugin: string | PluginType | (new (...opts: unknown[]) => PluginType), args?: unknown[]): this; tap(func: (args: unknown[]) => unknown[]): this; set(key: any, value: unknown): this; before(name: string): this; after(name: string): this; merge(obj: Record<string, unknown>, omit?: string[]): this; toConfig(): PluginType; } //#endregion //#region src/Resolve.d.ts type WebpackResolve = Required<NonNullable<ResolveOptions>>; type ResolvePlugin$1 = Exclude<NonNullable<ResolveOptions["plugins"]>[number], "...">; declare class Resolve<ConfigType = Config> extends ChainedMap<ConfigType> { alias: TypedChainedMap<this, Record<string, string | false | string[]>>; aliasFields: TypedChainedSet<this, WebpackResolve["aliasFields"][number]>; byDependency: TypedChainedMap<this, WebpackResolve["byDependency"]>; conditionNames: TypedChainedSet<this, WebpackResolve["conditionNames"][number]>; descriptionFiles: TypedChainedSet<this, WebpackResolve["descriptionFiles"][number]>; exportsFields: TypedChainedSet<this, WebpackResolve["exportsFields"][number]>; extensionAlias: TypedChainedMap<this, WebpackResolve["extensionAlias"]>; extensions: TypedChainedSet<this, WebpackResolve["extensions"][number]>; fallback: TypedChainedMap<this, Record<string, string | false | string[]>>; importsFields: TypedChainedSet<this, WebpackResolve["importsFields"][number]>; mainFields: TypedChainedSet<this, WebpackResolve["mainFields"][number]>; mainFiles: TypedChainedSet<this, WebpackResolve["mainFiles"][number]>; modules: TypedChainedSet<this, WebpackResolve["modules"][number]>; plugins: TypedChainedMap<this, Record<string, Plugin<this, ResolvePlugin$1>>>; restrictions: TypedChainedSet<this, WebpackResolve["restrictions"][number]>; roots: TypedChainedSet<this, WebpackResolve["roots"][number]>; constructor(parent?: ConfigType); cache: (value: WebpackResolve["cache"]) => this; cachePredicate: (value: WebpackResolve["cachePredicate"]) => this; cacheWithContext: (value: WebpackResolve["cacheWithContext"]) => this; enforceExtension: (value: WebpackResolve["enforceExtension"]) => this; fullySpecified: (value: WebpackResolve["fullySpecified"]) => this; preferAbsolute: (value: WebpackResolve["preferAbsolute"]) => this; preferRelative: (value: WebpackResolve["preferRelative"]) => this; symlinks: (value: WebpackResolve["symlinks"]) => this; tsconfig: (value: WebpackResolve["tsconfig"]) => this; unsafeCache: (value: WebpackResolve["unsafeCache"]) => this; useSyncFileSystemCalls: (value: WebpackResolve["useSyncFileSystemCalls"]) => this; plugin(name: string): Plugin<this, ResolvePlugin$1>; toConfig(): Record<string, unknown>; merge(obj: Record<string, unknown>, omit?: string[]): this; } declare class RuleResolve<ConfigType = Config> extends Resolve<ConfigType> { fullySpecified: (value: boolean) => this; } //#endregion //#region src/Use.d.ts type LoaderOptions = Record<string, any>; declare class Use<Parent = Rule> extends ChainedMap<Parent> { name: string; __before?: string; __after?: string; constructor(parent?: Parent, name?: string); loader: (value: string) => this; options: (value: LoaderOptions) => this; tap(func: (options: LoaderOptions) => LoaderOptions): this; before(name: string): this; after(name: string): this; merge(obj: Record<string, unknown>, omit?: string[]): this; toConfig(): Record<string, unknown>; } //#endregion //#region src/Rule.d.ts type WebpackRuleSet = Required<RuleSetRule>; declare class Rule<RuleType = Module> extends ChainedMap<RuleType> { ruleName: string; names: string[]; ruleType: string; ruleTypes: string[]; uses: TypedChainedMap<this, Record<string, Use<this>>>; include: TypedChainedSet<this, WebpackRuleSet["include"]>; exclude: TypedChainedSet<this, WebpackRuleSet["exclude"]>; rules: TypedChainedMap<this, Record<string, Rule<any>>>; oneOfs: TypedChainedMap<this, Record<string, Rule<any>>>; resolve: RuleResolve<Rule<RuleType>>; __before?: string; __after?: string; constructor(parent?: RuleType, name?: string, ruleType?: string); assert: (value: WebpackRuleSet["assert"]) => this; compiler: (value: WebpackRuleSet["compiler"]) => this; dependency: (value: WebpackRuleSet["dependency"]) => this; descriptionData: (value: WebpackRuleSet["descriptionData"]) => this; enforce: (value: WebpackRuleSet["enforce"]) => this; issuer: (value: WebpackRuleSet["issuer"]) => this; issuerLayer: (value: WebpackRuleSet["issuerLayer"]) => this; layer: (value: WebpackRuleSet["layer"]) => this; loader: (value: WebpackRuleSet["loader"]) => this; extractSourceMap: (value: WebpackRuleSet["extractSourceMap"]) => this; mimetype: (value: WebpackRuleSet["mimetype"]) => this; options: (value: WebpackRuleSet["options"]) => this; parser: (value: WebpackRuleSet["parser"]) => this; generator: (value: WebpackRuleSet["generator"]) => this; phase: (value: WebpackRuleSet["phase"]) => this; realResource: (value: WebpackRuleSet["realResource"]) => this; resource: (value: WebpackRuleSet["resource"]) => this; resourceFragment: (value: WebpackRuleSet["resourceFragment"]) => this; resourceQuery: (value: WebpackRuleSet["resourceQuery"]) => this; scheme: (value: WebpackRuleSet["scheme"]) => this; sideEffects: (value: WebpackRuleSet["sideEffects"]) => this; test: (value: WebpackRuleSet["test"]) => this; type: (value: WebpackRuleSet["type"]) => this; with: (value: WebpackRuleSet["with"]) => this; before(name: string): this; after(name: string): this; use(name: string): Use<this>; rule(name: string): Rule<this>; oneOf(name: string): Rule<this>; pre(): this; post(): this; toConfig(): Record<string, unknown>; merge(obj: Record<string, unknown>, omit?: string[]): this; } //#endregion //#region src/Module.d.ts type WebpackModule = Required<NonNullable<Configuration["module"]>>; declare class Module extends ChainedMap<Config> { rules: TypedChainedMap<this, Record<string, Rule>>; defaultRules: TypedChainedMap<this, Record<string, Rule>>; generator: ChainedMap<this>; parser: ChainedMap<this>; constructor(parent?: Config); noParse: (value: WebpackModule["noParse"]) => this; unsafeCache: (value: WebpackModule["unsafeCache"]) => this; exprContextCritical: (value: WebpackModule["exprContextCritical"]) => this; exprContextRecursive: (value: WebpackModule["exprContextRecursive"]) => this; exprContextRegExp: (value: WebpackModule["exprContextRegExp"]) => this; exprContextRequest: (value: WebpackModule["exprContextRequest"]) => this; unknownContextCritical: (value: WebpackModule["unknownContextCritical"]) => this; unknownContextRecursive: (value: WebpackModule["unknownContextRecursive"]) => this; unknownContextRegExp: (value: WebpackModule["unknownContextRegExp"]) => this; unknownContextRequest: (value: WebpackModule["unknownContextRequest"]) => this; wrappedContextCritical: (value: WebpackModule["wrappedContextCritical"]) => this; wrappedContextRecursive: (value: WebpackModule["wrappedContextRecursive"]) => this; wrappedContextRegExp: (value: WebpackModule["wrappedContextRegExp"]) => this; strictExportPresence: (value: WebpackModule["strictExportPresence"]) => this; strictThisContextOnImports: (value: WebpackModule["strictThisContextOnImports"]) => this; defaultRule(name: string): Rule<this>; rule(name: string): Rule<this>; toConfig(): Record<string, unknown>; merge(obj: Record<string, unknown>, omit?: string[]): this; } //#endregion //#region src/Optimization.d.ts type WebpackOptimization = Required<NonNullable<Configuration["optimization"]>>; type SplitChunksObject = Exclude<WebpackOptimization["splitChunks"], false>; declare class Optimization extends ChainedMap<Config> { minimizers: TypedChainedMap<this, Record<string, Plugin<this, WebpackPluginInstance>>>; splitChunks: ChainedValueMap<this> & ((value: SplitChunksObject | false) => this); constructor(parent?: Config); checkWasmTypes: (value: WebpackOptimization["checkWasmTypes"]) => this; chunkIds: (value: WebpackOptimization["chunkIds"]) => this; concatenateModules: (value: WebpackOptimization["concatenateModules"]) => this; emitOnErrors: (value: WebpackOptimization["emitOnErrors"]) => this; avoidEntryIife: (value: WebpackOptimization["avoidEntryIife"]) => this; flagIncludedChunks: (value: WebpackOptimization["flagIncludedChunks"]) => this; inlineExports: (value: WebpackOptimization["inlineExports"]) => this; innerGraph: (value: WebpackOptimization["innerGraph"]) => this; mangleExports: (value: WebpackOptimization["mangleExports"]) => this; mangleWasmImports: (value: WebpackOptimization["mangleWasmImports"]) => this; mergeDuplicateChunks: (value: WebpackOptimization["mergeDuplicateChunks"]) => this; minimize: (value: WebpackOptimization["minimize"]) => this; moduleIds: (value: WebpackOptimization["moduleIds"]) => this; nodeEnv: (value: WebpackOptimization["nodeEnv"]) => this; portableRecords: (value: WebpackOptimization["portableRecords"]) => this; providedExports: (value: WebpackOptimization["providedExports"]) => this; realContentHash: (value: WebpackOptimization["realContentHash"]) => this; removeAvailableModules: (value: WebpackOptimization["removeAvailableModules"]) => this; removeEmptyChunks: (value: WebpackOptimization["removeEmptyChunks"]) => this; runtimeChunk: (value: WebpackOptimization["runtimeChunk"]) => this; sideEffects: (value: WebpackOptimization["sideEffects"]) => this; usedExports: (value: WebpackOptimization["usedExports"]) => this; minimizer(name: string): Plugin<this, WebpackPluginInstance>; toConfig(): Record<string, unknown>; merge(obj: Record<string, unknown>, omit?: string[]): this; } //#endregion //#region src/Output.d.ts type WebpackOutput = Required<NonNullable<Configuration["output"]>>; declare class Output extends ChainedMap<Config> { constructor(parent?: Config); assetModuleFilename: (value: WebpackOutput["assetModuleFilename"]) => this; asyncChunks: (value: WebpackOutput["asyncChunks"]) => this; auxiliaryComment: (value: WebpackOutput["auxiliaryComment"]) => this; charset: (value: WebpackOutput["charset"]) => this; chunkFilename: (value: WebpackOutput["chunkFilename"]) => this; chunkFormat: (value: WebpackOutput["chunkFormat"]) => this; chunkLoadTimeout: (value: WebpackOutput["chunkLoadTimeout"]) => this; chunkLoadingGlobal: (value: WebpackOutput["chunkLoadingGlobal"]) => this; chunkLoading: (value: WebpackOutput["chunkLoading"]) => this; clean: (value: WebpackOutput["clean"]) => this; compareBeforeEmit: (value: WebpackOutput["compareBeforeEmit"]) => this; crossOriginLoading: (value: WebpackOutput["crossOriginLoading"]) => this; cssChunkFilename: (value: WebpackOutput["cssChunkFilename"]) => this; cssFilename: (value: WebpackOutput["cssFilename"]) => this; devtoolFallbackModuleFilenameTemplate: (value: WebpackOutput["devtoolFallbackModuleFilenameTemplate"]) => this; devtoolModuleFilenameTemplate: (value: WebpackOutput["devtoolModuleFilenameTemplate"]) => this; devtoolNamespace: (value: WebpackOutput["devtoolNamespace"]) => this; enabledChunkLoadingTypes: (value: WebpackOutput["enabledChunkLoadingTypes"]) => this; enabledLibraryTypes: (value: WebpackOutput["enabledLibraryTypes"]) => this; enabledWasmLoadingTypes: (value: WebpackOutput["enabledWasmLoadingTypes"]) => this; environment: (value: WebpackOutput["environment"]) => this; filename: (value: WebpackOutput["filename"]) => this; globalObject: (value: WebpackOutput["globalObject"]) => this; hashDigest: (value: WebpackOutput["hashDigest"]) => this; hashDigestLength: (value: WebpackOutput["hashDigestLength"]) => this; hashFunction: (value: WebpackOutput["hashFunction"]) => this; hashSalt: (value: WebpackOutput["hashSalt"]) => this; hotUpdateChunkFilename: (value: WebpackOutput["hotUpdateChunkFilename"]) => this; hotUpdateGlobal: (value: WebpackOutput["hotUpdateGlobal"]) => this; hotUpdateMainFilename: (value: WebpackOutput["hotUpdateMainFilename"]) => this; html: (value: WebpackOutput["html"]) => this; htmlChunkFilename: (value: WebpackOutput["htmlChunkFilename"]) => this; htmlFilename: (value: WebpackOutput["htmlFilename"]) => this; iife: (value: WebpackOutput["iife"]) => this; ignoreBrowserWarnings: (value: WebpackOutput["ignoreBrowserWarnings"]) => this; importFunctionName: (value: WebpackOutput["importFunctionName"]) => this; importMetaName: (value: WebpackOutput["importMetaName"]) => this; library: (value: WebpackOutput["library"]) => this; libraryExport: (value: WebpackOutput["libraryExport"]) => this; libraryTarget: (value: WebpackOutput["libraryTarget"]) => this; module: (value: WebpackOutput["module"]) => this; path: (value: WebpackOutput["path"]) => this; pathinfo: (value: WebpackOutput["pathinfo"]) => this; publicPath: (value: WebpackOutput["publicPath"]) => this; scriptType: (value: WebpackOutput["scriptType"]) => this; sourceMapFilename: (value: WebpackOutput["sourceMapFilename"]) => this; sourcePrefix: (value: WebpackOutput["sourcePrefix"]) => this; strictModuleErrorHandling: (value: WebpackOutput["strictModuleErrorHandling"]) => this; strictModuleExceptionHandling: (value: WebpackOutput["strictModuleExceptionHandling"]) => this; strictModuleResolution: (value: WebpackOutput["strictModuleResolution"]) => this; trustedTypes: (value: WebpackOutput["trustedTypes"]) => this; umdNamedDefine: (value: WebpackOutput["umdNamedDefine"]) => this; uniqueName: (value: WebpackOutput["uniqueName"]) => this; wasmLoading: (value: WebpackOutput["wasmLoading"]) => this; webassemblyModuleFilename: (value: WebpackOutput["webassemblyModuleFilename"]) => this; workerChunkFilename: (value: WebpackOutput["workerChunkFilename"]) => this; workerChunkLoading: (value: WebpackOutput["workerChunkLoading"]) => this; workerPublicPath: (value: WebpackOutput["workerPublicPath"]) => this; workerWasmLoading: (value: WebpackOutput["workerWasmLoading"]) => this; } //#endregion //#region src/Performance.d.ts type WebpackPerformance = Exclude<Required<NonNullable<Configuration["performance"]>>, false>; declare class Performance extends ChainedValueMap<Config> { constructor(parent?: Config); assetFilter: (value: WebpackPerformance["assetFilter"]) => this; hints: (value: WebpackPerformance["hints"]) => this; maxAssetSize: (value: WebpackPerformance["maxAssetSize"]) => this; maxEntrypointSize: (value: WebpackPerformance["maxEntrypointSize"]) => this; } interface Performance { (value: boolean): Config; } //#endregion //#region src/ResolveLoader.d.ts declare class ResolveLoader extends Resolve { moduleExtensions: TypedChainedSet<this, string>; packageMains: TypedChainedSet<this, string>; constructor(parent?: unknown); toConfig(): Record<string, unknown>; merge(obj: Record<string, unknown>, omit?: string[]): this; } //#endregion //#region src/Config.d.ts type WebpackConfig = Required<Configuration>; type ResolvePlugin = Exclude<NonNullable<ResolveOptions["plugins"]>[number], "...">; type WebpackEntry = NonNullable<Configuration["entry"]>; type WebpackEntryObject = Exclude<WebpackEntry, string | string[] | Function>[string]; declare class EntryPoint extends TypedChainedSet<Config, WebpackEntryObject> {} declare class Plugins<Parent, PluginType extends WebpackPluginInstance> extends TypedChainedMap<Parent, Record<string, Plugin<Parent, PluginType>>> {} type PluginClass<PluginType extends WebpackPluginInstance | ResolvePlugin> = new (...opts: any[]) => PluginType; declare class Config extends ChainedMap<void> { entryPoints: TypedChainedMap<Config, Record<string, EntryPoint>>; output: Output; module: Module; optimization: Optimization; performance: Performance & ((value: boolean) => this); plugins: Plugins<this, WebpackPluginInstance>; resolve: Resolve; resolveLoader: ResolveLoader; devServer: DevServer; constructor(); context: (value: WebpackConfig["context"]) => this; mode: (value: WebpackConfig["mode"]) => this; cache: (value: WebpackConfig["cache"]) => this; devtool: (value: WebpackConfig["devtool"]) => this; target: (value: WebpackConfig["target"]) => this; watch: (value: WebpackConfig["watch"]) => this; watchOptions: (value: WebpackConfig["watchOptions"]) => this; externals: (value: WebpackConfig["externals"]) => this; externalsType: (value: WebpackConfig["externalsType"]) => this; externalsPresets: (value: WebpackConfig["externalsPresets"]) => this; dotenv: (value: WebpackConfig["dotenv"]) => this; node: (value: WebpackConfig["node"]) => this; stats: (value: WebpackConfig["stats"]) => this; experiments: (value: WebpackConfig["experiments"]) => this; infrastructureLogging: (value: WebpackConfig["infrastructureLogging"]) => this; amd: (value: WebpackConfig["amd"]) => this; bail: (value: WebpackConfig["bail"]) => this; dependencies: (value: WebpackConfig["dependencies"]) => this; ignoreWarnings: (value: WebpackConfig["ignoreWarnings"]) => this; loader: (value: WebpackConfig["loader"]) => this; name: (value: WebpackConfig["name"]) => this; parallelism: (value: WebpackConfig["parallelism"]) => this; profile: (value: WebpackConfig["profile"]) => this; recordsInputPath: (value: WebpackConfig["recordsInputPath"]) => this; recordsOutputPath: (value: WebpackConfig["recordsOutputPath"]) => this; recordsPath: (value: WebpackConfig["recordsPath"]) => this; snapshot: (value: WebpackConfig["snapshot"]) => this; static toString(config: Configuration, { verbose, configPrefix }?: { configPrefix?: string | undefined; verbose?: boolean | undefined; }): string; entry(name: string): EntryPoint; plugin(name: string): Plugin<this, WebpackPluginInstance>; toConfig(): Configuration; toString(options?: { verbose?: boolean; configPrefix?: string; }): string; merge(obj?: Record<string, unknown>, omit?: string[]): this; } //#endregion export { Chained as Chainable, Chained, ChainedMap, ChainedSet, ChainedValueMap, Config, EntryPoint, Orderable, PluginClass, Plugins, TypedChainedMap, TypedChainedSet, createOrderable }; //# sourceMappingURL=index.d.ts.map