@rspack/dev-server 2.0.0-rc.3 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,31 +1,3 @@
1
- /*!
2
- * Array of passes.
3
- *
4
- * A `pass` is just a function that is executed on `req, res, options`
5
- * so that you can easily add new checks while still keeping the base
6
- * flexible.
7
- */
8
-
9
- /*!
10
- * Array of passes.
11
- *
12
- * A `pass` is just a function that is executed on `req, socket, options`
13
- * so that you can easily add new checks while still keeping the base
14
- * flexible.
15
- */
16
-
17
- /*!
18
- * Caron dimonio, con occhi di bragia
19
- * loro accennando, tutte le raccoglie;
20
- * batte col remo qualunque s’adagia
21
- *
22
- * Charon the demon, with the eyes of glede,
23
- * Beckoning to them, collects them all together,
24
- * Beats with his oar whoever lags behind
25
- *
26
- * Dante - The Divine Comedy (Canto III)
27
- */
28
-
29
1
  /*!
30
2
  * fill-range <https://github.com/jonschlinkert/fill-range>
31
3
  *
@@ -54,13 +26,6 @@
54
26
  * Released under the MIT License.
55
27
  */
56
28
 
57
- /*!
58
- * is-plain-object <https://github.com/jonschlinkert/is-plain-object>
59
- *
60
- * Copyright (c) 2014-2017, Jon Schlinkert.
61
- * Released under the MIT License.
62
- */
63
-
64
29
  /*!
65
30
  * to-regex-range <https://github.com/micromatch/to-regex-range>
66
31
  *
@@ -1,5 +1,5 @@
1
- import { __webpack_require__ } from "./937.js";
2
- import "./937.js";
1
+ import { __webpack_require__ } from "./198.js";
2
+ import "./198.js";
3
3
  __webpack_require__.add({
4
4
  "./node_modules/.pnpm/launch-editor@2.13.2/node_modules/launch-editor/editor-info/linux.js" (module) {
5
5
  module.exports = {
@@ -442,7 +442,7 @@ __webpack_require__.add({
442
442
  module.exports.createColors = createColors;
443
443
  },
444
444
  "./node_modules/.pnpm/shell-quote@1.8.3/node_modules/shell-quote/index.js" (__unused_rspack_module, exports, __webpack_require__) {
445
- exports.quote = __webpack_require__("./node_modules/.pnpm/shell-quote@1.8.3/node_modules/shell-quote/quote.js");
445
+ __webpack_require__("./node_modules/.pnpm/shell-quote@1.8.3/node_modules/shell-quote/quote.js");
446
446
  exports.parse = __webpack_require__("./node_modules/.pnpm/shell-quote@1.8.3/node_modules/shell-quote/parse.js");
447
447
  },
448
448
  "./node_modules/.pnpm/shell-quote@1.8.3/node_modules/shell-quote/parse.js" (module) {
@@ -1,6 +1,6 @@
1
1
  /*! LICENSE: 0~serve-static.js.LICENSE.txt */
2
- import { __webpack_require__ } from "./937.js";
3
- import "./937.js";
2
+ import { __webpack_require__ } from "./198.js";
3
+ import "./198.js";
4
4
  import "./0~debug.js";
