@rspack/dev-server 0.0.7 → 0.0.9

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/CHANGELOG.md CHANGED
@@ -1,16 +1,35 @@
1
1
  # rspack-dev-server
2
2
 
3
- ## 0.0.7
3
+ ## 0.0.9
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - 57e54cc: test alpha publish
7
+ - @rspack/core@0.0.9
8
+ - @rspack/dev-middleware@0.0.9
9
+ - @rspack/dev-server@0.0.9
10
+ - @rspack/dev-client@0.0.9
11
+
12
+ ## 0.0.8
13
+
14
+ ### Patch Changes
15
+
16
+ - 589b99bb: bump to 0.0.8
17
+ - Updated dependencies [589b99bb]
18
+ - @rspack/core@0.0.8
19
+ - @rspack/dev-client@0.0.8
20
+ - @rspack/dev-middleware@0.0.8
21
+ - @rspack/dev-server@0.0.8
8
22
 
9
23
  ## 0.0.6
10
24
 
11
25
  ### Patch Changes
12
26
 
13
27
  - e6d0926a: unify version
28
+ - Updated dependencies [e6d0926a]
29
+ - @rspack/core@0.0.6
30
+ - @rspack/dev-server@0.0.6
31
+ - @rspack/dev-middleware@0.0.6
32
+ - @rspack/dev-client@0.0.6
14
33
 
15
34
  ## 0.0.4
16
35
 
