webpack-dev-server

  • Version 6.0.0
  • Published
  • 467 kB
  • 25 dependencies
  • MIT license

Install

npm i webpack-dev-server
yarn add webpack-dev-server
pnpm add webpack-dev-server

Overview

Serves a webpack app. Updates the browser on changes.

Index

Functions

function useFn

useFn: {
(fn: NextHandleFunction): BasicApplication;
(fn: HandleFunction): BasicApplication;
(route: string, fn: NextHandleFunction): BasicApplication;
};
  • Parameter fn

    function

    Returns

    {BasicApplication} application

  • Parameter fn

    function

    Returns

    {BasicApplication} application

  • Parameter route

    route

    Parameter fn

    function

    Returns

    {BasicApplication} application

Classes

class Server

class Server<
A extends BasicApplication = import('express').Application,
S extends BasicServer = import('http').Server<
typeof import('http').IncomingMessage,
typeof import('http').ServerResponse
>
> {}
  • {BasicApplication} [A=ExpressApplication] {BasicServer} [S=HTTPServer]

constructor

constructor(options: Configuration<A, S>, compiler?: any);
  • Parameter options

    options

    Parameter compiler

    compiler, omitted when the server is used as a plugin via apply()

property app

app: BasicApplication;
  • {A | undefined}

property compiler

