mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-16 19:09:18 +08:00
feat: Add webpack-dev-middleware (#14002)
This commit is contained in:
committed by
Sheetal Nandi
parent
90dd89f0a4
commit
0f756aca16
49
webpack-dev-middleware/index.d.ts
vendored
Normal file
49
webpack-dev-middleware/index.d.ts
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
// Type definitions for webpack-dev-middleware 1.9
|
||||
// Project: http://github.com/webpack/webpack-dev-middleware
|
||||
// Definitions by: Benjamin Lim <https://github.com/bumbleblym>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
import { NextHandleFunction } from 'connect';
|
||||
import { compiler } from 'webpack';
|
||||
|
||||
export = WebpackDevMiddleware;
|
||||
|
||||
declare function WebpackDevMiddleware(compiler: compiler.Compiler, options: WebpackDevMiddleware.Options): WebpackDevMiddleware.WebpackDevMiddleware & NextHandleFunction;
|
||||
|
||||
declare namespace WebpackDevMiddleware {
|
||||
interface Options {
|
||||
noInfo?: boolean;
|
||||
quiet?: boolean;
|
||||
lazy?: boolean;
|
||||
watchOptions?: compiler.WatchOptions;
|
||||
publicPath: string;
|
||||
index?: string;
|
||||
headers?: {
|
||||
[name: string]: string;
|
||||
};
|
||||
stats?: compiler.StatsToStringOptions;
|
||||
reporter?: Reporter | null;
|
||||
serverSideRender?: boolean;
|
||||
|
||||
log?: Logger;
|
||||
warn?: Logger;
|
||||
error?: Logger;
|
||||
filename?: string;
|
||||
}
|
||||
|
||||
interface ReporterOptions {
|
||||
state: boolean;
|
||||
stats: compiler.Stats;
|
||||
options: Options;
|
||||
}
|
||||
|
||||
type Reporter = (reporterOptions: ReporterOptions) => void;
|
||||
|
||||
type Logger = (message: any) => void;
|
||||
|
||||
interface WebpackDevMiddleware {
|
||||
close(callback?: () => void): void;
|
||||
invalidate(callback?: (stats: compiler.Stats) => void): void;
|
||||
waitUntilValid(callback?: (stats: compiler.Stats) => void): void;
|
||||
}
|
||||
}
|
||||
20
webpack-dev-middleware/tsconfig.json
Normal file
20
webpack-dev-middleware/tsconfig.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"webpack-dev-middleware-tests.ts"
|
||||
]
|
||||
}
|
||||
1
webpack-dev-middleware/tslint.json
Normal file
1
webpack-dev-middleware/tslint.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "extends": "../tslint.json" }
|
||||
33
webpack-dev-middleware/webpack-dev-middleware-tests.ts
Normal file
33
webpack-dev-middleware/webpack-dev-middleware-tests.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import * as express from 'express';
|
||||
import * as webpack from 'webpack';
|
||||
import * as webpackDevMiddleware from 'webpack-dev-middleware';
|
||||
|
||||
const compiler = webpack({});
|
||||
const webpackDevMiddlewareInstance = webpackDevMiddleware(compiler, {
|
||||
noInfo: false,
|
||||
quiet: false,
|
||||
lazy: true,
|
||||
watchOptions: {
|
||||
aggregateTimeout: 300,
|
||||
poll: true,
|
||||
},
|
||||
publicPath: '/assets/',
|
||||
index: 'index.html',
|
||||
headers: {
|
||||
'X-Custom-Header': 'yes'
|
||||
},
|
||||
stats: {
|
||||
colors: true,
|
||||
},
|
||||
reporter: null,
|
||||
serverSideRender: false,
|
||||
});
|
||||
|
||||
const app = express();
|
||||
app.use(webpackDevMiddlewareInstance);
|
||||
|
||||
webpackDevMiddlewareInstance.close();
|
||||
webpackDevMiddlewareInstance.invalidate();
|
||||
webpackDevMiddlewareInstance.waitUntilValid(function(){
|
||||
console.log('Package is in a valid state');
|
||||
});
|
||||
Reference in New Issue
Block a user