@modern-js/server 2.48.0 → 2.48.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/cjs/constants.js +1 -1
  2. package/dist/cjs/dev-tools/dev-middleware/index.js +0 -4
  3. package/dist/cjs/dev-tools/dev-middleware/socketServer.js +2 -7
  4. package/dist/cjs/dev-tools/watcher/dependencyTree.js +0 -3
  5. package/dist/cjs/dev-tools/watcher/index.js +1 -3
  6. package/dist/cjs/dev-tools/watcher/statsCache.js +2 -3
  7. package/dist/cjs/server/devServer.js +4 -11
  8. package/dist/cjs/server/devServerOld.js +3 -9
  9. package/dist/cjs/server/workerSSRRender.js +1 -1
  10. package/dist/esm/constants.js +1 -1
  11. package/dist/esm/dev-tools/dev-middleware/index.js +42 -58
  12. package/dist/esm/dev-tools/dev-middleware/socketServer.js +130 -179
  13. package/dist/esm/dev-tools/watcher/dependencyTree.js +59 -80
  14. package/dist/esm/dev-tools/watcher/index.js +63 -82
  15. package/dist/esm/dev-tools/watcher/statsCache.js +55 -76
  16. package/dist/esm/server/devServer.js +433 -494
  17. package/dist/esm/server/devServerOld.js +455 -515
  18. package/dist/esm/server/workerSSRRender.js +1 -1
  19. package/dist/esm-node/constants.js +1 -1
  20. package/dist/esm-node/dev-tools/dev-middleware/index.js +0 -4
  21. package/dist/esm-node/dev-tools/dev-middleware/socketServer.js +2 -7
  22. package/dist/esm-node/dev-tools/watcher/dependencyTree.js +0 -3
  23. package/dist/esm-node/dev-tools/watcher/index.js +1 -3
  24. package/dist/esm-node/dev-tools/watcher/statsCache.js +2 -3
  25. package/dist/esm-node/server/devServer.js +4 -11
  26. package/dist/esm-node/server/devServerOld.js +3 -9
  27. package/dist/esm-node/server/workerSSRRender.js +1 -1
  28. package/dist/types/server/devServer.d.ts +1 -1
  29. package/dist/types/server/devServerOld.d.ts +1 -1
  30. package/dist/types/types.d.ts +2 -2
  31. package/package.json +10 -10
@@ -31,7 +31,7 @@ const getDefaultDevOptions = () => {
31
31
  // By default it is set to "location.hostname"
32
32
  host: "",
33
33
  // By default it is set to "location.protocol === 'https:' ? 'wss' : 'ws'""
34
- protocol: ""
34
+ protocol: void 0
35
35
  },
36
36
  https: false,
