webpack-dev-service 0.10.2 → 0.11.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 +1 -1
  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 +1 -1
  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 +4 -4
  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 +7 -10
  24. package/cjs/server/hot/index.cjs +1 -1
  25. package/cjs/server/hot/utils.cjs +5 -7
  26. package/cjs/server/index.cjs +1 -1
  27. package/cjs/server/schema.cjs +3 -3
  28. package/cjs/server/utils.cjs +1 -1
  29. package/esm/client/client.js +1 -1
  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 +1 -1
  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 +4 -4
  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 +8 -11
  52. package/esm/server/hot/index.js +1 -1
  53. package/esm/server/hot/utils.js +6 -7
  54. package/esm/server/index.js +1 -1
  55. package/esm/server/schema.js +3 -3
  56. package/esm/server/utils.js +1 -1
  57. package/package.json +1 -1
  58. package/types/server/dev/interface.d.ts +1 -1
  59. package/types/server/hot/utils.d.ts +1 -2
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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
@@ -67,7 +67,7 @@ function setupHooks(context) {
67
67
  context.logger.log('compilation starting...');
68
68
  };
69
69
  const {
70
- onCompilerDone = (stats, statsOptions) => {
70
+ onCompilationDone = (stats, statsOptions) => {
71
71
  const printedStats = stats.toString(statsOptions);
72
72
  // Avoid extra empty line when `stats: 'none'`.
73
73
  if (printedStats) {
@@ -83,8 +83,8 @@ function setupHooks(context) {
83
83
  const { stats } = context;
84
84
  // Check if still in valid state.
85
85
  if (stats) {
86
- // Call onCompilerDone.
87
- onCompilerDone(stats, statsOptions);
86
+ // Call onCompilationDone.
87
+ onCompilationDone(stats, statsOptions);
88
88
  // Callbacks.
89
89
  const { callbacks } = context;
90
90
  // Clear callbacks.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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,11 +40,8 @@ class Socket {
40
40
  this.stats = null;
41
41
  this.compiler = compiler;
42
42
  this.options = utils.getOptions(options);
43
- this.server = new WebSocket.WebSocketServer({
44
- noServer: true,
45
- path: this.options.path
46
- });
47
43
  this.logger = compiler.getInfrastructureLogger(utils$1.PLUGIN_NAME);
44
+ this.server = new WebSocket.WebSocketServer({ noServer: true, path: this.options.path });
48
45
  this.setupWss();
49
46
  this.setupHooks();
50
47
  this.setupPlugins();
@@ -52,17 +49,17 @@ class Socket {
52
49
  setupWss() {
53
50
  const { server, logger } = this;
54
51
  server.on('connection', client => {
52
+ logger.log('client connected');
53
+ client.on('close', () => {
54
+ logger.log('client disconnected');
55
+ });
55
56
  if (this.stats) {
56
57
  this.broadcastStats([client], this.stats);
57
58
  }
58
- logger.log('client connected');
59
59
  });
60
60
  server.on('error', error => {
61
61
  logger.error(error);
62
62
  });
63
- server.on('close', function () {
64
- logger.log('client disconnected');
65
- });
66
63
  }
67
64
  setupHooks() {
68
65
  const { compiler } = this;
@@ -151,7 +148,7 @@ class Socket {
151
148
  upgrade(context) {
152
149
  const { server } = this;
153
150
  const { req: request } = context;
154
- if (utils.isUpgradable(context, utils.WEBSOCKET_RE) && server.shouldHandle(request)) {
151
+ if (utils.isUpgradable(context) && server.shouldHandle(request)) {
155
152
  context.respond = false;
156
153
  const { socket } = context;
157
154
  const head = Buffer.alloc(0);
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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,7 +14,10 @@ const utils = require('../utils.cjs');
14
14
  /**
15
15
  * @module utils
16
16
  */
17
- const WEBSOCKET_RE = /^websocket$/i;
17
+ function isUpgradable(context) {
18
+ const { upgrade } = context.headers;
19
+ return !!upgrade && /^websocket$/i.test(upgrade.trim());
20
+ }
18
21
  function normalize(path) {
19
22
  const segments = [];
20
23
  const parts = path.split(/[\\/]+/);
@@ -46,10 +49,6 @@ function getOptions(options) {
46
49
  settings.path = normalize(settings.path);
47
50
  return settings;
48
51
  }
49
- function isUpgradable(context, detector) {
50
- const { upgrade } = context.headers;
51
- return !!upgrade && detector.test(upgrade.trim());
52
- }
53
52
  function hasIssues(issues) {
54
53
  return Array.isArray(issues) && issues.length > 0;
55
54
  }
@@ -92,7 +91,6 @@ function getTimestamp({ builtAt, children = [] }) {
92
91
  return timestamp < 0 ? Date.now() : timestamp;
93
92
  }
94
93
 
95
- exports.WEBSOCKET_RE = WEBSOCKET_RE;
96
94
  exports.getOptions = getOptions;
97
95
  exports.getStatsOptions = getStatsOptions;
98
96
  exports.getTimestamp = getTimestamp;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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
@@ -116,9 +116,9 @@ const schema = {
116
116
  }
117
117
  ]
118
118
  },
119
- onCompilerDone: {
119
+ onCompilationDone: {
120
120
  instanceof: 'Function',
121
- description: 'Callback function when the compiler is done, providing statistics and options.'
121
+ description: 'Callback function when the compilation is done, providing statistics and options.'
122
122
  }
123
123
  },
124
124
  additionalProperties: false
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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
@@ -59,7 +59,7 @@ function setupHooks(context) {
59
59
  context.logger.log('compilation starting...');
60
60
  };
61
61
  const {
62
- onCompilerDone = (stats, statsOptions) => {
62
+ onCompilationDone = (stats, statsOptions) => {
63
63
  const printedStats = stats.toString(statsOptions);
64
64
  // Avoid extra empty line when `stats: 'none'`.
65
65
  if (printedStats) {
@@ -75,8 +75,8 @@ function setupHooks(context) {
75
75
  const { stats } = context;
76
76
  // Check if still in valid state.
77
77
  if (stats) {
78
- // Call onCompilerDone.
79
- onCompilerDone(stats, statsOptions);
78
+ // Call onCompilationDone.
79
+ onCompilationDone(stats, statsOptions);
80
80
  // Callbacks.
81
81
  const { callbacks } = context;
82
82
  // Clear callbacks.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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
@@ -12,7 +12,7 @@ import { resolve, dirname } from 'path';
12
12
  import WebSocket, { WebSocketServer } from 'ws';
13
13
  import webpack from 'webpack';
14
14
  import { PLUGIN_NAME, getCompilers } from '../utils.js';
15
- import { getOptions, getStatsOptions, getTimestamp, isUpgradable, hasIssues, WEBSOCKET_RE } from './utils.js';
15
+ import { getOptions, getStatsOptions, getTimestamp, isUpgradable, hasIssues } from './utils.js';
16
16
 
17
17
  /**
18
18
  * @module Socket
@@ -31,11 +31,8 @@ class Socket {
31
31
  this.stats = null;
32
32
  this.compiler = compiler;
33
33
  this.options = getOptions(options);
34
- this.server = new WebSocketServer({
35
- noServer: true,
36
- path: this.options.path
37
- });
38
34
  this.logger = compiler.getInfrastructureLogger(PLUGIN_NAME);
35
+ this.server = new WebSocketServer({ noServer: true, path: this.options.path });
39
36
  this.setupWss();
40
37
  this.setupHooks();
41
38
  this.setupPlugins();
@@ -43,17 +40,17 @@ class Socket {
43
40
  setupWss() {
44
41
  const { server, logger } = this;
45
42
  server.on('connection', client => {
43
+ logger.log('client connected');
44
+ client.on('close', () => {
45
+ logger.log('client disconnected');
46
+ });
46
47
  if (this.stats) {
47
48
  this.broadcastStats([client], this.stats);
48
49
  }
49
- logger.log('client connected');
50
50
  });
51
51
  server.on('error', error => {
52
52
  logger.error(error);
53
53
  });
54
- server.on('close', function () {
55
- logger.log('client disconnected');
56
- });
57
54
  }
58
55
  setupHooks() {
59
56
  const { compiler } = this;
@@ -142,7 +139,7 @@ class Socket {
142
139
  upgrade(context) {
143
140
  const { server } = this;
144
141
  const { req: request } = context;
145
- if (isUpgradable(context, WEBSOCKET_RE) && server.shouldHandle(request)) {
142
+ if (isUpgradable(context) && server.shouldHandle(request)) {
146
143
  context.respond = false;
147
144
  const { socket } = context;
148
145
  const head = Buffer.alloc(0);
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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
@@ -12,7 +12,10 @@ import { isMultiCompilerMode, isObject } from '../utils.js';
12
12
  /**
13
13
  * @module utils
14
14
  */
15
- const WEBSOCKET_RE = /^websocket$/i;
15
+ function isUpgradable(context) {
16
+ const { upgrade } = context.headers;
17
+ return !!upgrade && /^websocket$/i.test(upgrade.trim());
18
+ }
16
19
  function normalize(path) {
17
20
  const segments = [];
18
21
  const parts = path.split(/[\\/]+/);
@@ -44,10 +47,6 @@ function getOptions(options) {
44
47
  settings.path = normalize(settings.path);
45
48
  return settings;
46
49
  }
47
- function isUpgradable(context, detector) {
48
- const { upgrade } = context.headers;
49
- return !!upgrade && detector.test(upgrade.trim());
50
- }
51
50
  function hasIssues(issues) {
52
51
  return Array.isArray(issues) && issues.length > 0;
53
52
  }
@@ -90,4 +89,4 @@ function getTimestamp({ builtAt, children = [] }) {
90
89
  return timestamp < 0 ? Date.now() : timestamp;
91
90
  }
92
91
 
93
- export { WEBSOCKET_RE, getOptions, getStatsOptions, getTimestamp, hasIssues, isUpgradable };
92
+ export { getOptions, getStatsOptions, getTimestamp, hasIssues, isUpgradable };
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.10.2
4
+ * @version 0.11.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.10.2
4
+ * @version 0.11.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
@@ -114,9 +114,9 @@ const schema = {
114
114
  }
115
115
  ]
116
116
  },
117
- onCompilerDone: {
117
+ onCompilationDone: {
118
118
  instanceof: 'Function',
119
- description: 'Callback function when the compiler is done, providing statistics and options.'
119
+ description: 'Callback function when the compilation is done, providing statistics and options.'
120
120
  }
121
121
  },
122
122
  additionalProperties: false
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @package webpack-dev-service
3
3
  * @license MIT
4
- * @version 0.10.2
4
+ * @version 0.11.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.10.2",
3
+ "version": "0.11.0",
4
4
  "description": "A koa 2 middleware for webpack development and hot reloading.",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -22,7 +22,7 @@ export interface Options extends Omit<ServiceOptions, 'fs'> {
22
22
  fs?: FileSystem;
23
23
  stats?: IStatsOptions;
24
24
  writeToDisk?: boolean | ((targetPath: string) => boolean);
25
- onCompilerDone?(stats: IStats, statsOptions: Readonly<StatsOptions>): void;
25
+ onCompilationDone?(stats: IStats, statsOptions: Readonly<StatsOptions>): void;
26
26
  }
27
27
  export type FileService = [publicPath: string, service: Service];
28
28
  export interface Context {
@@ -5,9 +5,8 @@ import { Context } from 'koa';
5
5
  import { Options } from './interface';
6
6
  import { StatsCompilation, StatsOptions } from 'webpack';
7
7
  import { ICompiler } from '../../server/interface';
8
- export declare const WEBSOCKET_RE: RegExp;
8
+ export declare function isUpgradable(context: Context): boolean;
9
9
  export declare function getOptions(options?: Options): Required<Options>;
10
- export declare function isUpgradable(context: Context, detector: RegExp): boolean;
11
10
  export declare function hasIssues<T>(issues: ArrayLike<T> | undefined): boolean;
12
11
  export declare function getStatsOptions(compiler: ICompiler): StatsOptions;
13
12
  export declare function getTimestamp({ builtAt, children }: StatsCompilation): number;