UNPKG

113 kBTypeScriptView Raw
1/// <reference types="node" />
2export = Server;
3declare class Server {
4 static get cli(): {
5 readonly getArguments: () => {
6 "allowed-hosts": {
7 configs: (
8 | {
9 type: string;
10 multiple: boolean;
11 description: string;
12 path: string;
13 }
14 | {
15 description: string;
16 multiple: boolean;
17 path: string;
18 type: string;
19 values: string[];
20 }
21 )[];
22 description: string;
23 /** @typedef {import("os").NetworkInterfaceInfo} NetworkInterfaceInfo */
24 /** @typedef {import("express").Request} Request */
25 /** @typedef {import("express").Response} Response */
26 /** @typedef {import("express").NextFunction} NextFunction */
27 /** @typedef {import("express").RequestHandler} ExpressRequestHandler */
28 /** @typedef {import("express").ErrorRequestHandler} ExpressErrorRequestHandler */
29 /** @typedef {import("chokidar").WatchOptions} WatchOptions */
30 /** @typedef {import("chokidar").FSWatcher} FSWatcher */
31 /** @typedef {import("connect-history-api-fallback").Options} ConnectHistoryApiFallbackOptions */
32 /** @typedef {import("bonjour-service").Bonjour} Bonjour */
33 /** @typedef {import("bonjour-service").Service} BonjourOptions */
34 /** @typedef {import("http-proxy-middleware").RequestHandler} RequestHandler */
35 /** @typedef {import("http-proxy-middleware").Options} HttpProxyMiddlewareOptions */
36 /** @typedef {import("http-proxy-middleware").Filter} HttpProxyMiddlewareOptionsFilter */
37 /** @typedef {import("serve-index").Options} ServeIndexOptions */
38 /** @typedef {import("serve-static").ServeStaticOptions} ServeStaticOptions */
39 /** @typedef {import("ipaddr.js").IPv4} IPv4 */
40 /** @typedef {import("ipaddr.js").IPv6} IPv6 */
41 /** @typedef {import("net").Socket} Socket */
42 /** @typedef {import("http").IncomingMessage} IncomingMessage */
43 /** @typedef {import("open").Options} OpenOptions */
44 /** @typedef {import("https").ServerOptions & { spdy?: { plain?: boolean | undefined, ssl?: boolean | undefined, 'x-forwarded-for'?: string | undefined, protocol?: string | undefined, protocols?: string[] | undefined }}} ServerOptions */
45 /**
46 * @template Request, Response
47 * @typedef {import("webpack-dev-middleware").Options<Request, Response>} DevMiddlewareOptions
48 */
49 /**
50 * @template Request, Response
51 * @typedef {import("webpack-dev-middleware").Context<Request, Response>} DevMiddlewareContext
52 */
53 /**
54 * @typedef {"local-ip" | "local-ipv4" | "local-ipv6" | string} Host
55 */
56 /**
57 * @typedef {number | string | "auto"} Port
58 */
59 /**
60 * @typedef {Object} WatchFiles
61 * @property {string | string[]} paths
62 * @property {WatchOptions & { aggregateTimeout?: number, ignored?: WatchOptions["ignored"], poll?: number | boolean }} [options]
63 */
64 /**
65 * @typedef {Object} Static
66 * @property {string} [directory]
67 * @property {string | string[]} [publicPath]
68 * @property {boolean | ServeIndexOptions} [serveIndex]
69 * @property {ServeStaticOptions} [staticOptions]
70 * @property {boolean | WatchOptions & { aggregateTimeout?: number, ignored?: WatchOptions["ignored"], poll?: number | boolean }} [watch]
71 */
72 /**
73 * @typedef {Object} NormalizedStatic
74 * @property {string} directory
75 * @property {string[]} publicPath
76 * @property {false | ServeIndexOptions} serveIndex
77 * @property {ServeStaticOptions} staticOptions
78 * @property {false | WatchOptions} watch
79 */
80 /**
81 * @typedef {Object} ServerConfiguration
82 * @property {"http" | "https" | "spdy" | string} [type]
83 * @property {ServerOptions} [options]
84 */
85 /**
86 * @typedef {Object} WebSocketServerConfiguration
87 * @property {"sockjs" | "ws" | string | Function} [type]
88 * @property {Record<string, any>} [options]
89 */
90 /**
91 * @typedef {(import("ws").WebSocket | import("sockjs").Connection & { send: import("ws").WebSocket["send"], terminate: import("ws").WebSocket["terminate"], ping: import("ws").WebSocket["ping"] }) & { isAlive?: boolean }} ClientConnection
92 */
93 /**
94 * @typedef {import("ws").WebSocketServer | import("sockjs").Server & { close: import("ws").WebSocketServer["close"] }} WebSocketServer
95 */
96 /**
97 * @typedef {{ implementation: WebSocketServer, clients: ClientConnection[] }} WebSocketServerImplementation
98 */
99 /**
100 * @callback ByPass
101 * @param {Request} req
102 * @param {Response} res
103 * @param {ProxyConfigArrayItem} proxyConfig
104 */
105 /**
106 * @typedef {{ path?: HttpProxyMiddlewareOptionsFilter | undefined, context?: HttpProxyMiddlewareOptionsFilter | undefined } & { bypass?: ByPass } & HttpProxyMiddlewareOptions } ProxyConfigArrayItem
107 */
108 /**
109 * @typedef {(ProxyConfigArrayItem | ((req?: Request | undefined, res?: Response | undefined, next?: NextFunction | undefined) => ProxyConfigArrayItem))[]} ProxyConfigArray
110 */
111 /**
112 * @typedef {{ [url: string]: string | ProxyConfigArrayItem }} ProxyConfigMap
113 */
114 /**
115 * @typedef {Object} OpenApp
116 * @property {string} [name]
117 * @property {string[]} [arguments]
118 */
119 /**
120 * @typedef {Object} Open
121 * @property {string | string[] | OpenApp} [app]
122 * @property {string | string[]} [target]
123 */
124 /**
125 * @typedef {Object} NormalizedOpen
126 * @property {string} target
127 * @property {import("open").Options} options
128 */
129 /**
130 * @typedef {Object} WebSocketURL
131 * @property {string} [hostname]
132 * @property {string} [password]
133 * @property {string} [pathname]
134 * @property {number | string} [port]
135 * @property {string} [protocol]
136 * @property {string} [username]
137 */
138 /**
139 * @typedef {Object} ClientConfiguration
140 * @property {"log" | "info" | "warn" | "error" | "none" | "verbose"} [logging]
141 * @property {boolean | { warnings?: boolean, errors?: boolean }} [overlay]
142 * @property {boolean} [progress]
143 * @property {boolean | number} [reconnect]
144 * @property {"ws" | "sockjs" | string} [webSocketTransport]
145 * @property {string | WebSocketURL} [webSocketURL]
146 */
147 /**
148 * @typedef {Array<{ key: string; value: string }> | Record<string, string | string[]>} Headers
149 */
150 /**
151 * @typedef {{ name?: string, path?: string, middleware: ExpressRequestHandler | ExpressErrorRequestHandler } | ExpressRequestHandler | ExpressErrorRequestHandler} Middleware
152 */
153 /**
154 * @typedef {Object} Configuration
155 * @property {boolean | string} [ipc]
156 * @property {Host} [host]
157 * @property {Port} [port]
158 * @property {boolean | "only"} [hot]
159 * @property {boolean} [liveReload]
160 * @property {DevMiddlewareOptions<Request, Response>} [devMiddleware]
161 * @property {boolean} [compress]
162 * @property {boolean} [magicHtml]
163 * @property {"auto" | "all" | string | string[]} [allowedHosts]
164 * @property {boolean | ConnectHistoryApiFallbackOptions} [historyApiFallback]
165 * @property {boolean} [setupExitSignals]
166 * @property {boolean | Record<string, never> | BonjourOptions} [bonjour]
167 * @property {string | string[] | WatchFiles | Array<string | WatchFiles>} [watchFiles]
168 * @property {boolean | string | Static | Array<string | Static>} [static]
169 * @property {boolean | ServerOptions} [https]
170 * @property {boolean} [http2]
171 * @property {"http" | "https" | "spdy" | string | ServerConfiguration} [server]
172 * @property {boolean | "sockjs" | "ws" | string | WebSocketServerConfiguration} [webSocketServer]
173 * @property {ProxyConfigMap | ProxyConfigArrayItem | ProxyConfigArray} [proxy]
174 * @property {boolean | string | Open | Array<string | Open>} [open]
175 * @property {boolean} [setupExitSignals]
176 * @property {boolean | ClientConfiguration} [client]
177 * @property {Headers | ((req: Request, res: Response, context: DevMiddlewareContext<Request, Response>) => Headers)} [headers]
178 * @property {(devServer: Server) => void} [onAfterSetupMiddleware]
179 * @property {(devServer: Server) => void} [onBeforeSetupMiddleware]
180 * @property {(devServer: Server) => void} [onListening]
181 * @property {(middlewares: Middleware[], devServer: Server) => Middleware[]} [setupMiddlewares]
182 */
183 multiple: boolean;
184 simpleType: string;
185 };
186 "allowed-hosts-reset": {
187 configs: {
188 type: string;
189 multiple: boolean;
190 description: string;
191 path: string;
192 }[];
193 description: string;
194 simpleType: string;
195 multiple: boolean;
196 };
197 bonjour: {
198 configs: {
199 type: string;
200 multiple: boolean;
201 description: string;
202 negatedDescription: string;
203 path: string;
204 }[];
205 description: string;
206 simpleType: string;
207 multiple: boolean;
208 };
209 client: {
210 configs: {
211 description: string;
212 negatedDescription: string;
213 multiple: boolean;
214 path: string;
215 type: string;
216 values: boolean[];
217 }[];
218 description: string;
219 multiple: boolean;
220 simpleType: string;
221 };
222 "client-logging": {
223 /**
224 * @template Request, Response
225 * @typedef {import("webpack-dev-middleware").Options<Request, Response>} DevMiddlewareOptions
226 */
227 /**
228 * @template Request, Response
229 * @typedef {import("webpack-dev-middleware").Context<Request, Response>} DevMiddlewareContext
230 */
231 /**
232 * @typedef {"local-ip" | "local-ipv4" | "local-ipv6" | string} Host
233 */
234 /**
235 * @typedef {number | string | "auto"} Port
236 */
237 /**
238 * @typedef {Object} WatchFiles
239 * @property {string | string[]} paths
240 * @property {WatchOptions & { aggregateTimeout?: number, ignored?: WatchOptions["ignored"], poll?: number | boolean }} [options]
241 */
242 /**
243 * @typedef {Object} Static
244 * @property {string} [directory]
245 * @property {string | string[]} [publicPath]
246 * @property {boolean | ServeIndexOptions} [serveIndex]
247 * @property {ServeStaticOptions} [staticOptions]
248 * @property {boolean | WatchOptions & { aggregateTimeout?: number, ignored?: WatchOptions["ignored"], poll?: number | boolean }} [watch]
249 */
250 /**
251 * @typedef {Object} NormalizedStatic
252 * @property {string} directory
253 * @property {string[]} publicPath
254 * @property {false | ServeIndexOptions} serveIndex
255 * @property {ServeStaticOptions} staticOptions
256 * @property {false | WatchOptions} watch
257 */
258 /**
259 * @typedef {Object} ServerConfiguration
260 * @property {"http" | "https" | "spdy" | string} [type]
261 * @property {ServerOptions} [options]
262 */
263 /**
264 * @typedef {Object} WebSocketServerConfiguration
265 * @property {"sockjs" | "ws" | string | Function} [type]
266 * @property {Record<string, any>} [options]
267 */
268 /**
269 * @typedef {(import("ws").WebSocket | import("sockjs").Connection & { send: import("ws").WebSocket["send"], terminate: import("ws").WebSocket["terminate"], ping: import("ws").WebSocket["ping"] }) & { isAlive?: boolean }} ClientConnection
270 */
271 /**
272 * @typedef {import("ws").WebSocketServer | import("sockjs").Server & { close: import("ws").WebSocketServer["close"] }} WebSocketServer
273 */
274 /**
275 * @typedef {{ implementation: WebSocketServer, clients: ClientConnection[] }} WebSocketServerImplementation
276 */
277 /**
278 * @callback ByPass
279 * @param {Request} req
280 * @param {Response} res
281 * @param {ProxyConfigArrayItem} proxyConfig
282 */
283 /**
284 * @typedef {{ path?: HttpProxyMiddlewareOptionsFilter | undefined, context?: HttpProxyMiddlewareOptionsFilter | undefined } & { bypass?: ByPass } & HttpProxyMiddlewareOptions } ProxyConfigArrayItem
285 */
286 /**
287 * @typedef {(ProxyConfigArrayItem | ((req?: Request | undefined, res?: Response | undefined, next?: NextFunction | undefined) => ProxyConfigArrayItem))[]} ProxyConfigArray
288 */
289 /**
290 * @typedef {{ [url: string]: string | ProxyConfigArrayItem }} ProxyConfigMap
291 */
292 /**
293 * @typedef {Object} OpenApp
294 * @property {string} [name]
295 * @property {string[]} [arguments]
296 */
297 /**
298 * @typedef {Object} Open
299 * @property {string | string[] | OpenApp} [app]
300 * @property {string | string[]} [target]
301 */
302 /**
303 * @typedef {Object} NormalizedOpen
304 * @property {string} target
305 * @property {import("open").Options} options
306 */
307 /**
308 * @typedef {Object} WebSocketURL
309 * @property {string} [hostname]
310 * @property {string} [password]
311 * @property {string} [pathname]
312 * @property {number | string} [port]
313 * @property {string} [protocol]
314 * @property {string} [username]
315 */
316 /**
317 * @typedef {Object} ClientConfiguration
318 * @property {"log" | "info" | "warn" | "error" | "none" | "verbose"} [logging]
319 * @property {boolean | { warnings?: boolean, errors?: boolean }} [overlay]
320 * @property {boolean} [progress]
321 * @property {boolean | number} [reconnect]
322 * @property {"ws" | "sockjs" | string} [webSocketTransport]
323 * @property {string | WebSocketURL} [webSocketURL]
324 */
325 /**
326 * @typedef {Array<{ key: string; value: string }> | Record<string, string | string[]>} Headers
327 */
328 /**
329 * @typedef {{ name?: string, path?: string, middleware: ExpressRequestHandler | ExpressErrorRequestHandler } | ExpressRequestHandler | ExpressErrorRequestHandler} Middleware
330 */
331 /**
332 * @typedef {Object} Configuration
333 * @property {boolean | string} [ipc]
334 * @property {Host} [host]
335 * @property {Port} [port]
336 * @property {boolean | "only"} [hot]
337 * @property {boolean} [liveReload]
338 * @property {DevMiddlewareOptions<Request, Response>} [devMiddleware]
339 * @property {boolean} [compress]
340 * @property {boolean} [magicHtml]
341 * @property {"auto" | "all" | string | string[]} [allowedHosts]
342 * @property {boolean | ConnectHistoryApiFallbackOptions} [historyApiFallback]
343 * @property {boolean} [setupExitSignals]
344 * @property {boolean | Record<string, never> | BonjourOptions} [bonjour]
345 * @property {string | string[] | WatchFiles | Array<string | WatchFiles>} [watchFiles]
346 * @property {boolean | string | Static | Array<string | Static>} [static]
347 * @property {boolean | ServerOptions} [https]
348 * @property {boolean} [http2]
349 * @property {"http" | "https" | "spdy" | string | ServerConfiguration} [server]
350 * @property {boolean | "sockjs" | "ws" | string | WebSocketServerConfiguration} [webSocketServer]
351 * @property {ProxyConfigMap | ProxyConfigArrayItem | ProxyConfigArray} [proxy]
352 * @property {boolean | string | Open | Array<string | Open>} [open]
353 * @property {boolean} [setupExitSignals]
354 * @property {boolean | ClientConfiguration} [client]
355 * @property {Headers | ((req: Request, res: Response, context: DevMiddlewareContext<Request, Response>) => Headers)} [headers]
356 * @property {(devServer: Server) => void} [onAfterSetupMiddleware]
357 * @property {(devServer: Server) => void} [onBeforeSetupMiddleware]
358 * @property {(devServer: Server) => void} [onListening]
359 * @property {(middlewares: Middleware[], devServer: Server) => Middleware[]} [setupMiddlewares]
360 */
361 configs: {
362 type: string;
363 values: string[];
364 multiple: boolean;
365 description: string;
366 path: string;
367 }[];
368 description: string;
369 simpleType: string;
370 multiple: boolean;
371 };
372 "client-overlay": {
373 configs: {
374 type: string;
375 multiple: boolean;
376 description: string;
377 negatedDescription: string;
378 path: string;
379 }[];
380 description: string;
381 simpleType: string;
382 multiple: boolean;
383 };
384 "client-overlay-errors": {
385 configs: {
386 type: string;
387 multiple: boolean;
388 description: string;
389 negatedDescription: string;
390 path: string;
391 }[];
392 description: string;
393 simpleType: string;
394 multiple: boolean;
395 };
396 "client-overlay-trusted-types-policy-name": {
397 configs: {
398 description: string;
399 multiple: boolean;
400 path: string;
401 type: string;
402 }[];
403 description: string;
404 multiple: boolean;
405 simpleType: string;
406 };
407 "client-overlay-warnings": {
408 configs: {
409 type: string;
410 multiple: boolean;
411 description: string;
412 negatedDescription: string;
413 path: string;
414 }[];
415 description: string;
416 simpleType: string;
417 multiple: boolean;
418 };
419 "client-progress": {
420 configs: {
421 type: string;
422 multiple: boolean;
423 description: string;
424 negatedDescription: string;
425 path: string;
426 }[];
427 description: string;
428 simpleType: string;
429 multiple: boolean;
430 };
431 /**
432 * @typedef {Object} WebSocketURL
433 * @property {string} [hostname]
434 * @property {string} [password]
435 * @property {string} [pathname]
436 * @property {number | string} [port]
437 * @property {string} [protocol]
438 * @property {string} [username]
439 */
440 /**
441 * @typedef {Object} ClientConfiguration
442 * @property {"log" | "info" | "warn" | "error" | "none" | "verbose"} [logging]
443 * @property {boolean | { warnings?: boolean, errors?: boolean }} [overlay]
444 * @property {boolean} [progress]
445 * @property {boolean | number} [reconnect]
446 * @property {"ws" | "sockjs" | string} [webSocketTransport]
447 * @property {string | WebSocketURL} [webSocketURL]
448 */
449 /**
450 * @typedef {Array<{ key: string; value: string }> | Record<string, string | string[]>} Headers
451 */
452 /**
453 * @typedef {{ name?: string, path?: string, middleware: ExpressRequestHandler | ExpressErrorRequestHandler } | ExpressRequestHandler | ExpressErrorRequestHandler} Middleware
454 */
455 /**
456 * @typedef {Object} Configuration
457 * @property {boolean | string} [ipc]
458 * @property {Host} [host]
459 * @property {Port} [port]
460 * @property {boolean | "only"} [hot]
461 * @property {boolean} [liveReload]
462 * @property {DevMiddlewareOptions<Request, Response>} [devMiddleware]
463 * @property {boolean} [compress]
464 * @property {boolean} [magicHtml]
465 * @property {"auto" | "all" | string | string[]} [allowedHosts]
466 * @property {boolean | ConnectHistoryApiFallbackOptions} [historyApiFallback]
467 * @property {boolean} [setupExitSignals]
468 * @property {boolean | Record<string, never> | BonjourOptions} [bonjour]
469 * @property {string | string[] | WatchFiles | Array<string | WatchFiles>} [watchFiles]
470 * @property {boolean | string | Static | Array<string | Static>} [static]
471 * @property {boolean | ServerOptions} [https]
472 * @property {boolean} [http2]
473 * @property {"http" | "https" | "spdy" | string | ServerConfiguration} [server]
474 * @property {boolean | "sockjs" | "ws" | string | WebSocketServerConfiguration} [webSocketServer]
475 * @property {ProxyConfigMap | ProxyConfigArrayItem | ProxyConfigArray} [proxy]
476 * @property {boolean | string | Open | Array<string | Open>} [open]
477 * @property {boolean} [setupExitSignals]
478 * @property {boolean | ClientConfiguration} [client]
479 * @property {Headers | ((req: Request, res: Response, context: DevMiddlewareContext<Request, Response>) => Headers)} [headers]
480 * @property {(devServer: Server) => void} [onAfterSetupMiddleware]
481 * @property {(devServer: Server) => void} [onBeforeSetupMiddleware]
482 * @property {(devServer: Server) => void} [onListening]
483 * @property {(middlewares: Middleware[], devServer: Server) => Middleware[]} [setupMiddlewares]
484 */
485 "client-reconnect": {
486 configs: (
487 | {
488 type: string;
489 multiple: boolean;
490 description: string;
491 negatedDescription: string;
492 path: string;
493 }
494 | {
495 type: string;
496 multiple: boolean;
497 description: string;
498 path: string;
499 }
500 )[];
501 description: string;
502 simpleType: string;
503 multiple: boolean;
504 };
505 "client-web-socket-transport": {
506 configs: (
507 | {
508 type: string;
509 values: string[];
510 multiple: boolean;
511 description: string;
512 path: string;
513 }
514 | {
515 type: string;
516 multiple: boolean;
517 description: string;
518 path: string;
519 }
520 )[];
521 description: string;
522 simpleType: string;
523 multiple: boolean;
524 };
525 "client-web-socket-url": {
526 configs: {
527 type: string;
528 multiple: boolean;
529 description: string;
530 path: string;
531 }[];
532 description: string;
533 simpleType: string;
534 multiple: boolean;
535 };
536 "client-web-socket-url-hostname": {
537 configs: {
538 type: string;
539 multiple: boolean;
540 description: string;
541 path: string;
542 }[];
543 description: string;
544 simpleType: string;
545 multiple: boolean;
546 };
547 "client-web-socket-url-password": {
548 configs: {
549 type: string;
550 multiple: boolean;
551 description: string;
552 path: string;
553 }[];
554 description: string;
555 simpleType: string;
556 multiple: boolean;
557 };
558 "client-web-socket-url-pathname": {
559 configs: {
560 type: string;
561 multiple: boolean;
562 description: string;
563 path: string;
564 }[];
565 description: string;
566 simpleType: string;
567 multiple: boolean;
568 };
569 "client-web-socket-url-port": {
570 configs: {
571 type: string;
572 multiple: boolean;
573 description: string;
574 path: string;
575 }[];
576 description: string;
577 /**
578 * @type {FSWatcher[]}
579 */
580 simpleType: string;
581 multiple: boolean;
582 };
583 "client-web-socket-url-protocol": {
584 configs: (
585 | {
586 description: string;
587 multiple: boolean;
588 path: string;
589 type: string;
590 values: string[];
591 }
592 | {
593 description: string;
594 multiple: boolean;
595 path: string;
596 type: string;
597 }
598 )[];
599 description: string;
600 multiple: boolean;
601 simpleType: string;
602 };
603 "client-web-socket-url-username": {
604 configs: {
605 type: string;
606 multiple: boolean;
607 description: string;
608 path: string;
609 }[];
610 description: string;
611 simpleType: string;
612 multiple: boolean;
613 };
614 /**
615 * @param {string} URL
616 * @returns {boolean}
617 */
618 compress: {
619 configs: {
620 type: string;
621 multiple: boolean;
622 description: string;
623 negatedDescription: string;
624 path: string;
625 }[];
626 description: string;
627 simpleType: string;
628 /**
629 * @param {string} gateway
630 * @returns {string | undefined}
631 */
632 multiple: boolean;
633 };
634 "history-api-fallback": {
635 configs: {
636 type: string;
637 multiple: boolean;
638 description: string;
639 negatedDescription: string;
640 path: string;
641 }[];
642 description: string;
643 simpleType: string;
644 multiple: boolean;
645 };
646 host: {
647 configs: (
648 | {
649 description: string;
650 multiple: boolean;
651 path: string;
652 type: string;
653 values: string[];
654 }
655 | {
656 description: string;
657 multiple: boolean;
658 path: string;
659 type: string;
660 }
661 )[];
662 description: string;
663 simpleType: string;
664 /**
665 * @param {Host} hostname
666 * @returns {Promise<string>}
667 */
668 multiple: boolean;
669 };
670 hot: {
671 configs: (
672 | {
673 type: string;
674 multiple: boolean;
675 description: string;
676 negatedDescription: string;
677 path: string;
678 }
679 | {
680 type: string;
681 values: string[];
682 multiple: boolean;
683 description: string;
684 path: string;
685 }
686 )[];
687 description: string;
688 simpleType: string;
689 multiple: boolean;
690 };
691 http2: {
692 configs: {
693 type: string;
694 multiple: boolean;
695 description: string;
696 negatedDescription: string;
697 path: string;
698 }[];
699 description: string;
700 simpleType: string;
701 multiple: boolean;
702 };
703 https: {
704 configs: {
705 type: string;
706 multiple: boolean;
707 description: string;
708 negatedDescription: string;
709 path: string;
710 }[];
711 description: string;
712 simpleType: string;
713 multiple: boolean;
714 };
715 "https-ca": {
716 configs: {
717 type: string;
718 multiple: boolean;
719 description: string;
720 path: string;
721 }[];
722 description: string;
723 simpleType: string;
724 multiple: boolean;
725 };
726 "https-ca-reset": {
727 configs: {
728 description: string;
729 /**
730 * @type {string[]}
731 */
732 multiple: boolean;
733 path: string;
734 type: string;
735 }[];
736 description: string;
737 multiple: boolean;
738 simpleType: string;
739 };
740 "https-cacert": {
741 configs: {
742 type: string;
743 multiple: boolean;
744 description: string;
745 path: string;
746 }[];
747 description: string;
748 simpleType: string;
749 multiple: boolean;
750 };
751 "https-cacert-reset": {
752 configs: {
753 description: string;
754 multiple: boolean;
755 path: string;
756 type: string;
757 }[];
758 description: string;
759 multiple: boolean;
760 simpleType: string;
761 };
762 "https-cert": {
763 configs: {
764 type: string;
765 multiple: boolean;
766 description: string;
767 path: string;
768 }[];
769 description: string;
770 simpleType: string;
771 multiple: boolean;
772 };
773 "https-cert-reset": {
774 configs: {
775 description: string;
776 multiple: boolean;
777 path: string;
778 type: string;
779 }[];
780 description: string;
781 multiple: boolean;
782 simpleType: string;
783 };
784 "https-crl": {
785 configs: {
786 description: string;
787 multiple: boolean;
788 path: string;
789 type: string;
790 }[];
791 description: string;
792 multiple: boolean;
793 simpleType: string;
794 };
795 "https-crl-reset": {
796 configs: {
797 description: string;
798 multiple: boolean;
799 path: string;
800 type: string;
801 }[];
802 description: string;
803 multiple: boolean;
804 simpleType: string;
805 };
806 "https-key": {
807 configs: {
808 type: string;
809 multiple: boolean;
810 description: string;
811 path: string;
812 }[];
813 description: string;
814 simpleType: string;
815 multiple: boolean;
816 };
817 "https-key-reset": {
818 configs: {
819 description: string;
820 multiple: boolean;
821 path: string;
822 type: string;
823 }[];
824 description: string;
825 multiple: boolean;
826 simpleType: string;
827 };
828 "https-passphrase": {
829 configs: {
830 type: string;
831 multiple: boolean;
832 description: string;
833 path: string;
834 }[];
835 description: string;
836 simpleType: string;
837 multiple: boolean;
838 };
839 "https-pfx": {
840 configs: {
841 type: string;
842 multiple: boolean;
843 description: string;
844 path: string;
845 }[];
846 description: string;
847 simpleType: string;
848 multiple: boolean;
849 };
850 "https-pfx-reset": {
851 configs: {
852 description: string;
853 multiple: boolean;
854 path: string;
855 type: string;
856 }[];
857 description: string;
858 multiple: boolean;
859 simpleType: string;
860 };
861 "https-request-cert": {
862 configs: {
863 type: string;
864 multiple: boolean;
865 description: string;
866 /** @type {Object<string,string>} */ negatedDescription: string;
867 path: string;
868 }[];
869 description: string;
870 simpleType: string;
871 multiple: boolean;
872 };
873 ipc: {
874 configs: (
875 | {
876 type: string;
877 multiple: boolean;
878 /** @type {any} */
879 description: string;
880 path: string;
881 }
882 | {
883 type: string;
884 /** @type {any} */ values: boolean[];
885 multiple: boolean;
886 description: string;
887 path: string;
888 }
889 )[];
890 description: string;
891 simpleType: string;
892 multiple: boolean;
893 };
894 "live-reload": {
895 configs: {
896 type: string;
897 multiple: boolean;
898 description: string;
899 negatedDescription: string;
900 path: string;
901 }[];
902 description: string;
903 simpleType: string;
904 multiple: boolean;
905 };
906 "magic-html": {
907 configs: {
908 type: string;
909 multiple: boolean;
910 description: string;
911 negatedDescription: string;
912 path: string;
913 }[];
914 description: string;
915 simpleType: string;
916 multiple: boolean;
917 };
918 open: {
919 configs: (
920 | {
921 type: string;
922 multiple: boolean;
923 description: string;
924 path: string;
925 }
926 | {
927 type: string;
928 multiple: boolean;
929 description: string;
930 negatedDescription: string;
931 path: string;
932 }
933 )[];
934 /** @type {Compiler} */ description: string;
935 simpleType: string;
936 multiple: boolean;
937 };
938 "open-app": {
939 configs: {
940 type: string;
941 multiple: boolean;
942 description: string;
943 path: string;
944 }[];
945 description: string;
946 simpleType: string;
947 multiple: boolean;
948 };
949 "open-app-name": {
950 configs: {
951 type: string;
952 multiple: boolean;
953 description: string;
954 path: string;
955 }[];
956 description: string;
957 simpleType: string;
958 multiple: boolean;
959 };
960 "open-app-name-reset": {
961 configs: {
962 type: string;
963 multiple: boolean;
964 description: string;
965 path: string;
966 }[];
967 description: string;
968 simpleType: string;
969 multiple: boolean;
970 };
971 "open-reset": {
972 configs: {
973 type: string;
974 multiple: boolean;
975 description: string;
976 path: string;
977 }[];
978 description: string;
979 simpleType: string;
980 multiple: boolean;
981 };
982 "open-target": {
983 configs: {
984 type: string;
985 multiple: boolean;
986 description: string;
987 path: string;
988 }[];
989 description: string;
990 /** @type {NormalizedStatic} */ simpleType: string;
991 multiple: boolean;
992 };
993 "open-target-reset": {
994 configs: {
995 type: string;
996 multiple: boolean;
997 description: string;
998 path: string;
999 }[];
1000 description: string;
1001 simpleType: string;
1002 multiple: boolean;
1003 };
1004 port: {
1005 configs: (
1006 | {
1007 type: string;
1008 multiple: boolean;
1009 description: string;
1010 path: string;
1011 }
1012 | {
1013 type: string;
1014 values: string[];
1015 multiple: boolean;
1016 description: string;
1017 path: string;
1018 }
1019 )[];
1020 description: string;
1021 simpleType: string;
1022 multiple: boolean;
1023 };
1024 "server-options-ca": {
1025 configs: {
1026 description: string;
1027 multiple: boolean;
1028 path: string;
1029 type: string;
1030 }[];
1031 description: string;
1032 multiple: boolean;
1033 simpleType: string;
1034 };
1035 "server-options-ca-reset": {
1036 configs: {
1037 description: string;
1038 multiple: boolean;
1039 path: string;
1040 type: string;
1041 }[];
1042 description: string;
1043 multiple: boolean;
1044 simpleType: string;
1045 };
1046 "server-options-cacert": {
1047 configs: {
1048 description: string;
1049 multiple: boolean;
1050 path: string;
1051 type: string;
1052 }[];
1053 description: string;
1054 multiple: boolean;
1055 simpleType: string;
1056 };
1057 "server-options-cacert-reset": {
1058 configs: {
1059 description: string;
1060 multiple: boolean;
1061 path: string;
1062 type: string;
1063 }[];
1064 description: string;
1065 multiple: boolean;
1066 simpleType: string;
1067 };
1068 "server-options-cert": {
1069 configs: {
1070 description: string;
1071 multiple: boolean;
1072 path: string;
1073 type: string;
1074 }[];
1075 description: string;
1076 multiple: boolean;
1077 simpleType: string;
1078 };
1079 "server-options-cert-reset": {
1080 configs: {
1081 description: string;
1082 multiple: boolean;
1083 path: string;
1084 type: string;
1085 }[];
1086 description: string;
1087 multiple: boolean;
1088 simpleType: string;
1089 };
1090 "server-options-crl": {
1091 configs: {
1092 description: string;
1093 multiple: boolean;
1094 path: string;
1095 type: string;
1096 }[];
1097 description: string;
1098 multiple: boolean;
1099 simpleType: string;
1100 };
1101 "server-options-crl-reset": {
1102 configs: {
1103 description: string;
1104 multiple: boolean;
1105 path: string;
1106 type: string;
1107 }[];
1108 description: string;
1109 multiple: boolean;
1110 simpleType: string;
1111 };
1112 "server-options-key": {
1113 configs: {
1114 description: string;
1115 multiple: boolean;
1116 path: string;
1117 type: string;
1118 }[];
1119 description: string;
1120 multiple: boolean;
1121 simpleType: string;
1122 };
1123 "server-options-key-reset": {
1124 configs: {
1125 description: string;
1126 multiple: boolean;
1127 path: string;
1128 type: string;
1129 }[];
1130 description: string;
1131 multiple: boolean;
1132 simpleType: string;
1133 };
1134 "server-options-passphrase": {
1135 configs: {
1136 description: string;
1137 multiple: boolean;
1138 path: string;
1139 type: string;
1140 }[];
1141 description: string;
1142 multiple: boolean;
1143 simpleType: string;
1144 };
1145 "server-options-pfx": {
1146 configs: {
1147 description: string;
1148 multiple: boolean;
1149 path: string;
1150 type: string;
1151 }[];
1152 description: string;
1153 multiple: boolean;
1154 simpleType: string;
1155 };
1156 "server-options-pfx-reset": {
1157 configs: {
1158 description: string;
1159 multiple: boolean;
1160 path: string;
1161 type: string;
1162 }[];
1163 description: string;
1164 multiple: boolean;
1165 simpleType: string /** @type {ServerOptions} */;
1166 };
1167 /** @type {ServerOptions} */
1168 "server-options-request-cert": {
1169 configs: {
1170 description: string;
1171 negatedDescription: string;
1172 multiple: boolean;
1173 path: string;
1174 type: string;
1175 }[];
1176 description: string;
1177 multiple: boolean;
1178 simpleType: string;
1179 };
1180 "server-type": {
1181 configs: {
1182 description: string;
1183 multiple: boolean;
1184 path: string;
1185 type: string;
1186 values: string[];
1187 }[];
1188 description: string;
1189 multiple: boolean;
1190 simpleType: string;
1191 };
1192 static: {
1193 configs: (
1194 | {
1195 type: string;
1196 multiple: boolean;
1197 description: string;
1198 path: string;
1199 }
1200 | {
1201 type: string;
1202 multiple: boolean;
1203 /**
1204 * @param {string | Buffer | undefined} item
1205 * @returns {string | Buffer | undefined}
1206 */
1207 description: string;
1208 negatedDescription: string;
1209 path: string;
1210 }
1211 )[];
1212 description: string;
1213 simpleType: string;
1214 multiple: boolean;
1215 };
1216 "static-directory": {
1217 configs: {
1218 type: string;
1219 multiple: boolean;
1220 description: string;
1221 path: string;
1222 }[];
1223 /** @type {any} */ description: string;
1224 simpleType: string;
1225 multiple: boolean;
1226 };
1227 "static-public-path": {
1228 configs: {
1229 type: string;
1230 multiple: boolean;
1231 description: string;
1232 path: string;
1233 }[];
1234 description: string;
1235 simpleType: string;
1236 multiple: boolean;
1237 };
1238 "static-public-path-reset": {
1239 configs: {
1240 type: string;
1241 multiple: boolean;
1242 description: string;
1243 path: string;
1244 }[];
1245 description: string;
1246 simpleType: string;
1247 multiple: boolean;
1248 };
1249 "static-reset": {
1250 configs: {
1251 type: string;
1252 multiple: boolean;
1253 description: string;
1254 path: string;
1255 }[];
1256 description: string;
1257 simpleType: string;
1258 multiple: boolean;
1259 };
1260 "static-serve-index": {
1261 configs: {
1262 type: string;
1263 multiple: boolean;
1264 description: string;
1265 negatedDescription: string;
1266 path: string;
1267 }[];
1268 description: string;
1269 simpleType: string;
1270 multiple: boolean;
1271 };
1272 "static-watch": {
1273 configs: {
1274 type: string;
1275 multiple: boolean;
1276 description: string;
1277 negatedDescription: string;
1278 path: string;
1279 }[];
1280 description: string;
1281 simpleType: string;
1282 multiple: boolean;
1283 };
1284 "watch-files": {
1285 configs: {
1286 type: string;
1287 multiple: boolean;
1288 description: string;
1289 path: string;
1290 }[];
1291 description: string;
1292 simpleType: string;
1293 multiple: boolean;
1294 };
1295 "watch-files-reset": {
1296 configs: {
1297 type: string;
1298 multiple: boolean;
1299 description: string;
1300 path: string;
1301 }[];
1302 description: string;
1303 simpleType: string;
1304 multiple: boolean;
1305 };
1306 "web-socket-server": {
1307 configs: (
1308 | {
1309 description: string;
1310 negatedDescription: string;
1311 multiple: boolean;
1312 path: string;
1313 type: string;
1314 values: boolean[];
1315 }
1316 | {
1317 description: string;
1318 multiple: boolean;
1319 path: string;
1320 type: string;
1321 values: string[];
1322 }
1323 | {
1324 description: string;
1325 multiple: boolean;
1326 path: string;
1327 type: string;
1328 }
1329 )[];
1330 /** @type {ServerOptions & { cacert?: ServerOptions["ca"] }} */
1331 description: string;
1332 /** @type {ServerOptions} */
1333 simpleType: string;
1334 multiple: boolean;
1335 };
1336 "web-socket-server-type": {
1337 configs: (
1338 | {
1339 description: string;
1340 multiple: boolean;
1341 path: string;
1342 type: string;
1343 values: string[];
1344 }
1345 | {
1346 description: string;
1347 multiple: boolean;
1348 path: string;
1349 type: string;
1350 }
1351 )[];
1352 description: string;
1353 simpleType: string;
1354 multiple: boolean;
1355 };
1356 };
1357 readonly processArguments: (
1358 args: Record<string, import("../bin/process-arguments").Argument>,
1359 config: any,
1360 values: Record<
1361 string,
1362 | string
1363 | number
1364 | boolean
1365 | RegExp
1366 | (string | number | boolean | RegExp)[]
1367 >
1368 ) => import("../bin/process-arguments").Problem[] | null;
1369 };
1370 static get schema(): {
1371 title: string;
1372 type: string;
1373 definitions: {
1374 AllowedHosts: {
1375 anyOf: (
1376 | {
1377 type: string;
1378 minItems: number;
1379 items: {
1380 $ref: string;
1381 };
1382 enum?: undefined;
1383 $ref?: undefined;
1384 }
1385 | {
1386 enum: string[];
1387 type?: undefined;
1388 minItems?: undefined;
1389 items?: undefined;
1390 $ref?: undefined;
1391 }
1392 | {
1393 $ref: string;
1394 type?: undefined;
1395 minItems?: undefined;
1396 items?: undefined;
1397 enum?: undefined;
1398 }
1399 )[];
1400 description: string /** @typedef {import("webpack").Configuration} WebpackConfiguration */;
1401 link: string;
1402 };
1403 AllowedHostsItem: {
1404 type: string;
1405 minLength: number;
1406 };
1407 Bonjour: {
1408 anyOf: (
1409 | {
1410 type: string;
1411 cli: {
1412 negatedDescription: string;
1413 } /** @typedef {import("express").Request} Request */;
1414 description?: undefined;
1415 link?: undefined;
1416 }
1417 | {
1418 type: string;
1419 description: string;
1420 link: string;
1421 cli?: undefined /** @typedef {import("express").Request} Request */;
1422 }
1423 )[];
1424 description: string;
1425 link: string;
1426 };
1427 Client: {
1428 description: string;
1429 link: string;
1430 anyOf: (
1431 | {
1432 enum: boolean[];
1433 cli: {
1434 negatedDescription: string;
1435 };
1436 type?: undefined;
1437 additionalProperties?: undefined;
1438 properties?: undefined;
1439 }
1440 | {
1441 type: string;
1442 additionalProperties: boolean;
1443 properties: {
1444 logging: {
1445 $ref: string;
1446 };
1447 /** @typedef {import("serve-static").ServeStaticOptions} ServeStaticOptions */
1448 /** @typedef {import("ipaddr.js").IPv4} IPv4 */
1449 /** @typedef {import("ipaddr.js").IPv6} IPv6 */
1450 /** @typedef {import("net").Socket} Socket */
1451 /** @typedef {import("http").IncomingMessage} IncomingMessage */
1452 /** @typedef {import("open").Options} OpenOptions */
1453 /** @typedef {import("https").ServerOptions & { spdy?: { plain?: boolean | undefined, ssl?: boolean | undefined, 'x-forwarded-for'?: string | undefined, protocol?: string | undefined, protocols?: string[] | undefined }}} ServerOptions */
1454 /**
1455 * @template Request, Response
1456 * @typedef {import("webpack-dev-middleware").Options<Request, Response>} DevMiddlewareOptions
1457 */
1458 /**
1459 * @template Request, Response
1460 * @typedef {import("webpack-dev-middleware").Context<Request, Response>} DevMiddlewareContext
1461 */
1462 /**
1463 * @typedef {"local-ip" | "local-ipv4" | "local-ipv6" | string} Host
1464 */
1465 /**
1466 * @typedef {number | string | "auto"} Port
1467 */
1468 /**
1469 * @typedef {Object} WatchFiles
1470 * @property {string | string[]} paths
1471 * @property {WatchOptions & { aggregateTimeout?: number, ignored?: WatchOptions["ignored"], poll?: number | boolean }} [options]
1472 */
1473 /**
1474 * @typedef {Object} Static
1475 * @property {string} [directory]
1476 * @property {string | string[]} [publicPath]
1477 * @property {boolean | ServeIndexOptions} [serveIndex]
1478 * @property {ServeStaticOptions} [staticOptions]
1479 * @property {boolean | WatchOptions & { aggregateTimeout?: number, ignored?: WatchOptions["ignored"], poll?: number | boolean }} [watch]
1480 */
1481 /**
1482 * @typedef {Object} NormalizedStatic
1483 * @property {string} directory
1484 * @property {string[]} publicPath
1485 * @property {false | ServeIndexOptions} serveIndex
1486 * @property {ServeStaticOptions} staticOptions
1487 * @property {false | WatchOptions} watch
1488 */
1489 /**
1490 * @typedef {Object} ServerConfiguration
1491 * @property {"http" | "https" | "spdy" | string} [type]
1492 * @property {ServerOptions} [options]
1493 */
1494 /**
1495 * @typedef {Object} WebSocketServerConfiguration
1496 * @property {"sockjs" | "ws" | string | Function} [type]
1497 * @property {Record<string, any>} [options]
1498 */
1499 /**
1500 * @typedef {(import("ws").WebSocket | import("sockjs").Connection & { send: import("ws").WebSocket["send"], terminate: import("ws").WebSocket["terminate"], ping: import("ws").WebSocket["ping"] }) & { isAlive?: boolean }} ClientConnection
1501 */
1502 /**
1503 * @typedef {import("ws").WebSocketServer | import("sockjs").Server & { close: import("ws").WebSocketServer["close"] }} WebSocketServer
1504 */
1505 /**
1506 * @typedef {{ implementation: WebSocketServer, clients: ClientConnection[] }} WebSocketServerImplementation
1507 */
1508 /**
1509 * @callback ByPass
1510 * @param {Request} req
1511 * @param {Response} res
1512 * @param {ProxyConfigArrayItem} proxyConfig
1513 */
1514 /**
1515 * @typedef {{ path?: HttpProxyMiddlewareOptionsFilter | undefined, context?: HttpProxyMiddlewareOptionsFilter | undefined } & { bypass?: ByPass } & HttpProxyMiddlewareOptions } ProxyConfigArrayItem
1516 */
1517 /**
1518 * @typedef {(ProxyConfigArrayItem | ((req?: Request | undefined, res?: Response | undefined, next?: NextFunction | undefined) => ProxyConfigArrayItem))[]} ProxyConfigArray
1519 */
1520 /**
1521 * @typedef {{ [url: string]: string | ProxyConfigArrayItem }} ProxyConfigMap
1522 */
1523 /**
1524 * @typedef {Object} OpenApp
1525 * @property {string} [name]
1526 * @property {string[]} [arguments]
1527 */
1528 /**
1529 * @typedef {Object} Open
1530 * @property {string | string[] | OpenApp} [app]
1531 * @property {string | string[]} [target]
1532 */
1533 /**
1534 * @typedef {Object} NormalizedOpen
1535 * @property {string} target
1536 * @property {import("open").Options} options
1537 */
1538 /**
1539 * @typedef {Object} WebSocketURL
1540 * @property {string} [hostname]
1541 * @property {string} [password]
1542 * @property {string} [pathname]
1543 * @property {number | string} [port]
1544 * @property {string} [protocol]
1545 * @property {string} [username]
1546 */
1547 /**
1548 * @typedef {Object} ClientConfiguration
1549 * @property {"log" | "info" | "warn" | "error" | "none" | "verbose"} [logging]
1550 * @property {boolean | { warnings?: boolean, errors?: boolean }} [overlay]
1551 * @property {boolean} [progress]
1552 * @property {boolean | number} [reconnect]
1553 * @property {"ws" | "sockjs" | string} [webSocketTransport]
1554 * @property {string | WebSocketURL} [webSocketURL]
1555 */
1556 /**
1557 * @typedef {Array<{ key: string; value: string }> | Record<string, string | string[]>} Headers
1558 */
1559 /**
1560 * @typedef {{ name?: string, path?: string, middleware: ExpressRequestHandler | ExpressErrorRequestHandler } | ExpressRequestHandler | ExpressErrorRequestHandler} Middleware
1561 */
1562 /**
1563 * @typedef {Object} Configuration
1564 * @property {boolean | string} [ipc]
1565 * @property {Host} [host]
1566 * @property {Port} [port]
1567 * @property {boolean | "only"} [hot]
1568 * @property {boolean} [liveReload]
1569 * @property {DevMiddlewareOptions<Request, Response>} [devMiddleware]
1570 * @property {boolean} [compress]
1571 * @property {boolean} [magicHtml]
1572 * @property {"auto" | "all" | string | string[]} [allowedHosts]
1573 * @property {boolean | ConnectHistoryApiFallbackOptions} [historyApiFallback]
1574 * @property {boolean} [setupExitSignals]
1575 * @property {boolean | Record<string, never> | BonjourOptions} [bonjour]
1576 * @property {string | string[] | WatchFiles | Array<string | WatchFiles>} [watchFiles]
1577 * @property {boolean | string | Static | Array<string | Static>} [static]
1578 * @property {boolean | ServerOptions} [https]
1579 * @property {boolean} [http2]
1580 * @property {"http" | "https" | "spdy" | string | ServerConfiguration} [server]
1581 * @property {boolean | "sockjs" | "ws" | string | WebSocketServerConfiguration} [webSocketServer]
1582 * @property {ProxyConfigMap | ProxyConfigArrayItem | ProxyConfigArray} [proxy]
1583 * @property {boolean | string | Open | Array<string | Open>} [open]
1584 * @property {boolean} [setupExitSignals]
1585 * @property {boolean | ClientConfiguration} [client]
1586 * @property {Headers | ((req: Request, res: Response, context: DevMiddlewareContext<Request, Response>) => Headers)} [headers]
1587 * @property {(devServer: Server) => void} [onAfterSetupMiddleware]
1588 * @property {(devServer: Server) => void} [onBeforeSetupMiddleware]
1589 * @property {(devServer: Server) => void} [onListening]
1590 * @property {(middlewares: Middleware[], devServer: Server) => Middleware[]} [setupMiddlewares]
1591 */
1592 overlay: {
1593 $ref: string;
1594 };
1595 progress: {
1596 $ref: string;
1597 };
1598 reconnect: {
1599 $ref: string;
1600 };
1601 webSocketTransport: {
1602 $ref: string;
1603 };
1604 webSocketURL: {
1605 $ref: string;
1606 };
1607 };
1608 enum?: undefined;
1609 cli?: undefined /** @typedef {import("express").Request} Request */;
1610 }
1611 )[];
1612 };
1613 ClientLogging: {
1614 enum: string[];
1615 description: string;
1616 link: string;
1617 };
1618 ClientOverlay: {
1619 anyOf: (
1620 | {
1621 description: string;
1622 link: string;
1623 type: string;
1624 cli: {
1625 negatedDescription: string;
1626 };
1627 additionalProperties?: undefined;
1628 properties?: undefined;
1629 }
1630 | {
1631 type: string;
1632 additionalProperties: boolean;
1633 properties: {
1634 errors: {
1635 description: string;
1636 type: string;
1637 cli: {
1638 negatedDescription: string;
1639 };
1640 };
1641 warnings: {
1642 description: string;
1643 type: string;
1644 cli: {
1645 negatedDescription: string;
1646 };
1647 };
1648 trustedTypesPolicyName: {
1649 description: string;
1650 type: string;
1651 };
1652 };
1653 description?: undefined;
1654 link?: undefined;
1655 cli?: undefined /** @typedef {import("express").Request} Request */;
1656 }
1657 )[];
1658 };
1659 ClientProgress: {
1660 description: string;
1661 link: string;
1662 type: string;
1663 cli: {
1664 negatedDescription: string;
1665 };
1666 };
1667 ClientReconnect: {
1668 description: string;
1669 link: string;
1670 anyOf: (
1671 | {
1672 /**
1673 * @typedef {{ path?: HttpProxyMiddlewareOptionsFilter | undefined, context?: HttpProxyMiddlewareOptionsFilter | undefined } & { bypass?: ByPass } & HttpProxyMiddlewareOptions } ProxyConfigArrayItem
1674 */
1675 /**
1676 * @typedef {(ProxyConfigArrayItem | ((req?: Request | undefined, res?: Response | undefined, next?: NextFunction | undefined) => ProxyConfigArrayItem))[]} ProxyConfigArray
1677 */
1678 /**
1679 * @typedef {{ [url: string]: string | ProxyConfigArrayItem }} ProxyConfigMap
1680 */
1681 /**
1682 * @typedef {Object} OpenApp
1683 * @property {string} [name]
1684 * @property {string[]} [arguments]
1685 */
1686 /**
1687 * @typedef {Object} Open
1688 * @property {string | string[] | OpenApp} [app]
1689 * @property {string | string[]} [target]
1690 */
1691 /**
1692 * @typedef {Object} NormalizedOpen
1693 * @property {string} target
1694 * @property {import("open").Options} options
1695 */
1696 /**
1697 * @typedef {Object} WebSocketURL
1698 * @property {string} [hostname]
1699 * @property {string} [password]
1700 * @property {string} [pathname]
1701 * @property {number | string} [port]
1702 * @property {string} [protocol]
1703 * @property {string} [username]
1704 */
1705 /**
1706 * @typedef {Object} ClientConfiguration
1707 * @property {"log" | "info" | "warn" | "error" | "none" | "verbose"} [logging]
1708 * @property {boolean | { warnings?: boolean, errors?: boolean }} [overlay]
1709 * @property {boolean} [progress]
1710 * @property {boolean | number} [reconnect]
1711 * @property {"ws" | "sockjs" | string} [webSocketTransport]
1712 * @property {string | WebSocketURL} [webSocketURL]
1713 */
1714 /**
1715 * @typedef {Array<{ key: string; value: string }> | Record<string, string | string[]>} Headers
1716 */
1717 /**
1718 * @typedef {{ name?: string, path?: string, middleware: ExpressRequestHandler | ExpressErrorRequestHandler } | ExpressRequestHandler | ExpressErrorRequestHandler} Middleware
1719 */
1720 /**
1721 * @typedef {Object} Configuration
1722 * @property {boolean | string} [ipc]
1723 * @property {Host} [host]
1724 * @property {Port} [port]
1725 * @property {boolean | "only"} [hot]
1726 * @property {boolean} [liveReload]
1727 * @property {DevMiddlewareOptions<Request, Response>} [devMiddleware]
1728 * @property {boolean} [compress]
1729 * @property {boolean} [magicHtml]
1730 * @property {"auto" | "all" | string | string[]} [allowedHosts]
1731 * @property {boolean | ConnectHistoryApiFallbackOptions} [historyApiFallback]
1732 * @property {boolean} [setupExitSignals]
1733 * @property {boolean | Record<string, never> | BonjourOptions} [bonjour]
1734 * @property {string | string[] | WatchFiles | Array<string | WatchFiles>} [watchFiles]
1735 * @property {boolean | string | Static | Array<string | Static>} [static]
1736 * @property {boolean | ServerOptions} [https]
1737 * @property {boolean} [http2]
1738 * @property {"http" | "https" | "spdy" | string | ServerConfiguration} [server]
1739 * @property {boolean | "sockjs" | "ws" | string | WebSocketServerConfiguration} [webSocketServer]
1740 * @property {ProxyConfigMap | ProxyConfigArrayItem | ProxyConfigArray} [proxy]
1741 * @property {boolean | string | Open | Array<string | Open>} [open]
1742 * @property {boolean} [setupExitSignals]
1743 * @property {boolean | ClientConfiguration} [client]
1744 * @property {Headers | ((req: Request, res: Response, context: DevMiddlewareContext<Request, Response>) => Headers)} [headers]
1745 * @property {(devServer: Server) => void} [onAfterSetupMiddleware]
1746 * @property {(devServer: Server) => void} [onBeforeSetupMiddleware]
1747 * @property {(devServer: Server) => void} [onListening]
1748 * @property {(middlewares: Middleware[], devServer: Server) => Middleware[]} [setupMiddlewares]
1749 */
1750 type: string;
1751 cli: {
1752 negatedDescription: string;
1753 };
1754 minimum?: undefined;
1755 }
1756 | {
1757 type: string;
1758 minimum: number;
1759 cli?: undefined /** @typedef {import("express").Request} Request */;
1760 }
1761 )[];
1762 };
1763 ClientWebSocketTransport: {
1764 anyOf: {
1765 $ref: string;
1766 }[];
1767 /**
1768 * @typedef {Object} OpenApp
1769 * @property {string} [name]
1770 * @property {string[]} [arguments]
1771 */
1772 /**
1773 * @typedef {Object} Open
1774 * @property {string | string[] | OpenApp} [app]
1775 * @property {string | string[]} [target]
1776 */
1777 /**
1778 * @typedef {Object} NormalizedOpen
1779 * @property {string} target
1780 * @property {import("open").Options} options
1781 */
1782 /**
1783 * @typedef {Object} WebSocketURL
1784 * @property {string} [hostname]
1785 * @property {string} [password]
1786 * @property {string} [pathname]
1787 * @property {number | string} [port]
1788 * @property {string} [protocol]
1789 * @property {string} [username]
1790 */
1791 /**
1792 * @typedef {Object} ClientConfiguration
1793 * @property {"log" | "info" | "warn" | "error" | "none" | "verbose"} [logging]
1794 * @property {boolean | { warnings?: boolean, errors?: boolean }} [overlay]
1795 * @property {boolean} [progress]
1796 * @property {boolean | number} [reconnect]
1797 * @property {"ws" | "sockjs" | string} [webSocketTransport]
1798 * @property {string | WebSocketURL} [webSocketURL]
1799 */
1800 /**
1801 * @typedef {Array<{ key: string; value: string }> | Record<string, string | string[]>} Headers
1802 */
1803 /**
1804 * @typedef {{ name?: string, path?: string, middleware: ExpressRequestHandler | ExpressErrorRequestHandler } | ExpressRequestHandler | ExpressErrorRequestHandler} Middleware
1805 */
1806 /**
1807 * @typedef {Object} Configuration
1808 * @property {boolean | string} [ipc]
1809 * @property {Host} [host]
1810 * @property {Port} [port]
1811 * @property {boolean | "only"} [hot]
1812 * @property {boolean} [liveReload]
1813 * @property {DevMiddlewareOptions<Request, Response>} [devMiddleware]
1814 * @property {boolean} [compress]
1815 * @property {boolean} [magicHtml]
1816 * @property {"auto" | "all" | string | string[]} [allowedHosts]
1817 * @property {boolean | ConnectHistoryApiFallbackOptions} [historyApiFallback]
1818 * @property {boolean} [setupExitSignals]
1819 * @property {boolean | Record<string, never> | BonjourOptions} [bonjour]
1820 * @property {string | string[] | WatchFiles | Array<string | WatchFiles>} [watchFiles]
1821 * @property {boolean | string | Static | Array<string | Static>} [static]
1822 * @property {boolean | ServerOptions} [https]
1823 * @property {boolean} [http2]
1824 * @property {"http" | "https" | "spdy" | string | ServerConfiguration} [server]
1825 * @property {boolean | "sockjs" | "ws" | string | WebSocketServerConfiguration} [webSocketServer]
1826 * @property {ProxyConfigMap | ProxyConfigArrayItem | ProxyConfigArray} [proxy]
1827 * @property {boolean | string | Open | Array<string | Open>} [open]
1828 * @property {boolean} [setupExitSignals]
1829 * @property {boolean | ClientConfiguration} [client]
1830 * @property {Headers | ((req: Request, res: Response, context: DevMiddlewareContext<Request, Response>) => Headers)} [headers]
1831 * @property {(devServer: Server) => void} [onAfterSetupMiddleware]
1832 * @property {(devServer: Server) => void} [onBeforeSetupMiddleware]
1833 * @property {(devServer: Server) => void} [onListening]
1834 * @property {(middlewares: Middleware[], devServer: Server) => Middleware[]} [setupMiddlewares]
1835 */
1836 description: string;
1837 link: string;
1838 };
1839 ClientWebSocketTransportEnum: {
1840 enum: string[];
1841 };
1842 ClientWebSocketTransportString: {
1843 type: string;
1844 minLength: number;
1845 /**
1846 * @typedef {Object} WebSocketURL
1847 * @property {string} [hostname]
1848 * @property {string} [password]
1849 * @property {string} [pathname]
1850 * @property {number | string} [port]
1851 * @property {string} [protocol]
1852 * @property {string} [username]
1853 */
1854 };
1855 ClientWebSocketURL: {
1856 description: string;
1857 link: string;
1858 anyOf: (
1859 | {
1860 type: string;
1861 minLength: number;
1862 additionalProperties?: undefined;
1863 properties?: undefined;
1864 }
1865 | {
1866 type: string;
1867 additionalProperties: boolean;
1868 properties: {
1869 hostname: {
1870 description: string;
1871 type: string;
1872 minLength: number;
1873 };
1874 pathname: {
1875 description: string;
1876 type: string;
1877 };
1878 password: {
1879 description: string;
1880 type: string;
1881 };
1882 port: {
1883 description: string;
1884 anyOf: (
1885 | {
1886 type: string;
1887 minLength?: undefined;
1888 }
1889 | {
1890 type: string;
1891 minLength: number;
1892 }
1893 )[];
1894 };
1895 protocol: {
1896 description: string;
1897 anyOf: (
1898 | {
1899 enum: string[];
1900 type?: undefined;
1901 minLength?: undefined;
1902 }
1903 | {
1904 type: string;
1905 minLength: number;
1906 enum?: undefined;
1907 }
1908 )[];
1909 };
1910 username: {
1911 description: string;
1912 type: string;
1913 };
1914 };
1915 minLength?: undefined;
1916 }
1917 )[];
1918 };
1919 Compress: {
1920 type: string;
1921 description: string;
1922 link: string;
1923 cli: {
1924 negatedDescription: string;
1925 };
1926 };
1927 DevMiddleware: {
1928 description: string;
1929 link: string;
1930 type: string;
1931 additionalProperties: boolean;
1932 };
1933 HTTP2: {
1934 type: string;
1935 description: string;
1936 link: string;
1937 cli: {
1938 negatedDescription: string;
1939 };
1940 };
1941 HTTPS: {
1942 anyOf: (
1943 | {
1944 type: string;
1945 cli: {
1946 negatedDescription: string;
1947 };
1948 additionalProperties?: undefined;
1949 properties?: undefined;
1950 }
1951 | {
1952 type: string;
1953 additionalProperties: boolean;
1954 properties: {
1955 passphrase: {
1956 type: string;
1957 description: string;
1958 };
1959 requestCert: {
1960 type: string;
1961 description: string;
1962 cli: {
1963 negatedDescription: string;
1964 };
1965 };
1966 ca: {
1967 anyOf: (
1968 | {
1969 type: string;
1970 items: {
1971 anyOf: (
1972 | {
1973 type: string;
1974 instanceof?: undefined;
1975 }
1976 | {
1977 instanceof: string;
1978 type?: undefined;
1979 }
1980 )[];
1981 };
1982 instanceof?: undefined;
1983 }
1984 | {
1985 type: string;
1986 items?: undefined;
1987 instanceof?: undefined;
1988 }
1989 | {
1990 instanceof: string;
1991 type?: undefined;
1992 items?: undefined;
1993 }
1994 )[];
1995 description: string;
1996 };
1997 cacert: {
1998 anyOf: (
1999 | {
2000 type: string;
2001 items: {
2002 anyOf: (
2003 | {
2004 type: string;
2005 instanceof?: undefined;
2006 }
2007 | {
2008 instanceof: string;
2009 type?: undefined;
2010 }
2011 )[];
2012 };
2013 instanceof?: undefined;
2014 }
2015 | {
2016 type: string;
2017 items?: undefined;
2018 instanceof?: undefined;
2019 }
2020 | {
2021 instanceof: string;
2022 type?: undefined;
2023 items?: undefined;
2024 }
2025 )[];
2026 description: string;
2027 };
2028 cert: {
2029 anyOf: (
2030 | {
2031 type: string;
2032 items: {
2033 anyOf: (
2034 | {
2035 type: string;
2036 instanceof?: undefined;
2037 }
2038 | {
2039 instanceof: string;
2040 type?: undefined;
2041 }
2042 )[];
2043 };
2044 instanceof?: undefined;
2045 }
2046 | {
2047 type: string;
2048 items?: undefined;
2049 instanceof?: undefined;
2050 }
2051 | {
2052 instanceof: string;
2053 type?: undefined;
2054 items?: undefined;
2055 }
2056 )[];
2057 description: string;
2058 };
2059 crl: {
2060 /**
2061 * @param {"v4" | "v6"} family
2062 * @returns {Promise<string | undefined>}
2063 */
2064 anyOf: (
2065 | {
2066 type: string;
2067 items: {
2068 anyOf: (
2069 | {
2070 type: string;
2071 instanceof?: undefined;
2072 }
2073 | {
2074 instanceof: string;
2075 type?: undefined;
2076 }
2077 )[];
2078 };
2079 instanceof?: undefined;
2080 }
2081 | {
2082 type: string;
2083 items?: undefined;
2084 instanceof?: undefined;
2085 }
2086 | {
2087 instanceof: string;
2088 type?: undefined;
2089 items?: undefined;
2090 }
2091 )[];
2092 description: string;
2093 };
2094 key: {
2095 anyOf: (
2096 | {
2097 type: string;
2098 items: {
2099 anyOf: (
2100 | {
2101 type: string;
2102 instanceof?: undefined;
2103 additionalProperties?: undefined;
2104 }
2105 | {
2106 instanceof: string;
2107 type?: undefined;
2108 additionalProperties?: undefined;
2109 }
2110 | {
2111 type: string;
2112 additionalProperties: boolean;
2113 instanceof?: undefined;
2114 }
2115 )[];
2116 };
2117 instanceof?: undefined;
2118 }
2119 | {
2120 type: string;
2121 items?: undefined;
2122 instanceof?: undefined;
2123 }
2124 | {
2125 instanceof: string;
2126 type?: undefined;
2127 items?: undefined;
2128 }
2129 )[];
2130 description: string;
2131 };
2132 pfx: {
2133 anyOf: (
2134 | {
2135 type: string;
2136 items: {
2137 anyOf: (
2138 | {
2139 type: string;
2140 instanceof?: undefined;
2141 additionalProperties?: undefined;
2142 }
2143 | {
2144 instanceof: string;
2145 type?: undefined;
2146 additionalProperties?: undefined;
2147 }
2148 | {
2149 type: string;
2150 additionalProperties: boolean;
2151 instanceof?: undefined;
2152 }
2153 )[];
2154 };
2155 instanceof?: undefined;
2156 }
2157 | {
2158 type: string;
2159 items?: undefined;
2160 instanceof?: undefined;
2161 }
2162 | {
2163 instanceof: string;
2164 type?: undefined;
2165 items?: undefined;
2166 }
2167 )[];
2168 description: string;
2169 };
2170 };
2171 cli?: undefined /** @typedef {import("express").Request} Request */;
2172 }
2173 )[];
2174 description: string;
2175 link: string;
2176 };
2177 HeaderObject: {
2178 type: string;
2179 additionalProperties: boolean;
2180 properties: {
2181 key: {
2182 description: string;
2183 type: string;
2184 };
2185 value: {
2186 description: string;
2187 type: string;
2188 };
2189 };
2190 cli: {
2191 exclude: boolean;
2192 };
2193 };
2194 Headers: {
2195 anyOf: (
2196 | {
2197 type: string;
2198 items: {
2199 $ref: string;
2200 };
2201 minItems: number;
2202 instanceof?: undefined;
2203 }
2204 | {
2205 type: string;
2206 items?: undefined;
2207 minItems?: undefined;
2208 instanceof?: undefined;
2209 }
2210 | {
2211 instanceof: string;
2212 type?: undefined;
2213 items?: undefined;
2214 minItems?: undefined;
2215 }
2216 )[];
2217 description: string;
2218 link: string /** @type {WebSocketURL} */;
2219 };
2220 HistoryApiFallback: {
2221 anyOf: (
2222 | {
2223 type: string;
2224 cli: {
2225 negatedDescription: string;
2226 };
2227 description?: undefined;
2228 link?: undefined;
2229 }
2230 | {
2231 type: string;
2232 description: string;
2233 link: string;
2234 /** @type {string} */
2235 cli?: undefined /** @typedef {import("express").Request} Request */;
2236 }
2237 )[];
2238 description: string;
2239 link: string;
2240 };
2241 Host: {
2242 description: string;
2243 link: string;
2244 anyOf: (
2245 | {
2246 enum: string[];
2247 type?: undefined;
2248 minLength?: undefined;
2249 }
2250 | {
2251 type: string;
2252 minLength: number;
2253 enum?: undefined;
2254 }
2255 )[];
2256 };
2257 Hot: {
2258 anyOf: (
2259 | {
2260 type: string;
2261 cli: {
2262 negatedDescription: string;
2263 };
2264 enum?: undefined;
2265 }
2266 | {
2267 enum: string[];
2268 type?: undefined;
2269 cli?: undefined /** @typedef {import("express").Request} Request */;
2270 }
2271 )[];
2272 description: string;
2273 link: string;
2274 };
2275 IPC: {
2276 anyOf: (
2277 | {
2278 type: string;
2279 minLength: number;
2280 enum?: undefined;
2281 }
2282 | {
2283 type: string;
2284 enum: boolean[];
2285 minLength?: undefined;
2286 }
2287 )[];
2288 description: string;
2289 link: string;
2290 };
2291 LiveReload: {
2292 type: string;
2293 description: string;
2294 cli: {
2295 negatedDescription: string;
2296 };
2297 link: string;
2298 };
2299 MagicHTML: {
2300 type: string;
2301 description: string;
2302 cli: {
2303 negatedDescription: string;
2304 };
2305 link: string;
2306 };
2307 OnAfterSetupMiddleware: {
2308 instanceof: string;
2309 description: string;
2310 link: string;
2311 };
2312 OnBeforeSetupMiddleware: {
2313 instanceof: string;
2314 description: string;
2315 link: string;
2316 };
2317 OnListening: {
2318 instanceof: string;
2319 description: string;
2320 link: string;
2321 };
2322 Open: {
2323 anyOf: (
2324 | {
2325 type: string;
2326 items: {
2327 anyOf: {
2328 $ref: string;
2329 }[];
2330 };
2331 $ref?: undefined;
2332 }
2333 | {
2334 $ref: string;
2335 type?: undefined;
2336 items?: undefined;
2337 }
2338 )[];
2339 description: string;
2340 link: string;
2341 };
2342 OpenBoolean: {
2343 type: string;
2344 cli: {
2345 negatedDescription: string;
2346 };
2347 };
2348 OpenObject: {
2349 type: string;
2350 additionalProperties: boolean;
2351 properties: {
2352 target: {
2353 anyOf: (
2354 | {
2355 type: string;
2356 items: {
2357 type: string;
2358 };
2359 }
2360 | {
2361 type: string;
2362 items?: undefined;
2363 }
2364 )[];
2365 description: string;
2366 };
2367 app: {
2368 anyOf: (
2369 | {
2370 type: string;
2371 additionalProperties: boolean;
2372 properties: {
2373 name: {
2374 anyOf: (
2375 | {
2376 type: string;
2377 /**
2378 * prependEntry Method for webpack 4
2379 * @param {any} originalEntry
2380 * @param {any} newAdditionalEntries
2381 * @returns {any}
2382 */
2383 items: {
2384 type: string;
2385 minLength: number;
2386 };
2387 minItems: number;
2388 minLength?: undefined;
2389 }
2390 | {
2391 type: string;
2392 minLength: number;
2393 items?: undefined;
2394 minItems?: undefined;
2395 }
2396 )[];
2397 };
2398 arguments: {
2399 items: {
2400 type: string;
2401 minLength: number;
2402 };
2403 };
2404 };
2405 minLength?: undefined;
2406 description?: undefined;
2407 cli?: undefined /** @typedef {import("express").Request} Request */;
2408 }
2409 | {
2410 type: string;
2411 minLength: number;
2412 description: string;
2413 cli: {
2414 description: string;
2415 };
2416 additionalProperties?: undefined;
2417 properties?: undefined;
2418 }
2419 )[];
2420 description: string;
2421 };
2422 };
2423 };
2424 /** @type {any} */
2425 OpenString: {
2426 type: string;
2427 minLength: number;
2428 };
2429 Port: {
2430 anyOf: (
2431 | {
2432 type: string;
2433 minimum: number;
2434 maximum: number;
2435 minLength?: undefined;
2436 enum?: undefined;
2437 }
2438 | {
2439 type: string;
2440 minLength: number;
2441 minimum?: undefined;
2442 maximum?: undefined;
2443 enum?: undefined;
2444 }
2445 | {
2446 enum: string[];
2447 type?: undefined;
2448 minimum?: undefined;
2449 maximum?: undefined;
2450 minLength?: undefined;
2451 }
2452 )[];
2453 description: string;
2454 link: string;
2455 };
2456 Proxy: {
2457 anyOf: (
2458 | {
2459 type: string;
2460 items?: undefined;
2461 }
2462 | {
2463 type: string;
2464 items: {
2465 anyOf: (
2466 | {
2467 type: string;
2468 instanceof?: undefined;
2469 }
2470 | {
2471 instanceof: string;
2472 type?: undefined;
2473 }
2474 )[];
2475 };
2476 }
2477 )[];
2478 description: string;
2479 link: string;
2480 };
2481 Server: {
2482 anyOf: {
2483 $ref: string /** @type {MultiCompiler} */;
2484 }[];
2485 link: string;
2486 description: string;
2487 };
2488 ServerType: {
2489 enum: string[];
2490 };
2491 ServerEnum: {
2492 enum: string[];
2493 cli: {
2494 exclude: boolean;
2495 };
2496 };
2497 ServerString: {
2498 type: string;
2499 minLength: number;
2500 cli: {
2501 exclude: boolean;
2502 };
2503 };
2504 ServerObject: {
2505 type: string;
2506 properties: {
2507 type: {
2508 anyOf: {
2509 $ref: string;
2510 }[];
2511 };
2512 options: {
2513 $ref: string;
2514 };
2515 };
2516 additionalProperties: boolean;
2517 };
2518 ServerOptions: {
2519 type: string;
2520 additionalProperties: boolean;
2521 properties: {
2522 passphrase: {
2523 type: string;
2524 description: string;
2525 };
2526 requestCert: {
2527 type: string;
2528 description: string;
2529 cli: {
2530 negatedDescription: string;
2531 };
2532 };
2533 ca: {
2534 anyOf: (
2535 | {
2536 type: string;
2537 items: {
2538 anyOf: (
2539 | {
2540 type: string;
2541 instanceof?: undefined;
2542 }
2543 | {
2544 instanceof: string;
2545 type?: undefined;
2546 }
2547 )[];
2548 };
2549 instanceof?: undefined;
2550 }
2551 | {
2552 type: string;
2553 items?: undefined;
2554 instanceof?: undefined;
2555 }
2556 | {
2557 instanceof: string;
2558 type?: undefined;
2559 items?: undefined;
2560 }
2561 )[];
2562 description: string;
2563 };
2564 cacert: {
2565 anyOf: (
2566 | {
2567 type: string;
2568 items: {
2569 anyOf: (
2570 | {
2571 type: string;
2572 instanceof?: undefined;
2573 }
2574 | {
2575 instanceof: string;
2576 type?: undefined;
2577 }
2578 )[];
2579 };
2580 instanceof?: undefined;
2581 }
2582 | {
2583 type: string;
2584 items?: undefined;
2585 instanceof?: undefined;
2586 }
2587 | {
2588 instanceof: string;
2589 type?: undefined;
2590 items?: undefined;
2591 }
2592 )[];
2593 description: string;
2594 };
2595 cert: {
2596 anyOf: (
2597 | {
2598 type: string;
2599 items: {
2600 anyOf: (
2601 | {
2602 type: string;
2603 instanceof?: undefined;
2604 }
2605 | {
2606 instanceof: string;
2607 type?: undefined;
2608 }
2609 )[];
2610 };
2611 instanceof?: undefined;
2612 }
2613 | {
2614 type: string;
2615 items?: undefined;
2616 instanceof?: undefined;
2617 }
2618 | {
2619 instanceof: string;
2620 type?: undefined;
2621 items?: undefined;
2622 }
2623 )[];
2624 description: string;
2625 };
2626 crl: {
2627 anyOf: (
2628 | {
2629 type: string;
2630 items: {
2631 anyOf: (
2632 | {
2633 type: string;
2634 /** @type {NormalizedStatic} */
2635 instanceof?: undefined;
2636 }
2637 | {
2638 instanceof: string;
2639 type?: undefined;
2640 }
2641 )[];
2642 };
2643 instanceof?: undefined;
2644 }
2645 | {
2646 type: string;
2647 items?: undefined;
2648 instanceof?: undefined;
2649 }
2650 | {
2651 instanceof: string;
2652 type?: undefined;
2653 items?: undefined;
2654 }
2655 )[];
2656 description: string;
2657 };
2658 key: {
2659 anyOf: (
2660 | {
2661 type: string;
2662 items: {
2663 anyOf: (
2664 | {
2665 type: string;
2666 instanceof?: undefined;
2667 additionalProperties?: undefined;
2668 }
2669 | {
2670 instanceof: string;
2671 type?: undefined;
2672 additionalProperties?: undefined;
2673 }
2674 | {
2675 type: string;
2676 additionalProperties: boolean;
2677 instanceof?: undefined;
2678 }
2679 )[];
2680 };
2681 instanceof?: undefined;
2682 }
2683 | {
2684 type: string;
2685 items?: undefined;
2686 instanceof?: undefined;
2687 }
2688 | {
2689 instanceof: string;
2690 type?: undefined;
2691 items?: undefined;
2692 }
2693 )[];
2694 description: string;
2695 };
2696 pfx: {
2697 anyOf: (
2698 | {
2699 type: string;
2700 items: {
2701 anyOf: (
2702 | {
2703 type: string;
2704 instanceof?: undefined;
2705 additionalProperties?: undefined;
2706 }
2707 | {
2708 instanceof: string;
2709 type?: undefined;
2710 additionalProperties?: undefined;
2711 }
2712 | {
2713 type: string;
2714 additionalProperties: boolean;
2715 instanceof?: undefined;
2716 }
2717 )[];
2718 };
2719 instanceof?: undefined;
2720 }
2721 | {
2722 type: string;
2723 items?: undefined;
2724 instanceof?: undefined;
2725 }
2726 | {
2727 instanceof: string;
2728 type?: undefined;
2729 items?: undefined;
2730 }
2731 )[];
2732 description: string;
2733 };
2734 };
2735 };
2736 SetupExitSignals: {
2737 type: string;
2738 description: string;
2739 link: string;
2740 cli: {
2741 exclude: boolean;
2742 };
2743 };
2744 SetupMiddlewares: {
2745 instanceof: string;
2746 description: string;
2747 link: string;
2748 };
2749 Static: {
2750 anyOf: (
2751 | {
2752 type: string;
2753 items: {
2754 anyOf: {
2755 $ref: string;
2756 }[];
2757 };
2758 cli?: undefined /** @typedef {import("express").Request} Request */;
2759 $ref?: undefined;
2760 }
2761 | {
2762 type: string;
2763 cli: {
2764 negatedDescription: string;
2765 };
2766 items?: undefined;
2767 $ref?: undefined;
2768 }
2769 | {
2770 $ref: string;
2771 type?: undefined;
2772 items?: undefined;
2773 cli?: undefined /** @typedef {import("express").Request} Request */;
2774 }
2775 )[];
2776 description: string;
2777 link: string;
2778 };
2779 StaticObject: {
2780 type: string;
2781 additionalProperties: boolean;
2782 properties: {
2783 directory: {
2784 type: string;
2785 minLength: number;
2786 description: string;
2787 link: string;
2788 };
2789 staticOptions: {
2790 type: string;
2791 link: string;
2792 additionalProperties: boolean;
2793 };
2794 publicPath: {
2795 anyOf: (
2796 | {
2797 type: string;
2798 items: {
2799 type: string;
2800 };
2801 minItems: number;
2802 }
2803 | {
2804 type: string;
2805 items?: undefined;
2806 minItems?: undefined;
2807 }
2808 )[];
2809 description: string;
2810 link: string;
2811 };
2812 serveIndex: {
2813 anyOf: (
2814 | {
2815 type: string;
2816 cli: {
2817 negatedDescription: string;
2818 };
2819 additionalProperties?: undefined;
2820 }
2821 | {
2822 type: string;
2823 additionalProperties: boolean;
2824 cli?: undefined /** @typedef {import("express").Request} Request */;
2825 }
2826 )[];
2827 description: string;
2828 link: string;
2829 };
2830 watch: {
2831 anyOf: (
2832 | {
2833 type: string;
2834 cli: {
2835 negatedDescription: string;
2836 };
2837 description?: undefined;
2838 link?: undefined;
2839 }
2840 | {
2841 type: string;
2842 description: string;
2843 link: string;
2844 cli?: undefined /** @typedef {import("express").Request} Request */;
2845 }
2846 )[];
2847 description: string;
2848 link: string;
2849 };
2850 };
2851 };
2852 StaticString: {
2853 type: string;
2854 minLength: number;
2855 };
2856 WatchFiles: {
2857 anyOf: (
2858 | {
2859 type: string;
2860 items: {
2861 anyOf: {
2862 $ref: string;
2863 }[];
2864 };
2865 $ref?: undefined;
2866 }
2867 | {
2868 $ref: string;
2869 type?: undefined;
2870 items?: undefined;
2871 }
2872 )[];
2873 description: string;
2874 link: string;
2875 };
2876 WatchFilesObject: {
2877 cli: {
2878 exclude: boolean;
2879 };
2880 type: string;
2881 properties: {
2882 paths: {
2883 anyOf: (
2884 | {
2885 type: string;
2886 items: {
2887 type: string;
2888 minLength: number;
2889 };
2890 minLength?: undefined;
2891 }
2892 | {
2893 type: string;
2894 minLength: number;
2895 items?: undefined;
2896 }
2897 )[];
2898 description: string;
2899 };
2900 options: {
2901 type: string;
2902 description: string;
2903 link: string;
2904 additionalProperties: boolean;
2905 };
2906 };
2907 additionalProperties: boolean;
2908 };
2909 WatchFilesString: {
2910 type: string;
2911 minLength: number;
2912 };
2913 WebSocketServer: {
2914 anyOf: {
2915 $ref: string;
2916 }[];
2917 description: string;
2918 link: string;
2919 };
2920 WebSocketServerType: {
2921 enum: string[];
2922 };
2923 WebSocketServerEnum: {
2924 anyOf: (
2925 | {
2926 enum: boolean[];
2927 cli: {
2928 negatedDescription: string;
2929 };
2930 $ref?: undefined;
2931 }
2932 | {
2933 $ref: string;
2934 enum?: undefined;
2935 cli?: undefined /** @typedef {import("express").Request} Request */;
2936 }
2937 )[];
2938 cli: {
2939 description: string /** @type {any} */;
2940 };
2941 };
2942 WebSocketServerFunction: {
2943 instanceof: string;
2944 };
2945 WebSocketServerObject: {
2946 type: string;
2947 properties: {
2948 type: {
2949 anyOf: {
2950 $ref: string;
2951 }[];
2952 };
2953 options: {
2954 type: string;
2955 additionalProperties: boolean;
2956 cli: {
2957 exclude: boolean;
2958 };
2959 };
2960 };
2961 additionalProperties: boolean;
2962 };
2963 WebSocketServerString: {
2964 type: string;
2965 minLength: number;
2966 };
2967 };
2968 additionalProperties: boolean;
2969 properties: {
2970 allowedHosts: {
2971 $ref: string;
2972 };
2973 bonjour: {
2974 $ref: string;
2975 };
2976 client: {
2977 $ref: string;
2978 };
2979 compress: {
2980 $ref: string;
2981 };
2982 devMiddleware: {
2983 $ref: string;
2984 };
2985 headers: {
2986 $ref: string;
2987 };
2988 historyApiFallback: {
2989 $ref: string;
2990 };
2991 host: {
2992 $ref: string;
2993 };
2994 hot: {
2995 $ref: string;
2996 };
2997 http2: {
2998 $ref: string;
2999 };
3000 https: {
3001 $ref: string;
3002 };
3003 ipc: {
3004 $ref: string;
3005 };
3006 liveReload: {
3007 $ref: string;
3008 };
3009 magicHtml: {
3010 $ref: string;
3011 };
3012 onAfterSetupMiddleware: {
3013 $ref: string;
3014 };
3015 onBeforeSetupMiddleware: {
3016 $ref: string;
3017 };
3018 onListening: {
3019 $ref: string;
3020 };
3021 open: {
3022 $ref: string;
3023 };
3024 port: {
3025 $ref: string;
3026 };
3027 proxy: {
3028 $ref: string;
3029 };
3030 server: {
3031 $ref: string;
3032 };
3033 setupExitSignals: {
3034 $ref: string;
3035 };
3036 setupMiddlewares: {
3037 $ref: string;
3038 };
3039 static: {
3040 $ref: string;
3041 };
3042 watchFiles: {
3043 $ref: string;
3044 };
3045 webSocketServer: {
3046 $ref: string;
3047 };
3048 };
3049 };
3050 /**
3051 * @param {string} URL
3052 * @returns {boolean}
3053 */
3054 static isAbsoluteURL(URL: string): boolean;
3055 /**
3056 * @param {string} gateway
3057 * @returns {string | undefined}
3058 */
3059 static findIp(gateway: string): string | undefined;
3060 /**
3061 * @param {"v4" | "v6"} family
3062 * @returns {Promise<string | undefined>}
3063 */
3064 static internalIP(family: "v4" | "v6"): Promise<string | undefined>;
3065 /**
3066 * @param {"v4" | "v6"} family
3067 * @returns {string | undefined}
3068 */
3069 static internalIPSync(family: "v4" | "v6"): string | undefined;
3070 /**
3071 * @param {Host} hostname
3072 * @returns {Promise<string>}
3073 */
3074 static getHostname(hostname: Host): Promise<string>;
3075 /**
3076 * @param {Port} port
3077 * @param {string} host
3078 * @returns {Promise<number | string>}
3079 */
3080 static getFreePort(port: Port, host: string): Promise<number | string>;
3081 /**
3082 * @returns {string}
3083 */
3084 static findCacheDir(): string;
3085 /**
3086 * @param {Configuration | Compiler | MultiCompiler} options
3087 * @param {Compiler | MultiCompiler | Configuration} compiler
3088 */
3089 constructor(
3090 options:
3091 | import("webpack").Compiler
3092 | import("webpack").MultiCompiler
3093 | Configuration
3094 | undefined,
3095 compiler: Compiler | MultiCompiler | Configuration
3096 );
3097 compiler: import("webpack").Compiler | import("webpack").MultiCompiler;
3098 /**
3099 * @type {ReturnType<Compiler["getInfrastructureLogger"]>}
3100 * */
3101 logger: ReturnType<Compiler["getInfrastructureLogger"]>;
3102 options: Configuration;
3103 /**
3104 * @type {FSWatcher[]}
3105 */
3106 staticWatchers: FSWatcher[];
3107 /**
3108 * @private
3109 * @type {{ name: string | symbol, listener: (...args: any[]) => void}[] }}
3110 */
3111 private listeners;
3112 /**
3113 * @private
3114 * @type {RequestHandler[]}
3115 */
3116 private webSocketProxies;
3117 /**
3118 * @type {Socket[]}
3119 */
3120 sockets: Socket[];
3121 /**
3122 * @private
3123 * @type {string | undefined}
3124 */
3125 private currentHash;
3126 /**
3127 * @private
3128 * @param {Compiler} compiler
3129 */
3130 private addAdditionalEntries;
3131 /**
3132 * @private
3133 * @returns {Compiler["options"]}
3134 */
3135 private getCompilerOptions;
3136 /**
3137 * @private
3138 * @returns {Promise<void>}
3139 */
3140 private normalizeOptions;
3141 /**
3142 * @private
3143 * @returns {string}
3144 */
3145 private getClientTransport;
3146 /**
3147 * @private
3148 * @returns {string}
3149 */
3150 private getServerTransport;
3151 /**
3152 * @private
3153 * @returns {void}
3154 */
3155 private setupProgressPlugin;
3156 /**
3157 * @private
3158 * @returns {Promise<void>}
3159 */
3160 private initialize;
3161 /**
3162 * @private
3163 * @returns {void}
3164 */
3165 private setupApp;
3166 /** @type {import("express").Application | undefined}*/
3167 app: import("express").Application | undefined;
3168 /**
3169 * @private
3170 * @param {Stats | MultiStats} statsObj
3171 * @returns {StatsCompilation}
3172 */
3173 private getStats;
3174 /**
3175 * @private
3176 * @returns {void}
3177 */
3178 private setupHooks;
3179 /**
3180 * @private
3181 * @type {Stats | MultiStats}
3182 */
3183 private stats;
3184 /**
3185 * @private
3186 * @returns {void}
3187 */
3188 private setupHostHeaderCheck;
3189 /**
3190 * @private
3191 * @returns {void}
3192 */
3193 private setupDevMiddleware;
3194 middleware:
3195 | import("webpack-dev-middleware").API<
3196 express.Request<
3197 import("express-serve-static-core").ParamsDictionary,
3198 any,
3199 any,
3200 qs.ParsedQs,
3201 Record<string, any>
3202 >,
3203 express.Response<any, Record<string, any>>
3204 >
3205 | null
3206 | undefined;
3207 /**
3208 * @private
3209 * @returns {void}
3210 */
3211 private setupBuiltInRoutes;
3212 /**
3213 * @private
3214 * @returns {void}
3215 */
3216 private setupWatchStaticFiles;
3217 /**
3218 * @private
3219 * @returns {void}
3220 */
3221 private setupWatchFiles;
3222 /**
3223 * @private
3224 * @returns {void}
3225 */
3226 private setupMiddlewares;
3227 /**
3228 * @private
3229 * @returns {void}
3230 */
3231 private createServer;
3232 /** @type {import("http").Server | undefined | null} */
3233 server: import("http").Server | undefined | null;
3234 /**
3235 * @private
3236 * @returns {void}
3237 */
3238 private createWebSocketServer;
3239 /** @type {WebSocketServerImplementation | undefined | null} */
3240 webSocketServer: WebSocketServerImplementation | undefined | null;
3241 /**
3242 * @private
3243 * @param {string} defaultOpenTarget
3244 * @returns {void}
3245 */
3246 private openBrowser;
3247 /**
3248 * @private
3249 * @returns {void}
3250 */
3251 private runBonjour;
3252 /**
3253 * @private
3254 * @type {Bonjour | undefined}
3255 */
3256 private bonjour;
3257 /**
3258 * @private
3259 * @returns {void}
3260 */
3261 private stopBonjour;
3262 /**
3263 * @private
3264 * @returns {void}
3265 */
3266 private logStatus;
3267 /**
3268 * @private
3269 * @param {Request} req
3270 * @param {Response} res
3271 * @param {NextFunction} next
3272 */
3273 private setHeaders;
3274 /**
3275 * @private
3276 * @param {{ [key: string]: string | undefined }} headers
3277 * @param {string} headerToCheck
3278 * @returns {boolean}
3279 */
3280 private checkHeader;
3281 /**
3282 * @param {ClientConnection[]} clients
3283 * @param {string} type
3284 * @param {any} [data]
3285 * @param {any} [params]
3286 */
3287 sendMessage(
3288 clients: ClientConnection[],
3289 type: string,
3290 data?: any,
3291 params?: any
3292 ): void;
3293 /**
3294 * @private
3295 * @param {Request} req
3296 * @param {Response} res
3297 * @param {NextFunction} next
3298 * @returns {void}
3299 */
3300 private serveMagicHtml;
3301 /**
3302 * @private
3303 * @param {ClientConnection[]} clients
3304 * @param {StatsCompilation} stats
3305 * @param {boolean} [force]
3306 */
3307 private sendStats;
3308 /**
3309 * @param {string | string[]} watchPath
3310 * @param {WatchOptions} [watchOptions]
3311 */
3312 watchFiles(
3313 watchPath: string | string[],
3314 watchOptions?: import("chokidar").WatchOptions | undefined
3315 ): void;
3316 /**
3317 * @param {import("webpack-dev-middleware").Callback} [callback]
3318 */
3319 invalidate(
3320 callback?: import("webpack-dev-middleware").Callback | undefined
3321 ): void;
3322 /**
3323 * @returns {Promise<void>}
3324 */
3325 start(): Promise<void>;
3326 /**
3327 * @param {(err?: Error) => void} [callback]
3328 */
3329 startCallback(callback?: ((err?: Error) => void) | undefined): void;
3330 /**
3331 * @returns {Promise<void>}
3332 */
3333 stop(): Promise<void>;
3334 /**
3335 * @param {(err?: Error) => void} [callback]
3336 */
3337 stopCallback(callback?: ((err?: Error) => void) | undefined): void;
3338 /**
3339 * @param {Port} port
3340 * @param {Host} hostname
3341 * @param {(err?: Error) => void} fn
3342 * @returns {void}
3343 */
3344 listen(port: Port, hostname: Host, fn: (err?: Error) => void): void;
3345 /**
3346 * @param {(err?: Error) => void} [callback]
3347 * @returns {void}
3348 */
3349 close(callback?: ((err?: Error) => void) | undefined): void;
3350}
3351declare namespace Server {
3352 export {
3353 DEFAULT_STATS,
3354 Schema,
3355 Compiler,
3356 MultiCompiler,
3357 WebpackConfiguration,
3358 StatsOptions,
3359 StatsCompilation,
3360 Stats,
3361 MultiStats,
3362 NetworkInterfaceInfo,
3363 Request,
3364 Response,
3365 NextFunction,
3366 ExpressRequestHandler,
3367 ExpressErrorRequestHandler,
3368 WatchOptions,
3369 FSWatcher,
3370 ConnectHistoryApiFallbackOptions,
3371 Bonjour,
3372 BonjourOptions,
3373 RequestHandler,
3374 HttpProxyMiddlewareOptions,
3375 HttpProxyMiddlewareOptionsFilter,
3376 ServeIndexOptions,
3377 ServeStaticOptions,
3378 IPv4,
3379 IPv6,
3380 Socket,
3381 IncomingMessage,
3382 OpenOptions,
3383 ServerOptions,
3384 DevMiddlewareOptions,
3385 DevMiddlewareContext,
3386 Host,
3387 Port,
3388 WatchFiles,
3389 Static,
3390 NormalizedStatic,
3391 ServerConfiguration,
3392 WebSocketServerConfiguration,
3393 ClientConnection,
3394 WebSocketServer,
3395 WebSocketServerImplementation,
3396 ByPass,
3397 ProxyConfigArrayItem,
3398 ProxyConfigArray,
3399 ProxyConfigMap,
3400 OpenApp,
3401 Open,
3402 NormalizedOpen,
3403 WebSocketURL,
3404 ClientConfiguration,
3405 Headers,
3406 Middleware,
3407 Configuration,
3408 };
3409}
3410type Compiler = import("webpack").Compiler;
3411type Configuration = {
3412 ipc?: string | boolean | undefined;
3413 host?: string | undefined;
3414 port?: Port | undefined;
3415 hot?: boolean | "only" | undefined;
3416 liveReload?: boolean | undefined;
3417 devMiddleware?:
3418 | DevMiddlewareOptions<
3419 express.Request<
3420 import("express-serve-static-core").ParamsDictionary,
3421 any,
3422 any,
3423 qs.ParsedQs,
3424 Record<string, any>
3425 >,
3426 express.Response<any, Record<string, any>>
3427 >
3428 | undefined;
3429 compress?: boolean | undefined;
3430 magicHtml?: boolean | undefined;
3431 allowedHosts?: string | string[] | undefined;
3432 historyApiFallback?:
3433 | boolean
3434 | import("connect-history-api-fallback").Options
3435 | undefined;
3436 setupExitSignals?: boolean | undefined;
3437 bonjour?:
3438 | boolean
3439 | Record<string, never>
3440 | import("bonjour-service").Service
3441 | undefined;
3442 watchFiles?:
3443 | string
3444 | string[]
3445 | WatchFiles
3446 | (string | WatchFiles)[]
3447 | undefined;
3448 static?: string | boolean | Static | (string | Static)[] | undefined;
3449 https?: boolean | ServerOptions | undefined;
3450 http2?: boolean | undefined;
3451 server?: string | ServerConfiguration | undefined;
3452 webSocketServer?: string | boolean | WebSocketServerConfiguration | undefined;
3453 proxy?: ProxyConfigArrayItem | ProxyConfigMap | ProxyConfigArray | undefined;
3454 open?: string | boolean | Open | (string | Open)[] | undefined;
3455 client?: boolean | ClientConfiguration | undefined;
3456 headers?:
3457 | Headers
3458 | ((
3459 req: Request,
3460 res: Response,
3461 context: DevMiddlewareContext<Request, Response>
3462 ) => Headers)
3463 | undefined;
3464 onAfterSetupMiddleware?: ((devServer: Server) => void) | undefined;
3465 onBeforeSetupMiddleware?: ((devServer: Server) => void) | undefined;
3466 onListening?: ((devServer: Server) => void) | undefined;
3467 setupMiddlewares?:
3468 | ((middlewares: Middleware[], devServer: Server) => Middleware[])
3469 | undefined;
3470};
3471type FSWatcher = import("chokidar").FSWatcher;
3472type Socket = import("net").Socket;
3473import express = require("express");
3474type WebSocketServerImplementation = {
3475 implementation: WebSocketServer;
3476 clients: ClientConnection[];
3477};
3478type ClientConnection = (
3479 | import("ws").WebSocket
3480 | (import("sockjs").Connection & {
3481 send: import("ws").WebSocket["send"];
3482 terminate: import("ws").WebSocket["terminate"];
3483 ping: import("ws").WebSocket["ping"];
3484 })
3485) & {
3486 isAlive?: boolean;
3487};
3488type Port = number | string | "auto";
3489type Host = "local-ip" | "local-ipv4" | "local-ipv6" | string;
3490type MultiCompiler = import("webpack").MultiCompiler;
3491declare class DEFAULT_STATS {
3492 private constructor();
3493}
3494type Schema = import("schema-utils/declarations/validate").Schema;
3495type WebpackConfiguration = import("webpack").Configuration;
3496type StatsOptions = import("webpack").StatsOptions;
3497type StatsCompilation = import("webpack").StatsCompilation;
3498type Stats = import("webpack").Stats;
3499type MultiStats = import("webpack").MultiStats;
3500type NetworkInterfaceInfo = import("os").NetworkInterfaceInfo;
3501type Request = import("express").Request;
3502type Response = import("express").Response;
3503type NextFunction = import("express").NextFunction;
3504type ExpressRequestHandler = import("express").RequestHandler;
3505type ExpressErrorRequestHandler = import("express").ErrorRequestHandler;
3506type WatchOptions = import("chokidar").WatchOptions;
3507type ConnectHistoryApiFallbackOptions =
3508 import("connect-history-api-fallback").Options;
3509type Bonjour = import("bonjour-service").Bonjour;
3510type BonjourOptions = import("bonjour-service").Service;
3511type RequestHandler = import("http-proxy-middleware").RequestHandler;
3512type HttpProxyMiddlewareOptions = import("http-proxy-middleware").Options;
3513type HttpProxyMiddlewareOptionsFilter = import("http-proxy-middleware").Filter;
3514type ServeIndexOptions = import("serve-index").Options;
3515type ServeStaticOptions = import("serve-static").ServeStaticOptions;
3516type IPv4 = import("ipaddr.js").IPv4;
3517type IPv6 = import("ipaddr.js").IPv6;
3518type IncomingMessage = import("http").IncomingMessage;
3519type OpenOptions = import("open").Options;
3520type ServerOptions = import("https").ServerOptions & {
3521 spdy?: {
3522 plain?: boolean | undefined;
3523 ssl?: boolean | undefined;
3524 "x-forwarded-for"?: string | undefined;
3525 protocol?: string | undefined;
3526 protocols?: string[] | undefined;
3527 };
3528};
3529type DevMiddlewareOptions<Request_1, Response_1> =
3530 import("webpack-dev-middleware").Options<Request, Response>;
3531type DevMiddlewareContext<Request_1, Response_1> =
3532 import("webpack-dev-middleware").Context<Request, Response>;
3533type WatchFiles = {
3534 paths: string | string[];
3535 options?:
3536 | (import("chokidar").WatchOptions & {
3537 aggregateTimeout?: number | undefined;
3538 ignored?: WatchOptions["ignored"];
3539 poll?: number | boolean | undefined;
3540 })
3541 | undefined;
3542};
3543type Static = {
3544 directory?: string | undefined;
3545 publicPath?: string | string[] | undefined;
3546 serveIndex?: boolean | import("serve-index").Options | undefined;
3547 staticOptions?:
3548 | import("serve-static").ServeStaticOptions<import("http").ServerResponse>
3549 | undefined;
3550 watch?:
3551 | boolean
3552 | (import("chokidar").WatchOptions & {
3553 aggregateTimeout?: number | undefined;
3554 ignored?: WatchOptions["ignored"];
3555 poll?: number | boolean | undefined;
3556 })
3557 | undefined;
3558};
3559type NormalizedStatic = {
3560 directory: string;
3561 publicPath: string[];
3562 serveIndex: false | ServeIndexOptions;
3563 staticOptions: ServeStaticOptions;
3564 watch: false | WatchOptions;
3565};
3566type ServerConfiguration = {
3567 type?: string | undefined;
3568 options?: ServerOptions | undefined;
3569};
3570type WebSocketServerConfiguration = {
3571 type?: string | Function | undefined;
3572 options?: Record<string, any> | undefined;
3573};
3574type WebSocketServer =
3575 | import("ws").WebSocketServer
3576 | (import("sockjs").Server & {
3577 close: import("ws").WebSocketServer["close"];
3578 });
3579type ByPass = (
3580 req: Request,
3581 res: Response,
3582 proxyConfig: ProxyConfigArrayItem
3583) => any;
3584type ProxyConfigArrayItem = {
3585 path?: HttpProxyMiddlewareOptionsFilter | undefined;
3586 context?: HttpProxyMiddlewareOptionsFilter | undefined;
3587} & {
3588 bypass?: ByPass;
3589} & HttpProxyMiddlewareOptions;
3590type ProxyConfigArray = (
3591 | ProxyConfigArrayItem
3592 | ((
3593 req?: Request | undefined,
3594 res?: Response | undefined,
3595 next?: NextFunction | undefined
3596 ) => ProxyConfigArrayItem)
3597)[];
3598type ProxyConfigMap = {
3599 [url: string]: string | ProxyConfigArrayItem;
3600};
3601type OpenApp = {
3602 name?: string | undefined;
3603 arguments?: string[] | undefined;
3604};
3605type Open = {
3606 app?: string | string[] | OpenApp | undefined;
3607 target?: string | string[] | undefined;
3608};
3609type NormalizedOpen = {
3610 target: string;
3611 options: import("open").Options;
3612};
3613type WebSocketURL = {
3614 hostname?: string | undefined;
3615 password?: string | undefined;
3616 pathname?: string | undefined;
3617 port?: string | number | undefined;
3618 protocol?: string | undefined;
3619 username?: string | undefined;
3620};
3621type ClientConfiguration = {
3622 logging?: "none" | "error" | "warn" | "info" | "log" | "verbose" | undefined;
3623 overlay?:
3624 | boolean
3625 | {
3626 warnings?: boolean | undefined;
3627 errors?: boolean | undefined;
3628 }
3629 | undefined;
3630 progress?: boolean | undefined;
3631 reconnect?: number | boolean | undefined;
3632 webSocketTransport?: string | undefined;
3633 webSocketURL?: string | WebSocketURL | undefined;
3634};
3635type Headers =
3636 | Array<{
3637 key: string;
3638 value: string;
3639 }>
3640 | Record<string, string | string[]>;
3641type Middleware =
3642 | {
3643 name?: string;
3644 path?: string;
3645 middleware: ExpressRequestHandler | ExpressErrorRequestHandler;
3646 }
3647 | ExpressRequestHandler
3648 | ExpressErrorRequestHandler;
3649import path = require("path");
3650
3651// DO NOT REMOVE THIS!
3652type DevServerConfiguration = Configuration;
3653declare module "webpack" {
3654 interface Configuration {
3655 /**
3656 * Can be used to configure the behaviour of webpack-dev-server when
3657 * the webpack config is passed to webpack-dev-server CLI.
3658 */
3659 devServer?: DevServerConfiguration | undefined;
3660 }
3661}