DefinitelyTyped/types/webpack-dev-middleware/index.d.ts
Chris Abrams 8815592a2a Modify three options missing from webpack-dev-middleware and webpack-hot-middleware (#27116)
* Add writeToDisk option

* Add reload option

* make sure writeToDisk can also be a function

* enable index option to be boolean type
2018-07-09 11:21:20 -07:00

56 lines
1.7 KiB
TypeScript

// Type definitions for webpack-dev-middleware 2.0
// Project: https://github.com/webpack/webpack-dev-middleware
// Definitions by: Benjamin Lim <https://github.com/bumbleblym>
// reduckted <https://github.com/reduckted>
// Chris Abrams <https://github.com/chrisabrams>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3
import * as webpack from 'webpack';
import * as loglevel from 'loglevel';
import { NextHandleFunction } from 'connect';
import MemoryFileSystem = require('memory-fs');
export = WebpackDevMiddleware;
declare function WebpackDevMiddleware(
compiler: webpack.ICompiler,
options?: WebpackDevMiddleware.Options
): WebpackDevMiddleware.WebpackDevMiddleware & NextHandleFunction;
declare namespace WebpackDevMiddleware {
interface Options {
logLevel?: string;
lazy?: boolean;
watchOptions?: webpack.Options.WatchOptions;
publicPath: string;
index?: string | boolean;
headers?: {
[name: string]: string;
};
stats?: webpack.Options.Stats;
reporter?: Reporter | null;
serverSideRender?: boolean;
logger?: Logger;
filename?: string;
writeToDisk?: boolean | ((filename: string) => boolean);
}
interface ReporterOptions {
state: boolean;
stats?: webpack.Stats;
log: Logger;
}
type Logger = loglevel.Logger;
type Reporter = (middlewareOptions: Options, reporterOptions: ReporterOptions) => void;
interface WebpackDevMiddleware {
close(callback?: () => void): void;
invalidate(callback?: (stats: webpack.Stats) => void): void;
waitUntilValid(callback?: (stats: webpack.Stats) => void): void;
getFilenameFromUrl: (url: string) => string | false;
fileSystem: MemoryFileSystem;
}
}