type Env = { mode: string; }; export declare namespace WebpackUtils { export function DefinePlugin(env: Env, extraVars: any, useCssModule: boolean): any; export function loaderTS(): string; export function loaderStyle(): string; export function loaderCss(resolveAssets?: boolean): { loader: string; options: { url: boolean; importLoaders: number; modules: { localIdentName: string; }; }; }; /** * autoprefixer */ export function loaderPostCss(): { loader: string; options: { sourceMap: boolean; postcssOptions: { plugins: {}[][]; }; }; }; export function loaderSass(patches?: string[], additionalData?: (content: any, loaderContext: any) => any): { loader: string; options: { additionalData: (content: any, loaderContext: any) => any; sassOptions: { includePaths: string[]; }; }; }; export function ruleFonts(path?: string): { test: RegExp; type: string; generator: { filename: string; }; }; export function ruleTs(): { test: RegExp; use: string; exclude: RegExp; }; export function ruleImage(path?: string, hash?: boolean): { test: RegExp; type: string; generator: { filename: string; }; }; export function ruleSassModules(cssPaths: string[], resolveAssets: boolean, extractCssPlugin: boolean, additionalData: (content: any, loaderContext: any) => any): { test: RegExp; use: any[]; }; interface IConfigDefaultOptions { entry: string; output: { filename: string; path: string; }; css: { separateOutputPath?: string; additionalData?: (content: any, loaderContext: any) => any; includePaths: string[]; }; js: { languages?: string[]; define?: any; }; plugins: any[]; img?: { output: string; hash: boolean; }; font?: { output: string; }; } type EntryPart = string | string[]; type EntryObject = { [name: string]: string | string[]; }; type Entry = EntryPart | EntryObject; export function configGame(env: Env, pOptions: IConfigDefaultOptions): { plugins: any[]; entry: Entry; output: any; devtool: string; mode: string; watch: boolean; resolve: { extensions: string[]; }; module: { rules: any[]; }; }; export function isDev(env: Env): boolean; export function configTS(env: Env, options: { entry: any; output: any; rules?: any[]; plugins?: any[]; define?: any; languages: string[]; }): { entry: Entry; output: any; devtool: string; mode: string; watch: boolean; plugins: any[]; resolve: { extensions: string[]; }; module: { rules: any[]; }; }; export {}; } export {};