@@ -0,0 +1,16 @@
1
+ import type { Dev, WebSocketServerOptions, RspackOptionsNormalized } from "@rspack/core";
2
+ import type { WatchOptions } from "chokidar";
3
+ export interface ResolvedDev {
4
+ port: number;
5
+ static: {
6
+ directory: string;
7
+ watch: false | WatchOptions;
8
+ };
9
+ devMiddleware: {};
10
+ hot: boolean;
11
+ open: boolean;
12
+ liveReload: boolean;
13
+ webSocketServer: false | WebSocketServerOptions;
14
+ }
15
+ export declare function resolveDevOptions(devConfig: Dev, compilerOptions: RspackOptionsNormalized): ResolvedDev;
16
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,GAAG,EACH,sBAAsB,EACtB,uBAAuB,EACvB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7C,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,KAAK,GAAG,YAAY,CAAC;KAC5B,CAAC;IACF,aAAa,EAAE,EAAE,CAAC;IAClB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,KAAK,GAAG,sBAAsB,CAAC;CAChD;AAED,wBAAgB,iBAAiB,CAChC,SAAS,EAAE,GAAG,EACd,eAAe,EAAE,uBAAuB,GACtC,WAAW,CA0Cb"}
package/dist/config.js ADDED
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.resolveDevOptions = void 0;
7
+ const node_path_1 = __importDefault(require("node:path"));
8
+ const core_1 = require("@rspack/core");
9
+ function resolveDevOptions(devConfig, compilerOptions) {
10
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
11
+ const port = Number((_a = devConfig.port) !== null && _a !== void 0 ? _a : 8080);
12
+ const open = true;
13
+ const hot = (_b = devConfig.hot) !== null && _b !== void 0 ? _b : true;
14
+ // --- static
15
+ const directory = (_d = (_c = devConfig.static) === null || _c === void 0 ? void 0 : _c.directory) !== null && _d !== void 0 ? _d : node_path_1.default.resolve(compilerOptions.context, "dist");
16
+ let watch = {};
17
+ if (((_e = devConfig.static) === null || _e === void 0 ? void 0 : _e.watch) === false) {
18
+ watch = false;
19
+ }
20
+ else if (((_f = devConfig.static) === null || _f === void 0 ? void 0 : _f.watch) === true) {
21
+ watch = (0, core_1.resolveWatchOption)({});
22
+ }
23
+ else if ((_g = devConfig.static) === null || _g === void 0 ? void 0 : _g.watch) {
24
+ watch = (_h = devConfig.static) === null || _h === void 0 ? void 0 : _h.watch;
25
+ }
26
+ // ---
27
+ const devMiddleware = (_j = devConfig.devMiddleware) !== null && _j !== void 0 ? _j : {};
28
+ const liveReload = (_k = devConfig.liveReload) !== null && _k !== void 0 ? _k : true;
29
+ let webSocketServer = {};
30
+ if (devConfig.webSocketServer === false) {
31
+ webSocketServer = false;
32
+ }
33
+ else if (devConfig.webSocketServer === true) {
34
+ webSocketServer = {};
35
+ }
36
+ else if (devConfig.webSocketServer) {
37
+ webSocketServer = devConfig.webSocketServer;
38
+ }
39
+ return {
40
+ port,
41
+ static: {
42
+ directory,
43
+ watch
44
+ },
45
+ devMiddleware,
46
+ open,
47
+ hot,
48
+ liveReload,
49
+ webSocketServer
50
+ };
51
+ }
52
+ exports.resolveDevOptions = resolveDevOptions;
53
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;AAMA,0DAA6B;AAC7B,uCAAkD;AAelD,SAAgB,iBAAiB,CAChC,SAAc,EACd,eAAwC;;IAExC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAA,SAAS,CAAC,IAAI,mCAAI,IAAI,CAAC,CAAC;IAE5C,MAAM,IAAI,GAAG,IAAI,CAAC;IAClB,MAAM,GAAG,GAAG,MAAA,SAAS,CAAC,GAAG,mCAAI,IAAI,CAAC;IAClC,aAAa;IACb,MAAM,SAAS,GACd,MAAA,MAAA,SAAS,CAAC,MAAM,0CAAE,SAAS,mCAC3B,mBAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,GAAyB,EAAE,CAAC;IACrC,IAAI,CAAA,MAAA,SAAS,CAAC,MAAM,0CAAE,KAAK,MAAK,KAAK,EAAE;QACtC,KAAK,GAAG,KAAK,CAAC;KACd;SAAM,IAAI,CAAA,MAAA,SAAS,CAAC,MAAM,0CAAE,KAAK,MAAK,IAAI,EAAE;QAC5C,KAAK,GAAG,IAAA,yBAAkB,EAAC,EAAE,CAAC,CAAC;KAC/B;SAAM,IAAI,MAAA,SAAS,CAAC,MAAM,0CAAE,KAAK,EAAE;QACnC,KAAK,GAAG,MAAA,SAAS,CAAC,MAAM,0CAAE,KAAK,CAAC;KAChC;IACD,MAAM;IACN,MAAM,aAAa,GAAG,MAAA,SAAS,CAAC,aAAa,mCAAI,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,MAAA,SAAS,CAAC,UAAU,mCAAI,IAAI,CAAC;IAEhD,IAAI,eAAe,GAAmC,EAAE,CAAC;IACzD,IAAI,SAAS,CAAC,eAAe,KAAK,KAAK,EAAE;QACxC,eAAe,GAAG,KAAK,CAAC;KACxB;SAAM,IAAI,SAAS,CAAC,eAAe,KAAK,IAAI,EAAE;QAC9C,eAAe,GAAG,EAAE,CAAC;KACrB;SAAM,IAAI,SAAS,CAAC,eAAe,EAAE;QACrC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;KAC5C;IAED,OAAO;QACN,IAAI;QACJ,MAAM,EAAE;YACP,SAAS;YACT,KAAK;SACL;QACD,aAAa;QACb,IAAI;QACJ,GAAG;QACH,UAAU;QACV,eAAe;KACf,CAAC;AACH,CAAC;AA7CD,8CA6CC"}
package/dist/index.d.ts CHANGED
@@ -1 +1,2 @@
1
- export * from "./server";
1
+ export { RspackDevServer } from "./server";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -1,17 +1,6 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./server"), exports);
3
+ exports.RspackDevServer = void 0;
4
+ var server_1 = require("./server");
5
+ Object.defineProperty(exports, "RspackDevServer", { enumerable: true, get: function () { return server_1.RspackDevServer; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAA2C;AAAlC,yGAAA,eAAe,OAAA"}
@@ -0,0 +1,7 @@
1
+ export interface Logger {
2
+ error(...args: any[]): void;
3
+ warn(...args: any[]): void;
4
+ info(...args: any[]): void;
5
+ }
6
+ export declare function createLogger(name: string): Logger;
7
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACtB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC3B;AAUD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAejD"}
package/dist/logger.js ADDED
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createLogger = void 0;
4
+ const COLOR = {
5
+ RESET: "\x1b[0m",
6
+ //
7
+ RED: "\x1b[31m",
8
+ GREEN: "\x1b[32m",
9
+ YELLOW: "\x1b[33m"
10
+ };
11
+ function createLogger(name) {
12
+ if (!name.length) {
13
+ throw Error();
14
+ }
15
+ return {
16
+ error(...msgs) {
17
+ console.log("[", name, "]:", COLOR.RED, msgs, COLOR.RESET);
18
+ },
19
+ warn(...msgs) {
20
+ console.log("[", name, "]:", COLOR.YELLOW, msgs, COLOR.RESET);
21
+ },
22
+ info(...msgs) {
23
+ console.log("[", name, "]:", COLOR.GREEN, msgs, COLOR.RESET);
24
+ }
25
+ };
26
+ }
27
+ exports.createLogger = createLogger;
28
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;AAMA,MAAM,KAAK,GAAG;IACb,KAAK,EAAE,SAAS;IAChB,EAAE;IACF,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;CAClB,CAAC;AAEF,SAAgB,YAAY,CAAC,IAAY;IACxC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QACjB,MAAM,KAAK,EAAE,CAAC;KACd;IACD,OAAO;QACN,KAAK,CAAC,GAAG,IAAW;YACnB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,GAAG,IAAW;YAClB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,GAAG,IAAW;YAClB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC;KACD,CAAC;AACH,CAAC;AAfD,oCAeC"}
@@ -0,0 +1,9 @@
1
+ import type { RspackOptionsNormalized } from "@rspack/core";
2
+ interface Status {
3
+ isUnloading: boolean;
4
+ currentHash: string;
5
+ previousHash: string[];
6
+ }
7
+ export declare function reloadApp({ liveReload, hot }: RspackOptionsNormalized["devServer"], status: Status): void;
8
+ export {};
9
+ //# sourceMappingURL=reload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reload.d.ts","sourceRoot":"","sources":["../src/reload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAE5D,UAAU,MAAM;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,SAAS,CACxB,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,uBAAuB,CAAC,WAAW,CAAC,EACzD,MAAM,EAAE,MAAM,QAoBd"}
package/dist/reload.js ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.reloadApp = void 0;
4
+ function reloadApp({ liveReload, hot }, status) {
5
+ if (status.isUnloading) {
6
+ return;
7
+ }
8
+ function applyReload(rootWindow, intervalId) {
9
+ clearInterval(intervalId);
10
+ console.log("App update, Reloading...");
11
+ rootWindow.location.reload();
12
+ }
13
+ if (liveReload) {
14
+ let rootWindow = self;
15
+ const intervalId = self.setInterval(() => {
16
+ if (rootWindow.location.protocol !== "about:") {
17
+ applyReload(rootWindow, intervalId);
18
+ }
19
+ });
20
+ }
21
+ }
22
+ exports.reloadApp = reloadApp;
23
+ //# sourceMappingURL=reload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reload.js","sourceRoot":"","sources":["../src/reload.ts"],"names":[],"mappings":";;;AAQA,SAAgB,SAAS,CACxB,EAAE,UAAU,EAAE,GAAG,EAAwC,EACzD,MAAc;IAEd,IAAI,MAAM,CAAC,WAAW,EAAE;QACvB,OAAO;KACP;IAED,SAAS,WAAW,CAAC,UAAkB,EAAE,UAAkB;QAC1D,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,UAAU,EAAE;QACf,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;YACxC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC9C,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;aACpC;QACF,CAAC,CAAC,CAAC;KACH;AACF,CAAC;AAtBD,8BAsBC"}
@@ -0,0 +1,53 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import type { Compiler, Dev } from "@rspack/core";
4
+ import type { Logger } from "./logger";
5
+ import type { Socket } from "net";
6
+ import type { FSWatcher, WatchOptions } from "chokidar";
7
+ import type { WebSocketServer, ClientConnection } from "./ws";
8
+ import type { Application } from "express";
9
+ import type { Server } from "http";
10
+ import type { ResolvedDev } from "./config";
11
+ declare type Host = "local-ip" | "local-ipv4" | "local-ipv6" | string;
12
+ declare type Port = number | string | "auto";
13
+ export declare class RspackDevServer {
14
+ compiler: Compiler;
15
+ options: ResolvedDev;
16
+ logger: Logger;
17
+ staticWatchers: FSWatcher[];
18
+ sockets: Socket[];
19
+ app: Application;
20
+ server: Server;
21
+ private listeners;
22
+ private currentHash;
23
+ private middleware;
24
+ webSocketServer: WebSocketServer | undefined;
25
+ constructor(compiler: Compiler);
26
+ normalizeOptions(dev?: Dev): ResolvedDev;
27
+ addAdditionEntires(): void;
28
+ static isAbsoluteURL(URL: string): boolean;
29
+ static findIp(gateway: string): string | undefined;
30
+ static internalIP(family: "v6" | "v4"): Promise<string | undefined>;
31
+ static internalIPSync(family: "v6" | "v4"): Promise<string | undefined>;
32
+ static getHostname(hostname: Host): Promise<string>;
33
+ static getFreePort(port: Port, host: string): Promise<string | number>;
34
+ static findCacheDir(): string;
35
+ private getCompilerOptions;
36
+ sendMessage(clients: ClientConnection[], type: string, data?: any, params?: any): void;
37
+ watchFiles(watchPath: string | string[], watchOptions?: WatchOptions): void;
38
+ invalidate(callback?: () => void): void;
39
+ start(): Promise<void>;
40
+ startCallback(callback?: (err?: Error) => void): void;
41
+ stopCallback(callback?: (err?: Error) => void): void;
42
+ listen(port: Port, hostname: string, fn: (err?: Error) => void): void;
43
+ close(callback?: (err?: Error) => void): void;
44
+ stop(): Promise<void>;
45
+ private setupApp;
46
+ private setupWatchStaticFiles;
47
+ private setupDevMiddleware;
48
+ private createWebsocketServer;
49
+ private setupMiddlewares;
50
+ private createServer;
51
+ }
52
+ export {};
53
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/server.js ADDED
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RspackDevServer = void 0;
7
+ const chokidar_1 = __importDefault(require("chokidar"));
8
+ const http_1 = __importDefault(require("http"));
9
+ const logger_1 = require("./logger");
10
+ const webpack_dev_server_1 = __importDefault(require("webpack-dev-server"));
11
+ const express_1 = __importDefault(require("express"));
12
+ const dev_middleware_1 = require("@rspack/dev-middleware");
13
+ const ws_1 = require("./ws");
14
+ const config_1 = require("./config");
15
+ // copy from webpack-dev-server
16
+ class RspackDevServer {
17
+ constructor(compiler) {
18
+ this.compiler = compiler;
19
+ this.logger = (0, logger_1.createLogger)("rspack-dev-server");
20
+ this.staticWatchers = [];
21
+ this.listeners = [];
22
+ this.sockets = [];
23
+ this.currentHash = "";
24
+ this.options = this.normalizeOptions(compiler.options.devServer);
25
+ this.addAdditionEntires();
26
+ }
27
+ normalizeOptions(dev = {}) {
28
+ return (0, config_1.resolveDevOptions)(dev, this.compiler.options);
29
+ }
30
+ addAdditionEntires() {
31
+ var _a;
32
+ const entries = [];
33
+ if (this.options.hot) {
34
+ const hotUpdateEntryPath = require.resolve("@rspack/dev-client/devServer");
35
+ entries.push(hotUpdateEntryPath);
36
+ if ((_a = this.compiler.options.builtins.react) === null || _a === void 0 ? void 0 : _a.refresh) {
37
+ const reactRefreshEntryPath = require.resolve("@rspack/dev-client/react-refresh");
38
+ entries.push(reactRefreshEntryPath);
39
+ }
40
+ }
41
+ const devClientEntryPath = require.resolve("@rspack/dev-client");
42
+ entries.push(devClientEntryPath);
43
+ for (const key in this.compiler.options.entry) {
44
+ this.compiler.options.entry[key].unshift(...entries);
45
+ }
46
+ }
47
+ static isAbsoluteURL(URL) {
48
+ return webpack_dev_server_1.default.isAbsoluteURL(URL);
49
+ }
50
+ static findIp(gateway) {
51
+ return webpack_dev_server_1.default.findIp(gateway);
52
+ }
53
+ static async internalIP(family) {
54
+ return webpack_dev_server_1.default.internalIP(family);
55
+ }
56
+ static async internalIPSync(family) {
57
+ return webpack_dev_server_1.default.internalIPSync(family);
58
+ }
59
+ static async getHostname(hostname) {
60
+ return webpack_dev_server_1.default.getHostname(hostname);
61
+ }
62
+ static async getFreePort(port, host) {
63
+ return webpack_dev_server_1.default.getFreePort(port, host);
64
+ }
65
+ static findCacheDir() {
66
+ // TODO: we need remove the `webpack-dev-server` tag in WebpackDevServer;
67
+ return "";
68
+ }
69
+ getCompilerOptions() {
70
+ return this.compiler.options;
71
+ }
72
+ sendMessage(clients, type, data, params) {
73
+ for (const client of clients) {
74
+ if (client.readyState === 1) {
75
+ client.send(JSON.stringify({ type, data, params }));
76
+ }
77
+ }
78
+ }
79
+ watchFiles(watchPath, watchOptions) {
80
+ const watcher = chokidar_1.default.watch(watchPath, watchOptions);
81
+ // disabling refreshing on changing the content
82
+ if (this.options.liveReload) {
83
+ // TODO: remove this after we had memory filesystem
84
+ if (this.options.hot) {
85
+ return;
86
+ }
87
+ watcher.on("change", item => {
88
+ if (this.webSocketServer) {
89
+ this.sendMessage(this.webSocketServer.clients, "static-changed", item);
90
+ }
91
+ });
92
+ }
93
+ this.staticWatchers.push(watcher);
94
+ }
95
+ invalidate(callback = () => { }) {
96
+ if (this.middleware) {
97
+ this.middleware.invalidate(callback);
98
+ }
99
+ }
100
+ async start() {
101
+ this.setupApp();
102
+ this.createServer();
103
+ this.setupWatchStaticFiles();
104
+ this.createWebsocketServer();
105
+ this.setupDevMiddleware();
106
+ this.setupMiddlewares();
107
+ await new Promise(resolve => this.server.listen({
108
+ port: this.options.port,
109
+ host: "localhost"
110
+ }, () => {
111
+ console.log(`begin server at http://localhost:${this.options.port}`);
112
+ resolve({});
113
+ }));
114
+ }
115
+ startCallback(callback) {
116
+ throw new Error("Method not implemented.");
117
+ }
118
+ stopCallback(callback) {
119
+ throw new Error("Method not implemented.");
120
+ }
121
+ listen(port, hostname, fn) {
122
+ throw new Error("Method not implemented.");
123
+ }
124
+ close(callback) {
125
+ throw new Error("Method not implemented.");
126
+ }
127
+ async stop() {
128
+ await Promise.all(this.staticWatchers.map(watcher => watcher.close()));
129
+ this.middleware = null;
130
+ this.staticWatchers = [];
131
+ if (this.server) {
132
+ this.server.close();
133
+ }
134
+ if (this.webSocketServer) {
135
+ await new Promise(resolve => {
136
+ this.webSocketServer;
137
+ });
138
+ }
139
+ }
140
+ setupApp() {
141
+ this.app = (0, express_1.default)();
142
+ }
143
+ setupWatchStaticFiles() {
144
+ if (this.options.static.watch === false) {
145
+ return;
146
+ }
147
+ this.watchFiles(this.options.static.directory, this.options.static.watch);
148
+ }
149
+ setupDevMiddleware() {
150
+ this.middleware = (0, dev_middleware_1.rdm)(this.compiler, this.options.devMiddleware, this.webSocketServer);
151
+ }
152
+ createWebsocketServer() {
153
+ if (this.options.webSocketServer !== false) {
154
+ this.webSocketServer = (0, ws_1.createWebsocketServer)(this);
155
+ }
156
+ }
157
+ setupMiddlewares() {
158
+ const middlewares = [];
159
+ middlewares.push({
160
+ name: "rdm",
161
+ middleware: this.middleware
162
+ });
163
+ // Todo Add options
164
+ const connectHistoryApiFallback = require("connect-history-api-fallback");
165
+ middlewares.push({
166
+ name: "[connect-history-api-fallback]",
167
+ middleware: connectHistoryApiFallback({
168
+ verbose: true,
169
+ logger: console.log.bind(console)
170
+ })
171
+ });
172
+ middlewares.push({
173
+ name: "express-static",
174
+ middleware: express_1.default.static(this.options.static.directory)
175
+ });
176
+ middlewares.forEach(m => {
177
+ if (m.path) {
178
+ this.app.use(m.path, m.middleware);
179
+ }
180
+ else {
181
+ this.app.use(m.middleware);
182
+ }
183
+ });
184
+ }
185
+ createServer() {
186
+ this.server = http_1.default.createServer(this.app);
187
+ }
188
+ }
189
+ exports.RspackDevServer = RspackDevServer;
190
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/ws.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ import type { RspackDevServer } from "./server";
2
+ import WebSocket from "ws";
3
+ export declare type ClientConnection = WebSocket & {
4
+ isAlive?: boolean;
5
+ };
6
+ export interface WebSocketServer {
7
+ heartbeatInterval: number;
8
+ implementation: WebSocket.Server<WebSocket.WebSocket>;
9
+ server: RspackDevServer;
10
+ clients: ClientConnection[];
11
+ }
12
+ export declare function createWebsocketServer(server: RspackDevServer): WebSocketServer;
13
+ //# sourceMappingURL=ws.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../src/ws.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,SAAS,MAAM,IAAI,CAAC;AAG3B,oBAAY,gBAAgB,GAAG,SAAS,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,eAAe,GACrB,eAAe,CAEjB"}
package/dist/ws.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createWebsocketServer = void 0;
7
+ const WebsocketServer_1 = __importDefault(require("webpack-dev-server/lib/servers/WebsocketServer"));
8
+ function createWebsocketServer(server) {
9
+ return new WebsocketServer_1.default(server);
10
+ }
11
+ exports.createWebsocketServer = createWebsocketServer;
12
+ //# sourceMappingURL=ws.js.map
package/dist/ws.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws.js","sourceRoot":"","sources":["../src/ws.ts"],"names":[],"mappings":";;;;;;AAEA,qGAA6E;AAW7E,SAAgB,qBAAqB,CACpC,MAAuB;IAEvB,OAAO,IAAI,yBAAe,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAJD,sDAIC"}
package/jest.config.js ADDED
@@ -0,0 +1,7 @@
1
+ /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
2
+ module.exports = {
3
+ preset: "ts-jest",
4
+ testEnvironment: "node",
5
+ testMatch: ["<rootDir>/tests/*.test.ts"],
6
+ cache: false
7
+ };
package/package.json CHANGED
@@ -1,24 +1,35 @@
1
1
  {
2
2
  "name": "@rspack/dev-server",
3
3
  "description": "",
4
- "version": "0.0.7",
4
+ "version": "0.0.9",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "author": "",
8
8
  "license": "ISC",
9
9
  "devDependencies": {
10
- "@types/node": "^18.6.3",
11
10
  "tsm": "^2.2.2",
12
- "typescript": "^4.7.4"
11
+ "@rspack/core": "0.0.9",
12
+ "typescript": "^4.7.4",
13
+ "@types/node": "16.11.7",
14
+ "@types/express": "4.17.14",
15
+ "@types/connect-history-api-fallback": "1.3.5"
13
16
  },
14
17
  "dependencies": {
15
- "@types/express": "^4.17.13",
16
- "chalk": "^5.0.1",
17
- "express": "^4.18.1"
18
+ "express": "4.18.1",
19
+ "chokidar": "3.5.3",
20
+ "ws": "8.8.1",
21
+ "@rspack/dev-client": "0.0.9",
22
+ "@rspack/dev-middleware": "0.0.9",
23
+ "@rspack/dev-server": "0.0.9",
24
+ "webpack-dev-server": "4.11.1",
25
+ "connect-history-api-fallback": "2.0.0"
26
+ },
27
+ "peerDependencies": {
28
+ "@rspack/core": "*"
18
29
  },
19
30
  "scripts": {
20
- "build": "rm -rf dist/ && tsc -p tsconfig.json",
21
- "dev": "tsc -p tsconfig.json -w",
22
- "test": "echo \"Error: no test specified\" && exit 1"
31
+ "build": "rm -rf lib/ && tsc",
32
+ "dev": "tsc -w",
33
+ "test": "jest --verbose"
23
34
  }
24
35
  }