webpack-dev-service 0.11.11 → 0.12.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.
Files changed (59) hide show
  1. package/cjs/client/client.cjs +5 -5
  2. package/cjs/client/events.cjs +1 -1
  3. package/cjs/client/hot.cjs +1 -1
  4. package/cjs/client/index.cjs +1 -1
  5. package/cjs/client/main.cjs +1 -1
  6. package/cjs/client/ui/Overlay.cjs +1 -1
  7. package/cjs/client/ui/Progress.cjs +14 -9
  8. package/cjs/client/ui/utils.cjs +1 -1
  9. package/cjs/server/compose.cjs +1 -1
  10. package/cjs/server/dev/Service.cjs +1 -1
  11. package/cjs/server/dev/index.cjs +1 -1
  12. package/cjs/server/dev/middleware.cjs +1 -1
  13. package/cjs/server/dev/utils/fs.cjs +1 -1
  14. package/cjs/server/dev/utils/hash.cjs +1 -1
  15. package/cjs/server/dev/utils/http.cjs +1 -1
  16. package/cjs/server/dev/utils/path.cjs +1 -1
  17. package/cjs/server/dev/utils/paths.cjs +1 -1
  18. package/cjs/server/dev/utils/ready.cjs +1 -1
  19. package/cjs/server/dev/utils/setupHooks.cjs +1 -1
  20. package/cjs/server/dev/utils/setupOutputFileSystem.cjs +1 -1
  21. package/cjs/server/dev/utils/setupWatching.cjs +1 -1
  22. package/cjs/server/dev/utils/setupWriteToDisk.cjs +1 -1
  23. package/cjs/server/hot/Socket.cjs +6 -17
  24. package/cjs/server/hot/index.cjs +1 -1
  25. package/cjs/server/hot/utils.cjs +1 -1
  26. package/cjs/server/index.cjs +1 -1
  27. package/cjs/server/schema.cjs +1 -1
  28. package/cjs/server/utils.cjs +1 -1
  29. package/esm/client/client.js +5 -5
  30. package/esm/client/events.js +1 -1
  31. package/esm/client/hot.js +1 -1
  32. package/esm/client/index.js +1 -1
  33. package/esm/client/main.js +1 -1
  34. package/esm/client/ui/Overlay.js +1 -1
  35. package/esm/client/ui/Progress.js +14 -9
  36. package/esm/client/ui/utils.js +1 -1
  37. package/esm/server/compose.js +1 -1
  38. package/esm/server/dev/Service.js +1 -1
  39. package/esm/server/dev/index.js +1 -1
  40. package/esm/server/dev/middleware.js +1 -1
  41. package/esm/server/dev/utils/fs.js +1 -1
  42. package/esm/server/dev/utils/hash.js +1 -1
  43. package/esm/server/dev/utils/http.js +1 -1
  44. package/esm/server/dev/utils/path.js +1 -1
  45. package/esm/server/dev/utils/paths.js +1 -1
  46. package/esm/server/dev/utils/ready.js +1 -1
  47. package/esm/server/dev/utils/setupHooks.js +1 -1
  48. package/esm/server/dev/utils/setupOutputFileSystem.js +1 -1
  49. package/esm/server/dev/utils/setupWatching.js +1 -1
  50. package/esm/server/dev/utils/setupWriteToDisk.js +1 -1
  51. package/esm/server/hot/Socket.js +6 -17
  52. package/esm/server/hot/index.js +1 -1
  53. package/esm/server/hot/utils.js +1 -1
  54. package/esm/server/index.js +1 -1
  55. package/esm/server/schema.js +1 -1
  56. package/esm/server/utils.js +1 -1
  57. package/package.json +7 -7
  58. package/types/client/Message.d.ts +2 -2
  59. package/types/client/ui/Progress.d.ts +1 -1
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -42,9 +42,9 @@ function createClient(options) {
42
42
  progress.show();
43
43
  }
44
44
  };