5
5
  __webpack_require__.add({
6
6
  "./node_modules/.pnpm/depd@2.0.0/node_modules/depd/index.js" (module, __unused_rspack_exports, __webpack_require__) {
@@ -85,8 +85,8 @@ var __webpack_require__temp = __webpack_require__;
85
85
  })();
86
86
  (()=>{
87
87
  var installedChunks = {
88
- 410: 0,
89
- 937: 0
88
+ 198: 0,
89
+ 410: 0
90
90
  };
91
91
  var installChunk = (data)=>{
92
92
  var __rspack_esm_ids = data.__rspack_esm_ids;
@@ -3701,9 +3701,6 @@ __webpack_require__.add({
3701
3701
  }
3702
3702
  }
3703
3703
  },
3704
- assert (module) {
3705
- module.exports = __rspack_createRequire_require("assert");
3706
- },
3707
3704
  async_hooks (module) {
3708
3705
  module.exports = __rspack_createRequire_require("async_hooks");
3709
3706
  },
@@ -3737,9 +3734,6 @@ __webpack_require__.add({
3737
3734
  path (module) {
3738
3735
  module.exports = __rspack_createRequire_require("path");
3739
3736
  },
3740
- querystring (module) {
3741
- module.exports = __rspack_createRequire_require("querystring");
3742
- },
3743
3737
  stream (module) {
3744
3738
  module.exports = __rspack_createRequire_require("stream");
3745
3739
  },
@@ -4721,7 +4715,7 @@ class Server {
4721
4715
  }
4722
4716
  });
4723
4717
  if (this.options.proxy) {
4724
- const { createProxyMiddleware } = await import("./0~http-proxy-middleware.js").then(__webpack_require__.t.bind(__webpack_require__, "./node_modules/.pnpm/http-proxy-middleware@3.0.5/node_modules/http-proxy-middleware/dist/index.js", 23));
4718
+ const { createProxyMiddleware } = await import("./0~http-proxy-middleware.js");
4725
4719
  const getProxyMiddleware = (proxyConfig)=>{
4726
4720
  const { context, ...proxyOptions } = proxyConfig;
4727
4721
  const pathFilter = proxyOptions.pathFilter ?? context;
package/dist/index.d.ts CHANGED
@@ -1,8 +1,14 @@
1
+ /// <reference types="node" />
2
+
3
+ import { Agent } from 'http';
1
4
  import { API } from '@rspack/dev-middleware';
2
5
  import { Callback } from '@rspack/dev-middleware';
6
+ import { ClientRequest } from 'http';
7
+ import { ClientRequestArgs } from 'http';
3
8
  import { Compiler } from '@rspack/core';
4
9
  import { DevServer as Configuration } from '@rspack/core';
5
10
  import { Context } from '@rspack/dev-middleware';
11
+ import { createConnection } from 'net';
6
12
  import type { DevServerClient } from '@rspack/core';
7
13
  import type { DevServerHeaders } from '@rspack/core';
8
14
  import type { DevServerHost } from '@rspack/core';
@@ -11,26 +17,33 @@ import type { DevServerOpenOptions } from '@rspack/core';
11
17
  import type { DevServerProxyConfigArray } from '@rspack/core';
12
18
  import type { DevServerStatic } from '@rspack/core';
13
19
  import type { Dirent } from 'node:fs';
20
+ import { Duplex } from 'stream';
14
21
  import { EventEmitter } from 'node:events';
22
+ import { EventEmitter as EventEmitter_2 } from 'events';
15
23
  import * as http from 'node:http';
16
24
  import type { IncomingMessage as IncomingMessage_2 } from 'node:http';
25
+ import { IncomingMessage as IncomingMessage_3 } from 'http';
17
26
  import type { ListenOptions } from 'node:net';
18
27
  import { MultiCompiler } from '@rspack/core';
19
28
  import { MultiStats } from '@rspack/core';
20
29
  import { Options } from '@rspack/dev-middleware';
30
+ import { OutgoingHttpHeaders } from 'http';
21
31
  import { Readable } from 'node:stream';
32
+ import { SecureContextOptions } from 'tls';
22
33
  import { Server as Server_2 } from 'node:net';
23
34
  import { Server as Server_3 } from 'node:tls';
24
35
  import type { Server as Server_4 } from 'node:http';
36
+ import { Server as Server_6 } from 'http';
37
+ import { Server as Server_7 } from 'https';
25
38
  import type { ServerOptions } from 'node:https';
26
39
  import type { ServerResponse } from 'node:http';
27
40
  import { Socket } from 'node:net';
28
41
  import { Stats } from 'node:fs';
29
42
  import { Stats as Stats_2 } from '@rspack/core';
30
43
  import { StatsOptions } from '@rspack/core';
44
+ import { URL as URL_2 } from 'url';
31
45
  import type { WatchEventType } from 'node:fs';
32
- import { WebSocket as WebSocket_2 } from 'ws';
33
- import { WebSocketServer as WebSocketServer_2 } from 'ws';
46
+ import { ZlibOptions } from 'zlib';
34
47
 
35
48
  declare type AWF = {
36
49
  stabilityThreshold: number;
@@ -57,6 +70,25 @@ declare type BasicOpts = {
57
70
 
58
71
  declare type BasicServer = Server_2 | Server_3;
59
72
 
73
+ declare type BufferLike =
74
+ | string
75
+ | Buffer
76
+ | DataView
77
+ | number
78
+ | ArrayBufferView
79
+ | Uint8Array
80
+ | ArrayBuffer
81
+ | SharedArrayBuffer
82
+ | Blob
83
+ | readonly any[]
84
+ | readonly number[]
85
+ | { valueOf(): ArrayBuffer }
86
+ | { valueOf(): SharedArrayBuffer }
87
+ | { valueOf(): Uint8Array }
88
+ | { valueOf(): readonly number[] }
89
+ | { valueOf(): string }
90
+ | { [Symbol.toPrimitive](hint: string): string };
91
+
60
92
  declare type ChokidarOptions = Partial<BasicOpts & {
61
93
  ignored: Matcher | Matcher[];
62
94
  awaitWriteFinish: boolean | Partial<AWF>;
@@ -510,6 +542,75 @@ declare interface Server extends EventEmitter {
510
542
  listen(handle: unknown, listeningListener?: Function): http.Server;
511
543
  }
512
544
 
545
+ declare class Server_5<
546
+ T extends typeof WebSocket_2 = typeof WebSocket_2,
547
+ U extends typeof IncomingMessage_3 = typeof IncomingMessage_3,
548
+ > extends EventEmitter_2 {
549
+ options: WebSocket_2.ServerOptions<T, U>;
550
+ path: string;
551
+ clients: Set<InstanceType<T>>;
552
+
553
+ constructor(options?: WebSocket_2.ServerOptions<T, U>, callback?: () => void);
554
+
555
+ address(): WebSocket_2.AddressInfo | string | null;
556
+ close(cb?: (err?: Error) => void): void;
557
+ handleUpgrade(
558
+ request: InstanceType<U>,
559
+ socket: Duplex,
560
+ upgradeHead: Buffer,
561
+ callback: (client: InstanceType<T>, request: InstanceType<U>) => void,
562
+ ): void;
563
+ shouldHandle(request: InstanceType<U>): boolean | Promise<boolean>;
564
+
565
+ // Events
566
+ on(event: "connection", cb: (this: Server_5<T>, websocket: InstanceType<T>, request: InstanceType<U>) => void): this;
567
+ on(event: "error", cb: (this: Server_5<T>, error: Error) => void): this;
568
+ on(event: "headers", cb: (this: Server_5<T>, headers: string[], request: InstanceType<U>) => void): this;
569
+ on(event: "close" | "listening", cb: (this: Server_5<T>) => void): this;
570
+ on(
571
+ event: "wsClientError",
572
+ cb: (this: Server_5<T>, error: Error, socket: Duplex, request: InstanceType<U>) => void,
573
+ ): this;
574
+ on(event: string | symbol, listener: (this: Server_5<T>, ...args: any[]) => void): this;
575
+
576
+ once(
577
+ event: "connection",
578
+ cb: (this: Server_5<T>, websocket: InstanceType<T>, request: InstanceType<U>) => void,
579
+ ): this;
580
+ once(event: "error", cb: (this: Server_5<T>, error: Error) => void): this;
581
+ once(event: "headers", cb: (this: Server_5<T>, headers: string[], request: InstanceType<U>) => void): this;
582
+ once(event: "close" | "listening", cb: (this: Server_5<T>) => void): this;
583
+ once(
584
+ event: "wsClientError",
585
+ cb: (this: Server_5<T>, error: Error, socket: Duplex, request: InstanceType<U>) => void,
586
+ ): this;
587
+ once(event: string | symbol, listener: (this: Server_5<T>, ...args: any[]) => void): this;
588
+
589
+ off(event: "connection", cb: (this: Server_5<T>, websocket: InstanceType<T>, request: InstanceType<U>) => void): this;
590
+ off(event: "error", cb: (this: Server_5<T>, error: Error) => void): this;
591
+ off(event: "headers", cb: (this: Server_5<T>, headers: string[], request: InstanceType<U>) => void): this;
592
+ off(event: "close" | "listening", cb: (this: Server_5<T>) => void): this;
593
+ off(
594
+ event: "wsClientError",
595
+ cb: (this: Server_5<T>, error: Error, socket: Duplex, request: InstanceType<U>) => void,
596
+ ): this;
597
+ off(event: string | symbol, listener: (this: Server_5<T>, ...args: any[]) => void): this;
598
+
599
+ addListener(event: "connection", cb: (websocket: InstanceType<T>, request: InstanceType<U>) => void): this;
600
+ addListener(event: "error", cb: (error: Error) => void): this;
601
+ addListener(event: "headers", cb: (headers: string[], request: InstanceType<U>) => void): this;
602
+ addListener(event: "close" | "listening", cb: () => void): this;
603
+ addListener(event: "wsClientError", cb: (error: Error, socket: Duplex, request: InstanceType<U>) => void): this;
604
+ addListener(event: string | symbol, listener: (...args: any[]) => void): this;
605
+
606
+ removeListener(event: "connection", cb: (websocket: InstanceType<T>, request: InstanceType<U>) => void): this;
607
+ removeListener(event: "error", cb: (error: Error) => void): this;
608
+ removeListener(event: "headers", cb: (headers: string[], request: InstanceType<U>) => void): this;
609
+ removeListener(event: "close" | "listening", cb: () => void): this;
610
+ removeListener(event: "wsClientError", cb: (error: Error, socket: Duplex, request: InstanceType<U>) => void): this;
611
+ removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
612
+ }
613
+
513
614
  declare interface ServerConfiguration<A extends BasicApplication = Server, S extends BasicServer = Server_4> {
514
615
  type?: ServerType<A, S>;
515
616
  options?: ServerOptions;
@@ -572,8 +673,328 @@ declare class WatchHelper {
572
673
  filterDir(entry: EntryInfo): boolean;
573
674
  }
574
675
 
676
+ declare class WebSocket_2 extends EventEmitter_2 {
677
+ /** The connection is not yet open. */
678
+ static readonly CONNECTING: 0;
679
+ /** The connection is open and ready to communicate. */
680
+ static readonly OPEN: 1;
681
+ /** The connection is in the process of closing. */
682
+ static readonly CLOSING: 2;
683
+ /** The connection is closed. */
684
+ static readonly CLOSED: 3;
685
+
686
+ binaryType: "nodebuffer" | "arraybuffer" | "fragments";
687
+ readonly bufferedAmount: number;
688
+ readonly extensions: string;
689
+ /** Indicates whether the websocket is paused */
690
+ readonly isPaused: boolean;
691
+ readonly protocol: string;
692
+ /** The current state of the connection */
693
+ readonly readyState:
694
+ | typeof WebSocket_2.CONNECTING
695
+ | typeof WebSocket_2.OPEN
696
+ | typeof WebSocket_2.CLOSING
697
+ | typeof WebSocket_2.CLOSED;
698
+ readonly url: string;
699
+
700
+ /** The connection is not yet open. */
701
+ readonly CONNECTING: 0;
702
+ /** The connection is open and ready to communicate. */
703
+ readonly OPEN: 1;
704
+ /** The connection is in the process of closing. */
705
+ readonly CLOSING: 2;
706
+ /** The connection is closed. */
707
+ readonly CLOSED: 3;
708
+
709
+ onopen: ((event: WebSocket_2.Event) => void) | null;
710
+ onerror: ((event: WebSocket_2.ErrorEvent) => void) | null;
711
+ onclose: ((event: WebSocket_2.CloseEvent) => void) | null;
712
+ onmessage: ((event: WebSocket_2.MessageEvent) => void) | null;
713
+
714
+ constructor(address: null);
715
+ constructor(address: string | URL_2, options?: WebSocket_2.ClientOptions | ClientRequestArgs);
716
+ constructor(
717
+ address: string | URL_2,
718
+ protocols?: string | string[],
719
+ options?: WebSocket_2.ClientOptions | ClientRequestArgs,
720
+ );
721
+
722
+ close(code?: number, data?: string | Buffer): void;
723
+ ping(data?: any, mask?: boolean, cb?: (err: Error) => void): void;
724
+ pong(data?: any, mask?: boolean, cb?: (err: Error) => void): void;
725
+ // https://github.com/websockets/ws/issues/2076#issuecomment-1250354722
726
+ send(data: BufferLike, cb?: (err?: Error) => void): void;
727
+ send(
728
+ data: BufferLike,
729
+ options: {
730
+ mask?: boolean | undefined;
731
+ binary?: boolean | undefined;
732
+ compress?: boolean | undefined;
733
+ fin?: boolean | undefined;
734
+ },
735
+ cb?: (err?: Error) => void,
736
+ ): void;
737
+ terminate(): void;
738
+
739
+ /**
740
+ * Pause the websocket causing it to stop emitting events. Some events can still be
741
+ * emitted after this is called, until all buffered data is consumed. This method
742
+ * is a noop if the ready state is `CONNECTING` or `CLOSED`.
743
+ */
744
+ pause(): void;
745
+ /**
746
+ * Make a paused socket resume emitting events. This method is a noop if the ready
747
+ * state is `CONNECTING` or `CLOSED`.
748
+ */
749
+ resume(): void;
750
+
751
+ // HTML5 WebSocket events
752
+ addEventListener<K extends keyof WebSocket_2.WebSocketEventMap>(
753
+ type: K,
754
+ listener:
755
+ | ((event: WebSocket_2.WebSocketEventMap[K]) => void)
756
+ | { handleEvent(event: WebSocket_2.WebSocketEventMap[K]): void },
757
+ options?: WebSocket_2.EventListenerOptions,
758
+ ): void;
759
+ removeEventListener<K extends keyof WebSocket_2.WebSocketEventMap>(
760
+ type: K,
761
+ listener:
762
+ | ((event: WebSocket_2.WebSocketEventMap[K]) => void)
763
+ | { handleEvent(event: WebSocket_2.WebSocketEventMap[K]): void },
764
+ ): void;
765
+
766
+ // Events
767
+ on(event: "close", listener: (this: WebSocket_2, code: number, reason: Buffer) => void): this;
768
+ on(event: "error", listener: (this: WebSocket_2, error: Error) => void): this;
769
+ on(event: "upgrade", listener: (this: WebSocket_2, request: IncomingMessage_3) => void): this;
770
+ on(event: "message", listener: (this: WebSocket_2, data: WebSocket_2.RawData, isBinary: boolean) => void): this;
771
+ on(event: "open", listener: (this: WebSocket_2) => void): this;
772
+ on(event: "ping" | "pong", listener: (this: WebSocket_2, data: Buffer) => void): this;
773
+ on(event: "redirect", listener: (this: WebSocket_2, url: string, request: ClientRequest) => void): this;
774
+ on(
775
+ event: "unexpected-response",
776
+ listener: (this: WebSocket_2, request: ClientRequest, response: IncomingMessage_3) => void,
777
+ ): this;
778
+ on(event: string | symbol, listener: (this: WebSocket_2, ...args: any[]) => void): this;
779
+
780
+ once(event: "close", listener: (this: WebSocket_2, code: number, reason: Buffer) => void): this;
781
+ once(event: "error", listener: (this: WebSocket_2, error: Error) => void): this;
782
+ once(event: "upgrade", listener: (this: WebSocket_2, request: IncomingMessage_3) => void): this;
783
+ once(event: "message", listener: (this: WebSocket_2, data: WebSocket_2.RawData, isBinary: boolean) => void): this;
784
+ once(event: "open", listener: (this: WebSocket_2) => void): this;
785
+ once(event: "ping" | "pong", listener: (this: WebSocket_2, data: Buffer) => void): this;
786
+ once(event: "redirect", listener: (this: WebSocket_2, url: string, request: ClientRequest) => void): this;
787
+ once(
788
+ event: "unexpected-response",
789
+ listener: (this: WebSocket_2, request: ClientRequest, response: IncomingMessage_3) => void,
790
+ ): this;
791
+ once(event: string | symbol, listener: (this: WebSocket_2, ...args: any[]) => void): this;
792
+
793
+ off(event: "close", listener: (this: WebSocket_2, code: number, reason: Buffer) => void): this;
794
+ off(event: "error", listener: (this: WebSocket_2, error: Error) => void): this;
795
+ off(event: "upgrade", listener: (this: WebSocket_2, request: IncomingMessage_3) => void): this;
796
+ off(event: "message", listener: (this: WebSocket_2, data: WebSocket_2.RawData, isBinary: boolean) => void): this;
797
+ off(event: "open", listener: (this: WebSocket_2) => void): this;
798
+ off(event: "ping" | "pong", listener: (this: WebSocket_2, data: Buffer) => void): this;
799
+ off(event: "redirect", listener: (this: WebSocket_2, url: string, request: ClientRequest) => void): this;
800
+ off(
801
+ event: "unexpected-response",
802
+ listener: (this: WebSocket_2, request: ClientRequest, response: IncomingMessage_3) => void,
803
+ ): this;
804
+ off(event: string | symbol, listener: (this: WebSocket_2, ...args: any[]) => void): this;
805
+
806
+ addListener(event: "close", listener: (code: number, reason: Buffer) => void): this;
807
+ addListener(event: "error", listener: (error: Error) => void): this;
808
+ addListener(event: "upgrade", listener: (request: IncomingMessage_3) => void): this;
809
+ addListener(event: "message", listener: (data: WebSocket_2.RawData, isBinary: boolean) => void): this;
810
+ addListener(event: "open", listener: () => void): this;
811
+ addListener(event: "ping" | "pong", listener: (data: Buffer) => void): this;
812
+ addListener(event: "redirect", listener: (url: string, request: ClientRequest) => void): this;
813
+ addListener(
814
+ event: "unexpected-response",
815
+ listener: (request: ClientRequest, response: IncomingMessage_3) => void,
816
+ ): this;
817
+ addListener(event: string | symbol, listener: (...args: any[]) => void): this;
818
+
819
+ removeListener(event: "close", listener: (code: number, reason: Buffer) => void): this;
820
+ removeListener(event: "error", listener: (error: Error) => void): this;
821
+ removeListener(event: "upgrade", listener: (request: IncomingMessage_3) => void): this;
822
+ removeListener(event: "message", listener: (data: WebSocket_2.RawData, isBinary: boolean) => void): this;
823
+ removeListener(event: "open", listener: () => void): this;
824
+ removeListener(event: "ping" | "pong", listener: (data: Buffer) => void): this;
825
+ removeListener(event: "redirect", listener: (url: string, request: ClientRequest) => void): this;
826
+ removeListener(
827
+ event: "unexpected-response",
828
+ listener: (request: ClientRequest, response: IncomingMessage_3) => void,
829
+ ): this;
830
+ removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
831
+ }
832
+
833
+ declare namespace WebSocket_2 {
834
+ /**
835
+ * Data represents the raw message payload received over the WebSocket.
836
+ */
837
+ type RawData = Buffer | ArrayBuffer | Buffer[];
838
+
839
+ /**
840
+ * Data represents the message payload received over the WebSocket.
841
+ */
842
+ type Data = string | Buffer | ArrayBuffer | Buffer[];
843
+
844
+ /**
845
+ * CertMeta represents the accepted types for certificate & key data.
846
+ */
847
+ type CertMeta = string | string[] | Buffer | Buffer[];
848
+
849
+ /**
850
+ * VerifyClientCallbackSync is a synchronous callback used to inspect the
851
+ * incoming message. The return value (boolean) of the function determines
852
+ * whether or not to accept the handshake.
853
+ */
854
+ type VerifyClientCallbackSync<Request extends IncomingMessage_3 = IncomingMessage_3> = (info: {
855
+ origin: string;
856
+ secure: boolean;
857
+ req: Request;
858
+ }) => boolean;
859
+
860
+ /**
861
+ * VerifyClientCallbackAsync is an asynchronous callback used to inspect the
862
+ * incoming message. The return value (boolean) of the function determines
863
+ * whether or not to accept the handshake.
864
+ */
865
+ type VerifyClientCallbackAsync<Request extends IncomingMessage_3 = IncomingMessage_3> = (
866
+ info: { origin: string; secure: boolean; req: Request },
867
+ callback: (res: boolean, code?: number, message?: string, headers?: OutgoingHttpHeaders) => void,
868
+ ) => void;
869
+
870
+ /**
871
+ * FinishRequestCallback is a callback for last minute customization of the
872
+ * headers. If finishRequest is set, then it has the responsibility to call
873
+ * request.end() once it is done setting request headers.
874
+ */
875
+ type FinishRequestCallback = (request: ClientRequest, websocket: WebSocket_2) => void;
876
+
877
+ interface ClientOptions extends SecureContextOptions {
878
+ protocol?: string | undefined;
879
+ followRedirects?: boolean | undefined;
880
+ generateMask?(mask: Buffer): void;
881
+ handshakeTimeout?: number | undefined;
882
+ maxRedirects?: number | undefined;
883
+ perMessageDeflate?: boolean | PerMessageDeflateOptions | undefined;
884
+ localAddress?: string | undefined;
885
+ protocolVersion?: number | undefined;
886
+ headers?: { [key: string]: string } | undefined;
887
+ origin?: string | undefined;
888
+ agent?: Agent | undefined;
889
+ host?: string | undefined;
890
+ family?: number | undefined;
891
+ checkServerIdentity?(servername: string, cert: CertMeta): boolean;
892
+ rejectUnauthorized?: boolean | undefined;
893
+ allowSynchronousEvents?: boolean | undefined;
894
+ autoPong?: boolean | undefined;
895
+ maxPayload?: number | undefined;
896
+ skipUTF8Validation?: boolean | undefined;
897
+ createConnection?: typeof createConnection | undefined;
898
+ finishRequest?: FinishRequestCallback | undefined;
899
+ }
900
+
901
+ interface PerMessageDeflateOptions {
902
+ serverNoContextTakeover?: boolean | undefined;
903
+ clientNoContextTakeover?: boolean | undefined;
904
+ serverMaxWindowBits?: number | undefined;
905
+ clientMaxWindowBits?: number | undefined;
906
+ zlibDeflateOptions?:
907
+ | {
908
+ flush?: number | undefined;
909
+ finishFlush?: number | undefined;
910
+ chunkSize?: number | undefined;
911
+ windowBits?: number | undefined;
912
+ level?: number | undefined;
913
+ memLevel?: number | undefined;
914
+ strategy?: number | undefined;
915
+ dictionary?: Buffer | Buffer[] | DataView | undefined;
916
+ info?: boolean | undefined;
917
+ }
918
+ | undefined;
919
+ zlibInflateOptions?: ZlibOptions | undefined;
920
+ threshold?: number | undefined;
921
+ concurrencyLimit?: number | undefined;
922
+ }
923
+
924
+ interface Event {
925
+ type: string;
926
+ target: WebSocket_2;
927
+ }
928
+
929
+ interface ErrorEvent {
930
+ error: any;
931
+ message: string;
932
+ type: string;
933
+ target: WebSocket_2;
934
+ }
935
+
936
+ interface CloseEvent {
937
+ wasClean: boolean;
938
+ code: number;
939
+ reason: string;
940
+ type: string;
941
+ target: WebSocket_2;
942
+ }
943
+
944
+ interface MessageEvent {
945
+ data: Data;
946
+ type: string;
947
+ target: WebSocket_2;
948
+ }
949
+
950
+ interface WebSocketEventMap {
951
+ open: Event;
952
+ error: ErrorEvent;
953
+ close: CloseEvent;
954
+ message: MessageEvent;
955
+ }
956
+
957
+ interface EventListenerOptions {
958
+ once?: boolean | undefined;
959
+ }
960
+
961
+ interface ServerOptions<
962
+ U extends typeof WebSocket_2 = typeof WebSocket_2,
963
+ V extends typeof IncomingMessage_3 = typeof IncomingMessage_3,
964
+ > {
965
+ host?: string | undefined;
966
+ port?: number | undefined;
967
+ backlog?: number | undefined;
968
+ server?: Server_6<V> | Server_7<V> | undefined;
969
+ verifyClient?:
970
+ | VerifyClientCallbackAsync<InstanceType<V>>
971
+ | VerifyClientCallbackSync<InstanceType<V>>
972
+ | undefined;
973
+ handleProtocols?: (protocols: Set<string>, request: InstanceType<V>) => string | false;
974
+ path?: string | undefined;
975
+ noServer?: boolean | undefined;
976
+ allowSynchronousEvents?: boolean | undefined;
977
+ autoPong?: boolean | undefined;
978
+ clientTracking?: boolean | undefined;
979
+ perMessageDeflate?: boolean | PerMessageDeflateOptions | undefined;
980
+ maxPayload?: number | undefined;
981
+ skipUTF8Validation?: boolean | undefined;
982
+ WebSocket?: U | undefined;
983
+ }
984
+
985
+ interface AddressInfo {
986
+ address: string;
987
+ family: string;
988
+ port: number;
989
+ }
990
+ }
991
+
575
992
  declare type WebSocketServer = WebSocketServer_2;
576
993
 
994
+ declare const WebSocketServer_2: typeof Server_5;
995
+
996
+ declare interface WebSocketServer_2 extends Server_5 {}
997
+
577
998
  declare interface WebSocketServerConfiguration {
578
999
  type?: LiteralUnion<'ws', string> | (() => WebSocketServerConfiguration);
579
1000
  options?: Record<string, EXPECTED_ANY>;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- export { RspackDevServer } from "./937.js";
1
+ export { RspackDevServer } from "./198.js";
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@rspack/dev-server",
3
- "version": "2.0.0-rc.3",
3
+ "version": "2.0.1",
4
4
  "description": "Development server for Rspack",
5
- "homepage": "https://rspack.rs",
5
+ "homepage": "https://github.com/rstackjs/rspack-dev-server",
6
6
  "bugs": "https://github.com/rstackjs/rspack-dev-server/issues",
7
7
  "repository": {
8
8
  "type": "git",
@@ -49,13 +49,13 @@
49
49
  "@rspack/dev-middleware": "^2.0.1"
50
50
  },
51
51
  "devDependencies": {
52
- "@hono/node-server": "^1.19.14",
53
- "@microsoft/api-extractor": "^7.58.2",
54
- "@rslib/core": "^0.21.1",
55
- "@rslint/core": "^0.4.2",
52
+ "@hono/node-server": "^2.0.0",
53
+ "@microsoft/api-extractor": "^7.58.7",
54
+ "@rslib/core": "^0.21.3",
55
+ "@rslint/core": "^0.5.0",
56
56
  "@rspack/core": "2.0.0-rc.0",
57
- "@rspack/plugin-react-refresh": "1.6.2",
58
- "@rstest/core": "^0.9.7",
57
+ "@rspack/plugin-react-refresh": "2.0.0",
58
+ "@rstest/core": "^0.9.9",
59
59
  "@types/connect-history-api-fallback": "^1.5.4",
60
60
  "@types/mime-types": "3.0.1",
61
61
  "@types/node": "^24.12.2",
@@ -67,23 +67,23 @@
67
67
  "connect-next": "^4.0.1",
68
68
  "cross-env": "^10.1.0",
69
69
  "express": "^5.2.1",
70
- "hono": "^4.12.14",
70
+ "hono": "^4.12.15",
71
71
  "http-compression": "^1.1.3",
72
72
  "http-proxy": "^1.18.1",
73
- "http-proxy-middleware": "^3.0.5",
73
+ "http-proxy-middleware": "4.0.0-beta.4",
74
74
  "ipaddr.js": "^2.3.0",
75
75
  "launch-editor": "^2.13.2",
76
76
  "nano-staged": "^0.9.0",
77
77
  "open": "^11.0.0",
78
78
  "p-retry": "^7.1.1",
79
79
  "prettier": "3.8.3",
80
- "puppeteer": "^24.40.0",
80
+ "puppeteer": "^24.42.0",
81
81
  "react-refresh": "0.18.0",
82
82
  "require-from-string": "^2.0.2",
83
83
  "selfsigned": "^5.5.0",
84
84
  "serve-static": "^2.2.1",
85
85
  "simple-git-hooks": "^2.13.1",
86
- "typescript": "^6.0.2",
86
+ "typescript": "^6.0.3",
87
87
  "ws": "^8.20.0"
88
88
  },
89
89
  "peerDependencies": {
@@ -95,7 +95,7 @@
95
95
  "optional": true
96
96
  }
97
97
  },
98
- "packageManager": "pnpm@10.33.0",
98
+ "packageManager": "pnpm@10.33.2",
99
99
  "engines": {
100
100
  "node": "^20.19.0 || >=22.12.0"
101
101
  },