rspack-dev-middleware 0.2.6 → 0.4.0
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/cjs/client/HotUpdate.cjs +2 -1
- package/cjs/client/client.cjs +4 -3
- package/cjs/client/events.cjs +2 -1
- package/cjs/client/index.cjs +2 -1
- package/cjs/client/main.cjs +2 -1
- package/cjs/client/ui/Overlay.cjs +2 -1
- package/cjs/client/ui/Progress.cjs +6 -5
- package/cjs/client/ui/Progress.d.cts +1 -1
- package/cjs/client/ui/images/rspack-logo.svg.cjs +3 -2
- package/cjs/client/ui/utils.cjs +2 -1
- package/cjs/server/compose.cjs +2 -1
- package/cjs/server/dev/ReadStream.cjs +3 -2
- package/cjs/server/dev/ReadStream.d.cts +1 -2
- package/cjs/server/dev/Service.cjs +5 -4
- package/cjs/server/dev/Service.d.cts +2 -2
- package/cjs/server/dev/index.cjs +2 -1
- package/cjs/server/dev/middleware.cjs +3 -2
- package/cjs/server/dev/utils/fs.cjs +3 -2
- package/cjs/server/dev/utils/fs.d.cts +18 -7
- package/cjs/server/dev/utils/hash.cjs +2 -1
- package/cjs/server/dev/utils/http.cjs +2 -1
- package/cjs/server/dev/utils/path.cjs +2 -1
- package/cjs/server/dev/utils/paths.cjs +3 -4
- package/cjs/server/dev/utils/ready.cjs +2 -1
- package/cjs/server/dev/utils/setupHooks.cjs +2 -1
- package/cjs/server/dev/utils/setupOutputFileSystem.cjs +2 -1
- package/cjs/server/dev/utils/setupWatching.cjs +2 -1
- package/cjs/server/dev/utils/setupWriteToDisk.cjs +2 -1
- package/cjs/server/hot/Message.d.cts +6 -3
- package/cjs/server/hot/Socket.cjs +11 -10
- package/cjs/server/hot/index.cjs +2 -1
- package/cjs/server/hot/interface.d.cts +1 -1
- package/cjs/server/hot/utils.cjs +3 -3
- package/cjs/server/index.cjs +2 -1
- package/cjs/server/schema.cjs +2 -1
- package/cjs/server/utils.cjs +2 -1
- package/esm/client/HotUpdate.js +2 -1
- package/esm/client/client.js +4 -3
- package/esm/client/events.js +2 -1
- package/esm/client/index.js +2 -1
- package/esm/client/main.js +2 -1
- package/esm/client/ui/Overlay.js +2 -1
- package/esm/client/ui/Progress.d.ts +1 -1
- package/esm/client/ui/Progress.js +5 -4
- package/esm/client/ui/images/rspack-logo.svg.js +2 -1
- package/esm/client/ui/utils.js +2 -1
- package/esm/server/compose.js +2 -1
- package/esm/server/dev/ReadStream.d.ts +1 -2
- package/esm/server/dev/ReadStream.js +3 -2
- package/esm/server/dev/Service.d.ts +2 -2
- package/esm/server/dev/Service.js +5 -4
- package/esm/server/dev/index.js +2 -1
- package/esm/server/dev/middleware.js +3 -2
- package/esm/server/dev/utils/fs.d.ts +18 -7
- package/esm/server/dev/utils/fs.js +3 -2
- package/esm/server/dev/utils/hash.js +2 -1
- package/esm/server/dev/utils/http.js +2 -1
- package/esm/server/dev/utils/path.js +2 -1
- package/esm/server/dev/utils/paths.js +2 -3
- package/esm/server/dev/utils/ready.js +2 -1
- package/esm/server/dev/utils/setupHooks.js +2 -1
- package/esm/server/dev/utils/setupOutputFileSystem.js +2 -1
- package/esm/server/dev/utils/setupWatching.js +2 -1
- package/esm/server/dev/utils/setupWriteToDisk.js +2 -1
- package/esm/server/hot/Message.d.ts +6 -3
- package/esm/server/hot/Socket.js +10 -9
- package/esm/server/hot/index.js +2 -1
- package/esm/server/hot/interface.d.ts +1 -1
- package/esm/server/hot/utils.js +2 -2
- package/esm/server/index.js +2 -1
- package/esm/server/schema.js +2 -1
- package/esm/server/utils.js +2 -1
- package/package.json +23 -24
package/cjs/server/hot/utils.cjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -9,7 +10,6 @@
|
|
|
9
10
|
|
|
10
11
|
'use strict';
|
|
11
12
|
|
|
12
|
-
const node_url = require('node:url');
|
|
13
13
|
const utils = require('../utils.cjs');
|
|
14
14
|
|
|
15
15
|
/**
|
|
@@ -29,7 +29,7 @@ function getOptions(options) {
|
|
|
29
29
|
progress: true,
|
|
30
30
|
...options
|
|
31
31
|
};
|
|
32
|
-
settings.path = new
|
|
32
|
+
settings.path = new URL(settings.path, BASE_URL).pathname;
|
|
33
33
|
return settings;
|
|
34
34
|
}
|
|
35
35
|
function hasIssues(issues) {
|
package/cjs/server/index.cjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
package/cjs/server/schema.cjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
package/cjs/server/utils.cjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
package/esm/client/HotUpdate.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
package/esm/client/client.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -38,9 +39,9 @@ function createClient(options) {
|
|
|
38
39
|
progress.show();
|
|
39
40
|
}
|
|
40
41
|
};
|
|
41
|
-
const onProgress = ({
|
|
42
|
+
const onProgress = ({ percent }) => {
|
|
42
43
|
if (options.progress) {
|
|
43
|
-
progress.update(
|
|
44
|
+
progress.update(percent);
|
|
44
45
|
}
|
|
45
46
|
};
|
|
46
47
|
const onHash = ({ hash }) => {
|
package/esm/client/events.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
package/esm/client/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
package/esm/client/main.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
package/esm/client/ui/Overlay.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -68,9 +69,9 @@ class Progress {
|
|
|
68
69
|
[this.#svg] = appendDOMString('image/svg+xml', SVG, root);
|
|
69
70
|
this.#track = this.#svg.querySelector(`.${PROGRESS}-track`);
|
|
70
71
|
}
|
|
71
|
-
update(
|
|
72
|
-
|
|
73
|
-
this.#track.style.strokeDashoffset = `${PERIMETER *
|
|
72
|
+
update(percent) {
|
|
73
|
+
percent = 1 - Math.max(0, Math.min(1, percent));
|
|
74
|
+
this.#track.style.strokeDashoffset = `${PERIMETER * percent}`;
|
|
74
75
|
}
|
|
75
76
|
show() {
|
|
76
77
|
if (this.#hidden) {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
package/esm/client/ui/utils.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
package/esm/server/compose.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module ReadStream
|
|
3
3
|
*/
|
|
4
|
-
import { PathLike } from 'node:fs';
|
|
5
4
|
import { Range } from './utils/http.js';
|
|
6
5
|
import { Readable } from 'node:stream';
|
|
7
6
|
import { FileSystem } from './utils/fs.js';
|
|
@@ -20,7 +19,7 @@ export declare class ReadStream extends Readable {
|
|
|
20
19
|
* @param ranges The ranges to read.
|
|
21
20
|
* @param options The stream options.
|
|
22
21
|
*/
|
|
23
|
-
constructor(path:
|
|
22
|
+
constructor(path: string, ranges: Range[], options: Options);
|
|
24
23
|
/**
|
|
25
24
|
* @override
|
|
26
25
|
* @method _construct
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -15,8 +16,8 @@ import { Readable } from 'node:stream';
|
|
|
15
16
|
*/
|
|
16
17
|
const DISPOSE_EVENT = Symbol('dispose');
|
|
17
18
|
class ReadStream extends Readable {
|
|
18
|
-
#fs;
|
|
19
19
|
#path;
|
|
20
|
+
#fs;
|
|
20
21
|
#ranges;
|
|
21
22
|
#bytesRead = 0;
|
|
22
23
|
#fd = null;
|
|
@@ -41,10 +41,10 @@ export declare class Service {
|
|
|
41
41
|
* @public
|
|
42
42
|
* @method respond
|
|
43
43
|
* @description Respond file.
|
|
44
|
-
* @param pathname The pathname.
|
|
45
44
|
* @param context The koa context.
|
|
45
|
+
* @param pathname The pathname.
|
|
46
46
|
* @param publicPath The public path.
|
|
47
47
|
*/
|
|
48
|
-
respond(
|
|
48
|
+
respond(context: Context, pathname: string, publicPath: string): Promise<boolean>;
|
|
49
49
|
}
|
|
50
50
|
export {};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -89,11 +90,11 @@ class Service {
|
|
|
89
90
|
* @public
|
|
90
91
|
* @method respond
|
|
91
92
|
* @description Respond file.
|
|
92
|
-
* @param pathname The pathname.
|
|
93
93
|
* @param context The koa context.
|
|
94
|
+
* @param pathname The pathname.
|
|
94
95
|
* @param publicPath The public path.
|
|
95
96
|
*/
|
|
96
|
-
async respond(
|
|
97
|
+
async respond(context, pathname, publicPath) {
|
|
97
98
|
// Check public path.
|
|
98
99
|
if (!pathname.startsWith(publicPath)) {
|
|
99
100
|
return false;
|
|
@@ -135,7 +136,7 @@ class Service {
|
|
|
135
136
|
await this.#setupHeaders(context, path, stats);
|
|
136
137
|
// Conditional get support.
|
|
137
138
|
if (isConditionalGET(context)) {
|
|
138
|
-
// Request precondition
|
|
139
|
+
// Request precondition failed.
|
|
139
140
|
if (isPreconditionFailed(context)) {
|
|
140
141
|
return context.throw(412);
|
|
141
142
|
}
|
package/esm/server/dev/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -57,7 +58,7 @@ async function middleware(context) {
|
|
|
57
58
|
if (method === 'GET' || method === 'HEAD') {
|
|
58
59
|
// Try to respond.
|
|
59
60
|
for (const [publicPath, service] of services) {
|
|
60
|
-
if (await service.respond(
|
|
61
|
+
if (await service.respond(context, pathname, publicPath)) {
|
|
61
62
|
return;
|
|
62
63
|
}
|
|
63
64
|
}
|
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module fs
|
|
3
3
|
*/
|
|
4
|
-
import fs, { Stats } from 'node:fs';
|
|
5
4
|
import * as rspack from '@rspack/core';
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
import { PathLike, Stats } from 'node:fs';
|
|
6
|
+
type Position = number | bigint | null;
|
|
7
|
+
type OpenMode = string | number | undefined;
|
|
8
|
+
interface Callback<T extends unknown[] = []> {
|
|
9
|
+
(error?: Error | null, ...rest: T): void;
|
|
10
|
+
}
|
|
11
|
+
export interface FileSystem extends rspack.OutputFileSystem {
|
|
12
|
+
close(fd: number, callback?: Callback): void;
|
|
13
|
+
read<T extends ArrayBufferView>(
|
|
14
|
+
fd: number,
|
|
15
|
+
buffer: T,
|
|
16
|
+
offset: number,
|
|
17
|
+
length: number,
|
|
18
|
+
position: Position,
|
|
19
|
+
callback: Callback<[bytesRead: number, buffer: T]>
|
|
20
|
+
): void;
|
|
21
|
+
open(path: PathLike, flags: OpenMode, callback: Callback<[fd: number]>): void;
|
|
12
22
|
}
|
|
13
23
|
/**
|
|
14
24
|
* @function createMemfs
|
|
@@ -22,3 +32,4 @@ export declare function createMemfs(): FileSystem;
|
|
|
22
32
|
* @param path The file path.
|
|
23
33
|
*/
|
|
24
34
|
export declare function stat(fs: FileSystem, path: string): Promise<Stats | null>;
|
|
35
|
+
export {};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -29,7 +30,7 @@ function createMemfs() {
|
|
|
29
30
|
function stat(fs, path) {
|
|
30
31
|
return new Promise(resolve => {
|
|
31
32
|
fs.stat(path, (error, stats) => {
|
|
32
|
-
resolve(error != null ? null : stats);
|
|
33
|
+
resolve(error != null ? null : (stats ?? null));
|
|
33
34
|
});
|
|
34
35
|
});
|
|
35
36
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
8
9
|
*/
|
|
9
10
|
|
|
10
|
-
import { URL } from 'node:url';
|
|
11
|
-
|
|
12
11
|
/**
|
|
13
12
|
* @module paths
|
|
14
13
|
*/
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -13,9 +13,12 @@ export interface Invalid {
|
|
|
13
13
|
export interface Progress {
|
|
14
14
|
action: 'progress';
|
|
15
15
|
payload: {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
stage: string;
|
|
17
|
+
percent: number;
|
|
18
|
+
details: {
|
|
19
|
+
builtModules: number;
|
|
20
|
+
moduleIdentifier?: string;
|
|
21
|
+
};
|
|
19
22
|
};
|
|
20
23
|
}
|
|
21
24
|
export interface Hash {
|
package/esm/server/hot/Socket.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -10,8 +11,8 @@
|
|
|
10
11
|
import { v7 } from 'uuid';
|
|
11
12
|
import { Buffer } from 'node:buffer';
|
|
12
13
|
import * as rspack from '@rspack/core';
|
|
14
|
+
import { fileURLToPath } from 'node:url';
|
|
13
15
|
import { resolve, dirname } from 'node:path';
|
|
14
|
-
import { fileURLToPath, URL } from 'node:url';
|
|
15
16
|
import WebSocket, { WebSocketServer } from 'ws';
|
|
16
17
|
import { PLUGIN_NAME, getCompilers } from '../utils.js';
|
|
17
18
|
import { getOptions, getStatsOptions, getTimestamp, BASE_URL, hasIssues, isUpgradable } from './utils.js';
|
|
@@ -40,7 +41,7 @@ class Socket {
|
|
|
40
41
|
const context = {
|
|
41
42
|
uuid,
|
|
42
43
|
stats: null,
|
|
43
|
-
|
|
44
|
+
percent: -1,
|
|
44
45
|
clients: new Set()
|
|
45
46
|
};
|
|
46
47
|
contexts.set(uuid, context);
|
|
@@ -62,8 +63,8 @@ class Socket {
|
|
|
62
63
|
hooks.invalid.tap(PLUGIN_NAME, (path, timestamp) => {
|
|
63
64
|
// Set stats to null.
|
|
64
65
|
context.stats = null;
|
|
65
|
-
// Reset
|
|
66
|
-
context.
|
|
66
|
+
// Reset percent.
|
|
67
|
+
context.percent = -1;
|
|
67
68
|
// Broadcast invalid.
|
|
68
69
|
this.#broadcast(context.clients, 'invalid', { path, timestamp });
|
|
69
70
|
});
|
|
@@ -110,10 +111,10 @@ class Socket {
|
|
|
110
111
|
];
|
|
111
112
|
if (options.progress) {
|
|
112
113
|
plugins.push(
|
|
113
|
-
new rspack.ProgressPlugin((
|
|
114
|
-
if (
|
|
115
|
-
context.
|
|
116
|
-
this.#broadcast(context.clients, 'progress', {
|
|
114
|
+
new rspack.ProgressPlugin((percent, stage, details) => {
|
|
115
|
+
if (percent > context.percent) {
|
|
116
|
+
context.percent = percent;
|
|
117
|
+
this.#broadcast(context.clients, 'progress', { stage, percent, details });
|
|
117
118
|
}
|
|
118
119
|
})
|
|
119
120
|
);
|
package/esm/server/hot/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
@@ -14,7 +14,7 @@ export interface Options {
|
|
|
14
14
|
}
|
|
15
15
|
export type Clients = Set<WebSocket>;
|
|
16
16
|
export interface CompilerContext {
|
|
17
|
-
|
|
17
|
+
percent: number;
|
|
18
18
|
readonly uuid: string;
|
|
19
19
|
readonly clients: Clients;
|
|
20
20
|
stats: Required<rspack.StatsCompilation> | null;
|
package/esm/server/hot/utils.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
|
8
9
|
*/
|
|
9
10
|
|
|
10
|
-
import { URL } from 'node:url';
|
|
11
11
|
import { isString, isBoolean } from '../utils.js';
|
|
12
12
|
|
|
13
13
|
/**
|
package/esm/server/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
package/esm/server/schema.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|
package/esm/server/utils.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* @module rspack-dev-middleware
|
|
2
3
|
* @package rspack-dev-middleware
|
|
3
4
|
* @license MIT
|
|
4
|
-
* @version 0.
|
|
5
|
+
* @version 0.4.0
|
|
5
6
|
* @author nuintun <nuintun@qq.com>
|
|
6
7
|
* @description A koa 2 middleware for rspack development and hot reloading.
|
|
7
8
|
* @see https://github.com/nuintun/rspack-dev-middleware#readme
|