45
- const onProgress = ({ value }) => {
45
+ const onProgress = ({ percentage }) => {
46
46
  if (options.progress) {
47
- progress.update(value);
47
+ progress.update(percentage);
48
48
  }
49
49
  };
50
50
  const onHash = ({ hash }) => {
@@ -66,7 +66,7 @@ function createClient(options) {
66
66
  }
67
67
  };
68
68
  const onIssues = ({ errors, warnings }) => {
69
- progress.update(100);
69
+ progress.update(1);
70
70
  progress.hide();
71
71
  setIssues('errors', errors);
72
72
  setIssues('warnings', warnings);
@@ -78,7 +78,7 @@ function createClient(options) {
78
78
  }
79
79
  };
80
80
  const onOk = () => {
81
- progress.update(100);
81
+ progress.update(1);
82
82
  progress.hide();
83
83
  overlay.hide();
84
84
  applyUpdateAsync();
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -16,6 +16,7 @@ const utils = require('./utils.cjs');
16
16
  * @see https://github.com/shellscape/webpack-plugin-serve
17
17
  * @see https://www.zhangxinxu.com/wordpress/2015/07/svg-circle-loading
18
18
  */
19
+ const DURATION = 256;
19
20
  const PROGRESS = 'wds-progress';
20
21
  const PERIMETER = 2 * Math.PI * 44;
21
22
  const CSS = `
@@ -34,7 +35,7 @@ const CSS = `
34
35
  z-index: 2147483647;
35
36
  transform-origin: center;
36
37
  transform: scale(0) translateZ(0);
37
- transition: transform .25s ease-out;
38
+ transition: transform ${DURATION}ms ease-out;
38
39
  }
39
40
  .${PROGRESS}-show {
40
41
  transform: scale(1) translateZ(0);
@@ -46,7 +47,7 @@ const CSS = `
46
47
  fill: rgba(0, 0, 0, 0);
47
48
  stroke-dasharray: ${PERIMETER};
48
49
  stroke-dashoffset: ${PERIMETER};
49
- transition: stroke-dashoffset .25s linear;
50
+ transition: stroke-dashoffset ${DURATION}ms linear;
50
51
  transform: matrix(0, -1, 1, 0, 0, 96) translateZ(0);
51
52
  }
52
53
  `;
@@ -70,9 +71,9 @@ class Progress {
70
71
  [this.svg] = utils.appendHTML(HTML, root);
71
72
  this.track = this.svg.querySelector(`.${PROGRESS}-track`);
72
73
  }
73
- update(value) {
74
- value = Math.max(0, Math.min(100, value));
75
- this.track.style.strokeDashoffset = (((100 - value) / 100) * PERIMETER).toString();
74
+ update(percentage) {
75
+ percentage = 1 - Math.max(0, Math.min(1, percentage));
76
+ this.track.style.strokeDashoffset = `${PERIMETER * percentage}`;
76
77
  }
77
78
  show() {
78
79
  if (this.hidden) {
@@ -82,12 +83,16 @@ class Progress {
82
83
  }
83
84
  }
84
85
  hide() {
85
- if (!this.hidden) {
86
+ if (this.hidden) {
87
+ this.update(0);
88
+ } else {
86
89
  this.hidden = true;
87
90
  this.timer = self.setTimeout(() => {
88
- this.update(0);
91
+ this.timer = self.setTimeout(() => {
92
+ this.update(0);
93
+ }, DURATION);
89
94
  this.svg.classList.remove(`${PROGRESS}-show`);
90
- }, 300);
95
+ }, DURATION);
91
96
  }
92
97
  }
93
98
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -126,22 +126,11 @@ class Socket {
126
126
  }
127
127
  }
128
128
  if (options.progress) {
129
- let value = 0;
130
- new webpack__default.default.ProgressPlugin((percentage, status, message) => {
131
- const nextValue = Math.floor(percentage * 100);
132
- if (nextValue > value || nextValue === 0) {
133
- value = nextValue;
134
- switch (value) {
135
- case 0:
136
- status = 'start';
137
- message = 'end idle';
138
- break;
139
- case 100:
140
- status = 'finish';
141
- message = 'begin idle';
142
- break;
143
- }
144
- this.broadcast(this.clients(), 'progress', { status, message, value });
129
+ let latestPercentage = -1;
130
+ new webpack__default.default.ProgressPlugin((percentage, status, ...messages) => {
131
+ if (percentage !== latestPercentage) {
132
+ latestPercentage = percentage;
133
+ this.broadcast(this.clients(), 'progress', { status, messages, percentage });
145
134
  }
146
135
  }).apply(compiler);
147
136
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -40,9 +40,9 @@ function createClient(options) {
40
40
  progress.show();
41
41
  }
42
42
  };
43
- const onProgress = ({ value }) => {
43
+ const onProgress = ({ percentage }) => {
44
44
  if (options.progress) {
45
- progress.update(value);
45
+ progress.update(percentage);
46
46
  }
47
47
  };
48
48
  const onHash = ({ hash }) => {
@@ -64,7 +64,7 @@ function createClient(options) {
64
64
  }
65
65
  };
66
66
  const onIssues = ({ errors, warnings }) => {
67
- progress.update(100);
67
+ progress.update(1);
68
68
  progress.hide();
69
69
  setIssues('errors', errors);
70
70
  setIssues('warnings', warnings);
@@ -76,7 +76,7 @@ function createClient(options) {
76
76
  }
77
77
  };
78
78
  const onOk = () => {
79
- progress.update(100);
79
+ progress.update(1);
80
80
  progress.hide();
81
81
  overlay.hide();
82
82
  applyUpdateAsync();
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
package/esm/client/hot.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -14,6 +14,7 @@ import { getRootElement, injectCSS, appendHTML } from './utils.js';
14
14
  * @see https://github.com/shellscape/webpack-plugin-serve
15
15
  * @see https://www.zhangxinxu.com/wordpress/2015/07/svg-circle-loading
16
16
  */
17
+ const DURATION = 256;
17
18
  const PROGRESS = 'wds-progress';
18
19
  const PERIMETER = 2 * Math.PI * 44;
19
20
  const CSS = `
@@ -32,7 +33,7 @@ const CSS = `
32
33
  z-index: 2147483647;
33
34
  transform-origin: center;
34
35
  transform: scale(0) translateZ(0);
35
- transition: transform .25s ease-out;
36
+ transition: transform ${DURATION}ms ease-out;
36
37
  }
37
38
  .${PROGRESS}-show {
38
39
  transform: scale(1) translateZ(0);
@@ -44,7 +45,7 @@ const CSS = `
44
45
  fill: rgba(0, 0, 0, 0);
45
46
  stroke-dasharray: ${PERIMETER};
46
47
  stroke-dashoffset: ${PERIMETER};
47
- transition: stroke-dashoffset .25s linear;
48
+ transition: stroke-dashoffset ${DURATION}ms linear;
48
49
  transform: matrix(0, -1, 1, 0, 0, 96) translateZ(0);
49
50
  }
50
51
  `;
@@ -68,9 +69,9 @@ class Progress {
68
69
  [this.svg] = appendHTML(HTML, root);
69
70
  this.track = this.svg.querySelector(`.${PROGRESS}-track`);
70
71
  }
71
- update(value) {
72
- value = Math.max(0, Math.min(100, value));
73
- this.track.style.strokeDashoffset = (((100 - value) / 100) * PERIMETER).toString();
72
+ update(percentage) {
73
+ percentage = 1 - Math.max(0, Math.min(1, percentage));
74
+ this.track.style.strokeDashoffset = `${PERIMETER * percentage}`;
74
75
  }
75
76
  show() {
76
77
  if (this.hidden) {
@@ -80,12 +81,16 @@ class Progress {
80
81
  }
81
82
  }
82
83
  hide() {
83
- if (!this.hidden) {
84
+ if (this.hidden) {
85
+ this.update(0);
86
+ } else {
84
87
  this.hidden = true;
85
88
  this.timer = self.setTimeout(() => {
86
- this.update(0);
89
+ this.timer = self.setTimeout(() => {
90
+ this.update(0);
91
+ }, DURATION);
87
92
  this.svg.classList.remove(`${PROGRESS}-show`);
88
- }, 300);
93
+ }, DURATION);
89
94
  }
90
95
  }
91
96
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -117,22 +117,11 @@ class Socket {
117
117
  }
118
118
  }
119
119
  if (options.progress) {
120
- let value = 0;
121
- new webpack.ProgressPlugin((percentage, status, message) => {
122
- const nextValue = Math.floor(percentage * 100);
123
- if (nextValue > value || nextValue === 0) {
124
- value = nextValue;
125
- switch (value) {
126
- case 0:
127
- status = 'start';
128
- message = 'end idle';
129
- break;
130
- case 100:
131
- status = 'finish';
132
- message = 'begin idle';
133
- break;
134
- }
135
- this.broadcast(this.clients(), 'progress', { status, message, value });
120
+ let latestPercentage = -1;
121
+ new webpack.ProgressPlugin((percentage, status, ...messages) => {
122
+ if (percentage !== latestPercentage) {
123
+ latestPercentage = percentage;
124
+ this.broadcast(this.clients(), 'progress', { status, messages, percentage });
136
125
  }
137
126
  }).apply(compiler);
138
127
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.11.11
4
+ * @version 0.12.0
5
5
  * @author nuintun <nuintun@qq.com>
6
6
  * @description A koa 2 middleware for webpack development and hot reloading.
7
7
  * @see https://github.com/nuintun/webpack-dev-service#readme
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webpack-dev-service",
3
- "version": "0.11.11",
3
+ "version": "0.12.0",
4
4
  "description": "A koa 2 middleware for webpack development and hot reloading.",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -87,16 +87,16 @@
87
87
  "ws": "^8.18.0"
88
88
  },
89
89
  "devDependencies": {
90
- "@rollup/plugin-replace": "^5.0.7",
91
- "@rollup/plugin-typescript": "^11.1.6",
92
- "@swc/core": "^1.7.26",
90
+ "@rollup/plugin-replace": "^6.0.1",
91
+ "@rollup/plugin-typescript": "^12.1.0",
92
+ "@swc/core": "^1.7.28",
93
93
  "@swc/helpers": "^0.5.13",
94
94
  "@types/destroy": "^1.0.3",
95
95
  "@types/etag": "^1.8.3",
96
96
  "@types/koa-compose": "^3.2.8",
97
- "@types/node": "^22.5.5",
97
+ "@types/node": "^22.7.0",
98
98
  "@types/range-parser": "^1.2.7",
99
- "@types/react": "^18.3.7",
99
+ "@types/react": "^18.3.9",
100
100
  "@types/react-dom": "^18.3.0",
101
101
  "css-loader": "^7.1.2",
102
102
  "html-webpack-plugin": "^5.6.0",
@@ -108,7 +108,7 @@
108
108
  "react": "^18.3.1",
109
109
  "react-dom": "^18.3.1",
110
110
  "rimraf": "^6.0.1",
111
- "rollup": "^4.22.0",
111
+ "rollup": "^4.22.4",
112
112
  "swc-loader": "^0.2.6",
113
113
  "tsc-alias": "^1.8.10",
114
114
  "typescript": "^5.6.2",
@@ -12,9 +12,9 @@ export interface InvalidMessage {
12
12
  export interface ProgressMessage {
13
13
  action: 'progress';
14
14
  payload: {
15
- value: number;
16
15
  status: string;
17
- message: string;
16
+ messages: string[];
17
+ percentage: number;
18
18
  };
19
19
  }
20
20
  export interface HashMessage {
@@ -9,7 +9,7 @@ export declare class Progress {
9
9
  private readonly svg;
10
10
  private readonly track;
11
11
  constructor();
12
- update(value: number): void;
12
+ update(percentage: number): void;
13
13
  show(): void;
14
14
  hide(): void;
15
15
  }