37
37
  devMiddleware: {
@@ -31,7 +31,6 @@ __export(dev_middleware_exports, {
31
31
  default: () => DevMiddleware
32
32
  });
33
33
  module.exports = __toCommonJS(dev_middleware_exports);
34
- var import_define_property = require("@swc/helpers/_/_define_property");
35
34
  var import_events = require("events");
36
35
  var import_socketServer = __toESM(require("./socketServer"));
37
36
  const noop = () => {
@@ -82,9 +81,6 @@ class DevMiddleware extends import_events.EventEmitter {
82
81
  }
83
82
  constructor({ dev, devMiddleware }) {
84
83
  super();
85
- (0, import_define_property._)(this, "middleware", void 0);
86
- (0, import_define_property._)(this, "devOptions", void 0);
87
- (0, import_define_property._)(this, "socketServer", void 0);
88
84
  this.devOptions = dev;
89
85
  this.socketServer = new import_socketServer.default(dev);
90
86
  if (devMiddleware) {
@@ -31,7 +31,6 @@ __export(socketServer_exports, {
31
31
  default: () => SocketServer
32
32
  });
33
33
  module.exports = __toCommonJS(socketServer_exports);
34
- var import_define_property = require("@swc/helpers/_/_define_property");
35
34
  var import_ws = __toESM(require("ws"));
36
35
  var import_utils = require("@modern-js/utils");
37
36
  class SocketServer {
@@ -167,12 +166,8 @@ class SocketServer {
167
166
  connection.send(message);
168
167
  }
169
168
  constructor(options) {
170
- (0, import_define_property._)(this, "wsServer", void 0);
171
- (0, import_define_property._)(this, "sockets", []);
172
- (0, import_define_property._)(this, "options", void 0);
173
- (0, import_define_property._)(this, "app", void 0);
174
- (0, import_define_property._)(this, "stats", void 0);
175
- (0, import_define_property._)(this, "timer", null);
169
+ this.sockets = [];
170
+ this.timer = null;
176
171
  this.options = options;
177
172
  }
178
173
  }
@@ -32,7 +32,6 @@ __export(dependencyTree_exports, {
32
32
  defaultIgnores: () => defaultIgnores
33
33
  });
34
34
  module.exports = __toCommonJS(dependencyTree_exports);
35
- var import_define_property = require("@swc/helpers/_/_define_property");
36
35
  var import_minimatch = __toESM(require("minimatch"));
37
36
  const defaultIgnores = [
38
37
  "**/coverage/**",
@@ -90,8 +89,6 @@ class DependencyTree {
90
89
  }).length > 0));
91
90
  }
92
91
  constructor() {
93
- (0, import_define_property._)(this, "tree", void 0);
94
- (0, import_define_property._)(this, "ignore", void 0);
95
92
  this.tree = /* @__PURE__ */ new Map();
96
93
  this.ignore = [
97
94
  ...defaultIgnores
@@ -34,7 +34,6 @@ __export(watcher_exports, {
34
34
  mergeWatchOptions: () => mergeWatchOptions
35
35
  });
36
36
  module.exports = __toCommonJS(watcher_exports);
37
- var import_define_property = require("@swc/helpers/_/_define_property");
38
37
  var import_path = __toESM(require("path"));
39
38
  var import_utils = require("@modern-js/utils");
40
39
  var import_dependencyTree = require("./dependencyTree");
@@ -126,8 +125,7 @@ class Watcher {
126
125
  return this.watcher.close();
127
126
  }
128
127
  constructor() {
129
- (0, import_define_property._)(this, "dependencyTree", null);
130
- (0, import_define_property._)(this, "watcher", void 0);
128
+ this.dependencyTree = null;
131
129
  }
132
130
  }
133
131
  // Annotate the CommonJS export names for ESM import in node:
@@ -31,7 +31,6 @@ __export(statsCache_exports, {
31
31
  StatsCache: () => StatsCache
32
32
  });
33
33
  module.exports = __toCommonJS(statsCache_exports);
34
- var import_define_property = require("@swc/helpers/_/_define_property");
35
34
  var import_fs = __toESM(require("fs"));
36
35
  var import_crypto = __toESM(require("crypto"));
37
36
  class StatsCache {
@@ -83,8 +82,8 @@ class StatsCache {
83
82
  return import_crypto.default.createHash("md5").update(import_fs.default.readFileSync(filename)).digest("hex");
84
83
  }
85
84
  constructor() {
86
- (0, import_define_property._)(this, "cachedHash", {});
87
- (0, import_define_property._)(this, "cachedSize", {});
85
+ this.cachedHash = {};
86
+ this.cachedSize = {};
88
87
  }
89
88
  }
90
89
  // Annotate the CommonJS export names for ESM import in node:
@@ -31,7 +31,6 @@ __export(devServer_exports, {
31
31
  ModernDevServer: () => ModernDevServer
32
32
  });
33
33
  module.exports = __toCommonJS(devServer_exports);
34
- var import_define_property = require("@swc/helpers/_/_define_property");
35
34
  var import_http = require("http");
36
35
  var import_path = __toESM(require("path"));
37
36
  var import_https = require("https");
@@ -170,7 +169,7 @@ class ModernDevServer extends import_prod_server.ModernServer {
170
169
  }
171
170
  // override the ModernServer renderHandler logic
172
171
  getRenderHandler() {
173
- if (this.useWorkerSSR) {
172
+ if (this.useSSRWorker) {
174
173
  var _this_conf_server, _conf_security;
175
174
  const { distDir, staticGenerate, conf, metaName } = this;
176
175
  const ssrConfig = (_this_conf_server = this.conf.server) === null || _this_conf_server === void 0 ? void 0 : _this_conf_server.ssr;
@@ -311,17 +310,11 @@ class ModernDevServer extends import_prod_server.ModernServer {
311
310
  }
312
311
  constructor(options) {
313
312
  super(options);
314
- (0, import_define_property._)(this, "mockHandler", null);
315
- (0, import_define_property._)(this, "dev", void 0);
316
- (0, import_define_property._)(this, "useWorkerSSR", void 0);
317
- (0, import_define_property._)(this, "appContext", void 0);
318
- (0, import_define_property._)(this, "getMiddlewares", void 0);
319
- (0, import_define_property._)(this, "rsbuild", void 0);
320
- (0, import_define_property._)(this, "watcher", void 0);
321
- (0, import_define_property._)(this, "closeCb", []);
313
+ this.mockHandler = null;
314
+ this.closeCb = [];
322
315
  this.appContext = options.appContext;
323
316
  this.workDir = this.pwd;
324
- this.useWorkerSSR = Boolean(options.useWorkerSSR);
317
+ this.useSSRWorker = Boolean(options.useSSRWorker);
325
318
  this.dev = this.getDevOptions(options);
326
319
  this.getMiddlewares = options.getMiddlewares;
327
320
  this.rsbuild = options.rsbuild;
@@ -31,7 +31,6 @@ __export(devServerOld_exports, {
31
31
  ModernDevServer: () => ModernDevServer
32
32
  });
33
33
  module.exports = __toCommonJS(devServerOld_exports);
34
- var import_define_property = require("@swc/helpers/_/_define_property");
35
34
  var import_http = require("http");
36
35
  var import_path = __toESM(require("path"));
37
36
  var import_https = require("https");
@@ -105,7 +104,7 @@ class ModernDevServer extends import_prod_server.ModernServer {
105
104
  }
106
105
  // override the ModernServer renderHandler logic
107
106
  getRenderHandler() {
108
- if (this.useWorkerSSR) {
107
+ if (this.useSSRWorker) {
109
108
  var _this_conf_server, _conf_security;
110
109
  const { distDir, staticGenerate, conf, metaName } = this;
111
110
  const ssrConfig = (_this_conf_server = this.conf.server) === null || _this_conf_server === void 0 ? void 0 : _this_conf_server.ssr;
@@ -329,15 +328,10 @@ class ModernDevServer extends import_prod_server.ModernServer {
329
328
  }
330
329
  constructor(options) {
331
330
  super(options);
332
- (0, import_define_property._)(this, "mockHandler", null);
333
- (0, import_define_property._)(this, "dev", void 0);
334
- (0, import_define_property._)(this, "useWorkerSSR", void 0);
335
- (0, import_define_property._)(this, "appContext", void 0);
336
- (0, import_define_property._)(this, "devMiddleware", void 0);
337
- (0, import_define_property._)(this, "watcher", void 0);
331
+ this.mockHandler = null;
338
332
  this.appContext = options.appContext;
339
333
  this.workDir = this.pwd;
340
- this.useWorkerSSR = Boolean(options.useWorkerSSR);
334
+ this.useSSRWorker = Boolean(options.useSSRWorker);
341
335
  this.dev = this.getDevOptions(options);
342
336
  this.devMiddleware = new import_dev_middleware.default({
343
337
  dev: this.dev,
@@ -37,7 +37,7 @@ const PORT = 9230;
37
37
  async function workerSSRRender(ctx, renderOptions, _runner) {
38
38
  const { headers, params } = ctx;
39
39
  const { urlPath } = renderOptions.route;
40
- const url = `http://0.0.0.0:${PORT}/${urlPath}`;
40
+ const url = urlPath.startsWith("/") ? `http://0.0.0.0:${PORT}${urlPath}` : `http://0.0.0.0:${PORT}/${urlPath}`;
41
41
  const resposne = await import_axios.default.get(url, {
42
42
  timeout: 5e3,
43
43
  responseType: "text",
@@ -8,7 +8,7 @@ var getDefaultDevOptions = function() {
8
8
  // By default it is set to "location.hostname"
9
9
  host: "",
10
10
  // By default it is set to "location.protocol === 'https:' ? 'wss' : 'ws'""
11
- protocol: ""
11
+ protocol: void 0
12
12
  },
13
13
  https: false,
14
14
  devMiddleware: {
@@ -1,8 +1,5 @@
1
- import { _ as _assert_this_initialized } from "@swc/helpers/_/_assert_this_initialized";
2
1
  import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
3
2
  import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
4
- import { _ as _create_class } from "@swc/helpers/_/_create_class";
5
- import { _ as _define_property } from "@swc/helpers/_/_define_property";
6
3
  import { _ as _inherits } from "@swc/helpers/_/_inherits";
7
4
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
8
5
  import { _ as _create_super } from "@swc/helpers/_/_create_super";
@@ -28,9 +25,6 @@ var DevMiddleware = /* @__PURE__ */ function(EventEmitter2) {
28
25
  _class_call_check(this, DevMiddleware2);
29
26
  var _this;
30
27
  _this = _super.call(this);
31
- _define_property(_assert_this_initialized(_this), "middleware", void 0);
32
- _define_property(_assert_this_initialized(_this), "devOptions", void 0);
33
- _define_property(_assert_this_initialized(_this), "socketServer", void 0);
34
28
  _this.devOptions = dev;
35
29
  _this.socketServer = new SocketServer(dev);
36
30
  if (devMiddleware) {
@@ -38,59 +32,49 @@ var DevMiddleware = /* @__PURE__ */ function(EventEmitter2) {
38
32
  }
39
33
  return _this;
40
34
  }
41
- _create_class(DevMiddleware2, [
42
- {
43
- key: "init",
44
- value: function init(app) {
45
- var _this = this;
46
- app.on("listening", function() {
47
- _this.socketServer.prepare(app);
48
- });
49
- var _this1 = this;
50
- app.on("close", /* @__PURE__ */ _async_to_generator(function() {
51
- var _this_middleware;
52
- return _ts_generator(this, function(_state) {
53
- (_this_middleware = _this1.middleware) === null || _this_middleware === void 0 ? void 0 : _this_middleware.close(noop);
54
- _this1.socketServer.close();
55
- return [
56
- 2
57
- ];
58
- });
59
- }));
35
+ var _proto = DevMiddleware2.prototype;
36
+ _proto.init = function init(app) {
37
+ var _this = this;
38
+ app.on("listening", function() {
39
+ _this.socketServer.prepare(app);
40
+ });
41
+ var _this1 = this;
42
+ app.on("close", /* @__PURE__ */ _async_to_generator(function() {
43
+ var _this_middleware;
44
+ return _ts_generator(this, function(_state) {
45
+ (_this_middleware = _this1.middleware) === null || _this_middleware === void 0 ? void 0 : _this_middleware.close(noop);
46
+ _this1.socketServer.close();
47
+ return [
48
+ 2
49
+ ];
50
+ });
51
+ }));
52
+ };
53
+ _proto.sockWrite = function sockWrite(type, data) {
54
+ this.socketServer.sockWrite(type, data);
55
+ };
56
+ _proto.setupDevMiddleware = function setupDevMiddleware(devMiddleware) {
57
+ var _this = this;
58
+ var devOptions = this.devOptions;
59
+ var callbacks = {
60
+ onInvalid: function() {
61
+ _this.socketServer.sockWrite("invalid");
62
+ },
63
+ onDone: function(stats) {
64
+ _this.socketServer.updateStats(stats);
65
+ _this.emit("change", stats);
60
66
  }
61
- },
62
- {
63
- key: "sockWrite",
64
- value: function sockWrite(type, data) {
65
- this.socketServer.sockWrite(type, data);
66
- }
67
- },
68
- {
69
- key: "setupDevMiddleware",
70
- value: function setupDevMiddleware(devMiddleware) {
71
- var _this = this;
72
- var devOptions = this.devOptions;
73
- var callbacks = {
74
- onInvalid: function() {
75
- _this.socketServer.sockWrite("invalid");
76
- },
77
- onDone: function(stats) {
78
- _this.socketServer.updateStats(stats);
79
- _this.emit("change", stats);
80
- }
81
- };
82
- var enableHMR = this.devOptions.hot || this.devOptions.liveReload;
83
- var middleware = devMiddleware(_object_spread({
84
- headers: devOptions.headers,
85
- stats: false,
86
- callbacks,
87
- hmrClientPath: enableHMR ? getHMRClientPath(devOptions.client) : void 0,
88
- serverSideRender: true
89
- }, devOptions.devMiddleware));
90
- return middleware;
91
- }
92
- }
93
- ]);
67
+ };
68
+ var enableHMR = this.devOptions.hot || this.devOptions.liveReload;
69
+ var middleware = devMiddleware(_object_spread({
70
+ headers: devOptions.headers,
71
+ stats: false,
72
+ callbacks,
73
+ hmrClientPath: enableHMR ? getHMRClientPath(devOptions.client) : void 0,
74
+ serverSideRender: true
75
+ }, devOptions.devMiddleware));
76
+ return middleware;
77
+ };
94
78
  return DevMiddleware2;
95
79
  }(EventEmitter);
96
80
  export {
@@ -1,196 +1,147 @@
1
1
  import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
2
- import { _ as _create_class } from "@swc/helpers/_/_create_class";
3
- import { _ as _define_property } from "@swc/helpers/_/_define_property";
4
2
  import ws from "ws";
5
3
  import { logger } from "@modern-js/utils";
6
4
  var SocketServer = /* @__PURE__ */ function() {
7
5
  "use strict";
8
6
  function SocketServer2(options) {
9
7
  _class_call_check(this, SocketServer2);
10
- _define_property(this, "wsServer", void 0);
11
- _define_property(this, "sockets", []);
12
- _define_property(this, "options", void 0);
13
- _define_property(this, "app", void 0);
14
- _define_property(this, "stats", void 0);
15
- _define_property(this, "timer", null);
8
+ this.sockets = [];
9
+ this.timer = null;
16
10
  this.options = options;
17
11
  }
18
- _create_class(SocketServer2, [
19
- {
20
- key: "prepare",
21
- value: (
22
- // create socket, install socket handler, bind socket event
23
- function prepare(app) {
24
- var _this = this;
25
- var _this_options_client;
26
- this.app = app;
27
- this.wsServer = new ws.Server({
28
- noServer: true,
29
- path: (_this_options_client = this.options.client) === null || _this_options_client === void 0 ? void 0 : _this_options_client.path
30
- });
31
- this.app.on("upgrade", function(req, sock, head) {
32
- if (!_this.wsServer.shouldHandle(req)) {
33
- return;
34
- }
35
- _this.wsServer.handleUpgrade(req, sock, head, function(connection) {
36
- _this.wsServer.emit("connection", connection, req);
37
- });
38
- });
39
- this.wsServer.on("error", function(err) {
40
- logger.error(err);
41
- });
42
- this.timer = setInterval(function() {
43
- _this.wsServer.clients.forEach(function(socket) {
44
- var extWs = socket;
45
- if (!extWs.isAlive) {
46
- extWs.terminate();
47
- } else {
48
- extWs.isAlive = false;
49
- extWs.ping(function() {
50
- });
51
- }
52
- });
53
- }, 3e4);
54
- this.wsServer.on("connection", function(socket) {
55
- _this.onConnect(socket);
56
- });
57
- }
58
- )
59
- },
60
- {
61
- key: "updateStats",
62
- value: function updateStats(stats) {
63
- this.stats = stats;
64
- this.sendStats();
12
+ var _proto = SocketServer2.prototype;
13
+ _proto.prepare = function prepare(app) {
14
+ var _this = this;
15
+ var _this_options_client;
16
+ this.app = app;
17
+ this.wsServer = new ws.Server({
18
+ noServer: true,
19
+ path: (_this_options_client = this.options.client) === null || _this_options_client === void 0 ? void 0 : _this_options_client.path
20
+ });
21
+ this.app.on("upgrade", function(req, sock, head) {
22
+ if (!_this.wsServer.shouldHandle(req)) {
23
+ return;
65
24
  }
66
- },
67
- {
68
- key: "sockWrite",
69
- value: (
70
- // write message to each socket
71
- function sockWrite(type, data) {
72
- var _this = this;
73
- this.sockets.forEach(function(socket) {
74
- _this.send(socket, JSON.stringify({
75
- type,
76
- data
77
- }));
25
+ _this.wsServer.handleUpgrade(req, sock, head, function(connection) {
26
+ _this.wsServer.emit("connection", connection, req);
27
+ });
28
+ });
29
+ this.wsServer.on("error", function(err) {
30
+ logger.error(err);
31
+ });
32
+ this.timer = setInterval(function() {
33
+ _this.wsServer.clients.forEach(function(socket) {
34
+ var extWs = socket;
35
+ if (!extWs.isAlive) {
36
+ extWs.terminate();
37
+ } else {
38
+ extWs.isAlive = false;
39
+ extWs.ping(function() {
78
40
  });
79
41
  }
80
- )
81
- },
82
- {
83
- key: "singleWrite",
84
- value: function singleWrite(socket, type, data) {
85
- this.send(socket, JSON.stringify({
86
- type,
87
- data
88
- }));
89
- }
90
- },
91
- {
92
- key: "close",
93
- value: function close() {
94
- this.sockets.forEach(function(socket) {
95
- socket.close();
96
- });
97
- if (this.timer) {
98
- clearInterval(this.timer);
99
- this.timer = null;
100
- }
101
- }
102
- },
103
- {
104
- key: "onConnect",
105
- value: function onConnect(socket) {
106
- var _this = this;
107
- var connection = socket;
108
- connection.isAlive = true;
109
- connection.on("pong", function() {
110
- connection.isAlive = true;
111
- });
112
- if (!connection) {
113
- return;
114
- }
115
- this.sockets.push(connection);
116
- connection.on("close", function() {
117
- var idx = _this.sockets.indexOf(connection);
118
- if (idx >= 0) {
119
- _this.sockets.splice(idx, 1);
120
- }
121
- });
122
- if (this.options.hot) {
123
- this.singleWrite(connection, "hot");
124
- }
125
- if (this.options.liveReload) {
126
- this.singleWrite(connection, "liveReload");
127
- }
128
- if (this.stats) {
129
- this.sendStats(true);
130
- }
42
+ });
43
+ }, 3e4);
44
+ this.wsServer.on("connection", function(socket) {
45
+ _this.onConnect(socket);
46
+ });
47
+ };
48
+ _proto.updateStats = function updateStats(stats) {
49
+ this.stats = stats;
50
+ this.sendStats();
51
+ };
52
+ _proto.sockWrite = function sockWrite(type, data) {
53
+ var _this = this;
54
+ this.sockets.forEach(function(socket) {
55
+ _this.send(socket, JSON.stringify({
56
+ type,
57
+ data
58
+ }));
59
+ });
60
+ };
61
+ _proto.singleWrite = function singleWrite(socket, type, data) {
62
+ this.send(socket, JSON.stringify({
63
+ type,
64
+ data
65
+ }));
66
+ };
67
+ _proto.close = function close() {
68
+ this.sockets.forEach(function(socket) {
69
+ socket.close();
70
+ });
71
+ if (this.timer) {
72
+ clearInterval(this.timer);
73
+ this.timer = null;
74
+ }
75
+ };
76
+ _proto.onConnect = function onConnect(socket) {
77
+ var _this = this;
78
+ var connection = socket;
79
+ connection.isAlive = true;
80
+ connection.on("pong", function() {
81
+ connection.isAlive = true;
82
+ });
83
+ if (!connection) {
84
+ return;
85
+ }
86
+ this.sockets.push(connection);
87
+ connection.on("close", function() {
88
+ var idx = _this.sockets.indexOf(connection);
89
+ if (idx >= 0) {
90
+ _this.sockets.splice(idx, 1);
131
91
  }
132
- },
133
- {
134
- key: "getStats",
135
- value: (
136
- // get standard stats
137
- function getStats() {
138
- var curStats = this.stats;
139
- if (!curStats) {
140
- return null;
141
- }
142
- var defaultStats = {
143
- all: false,
144
- hash: true,
145
- assets: true,
146
- warnings: true,
147
- errors: true,
148
- errorDetails: false
149
- };
150
- return curStats.toJson(defaultStats);
151
- }
152
- )
153
- },
154
- {
155
- key: "sendStats",
156
- value: (
157
- // determine what message should send by stats
158
- function sendStats() {
159
- var force = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;
160
- var stats = this.getStats();
161
- if (!stats) {
162
- return null;
163
- }
164
- var shouldEmit = !force && stats && (!stats.errors || stats.errors.length === 0) && stats.assets && stats.assets.every(function(asset) {
165
- return !asset.emitted;
166
- });
167
- if (shouldEmit) {
168
- return this.sockWrite("still-ok");
169
- }
170
- this.sockWrite("hash", stats.hash);
171
- if (stats.errors && stats.errors.length > 0) {
172
- return this.sockWrite("errors", stats.errors);
173
- } else if (stats.warnings && stats.warnings.length > 0) {
174
- return this.sockWrite("warnings", stats.warnings);
175
- } else {
176
- return this.sockWrite("ok");
177
- }
178
- }
179
- )
180
- },
181
- {
182
- key: "send",
183
- value: (
184
- // send message to connecting socket
185
- function send(connection, message) {
186
- if (connection.readyState !== 1) {
187
- return;
188
- }
189
- connection.send(message);
190
- }
191
- )
92
+ });
93
+ if (this.options.hot) {
94
+ this.singleWrite(connection, "hot");
95
+ }
96
+ if (this.options.liveReload) {
97
+ this.singleWrite(connection, "liveReload");
98
+ }
99
+ if (this.stats) {
100
+ this.sendStats(true);
101
+ }
102
+ };
103
+ _proto.getStats = function getStats() {
104
+ var curStats = this.stats;
105
+ if (!curStats) {
106
+ return null;
107
+ }
108
+ var defaultStats = {
109
+ all: false,
110
+ hash: true,
111
+ assets: true,
112
+ warnings: true,
113
+ errors: true,
114
+ errorDetails: false
115
+ };
116
+ return curStats.toJson(defaultStats);
117
+ };
118
+ _proto.sendStats = function sendStats() {
119
+ var force = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;
120
+ var stats = this.getStats();
121
+ if (!stats) {
122
+ return null;
123
+ }
124
+ var shouldEmit = !force && stats && (!stats.errors || stats.errors.length === 0) && stats.assets && stats.assets.every(function(asset) {
125
+ return !asset.emitted;
126
+ });
127
+ if (shouldEmit) {
128
+ return this.sockWrite("still-ok");
129
+ }
130
+ this.sockWrite("hash", stats.hash);
131
+ if (stats.errors && stats.errors.length > 0) {
132
+ return this.sockWrite("errors", stats.errors);
133
+ } else if (stats.warnings && stats.warnings.length > 0) {
134
+ return this.sockWrite("warnings", stats.warnings);
135
+ } else {
136
+ return this.sockWrite("ok");
137
+ }
138
+ };
139
+ _proto.send = function send(connection, message) {
140
+ if (connection.readyState !== 1) {
141
+ return;
192
142
  }
193
- ]);
143
+ connection.send(message);
144
+ };
194
145
  return SocketServer2;
195
146
  }();
196
147
  export {