compiler: any;

    property isTlsServer

    isTlsServer: boolean;

      property logger

      logger: any;
      • {ReturnType<Compiler["getInfrastructureLogger"]>}

      property middleware

      middleware: any;
      • {import("webpack-dev-middleware").API<Request, Response>}

      property options

      options: Configuration<A, S>;

        property schema

        static readonly schema: {
        title: string;
        type: string;
        definitions: {
        App: { instanceof: string; description: string; link: string };
        AllowedHosts: {
        anyOf: (
        | {
        type: string;
        minItems: number;
        items: { $ref: string };
        enum?: undefined;
        $ref?: undefined;
        }
        | {
        enum: string[];
        type?: undefined;
        minItems?: undefined;
        items?: undefined;
        $ref?: undefined;
        }
        | {
        $ref: string;
        type?: undefined;
        minItems?: undefined;
        items?: undefined;
        enum?: undefined;
        }
        )[];
        description: string;
        link: string;
        };
        AllowedHostsItem: { type: string; minLength: number };
        Bonjour: {
        anyOf: (
        | {
        type: string;
        cli: { negatedDescription: string };
        description?: undefined;
        link?: undefined;
        }
        | {
        type: string;
        description: string;
        link: string;
        cli?: undefined;
        }
        )[];
        description: string;
        link: string;
        };
        Client: {
        description: string;
        link: string;
        anyOf: (
        | {
        enum: boolean[];
        cli: { negatedDescription: string };
        type?: undefined;
        additionalProperties?: undefined;
        properties?: undefined;
        }
        | {
        type: string;
        additionalProperties: boolean;
        properties: {
        logging: { $ref: string };
        overlay: { $ref: string };
        progress: { $ref: string };
        reconnect: { $ref: string };
        webSocketTransport: { $ref: string };
        webSocketURL: { $ref: string };
        };
        enum?: undefined;
        cli?: undefined;
        }
        )[];
        };
        ClientLogging: { enum: string[]; description: string; link: string };
        ClientOverlay: {
        anyOf: (
        | {
        description: string;
        link: string;
        type: string;
        cli: { negatedDescription: string };
        additionalProperties?: undefined;
        properties?: undefined;
        }
        | {
        type: string;
        additionalProperties: boolean;
        properties: {
        errors: {
        anyOf: (
        | {
        description: string;
        type: string;
        cli: { negatedDescription: string };
        instanceof?: undefined;
        }
        | {
        instanceof: string;
        description: string;
        type?: undefined;
        cli?: undefined;
        }
        )[];
        };
        warnings: {
        anyOf: (
        | {
        description: string;
        type: string;
        cli: { negatedDescription: string };
        instanceof?: undefined;
        }
        | {
        instanceof: string;
        description: string;
        type?: undefined;
        cli?: undefined;
        }
        )[];
        };
        runtimeErrors: {
        anyOf: (
        | {
        description: string;
        type: string;
        cli: { negatedDescription: string };
        instanceof?: undefined;
        }
        | {
        instanceof: string;
        description: string;
        type?: undefined;
        cli?: undefined;
        }
        )[];
        };
        trustedTypesPolicyName: {
        description: string;
        type: string;
        };
        };
        description?: undefined;
        link?: undefined;
        cli?: undefined;
        }
        )[];
        };
        ClientProgress: {
        description: string;
        link: string;
        type: string[];
        enum: (string | boolean)[];
        cli: { negatedDescription: string };
        };
        ClientReconnect: {
        description: string;
        link: string;
        anyOf: (
        | {
        type: string;
        cli: { negatedDescription: string };
        minimum?: undefined;
        }
        | { type: string; minimum: number; cli?: undefined }
        )[];
        };
        ClientWebSocketTransport: {
        anyOf: { $ref: string }[];
        description: string;
        link: string;
        };
        ClientWebSocketTransportEnum: { enum: string[] };
        ClientWebSocketTransportString: { type: string; minLength: number };
        ClientWebSocketURL: {
        description: string;
        link: string;
        anyOf: (
        | {
        type: string;
        minLength: number;
        additionalProperties?: undefined;
        properties?: undefined;
        }
        | {
        type: string;
        additionalProperties: boolean;
        properties: {
        hostname: {
        description: string;
        type: string;
        minLength: number;
        };
        pathname: { description: string; type: string };
        password: { description: string; type: string };
        port: {
        description: string;
        anyOf: (
        | { type: string; minLength?: undefined }
        | { type: string; minLength: number }
        )[];
        };
        protocol: {
        description: string;
        anyOf: (
        | {
        enum: string[];
        type?: undefined;
        minLength?: undefined;
        }
        | {
        type: string;
        minLength: number;
        enum?: undefined;
        }
        )[];
        };
        username: { description: string; type: string };
        };
        minLength?: undefined;
        }
        )[];
        };
        Compress: {
        type: string;
        description: string;
        link: string;
        cli: { negatedDescription: string };
        };
        DevMiddleware: {
        description: string;
        link: string;
        type: string;
        additionalProperties: boolean;
        };
        HeaderObject: {
        type: string;
        additionalProperties: boolean;
        properties: {
        key: { description: string; type: string };
        value: { description: string; type: string };
        };
        cli: { exclude: boolean };
        };
        Headers: {
        anyOf: (
        | {
        type: string;
        items: { $ref: string };
        minItems: number;
        instanceof?: undefined;
        }
        | {
        type: string;
        items?: undefined;
        minItems?: undefined;
        instanceof?: undefined;
        }
        | {
        instanceof: string;
        type?: undefined;
        items?: undefined;
        minItems?: undefined;
        }
        )[];
        description: string;
        link: string;
        };
        HistoryApiFallback: {
        anyOf: (
        | {
        type: string;
        cli: { negatedDescription: string };
        description?: undefined;
        link?: undefined;
        }
        | {
        type: string;
        description: string;
        link: string;
        cli?: undefined;
        }
        )[];
        description: string;
        link: string;
        };
        Host: {
        description: string;
        link: string;
        anyOf: (
        | { enum: string[]; type?: undefined; minLength?: undefined }
        | { type: string; minLength: number; enum?: undefined }
        )[];
        };
        Hot: {
        anyOf: (
        | {
        type: string;
        cli: { negatedDescription: string };
        enum?: undefined;
        }
        | { enum: string[]; type?: undefined; cli?: undefined }
        )[];
        description: string;
        link: string;
        };
        IPC: {
        anyOf: (
        | { type: string; minLength: number; enum?: undefined }
        | { type: string; enum: boolean[]; minLength?: undefined }
        )[];
        description: string;
        link: string;
        };
        LiveReload: {
        type: string;
        description: string;
        cli: { negatedDescription: string };
        link: string;
        };
        OnListening: { instanceof: string; description: string; link: string };
        Open: {
        anyOf: (
        | {
        type: string;
        items: { anyOf: { $ref: string }[] };
        $ref?: undefined;
        }
        | { $ref: string; type?: undefined; items?: undefined }
        )[];
        description: string;
        link: string;
        };
        OpenBoolean: { type: string; cli: { negatedDescription: string } };
        OpenObject: {
        type: string;
        additionalProperties: boolean;
        properties: {
        target: {
        anyOf: (
        | { type: string; items: { type: string } }
        | { type: string; items?: undefined }
        )[];
        description: string;
        };
        app: {
        anyOf: (
        | {
        type: string;
        additionalProperties: boolean;
        properties: {
        name: {
        anyOf: (
        | {
        type: string;
        items: {
        type: string;
        minLength: number;
        };
        minItems: number;
        minLength?: undefined;
        }
        | {
        type: string;
        minLength: number;
        items?: undefined;
        minItems?: undefined;
        }
        )[];
        };
        arguments: {
        items: { type: string; minLength: number };
        };
        };
        minLength?: undefined;
        description?: undefined;
        cli?: undefined;
        }
        | {
        type: string;
        minLength: number;
        description: string;
        cli: { exclude: boolean };
        additionalProperties?: undefined;
        properties?: undefined;
        }
        )[];
        description: string;
        };
        };
        };
        OpenString: { type: string; minLength: number };
        Port: {
        anyOf: (
        | {
        type: string;
        minimum: number;
        maximum: number;
        minLength?: undefined;
        enum?: undefined;
        }
        | {
        type: string;
        minLength: number;
        minimum?: undefined;
        maximum?: undefined;
        enum?: undefined;
        }
        | {
        enum: string[];
        type?: undefined;
        minimum?: undefined;
        maximum?: undefined;
        minLength?: undefined;
        }
        )[];
        description: string;
        link: string;
        };
        Proxy: {
        type: string;
        items: {
        anyOf: (
        | { type: string; instanceof?: undefined }
        | { instanceof: string; type?: undefined }
        )[];
        };
        description: string;
        link: string;
        };
        Server: { anyOf: { $ref: string }[]; link: string; description: string };
        ServerType: { enum: string[] };
        ServerFn: { instanceof: string };
        ServerEnum: { enum: string[]; cli: { exclude: boolean } };
        ServerString: {
        type: string;
        minLength: number;
        cli: { exclude: boolean };
        };
        ServerObject: {
        type: string;
        properties: {
        type: { anyOf: { $ref: string }[] };
        options: { $ref: string };
        };
        additionalProperties: boolean;
        };
        ServerOptions: {
        type: string;
        additionalProperties: boolean;
        properties: {
        passphrase: { type: string; description: string };
        requestCert: {
        type: string;
        description: string;
        cli: { negatedDescription: string };
        };
        ca: {
        anyOf: (
        | {
        type: string;
        items: {
        anyOf: (
        | { type: string; instanceof?: undefined }
        | { instanceof: string; type?: undefined }
        )[];
        };
        instanceof?: undefined;
        }
        | {
        type: string;
        items?: undefined;
        instanceof?: undefined;
        }
        | {
        instanceof: string;
        type?: undefined;
        items?: undefined;
        }
        )[];
        description: string;
        };
        cert: {
        anyOf: (
        | {
        type: string;
        items: {
        anyOf: (
        | { type: string; instanceof?: undefined }
        | { instanceof: string; type?: undefined }
        )[];
        };
        instanceof?: undefined;
        }
        | {
        type: string;
        items?: undefined;
        instanceof?: undefined;
        }
        | {
        instanceof: string;
        type?: undefined;
        items?: undefined;
        }
        )[];
        description: string;
        };
        crl: {
        anyOf: (
        | {
        type: string;
        items: {
        anyOf: (
        | { type: string; instanceof?: undefined }
        | { instanceof: string; type?: undefined }
        )[];
        };
        instanceof?: undefined;
        }
        | {
        type: string;
        items?: undefined;
        instanceof?: undefined;
        }
        | {
        instanceof: string;
        type?: undefined;
        items?: undefined;
        }
        )[];
        description: string;
        };
        key: {
        anyOf: (
        | {
        type: string;
        items: {
        anyOf: (
        | {
        type: string;
        instanceof?: undefined;
        additionalProperties?: undefined;
        }
        | {
        instanceof: string;
        type?: undefined;
        additionalProperties?: undefined;
        }
        | {
        type: string;
        additionalProperties: boolean;
        instanceof?: undefined;
        }
        )[];
        };
        instanceof?: undefined;
        }
        | {
        type: string;
        items?: undefined;
        instanceof?: undefined;
        }
        | {
        instanceof: string;
        type?: undefined;
        items?: undefined;
        }
        )[];
        description: string;
        };
        pfx: {
        anyOf: (
        | {
        type: string;
        items: {
        anyOf: (
        | {
        type: string;
        instanceof?: undefined;
        additionalProperties?: undefined;
        }
        | {
        instanceof: string;
        type?: undefined;
        additionalProperties?: undefined;
        }
        | {
        type: string;
        additionalProperties: boolean;
        instanceof?: undefined;
        }
        )[];
        };
        instanceof?: undefined;
        }
        | {
        type: string;
        items?: undefined;
        instanceof?: undefined;
        }
        | {
        instanceof: string;
        type?: undefined;
        items?: undefined;
        }
        )[];
        description: string;
        };
        };
        };
        SetupExitSignals: {
        type: string;
        description: string;
        link: string;
        cli: { exclude: boolean };
        };
        SetupMiddlewares: {
        instanceof: string;
        description: string;
        link: string;
        };
        Static: {
        anyOf: (
        | {
        type: string;
        items: { anyOf: { $ref: string }[] };
        cli?: undefined;
        $ref?: undefined;
        }
        | {
        type: string;
        cli: { negatedDescription: string };
        items?: undefined;
        $ref?: undefined;
        }
        | {
        $ref: string;
        type?: undefined;
        items?: undefined;
        cli?: undefined;
        }
        )[];
        description: string;
        link: string;
        };
        StaticObject: {
        type: string;
        additionalProperties: boolean;
        properties: {
        directory: {
        type: string;
        minLength: number;
        description: string;
        link: string;
        };
        staticOptions: {
        type: string;
        link: string;
        additionalProperties: boolean;
        };
        publicPath: {
        anyOf: (
        | {
        type: string;
        items: { type: string };
        minItems: number;
        }
        | {
        type: string;
        items?: undefined;
        minItems?: undefined;
        }
        )[];
        description: string;
        link: string;
        };
        serveIndex: {
        anyOf: (
        | {
        type: string;
        cli: { negatedDescription: string };
        additionalProperties?: undefined;
        }
        | {
        type: string;
        additionalProperties: boolean;
        cli?: undefined;
        }
        )[];
        description: string;
        link: string;
        };
        watch: {
        anyOf: (
        | {
        type: string;
        cli: { negatedDescription: string };
        description?: undefined;
        link?: undefined;
        }
        | {
        type: string;
        description: string;
        link: string;
        cli?: undefined;
        }
        )[];
        description: string;
        link: string;
        };
        };
        };
        StaticString: { type: string; minLength: number };
        WatchFiles: {
        anyOf: (
        | {
        type: string;
        items: { anyOf: { $ref: string }[] };
        $ref?: undefined;
        }
        | { $ref: string; type?: undefined; items?: undefined }
        )[];
        description: string;
        link: string;
        };
        WatchFilesObject: {
        cli: { exclude: boolean };
        type: string;
        properties: {
        paths: {
        anyOf: (
        | {
        type: string;
        items: { type: string; minLength: number };
        minLength?: undefined;
        }
        | { type: string; minLength: number; items?: undefined }
        )[];
        description: string;
        };
        options: {
        type: string;
        description: string;
        link: string;
        additionalProperties: boolean;
        };
        };
        additionalProperties: boolean;
        };
        WatchFilesString: { type: string; minLength: number };
        WebSocketServer: {
        anyOf: { $ref: string }[];
        description: string;
        link: string;
        };
        WebSocketServerType: { enum: string[] };
        WebSocketServerEnum: {
        anyOf: (
        | {
        enum: boolean[];
        cli: { negatedDescription: string; exclude?: undefined };
        }
        | {
        enum: string[];
        cli: { exclude: boolean; negatedDescription?: undefined };
        }
        )[];
        };
        WebSocketServerFunction: { instanceof: string };
        WebSocketServerObject: {
        type: string;
        properties: {
        type: { anyOf: { $ref: string }[] };
        options: {
        type: string;
        additionalProperties: boolean;
        cli: { exclude: boolean };
        };
        };
        additionalProperties: boolean;
        };
        WebSocketServerString: {
        type: string;
        minLength: number;
        cli: { exclude: boolean };
        };
        };
        additionalProperties: boolean;
        properties: {
        allowedHosts: { $ref: string };
        bonjour: { $ref: string };
        client: { $ref: string };
        compress: { $ref: string };
        devMiddleware: { $ref: string };
        headers: { $ref: string };
        historyApiFallback: { $ref: string };
        host: { $ref: string };
        hot: { $ref: string };
        ipc: { $ref: string };
        liveReload: { $ref: string };
        onListening: { $ref: string };
        open: { $ref: string };
        port: { $ref: string };
        proxy: { $ref: string };
        server: { $ref: string };
        app: { $ref: string };
        setupExitSignals: { $ref: string };
        setupMiddlewares: { $ref: string };
        static: { $ref: string };
        watchFiles: { $ref: string };
        webSocketServer: { $ref: string };
        };
        };

          property server

          server: {};
          • {S | undefined}

          property sockets

          sockets: any[];
          • {Socket[]}

          property staticWatchers

          staticWatchers: any[];
          • {FSWatcher[]}

          property webSocketServer

          webSocketServer: WebSocketServerImplementation;
          • {WebSocketServerImplementation | undefined | null}

          method apply

          apply: (compiler: Compiler | MultiCompiler) => void;
          • Parameter compiler

            compiler

            Returns

            {void}

          method findCacheDir

          static findCacheDir: () => string;
          • Returns

            {string} path to cache dir

          method findIp

          static findIp: (
          gatewayOrFamily: string,
          isInternal?: boolean | undefined
          ) => string | undefined;
          • Parameter gatewayOrFamily

            gateway or family

            Parameter isInternal

            ip should be internal

            Returns

            {string | undefined} resolved IP

          method getClientEntry

          getClientEntry: () => string;
          • Returns

            {string}

          method getClientHotEntry

          getClientHotEntry: () => string | void;
          • Returns

            {string | void} client hot entry

          method getFreePort

          static getFreePort: (port: Port, host: string) => Promise<number | string>;
          • Parameter port

            port

            Parameter host

            host

            Returns

            {Promise<number | string>} free port

          method getHostname

          static getHostname: (hostname: Host) => Promise<string>;
          • Parameter hostname

            hostname

            Returns

            {Promise} resolved hostname

          method invalidate

          invalidate: (
          callback?: import('webpack-dev-middleware').Callback | undefined
          ) => void;
          • Parameter callback

            callback

          method isAbsoluteURL

          static isAbsoluteURL: (URL: string) => boolean;
          • Parameter URL

            url

            Returns

            {boolean} true when URL is absolute, otherwise false

          method sendMessage

          sendMessage: (
          clients: ClientConnection[],
          type: string,
          data?: EXPECTED_ANY | undefined,
          params?: EXPECTED_ANY | undefined
          ) => void;
          • Parameter clients

            clients

            Parameter type

            type

            Parameter data

            data

            Parameter params

            params

          method start

          start: () => Promise<void>;
          • Returns

            {Promise}

          method startCallback

          startCallback: (callback?: (err?: Error) => void) => void;
          • Parameter callback

            callback

          method stop

          stop: () => Promise<void>;
          • Returns

            {Promise}

          method stopCallback

          stopCallback: (callback?: (err?: Error) => void) => void;
          • Parameter callback

            callback

          method watchFiles

          watchFiles: (
          watchPath: string | string[],
          watchOptions?: WatchOptions | undefined
          ) => Promise<void>;
          • Parameter watchPath

            watch path

            Parameter watchOptions

            watch options

            Returns

            {Promise}

          Type Aliases

          type BasicApplication

          type BasicApplication = {
          use: typeof useFn;
          };

            type BasicServer

            type BasicServer = import('net').Server | import('tls').Server;

              type Bonjour

              type Bonjour = import('bonjour-service').Bonjour;

                type BonjourOptions

                type BonjourOptions = import('bonjour-service').Service;

                  type ClientConfiguration

                  type ClientConfiguration = {
                  /**
                  * logging
                  */
                  logging?: ('log' | 'info' | 'warn' | 'error' | 'none' | 'verbose') | undefined;
                  /**
                  * overlay
                  */
                  overlay?:
                  | (
                  | boolean
                  | {
                  warnings?: OverlayMessageOptions;
                  errors?: OverlayMessageOptions;
                  runtimeErrors?: OverlayMessageOptions;
                  }
                  )
                  | undefined;
                  /**
                  * progress
                  */
                  progress?: boolean | undefined;
                  /**
                  * reconnect
                  */
                  reconnect?: (boolean | number) | undefined;
                  /**
                  * web socket transport
                  */
                  webSocketTransport?: ('ws' | string) | undefined;
                  /**
                  * web socket URL
                  */
                  webSocketURL?: (string | WebSocketURL) | undefined;
                  };

                    type ClientConnection

                    type ClientConnection = (import('ws').WebSocket & {
                    send: import('ws').WebSocket['send'];
                    terminate: import('ws').WebSocket['terminate'];
                    ping: import('ws').WebSocket['ping'];
                    }) & {
                    isAlive?: boolean;
                    };

                      type Compiler

                      type Compiler = import('webpack').Compiler;

                        type Configuration

                        type Configuration<
                        A extends BasicApplication = import('express').Application,
                        S extends BasicServer = import('http').Server<
                        typeof import('http').IncomingMessage,
                        typeof import('http').ServerResponse
                        >
                        > = {
                        ipc?: (boolean | string) | undefined;
                        host?: Host | undefined;
                        port?: Port | undefined;
                        hot?: (boolean | 'only') | undefined;
                        liveReload?: boolean | undefined;
                        devMiddleware?: DevMiddlewareOptions<Request, Response> | undefined;
                        compress?: boolean | undefined;
                        allowedHosts?: ('auto' | 'all' | string | string[]) | undefined;
                        historyApiFallback?: (boolean | ConnectHistoryApiFallbackOptions) | undefined;
                        bonjour?: (boolean | Record<string, never> | BonjourOptions) | undefined;
                        watchFiles?:
                        | (string | string[] | WatchFiles | (string | WatchFiles)[])
                        | undefined;
                        static?: (boolean | string | Static | (string | Static)[]) | undefined;
                        server?: (ServerType<A, S> | ServerConfiguration<A, S>) | undefined;
                        app?: (() => Promise<A>) | undefined;
                        webSocketServer?:
                        | (boolean | 'ws' | string | WebSocketServerConfiguration)
                        | undefined;
                        proxy?: ProxyConfigArray | undefined;
                        open?: (boolean | string | Open | (string | Open)[]) | undefined;
                        setupExitSignals?: boolean | undefined;
                        client?: (boolean | ClientConfiguration) | undefined;
                        headers?:
                        | (
                        | Headers
                        | ((
                        req: Request,
                        res: Response,
                        context: DevMiddlewareContext<Request, Response> | undefined
                        ) => Headers)
                        )
                        | undefined;
                        onListening?: ((devServer: Server<A, S>) => void) | undefined;
                        setupMiddlewares?:
                        | ((middlewares: Middleware[], devServer: Server<A, S>) => Middleware[])
                        | undefined;
                        };

                          type ConnectHistoryApiFallbackOptions

                          type ConnectHistoryApiFallbackOptions =
                          import('connect-history-api-fallback').Options;

                            type DevMiddlewareContext

                            type DevMiddlewareContext<
                            T extends Request,
                            U extends Response
                            > = import('webpack-dev-middleware').Context<T, U>;

                              type DevMiddlewareOptions

                              type DevMiddlewareOptions<
                              T extends Request,
                              U extends Response
                              > = import('webpack-dev-middleware').Options<T, U>;

                                type ErrorHandleFunction

                                type ErrorHandleFunction = (
                                err: EXPECTED_ANY,
                                req: IncomingMessage,
                                res: ServerResponse,
                                next: NextFunction
                                ) => void;

                                  type EXPECTED_ANY

                                  type EXPECTED_ANY = any;

                                    type ExpressApplication

                                    type ExpressApplication = import('express').Application;

                                      type ExpressErrorRequestHandler

                                      type ExpressErrorRequestHandler = import('express').ErrorRequestHandler;

                                        type ExpressRequest

                                        type ExpressRequest = import('express').Request;

                                          type ExpressRequestHandler

                                          type ExpressRequestHandler = import('express').RequestHandler;

                                            type ExpressResponse

                                            type ExpressResponse = import('express').Response;

                                              type FSWatcher

                                              type FSWatcher = import('chokidar').FSWatcher;

                                                type FunctionReturning

                                                type FunctionReturning<T> = () => T;

                                                  type HandleFunction

                                                  type HandleFunction =
                                                  | SimpleHandleFunction
                                                  | NextHandleFunction
                                                  | ErrorHandleFunction;

                                                    type Headers

                                                    type Headers =
                                                    | {
                                                    key: string;
                                                    value: string;
                                                    }[]
                                                    | Record<string, string | string[]>;

                                                      type Host

                                                      type Host = 'local-ip' | 'local-ipv4' | 'local-ipv6' | string;

                                                        type HttpProxyMiddlewareOptions

                                                        type HttpProxyMiddlewareOptions = import('http-proxy-middleware').Options;

                                                          type HttpProxyMiddlewareOptionsFilter

                                                          type HttpProxyMiddlewareOptionsFilter = import('http-proxy-middleware').Filter;

                                                            type HTTPServer

                                                            type HTTPServer = import('http').Server;

                                                              type IncomingMessage

                                                              type IncomingMessage = import('http').IncomingMessage;

                                                                type IPv4

                                                                type IPv4 = import('ipaddr.js').IPv4;

                                                                  type IPv6

                                                                  type IPv6 = import('ipaddr.js').IPv6;

                                                                    type Middleware

                                                                    type Middleware = MiddlewareObject | MiddlewareHandler;

                                                                      type MiddlewareHandler

                                                                      type MiddlewareHandler<T extends BasicApplication = import('express').Application> =
                                                                      T extends ExpressApplication
                                                                      ? ExpressRequestHandler | ExpressErrorRequestHandler
                                                                      : HandleFunction;

                                                                        type MiddlewareObject

                                                                        type MiddlewareObject = {
                                                                        name?: string;
                                                                        path?: string;
                                                                        middleware: MiddlewareHandler;
                                                                        };

                                                                          type MultiCompiler

                                                                          type MultiCompiler = import('webpack').MultiCompiler;

                                                                            type MultiStats

                                                                            type MultiStats = import('webpack').MultiStats;

                                                                              type NetworkInterfaceInfo

                                                                              type NetworkInterfaceInfo = import('os').NetworkInterfaceInfo;

                                                                                type NextFunction

                                                                                type NextFunction = (err?: EXPECTED_ANY) => void;

                                                                                  type NextHandleFunction

                                                                                  type NextHandleFunction = (
                                                                                  req: IncomingMessage,
                                                                                  res: ServerResponse,
                                                                                  next: NextFunction
                                                                                  ) => void;

                                                                                    type NormalizedOpen

                                                                                    type NormalizedOpen = {
                                                                                    target: string;
                                                                                    options: import('open').Options;
                                                                                    };

                                                                                      type NormalizedStatic

                                                                                      type NormalizedStatic = {
                                                                                      directory: string;
                                                                                      publicPath: string[];
                                                                                      serveIndex: false | ServeIndexOptions;
                                                                                      staticOptions: ServeStaticOptions;
                                                                                      watch: false | WatchOptions;
                                                                                      };

                                                                                        type Open

                                                                                        type Open = {
                                                                                        app?: (string | string[] | OpenApp) | undefined;
                                                                                        /**
                                                                                        * target
                                                                                        */
                                                                                        target?: (string | string[]) | undefined;
                                                                                        };

                                                                                          type OpenApp

                                                                                          type OpenApp = {
                                                                                          name?: string | undefined;
                                                                                          arguments?: string[] | undefined;
                                                                                          };

                                                                                            type OpenOptions

                                                                                            type OpenOptions = import('open').Options;

                                                                                              type OverlayMessageOptions

                                                                                              type OverlayMessageOptions = boolean | ((error: Error) => void);

                                                                                                type Port

                                                                                                type Port = number | string | 'auto';

                                                                                                  type ProxyConfigArray

                                                                                                  type ProxyConfigArray = (
                                                                                                  | ProxyConfigArrayItem
                                                                                                  | ((
                                                                                                  req?: Request | undefined,
                                                                                                  res?: Response | undefined,
                                                                                                  next?: NextFunction | undefined
                                                                                                  ) => ProxyConfigArrayItem)
                                                                                                  )[];

                                                                                                    type ProxyConfigArrayItem

                                                                                                    type ProxyConfigArrayItem = {
                                                                                                    path?: HttpProxyMiddlewareOptionsFilter | undefined;
                                                                                                    context?: HttpProxyMiddlewareOptionsFilter | undefined;
                                                                                                    } & HttpProxyMiddlewareOptions;

                                                                                                      type Request

                                                                                                      type Request<T extends BasicApplication = import('express').Application> =
                                                                                                      T extends ExpressApplication ? ExpressRequest : IncomingMessage;

                                                                                                        type RequestHandler

                                                                                                        type RequestHandler = import('http-proxy-middleware').RequestHandler;

                                                                                                          type Response

                                                                                                          type Response<T extends BasicApplication = import('express').Application> =
                                                                                                          T extends ExpressApplication ? ExpressResponse : ServerResponse;

                                                                                                            type Schema

                                                                                                            type Schema = import('schema-utils').Schema;

                                                                                                              type ServeIndexOptions

                                                                                                              type ServeIndexOptions = import('serve-index').Options;

                                                                                                                type ServerConfiguration

                                                                                                                type ServerConfiguration<
                                                                                                                A extends BasicApplication = import('express').Application,
                                                                                                                S extends BasicServer = import('http').Server<
                                                                                                                typeof import('http').IncomingMessage,
                                                                                                                typeof import('http').ServerResponse
                                                                                                                >
                                                                                                                > = {
                                                                                                                /**
                                                                                                                * type
                                                                                                                */
                                                                                                                type?: ServerType<A, S> | undefined;
                                                                                                                /**
                                                                                                                * options
                                                                                                                */
                                                                                                                options?: ServerOptions | undefined;
                                                                                                                };

                                                                                                                  type ServerOptions

                                                                                                                  type ServerOptions = import('https').ServerOptions;

                                                                                                                    type ServerResponse

                                                                                                                    type ServerResponse = import('http').ServerResponse;

                                                                                                                      type ServerType

                                                                                                                      type ServerType<
                                                                                                                      A extends BasicApplication = import('express').Application,
                                                                                                                      S extends BasicServer = import('http').Server<
                                                                                                                      typeof import('http').IncomingMessage,
                                                                                                                      typeof import('http').ServerResponse
                                                                                                                      >
                                                                                                                      > =
                                                                                                                      | 'http'
                                                                                                                      | 'https'
                                                                                                                      | 'http2'
                                                                                                                      | string
                                                                                                                      | ((serverOptions: ServerOptions, application: A) => S);

                                                                                                                        type ServeStaticOptions

                                                                                                                        type ServeStaticOptions = import('serve-static').ServeStaticOptions;

                                                                                                                          type SimpleHandleFunction

                                                                                                                          type SimpleHandleFunction = (req: IncomingMessage, res: ServerResponse) => void;

                                                                                                                            type Socket

                                                                                                                            type Socket = import('net').Socket;

                                                                                                                              type Static

                                                                                                                              type Static = {
                                                                                                                              /**
                                                                                                                              * directory
                                                                                                                              */
                                                                                                                              directory?: string | undefined;
                                                                                                                              /**
                                                                                                                              * public path
                                                                                                                              */
                                                                                                                              publicPath?: (string | string[]) | undefined;
                                                                                                                              /**
                                                                                                                              * serve index
                                                                                                                              */
                                                                                                                              serveIndex?: (boolean | ServeIndexOptions) | undefined;
                                                                                                                              /**
                                                                                                                              * static options
                                                                                                                              */
                                                                                                                              staticOptions?: ServeStaticOptions | undefined;
                                                                                                                              /**
                                                                                                                              * watch and watch options
                                                                                                                              */
                                                                                                                              watch?:
                                                                                                                              | (
                                                                                                                              | boolean
                                                                                                                              | (WatchOptions & {
                                                                                                                              aggregateTimeout?: number;
                                                                                                                              ignored?: WatchOptions['ignored'];
                                                                                                                              poll?: number | boolean;
                                                                                                                              })
                                                                                                                              )
                                                                                                                              | undefined;
                                                                                                                              };

                                                                                                                                type Stats

                                                                                                                                type Stats = import('webpack').Stats;

                                                                                                                                  type StatsCompilation

                                                                                                                                  type StatsCompilation = import('webpack').StatsCompilation;

                                                                                                                                    type StatsOptions

                                                                                                                                    type StatsOptions = import('webpack').StatsOptions;

                                                                                                                                      type WatchFiles

                                                                                                                                      type WatchFiles = {
                                                                                                                                      /**
                                                                                                                                      * paths
                                                                                                                                      */
                                                                                                                                      paths: string | string[];
                                                                                                                                      /**
                                                                                                                                      * options
                                                                                                                                      */
                                                                                                                                      options?:
                                                                                                                                      | (WatchOptions & {
                                                                                                                                      aggregateTimeout?: number;
                                                                                                                                      ignored?: WatchOptions['ignored'];
                                                                                                                                      poll?: number | boolean;
                                                                                                                                      })
                                                                                                                                      | undefined;
                                                                                                                                      };

                                                                                                                                        type WatchOptions

                                                                                                                                        type WatchOptions = import('chokidar').ChokidarOptions;

                                                                                                                                          type WebpackConfiguration

                                                                                                                                          type WebpackConfiguration = import('webpack').Configuration;

                                                                                                                                            type WebSocketServer

                                                                                                                                            type WebSocketServer = import('ws').WebSocketServer & {
                                                                                                                                            close: import('ws').WebSocketServer['close'];
                                                                                                                                            };

                                                                                                                                              type WebSocketServerConfiguration

                                                                                                                                              type WebSocketServerConfiguration = {
                                                                                                                                              /**
                                                                                                                                              * type
                                                                                                                                              */
                                                                                                                                              type?: ('ws' | string | (() => WebSocketServerConfiguration)) | undefined;
                                                                                                                                              /**
                                                                                                                                              * options
                                                                                                                                              */
                                                                                                                                              options?: Record<string, EXPECTED_ANY> | undefined;
                                                                                                                                              };

                                                                                                                                                type WebSocketServerImplementation

                                                                                                                                                type WebSocketServerImplementation = {
                                                                                                                                                implementation: WebSocketServer;
                                                                                                                                                clients: ClientConnection[];
                                                                                                                                                };

                                                                                                                                                  type WebSocketURL

                                                                                                                                                  type WebSocketURL = {
                                                                                                                                                  /**
                                                                                                                                                  * hostname
                                                                                                                                                  */
                                                                                                                                                  hostname?: string | undefined;
                                                                                                                                                  /**
                                                                                                                                                  * password
                                                                                                                                                  */
                                                                                                                                                  password?: string | undefined;
                                                                                                                                                  /**
                                                                                                                                                  * pathname
                                                                                                                                                  */
                                                                                                                                                  pathname?: string | undefined;
                                                                                                                                                  /**
                                                                                                                                                  * port
                                                                                                                                                  */
                                                                                                                                                  port?: (number | string) | undefined;
                                                                                                                                                  /**
                                                                                                                                                  * protocol
                                                                                                                                                  */
                                                                                                                                                  protocol?: string | undefined;
                                                                                                                                                  /**
                                                                                                                                                  * username
                                                                                                                                                  */
                                                                                                                                                  username?: string | undefined;
                                                                                                                                                  };

                                                                                                                                                    Package Files (1)

                                                                                                                                                    Dependencies (25)

                                                                                                                                                    Dev Dependencies (61)

                                                                                                                                                    Peer Dependencies (1)

                                                                                                                                                    Badge

                                                                                                                                                    To add a badge like this onejsDocs.io badgeto your package's README, use the codes available below.

                                                                                                                                                    You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/webpack-dev-server.

                                                                                                                                                    • Markdown
                                                                                                                                                      [![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/webpack-dev-server)
                                                                                                                                                    • HTML
                                                                                                                                                      <a href="https://www.jsdocs.io/package/webpack-dev-server"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>