@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.
- package/client/utils/ansiHTML.js +1 -1
- package/dist/0~chokidar.js +1 -1
- package/dist/0~connect-history-api-fallback.js +2 -2
- package/dist/0~debug.js +2 -2
- package/dist/0~http-proxy-middleware.js +987 -1841
- package/dist/0~http-proxy-middleware.js.LICENSE.txt +0 -35
- package/dist/0~launch-editor.js +3 -3
- package/dist/0~serve-static.js +2 -2
- package/dist/{937.js → 198.js} +3 -9
- package/dist/index.d.ts +423 -2
- package/dist/index.js +1 -1
- package/package.json +13 -13
|
@@ -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
|
*
|
package/dist/0~launch-editor.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { __webpack_require__ } from "./
|
|
2
|
-
import "./
|
|
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
|
-
|
|
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) {
|
package/dist/0~serve-static.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*! LICENSE: 0~serve-static.js.LICENSE.txt */
|
|
2
|
-
import { __webpack_require__ } from "./
|
|
3
|
-
import "./
|
|
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__) {
|
package/dist/{937.js → 198.js}
RENAMED
|
@@ -85,8 +85,8 @@ var __webpack_require__temp = __webpack_require__;
|
|
|
85
85
|
})();
|
|
86
86
|
(()=>{
|
|
87
87
|
var installedChunks = {
|
|
88
|
-
|
|
89
|
-
|
|
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")
|
|
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 {
|
|
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 "./
|
|
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.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "Development server for Rspack",
|
|
5
|
-
"homepage": "https://rspack
|
|
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": "^
|
|
53
|
-
"@microsoft/api-extractor": "^7.58.
|
|
54
|
-
"@rslib/core": "^0.21.
|
|
55
|
-
"@rslint/core": "^0.
|
|
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": "
|
|
58
|
-
"@rstest/core": "^0.9.
|
|
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.
|
|
70
|
+
"hono": "^4.12.15",
|
|
71
71
|
"http-compression": "^1.1.3",
|
|
72
72
|
"http-proxy": "^1.18.1",
|
|
73
|
-
"http-proxy-middleware": "
|
|
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.
|
|
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.
|
|
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.
|
|
98
|
+
"packageManager": "pnpm@10.33.2",
|
|
99
99
|
"engines": {
|
|
100
100
|
"node": "^20.19.0 || >=22.12.0"
|
|
101
101
|
},
|