@modern-js/server 2.47.1 → 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
@@ -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 _get } from "@swc/helpers/_/_get";
7
4
  import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of";
8
5
  import { _ as _inherits } from "@swc/helpers/_/_inherits";
@@ -31,15 +28,10 @@ var ModernDevServer = /* @__PURE__ */ function(ModernServer2) {
31
28
  _class_call_check(this, ModernDevServer2);
32
29
  var _this;
33
30
  _this = _super.call(this, options);
34
- _define_property(_assert_this_initialized(_this), "mockHandler", null);
35
- _define_property(_assert_this_initialized(_this), "dev", void 0);
36
- _define_property(_assert_this_initialized(_this), "useWorkerSSR", void 0);
37
- _define_property(_assert_this_initialized(_this), "appContext", void 0);
38
- _define_property(_assert_this_initialized(_this), "devMiddleware", void 0);
39
- _define_property(_assert_this_initialized(_this), "watcher", void 0);
31
+ _this.mockHandler = null;
40
32
  _this.appContext = options.appContext;
41
33
  _this.workDir = _this.pwd;
42
- _this.useWorkerSSR = Boolean(options.useWorkerSSR);
34
+ _this.useSSRWorker = Boolean(options.useSSRWorker);
43
35
  _this.dev = _this.getDevOptions(options);
44
36
  _this.devMiddleware = new DevMiddleware({
45
37
  dev: _this.dev,
@@ -48,530 +40,478 @@ var ModernDevServer = /* @__PURE__ */ function(ModernServer2) {
48
40
  enableRegister(_this.pwd, _this.conf);
49
41
  return _this;
50
42
  }
51
- _create_class(ModernDevServer2, [
52
- {
53
- key: "getDevOptions",
54
- value: function getDevOptions(options) {
55
- var devOptions = typeof options.dev === "boolean" ? {} : options.dev;
56
- var defaultOptions = getDefaultDevOptions();
57
- return deepMerge(defaultOptions, devOptions);
58
- }
59
- },
60
- {
61
- key: "addMiddlewareHandler",
62
- value: function addMiddlewareHandler(handlers) {
63
- var _this = this;
64
- handlers.forEach(function(handler) {
65
- _this.addHandler(function(ctx, next) {
66
- var req = ctx.req, res = ctx.res;
67
- return handler(req, res, next);
68
- });
69
- });
43
+ var _proto = ModernDevServer2.prototype;
44
+ _proto.getDevOptions = function getDevOptions(options) {
45
+ var devOptions = typeof options.dev === "boolean" ? {} : options.dev;
46
+ var defaultOptions = getDefaultDevOptions();
47
+ return deepMerge(defaultOptions, devOptions);
48
+ };
49
+ _proto.addMiddlewareHandler = function addMiddlewareHandler(handlers) {
50
+ var _this = this;
51
+ handlers.forEach(function(handler) {
52
+ _this.addHandler(function(ctx, next) {
53
+ var req = ctx.req, res = ctx.res;
54
+ return handler(req, res, next);
55
+ });
56
+ });
57
+ };
58
+ _proto.applySetupMiddlewares = function applySetupMiddlewares() {
59
+ var _this = this;
60
+ var setupMiddlewares = this.dev.setupMiddlewares || [];
61
+ var serverOptions = {
62
+ sockWrite: function(type, data) {
63
+ return _this.devMiddleware.sockWrite(type, data);
70
64
  }
71
- },
72
- {
73
- key: "applySetupMiddlewares",
74
- value: function applySetupMiddlewares() {
75
- var _this = this;
76
- var setupMiddlewares = this.dev.setupMiddlewares || [];
77
- var serverOptions = {
78
- sockWrite: function(type, data) {
79
- return _this.devMiddleware.sockWrite(type, data);
65
+ };
66
+ var befores = [];
67
+ var afters = [];
68
+ setupMiddlewares.forEach(function(handler) {
69
+ var _befores, _afters;
70
+ handler({
71
+ unshift: function() {
72
+ for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
73
+ handlers[_key] = arguments[_key];
80
74
  }
81
- };
82
- var befores = [];
83
- var afters = [];
84
- setupMiddlewares.forEach(function(handler) {
85
- var _befores, _afters;
86
- handler({
87
- unshift: function() {
88
- for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
89
- handlers[_key] = arguments[_key];
90
- }
91
- return (_befores = befores).unshift.apply(_befores, _to_consumable_array(handlers));
92
- },
93
- push: function() {
94
- for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
95
- handlers[_key] = arguments[_key];
96
- }
97
- return (_afters = afters).push.apply(_afters, _to_consumable_array(handlers));
98
- }
99
- }, serverOptions);
100
- });
101
- return {
102
- befores,
103
- afters
104
- };
105
- }
106
- },
107
- {
108
- key: "onInit",
109
- value: (
110
- // Complete the preparation of services
111
- function onInit(runner, app) {
112
- var _this = this;
113
- var _this1 = this, _superprop_get_onInit = function() {
114
- return _get(_get_prototype_of(ModernDevServer2.prototype), "onInit", _this);
115
- };
116
- return _async_to_generator(function() {
117
- var dev, _this_applySetupMiddlewares, befores, afters, beforeHandlers, afterHandlers;
118
- return _ts_generator(this, function(_state) {
119
- switch (_state.label) {
120
- case 0:
121
- _this1.runner = runner;
122
- dev = _this1.dev;
123
- _this_applySetupMiddlewares = _this1.applySetupMiddlewares(), befores = _this_applySetupMiddlewares.befores, afters = _this_applySetupMiddlewares.afters;
124
- beforeHandlers = _this1.dev.before || [];
125
- _this1.addMiddlewareHandler(_to_consumable_array(beforeHandlers).concat(_to_consumable_array(befores)));
126
- return [
127
- 4,
128
- _this1.applyDefaultMiddlewares(app)
129
- ];
130
- case 1:
131
- _state.sent();
132
- afterHandlers = _this1.dev.after || [];
133
- _this1.addMiddlewareHandler(_to_consumable_array(afters).concat(_to_consumable_array(afterHandlers)));
134
- _this1.initFileReader();
135
- return [
136
- 4,
137
- _superprop_get_onInit().call(_this1, runner, app)
138
- ];
139
- case 2:
140
- _state.sent();
141
- if (dev.watch) {
142
- _this1.startWatcher();
143
- app.on("close", /* @__PURE__ */ _async_to_generator(function() {
144
- var _this_watcher;
145
- return _ts_generator(this, function(_state2) {
146
- switch (_state2.label) {
147
- case 0:
148
- return [
149
- 4,
150
- (_this_watcher = _this1.watcher) === null || _this_watcher === void 0 ? void 0 : _this_watcher.close()
151
- ];
152
- case 1:
153
- _state2.sent();
154
- return [
155
- 2
156
- ];
157
- }
158
- });
159
- }));
160
- }
161
- return [
162
- 2
163
- ];
164
- }
165
- });
166
- })();
167
- }
168
- )
169
- },
170
- {
171
- key: "getRenderHandler",
172
- value: (
173
- // override the ModernServer renderHandler logic
174
- function getRenderHandler() {
175
- if (this.useWorkerSSR) {
176
- var _this_conf_server, _conf_security;
177
- var _this = this, distDir = _this.distDir, staticGenerate = _this.staticGenerate, conf = _this.conf, metaName = _this.metaName;
178
- var ssrConfig = (_this_conf_server = this.conf.server) === null || _this_conf_server === void 0 ? void 0 : _this_conf_server.ssr;
179
- var forceCSR = typeof ssrConfig === "object" ? ssrConfig.forceCSR : false;
180
- return createRenderHandler({
181
- ssrRender: workerSSRRender,
182
- distDir,
183
- staticGenerate,
184
- conf,
185
- forceCSR,
186
- nonce: (_conf_security = conf.security) === null || _conf_security === void 0 ? void 0 : _conf_security.nonce,
187
- metaName
188
- });
75
+ return (_befores = befores).unshift.apply(_befores, _to_consumable_array(handlers));
76
+ },
77
+ push: function() {
78
+ for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
79
+ handlers[_key] = arguments[_key];
189
80
  }
190
- return _get(_get_prototype_of(ModernDevServer2.prototype), "getRenderHandler", this).call(this);
81
+ return (_afters = afters).push.apply(_afters, _to_consumable_array(handlers));
191
82
  }
192
- )
193
- },
194
- {
195
- key: "initFileReader",
196
- value: function initFileReader() {
197
- var _this_dev_devMiddleware, _this_dev;
198
- var isInit = false;
199
- if (((_this_dev = this.dev) === null || _this_dev === void 0 ? void 0 : (_this_dev_devMiddleware = _this_dev.devMiddleware) === null || _this_dev_devMiddleware === void 0 ? void 0 : _this_dev_devMiddleware.writeToDisk) === false) {
200
- this.addHandler(function(ctx, next) {
201
- var _ctx_res_locals;
202
- if (isInit) {
203
- return next();
204
- }
205
- isInit = true;
206
- if (!((_ctx_res_locals = ctx.res.locals) === null || _ctx_res_locals === void 0 ? void 0 : _ctx_res_locals.webpack)) {
207
- fileReader.reset();
208
- return next();
209
- }
210
- var _ctx_res_locals_webpack = ctx.res.locals.webpack, webpackDevMid = _ctx_res_locals_webpack.devMiddleware;
211
- var outputFileSystem = webpackDevMid.outputFileSystem;
212
- if (outputFileSystem) {
213
- fileReader.reset(outputFileSystem);
214
- } else {
215
- fileReader.reset();
83
+ }, serverOptions);
84
+ });
85
+ return {
86
+ befores,
87
+ afters
88
+ };
89
+ };
90
+ _proto.onInit = function onInit(runner, app) {
91
+ var _this = this;
92
+ var _this1 = this, _superprop_get_onInit = function() {
93
+ return _get(_get_prototype_of(ModernDevServer2.prototype), "onInit", _this);
94
+ };
95
+ return _async_to_generator(function() {
96
+ var dev, _this_applySetupMiddlewares, befores, afters, beforeHandlers, afterHandlers;
97
+ return _ts_generator(this, function(_state) {
98
+ switch (_state.label) {
99
+ case 0:
100
+ _this1.runner = runner;
101
+ dev = _this1.dev;
102
+ _this_applySetupMiddlewares = _this1.applySetupMiddlewares(), befores = _this_applySetupMiddlewares.befores, afters = _this_applySetupMiddlewares.afters;
103
+ beforeHandlers = _this1.dev.before || [];
104
+ _this1.addMiddlewareHandler(_to_consumable_array(beforeHandlers).concat(_to_consumable_array(befores)));
105
+ return [
106
+ 4,
107
+ _this1.applyDefaultMiddlewares(app)
108
+ ];
109
+ case 1:
110
+ _state.sent();
111
+ afterHandlers = _this1.dev.after || [];
112
+ _this1.addMiddlewareHandler(_to_consumable_array(afters).concat(_to_consumable_array(afterHandlers)));
113
+ _this1.initFileReader();
114
+ return [
115
+ 4,
116
+ _superprop_get_onInit().call(_this1, runner, app)
117
+ ];
118
+ case 2:
119
+ _state.sent();
120
+ if (dev.watch) {
121
+ _this1.startWatcher();
122
+ app.on("close", /* @__PURE__ */ _async_to_generator(function() {
123
+ var _this_watcher;
124
+ return _ts_generator(this, function(_state2) {
125
+ switch (_state2.label) {
126
+ case 0:
127
+ return [
128
+ 4,
129
+ (_this_watcher = _this1.watcher) === null || _this_watcher === void 0 ? void 0 : _this_watcher.close()
130
+ ];
131
+ case 1:
132
+ _state2.sent();
133
+ return [
134
+ 2
135
+ ];
136
+ }
137
+ });
138
+ }));
216
139
  }
217
- return next();
218
- });
140
+ return [
141
+ 2
142
+ ];
219
143
  }
220
- }
221
- },
222
- {
223
- key: "applyDefaultMiddlewares",
224
- value: function applyDefaultMiddlewares(app) {
225
- var _this = this;
226
- return _async_to_generator(function() {
227
- var pwd, dev, devMiddleware, conf, isUseStreamingSSR, isUseSSRPreload, _ref, compression, _createProxyHandler, handlers, handleUpgrade, _ref1, connectHistoryApiFallback, historyApiFallbackMiddleware;
228
- return _ts_generator(this, function(_state) {
229
- switch (_state.label) {
230
- case 0:
231
- pwd = _this.pwd, dev = _this.dev, devMiddleware = _this.devMiddleware, conf = _this.conf;
232
- isUseStreamingSSR = function(routes) {
233
- return routes === null || routes === void 0 ? void 0 : routes.some(function(r) {
234
- return r.isStream === true;
235
- });
236
- };
237
- isUseSSRPreload = function() {
238
- var _conf_server = conf.server, ssr = _conf_server.ssr, ssrByEntries = _conf_server.ssrByEntries;
239
- var checkUsePreload = function(ssr2) {
240
- return typeof ssr2 === "object" && Boolean(ssr2.preload);
241
- };
242
- return checkUsePreload(ssr) || Object.values(ssrByEntries || {}).some(function(ssr2) {
243
- return checkUsePreload(ssr2);
244
- });
245
- };
246
- if (!(!isUseStreamingSSR(_this.getRoutes()) && !isUseSSRPreload() && dev.compress))
247
- return [
248
- 3,
249
- 2
250
- ];
251
- return [
252
- 4,
253
- import("http-compression")
254
- ];
255
- case 1:
256
- _ref = _state.sent(), compression = _ref.default;
257
- _this.addHandler(function(ctx, next) {
258
- compression({
259
- gzip: true,
260
- brotli: false
261
- })(ctx.req, ctx.res, next);
262
- });
263
- _state.label = 2;
264
- case 2:
265
- _this.addHandler(function(ctx, next) {
266
- ctx.res.setHeader("Access-Control-Allow-Origin", "*");
267
- if (ctx.path.includes("hot-update")) {
268
- ctx.res.setHeader("Access-Control-Allow-Credentials", "false");
144
+ });
145
+ })();
146
+ };
147
+ _proto.getRenderHandler = function getRenderHandler() {
148
+ if (this.useSSRWorker) {
149
+ var _this_conf_server, _conf_security;
150
+ var _this = this, distDir = _this.distDir, staticGenerate = _this.staticGenerate, conf = _this.conf, metaName = _this.metaName;
151
+ var ssrConfig = (_this_conf_server = this.conf.server) === null || _this_conf_server === void 0 ? void 0 : _this_conf_server.ssr;
152
+ var forceCSR = typeof ssrConfig === "object" ? ssrConfig.forceCSR : false;
153
+ return createRenderHandler({
154
+ ssrRender: workerSSRRender,
155
+ distDir,
156
+ staticGenerate,
157
+ conf,
158
+ forceCSR,
159
+ nonce: (_conf_security = conf.security) === null || _conf_security === void 0 ? void 0 : _conf_security.nonce,
160
+ metaName
161
+ });
162
+ }
163
+ return _get(_get_prototype_of(ModernDevServer2.prototype), "getRenderHandler", this).call(this);
164
+ };
165
+ _proto.initFileReader = function initFileReader() {
166
+ var _this_dev_devMiddleware, _this_dev;
167
+ var isInit = false;
168
+ if (((_this_dev = this.dev) === null || _this_dev === void 0 ? void 0 : (_this_dev_devMiddleware = _this_dev.devMiddleware) === null || _this_dev_devMiddleware === void 0 ? void 0 : _this_dev_devMiddleware.writeToDisk) === false) {
169
+ this.addHandler(function(ctx, next) {
170
+ var _ctx_res_locals;
171
+ if (isInit) {
172
+ return next();
173
+ }
174
+ isInit = true;
175
+ if (!((_ctx_res_locals = ctx.res.locals) === null || _ctx_res_locals === void 0 ? void 0 : _ctx_res_locals.webpack)) {
176
+ fileReader.reset();
177
+ return next();
178
+ }
179
+ var _ctx_res_locals_webpack = ctx.res.locals.webpack, webpackDevMid = _ctx_res_locals_webpack.devMiddleware;
180
+ var outputFileSystem = webpackDevMid.outputFileSystem;
181
+ if (outputFileSystem) {
182
+ fileReader.reset(outputFileSystem);
183
+ } else {
184
+ fileReader.reset();
185
+ }
186
+ return next();
187
+ });
188
+ }
189
+ };
190
+ _proto.applyDefaultMiddlewares = function applyDefaultMiddlewares(app) {
191
+ var _this = this;
192
+ return _async_to_generator(function() {
193
+ var pwd, dev, devMiddleware, conf, isUseStreamingSSR, isUseSSRPreload, _ref, compression, _createProxyHandler, handlers, handleUpgrade, _ref1, connectHistoryApiFallback, historyApiFallbackMiddleware;
194
+ return _ts_generator(this, function(_state) {
195
+ switch (_state.label) {
196
+ case 0:
197
+ pwd = _this.pwd, dev = _this.dev, devMiddleware = _this.devMiddleware, conf = _this.conf;
198
+ isUseStreamingSSR = function(routes) {
199
+ return routes === null || routes === void 0 ? void 0 : routes.some(function(r) {
200
+ return r.isStream === true;
201
+ });
202
+ };
203
+ isUseSSRPreload = function() {
204
+ var _conf_server = conf.server, ssr = _conf_server.ssr, ssrByEntries = _conf_server.ssrByEntries;
205
+ var checkUsePreload = function(ssr2) {
206
+ return typeof ssr2 === "object" && Boolean(ssr2.preload);
207
+ };
208
+ return checkUsePreload(ssr) || Object.values(ssrByEntries || {}).some(function(ssr2) {
209
+ return checkUsePreload(ssr2);
210
+ });
211
+ };
212
+ if (!(!isUseStreamingSSR(_this.getRoutes()) && !isUseSSRPreload() && dev.compress))
213
+ return [
214
+ 3,
215
+ 2
216
+ ];
217
+ return [
218
+ 4,
219
+ import("http-compression")
220
+ ];
221
+ case 1:
222
+ _ref = _state.sent(), compression = _ref.default;
223
+ _this.addHandler(function(ctx, next) {
224
+ compression({
225
+ gzip: true,
226
+ brotli: false
227
+ })(ctx.req, ctx.res, next);
228
+ });
229
+ _state.label = 2;
230
+ case 2:
231
+ _this.addHandler(function(ctx, next) {
232
+ ctx.res.setHeader("Access-Control-Allow-Origin", "*");
233
+ if (ctx.path.includes("hot-update")) {
234
+ ctx.res.setHeader("Access-Control-Allow-Credentials", "false");
235
+ }
236
+ var confHeaders = dev.headers;
237
+ if (confHeaders) {
238
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
239
+ try {
240
+ for (var _iterator = Object.entries(confHeaders)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
241
+ var _step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], value = _step_value[1];
242
+ ctx.res.setHeader(key, value);
269
243
  }
270
- var confHeaders = dev.headers;
271
- if (confHeaders) {
272
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
273
- try {
274
- for (var _iterator = Object.entries(confHeaders)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
275
- var _step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], value = _step_value[1];
276
- ctx.res.setHeader(key, value);
277
- }
278
- } catch (err) {
279
- _didIteratorError = true;
280
- _iteratorError = err;
281
- } finally {
282
- try {
283
- if (!_iteratorNormalCompletion && _iterator.return != null) {
284
- _iterator.return();
285
- }
286
- } finally {
287
- if (_didIteratorError) {
288
- throw _iteratorError;
289
- }
290
- }
244
+ } catch (err) {
245
+ _didIteratorError = true;
246
+ _iteratorError = err;
247
+ } finally {
248
+ try {
249
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
250
+ _iterator.return();
251
+ }
252
+ } finally {
253
+ if (_didIteratorError) {
254
+ throw _iteratorError;
291
255
  }
292
256
  }
293
- next();
294
- });
295
- _this.mockHandler = createMockHandler({
296
- pwd
297
- });
298
- _this.addHandler(function(ctx, next) {
299
- if (_this.mockHandler) {
300
- _this.mockHandler(ctx, next);
301
- } else {
302
- next();
303
- }
304
- });
305
- if (dev.proxy) {
306
- _createProxyHandler = createProxyHandler(dev.proxy), handlers = _createProxyHandler.handlers, handleUpgrade = _createProxyHandler.handleUpgrade;
307
- app && handleUpgrade(app);
308
- handlers.forEach(function(handler) {
309
- _this.addHandler(handler);
310
- });
311
257
  }
312
- devMiddleware.init(app);
313
- devMiddleware.on("change", function(stats) {
314
- if (stats.toJson({
315
- all: false
316
- }).name !== "server") {
317
- _this.onRepack({
318
- routes: _this.getRoutes()
319
- });
320
- }
321
- });
322
- _this.addHandler(function(ctx, next) {
323
- var req = ctx.req, res = ctx.res;
324
- if (devMiddleware.middleware) {
325
- devMiddleware.middleware(req, res, next);
326
- } else {
327
- next();
328
- }
329
- });
330
- if (!dev.historyApiFallback)
331
- return [
332
- 3,
333
- 4
334
- ];
335
- return [
336
- 4,
337
- import("connect-history-api-fallback")
338
- ];
339
- case 3:
340
- _ref1 = _state.sent(), connectHistoryApiFallback = _ref1.default;
341
- historyApiFallbackMiddleware = connectHistoryApiFallback(typeof dev.historyApiFallback === "boolean" ? {} : dev.historyApiFallback);
342
- _this.addHandler(function(ctx, next) {
343
- return historyApiFallbackMiddleware(ctx.req, ctx.res, next);
344
- });
345
- _state.label = 4;
346
- case 4:
347
- return [
348
- 2
349
- ];
350
- }
351
- });
352
- })();
353
- }
354
- },
355
- {
356
- key: "onRepack",
357
- value: function onRepack() {
358
- var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
359
- if (Array.isArray(options.routes)) {
360
- this.router.reset(this.filterRoutes(options.routes));
361
- }
362
- this.cleanSSRCache();
363
- fileReader.reset();
364
- this.runner.repack();
365
- _get(_get_prototype_of(ModernDevServer2.prototype), "onRepack", this).call(this, options);
366
- }
367
- },
368
- {
369
- key: "createHTTPServer",
370
- value: function createHTTPServer(handler) {
371
- var _this = this;
372
- return _async_to_generator(function() {
373
- var dev, devHttpsOption, genHttpsOptions, httpsOptions;
374
- return _ts_generator(this, function(_state) {
375
- switch (_state.label) {
376
- case 0:
377
- dev = _this.dev;
378
- devHttpsOption = typeof dev === "object" && dev.https;
379
- if (!devHttpsOption)
380
- return [
381
- 3,
382
- 2
383
- ];
384
- genHttpsOptions = require("../dev-tools/https").genHttpsOptions;
385
- return [
386
- 4,
387
- genHttpsOptions(devHttpsOption, _this.pwd)
388
- ];
389
- case 1:
390
- httpsOptions = _state.sent();
391
- return [
392
- 2,
393
- createHttpsServer(httpsOptions, handler)
394
- ];
395
- case 2:
396
- return [
397
- 2,
398
- createServer(handler)
399
- ];
400
- case 3:
401
- return [
402
- 2
403
- ];
258
+ }
259
+ next();
260
+ });
261
+ _this.mockHandler = createMockHandler({
262
+ pwd
263
+ });
264
+ _this.addHandler(function(ctx, next) {
265
+ if (_this.mockHandler) {
266
+ _this.mockHandler(ctx, next);
267
+ } else {
268
+ next();
269
+ }
270
+ });
271
+ if (dev.proxy) {
272
+ _createProxyHandler = createProxyHandler(dev.proxy), handlers = _createProxyHandler.handlers, handleUpgrade = _createProxyHandler.handleUpgrade;
273
+ app && handleUpgrade(app);
274
+ handlers.forEach(function(handler) {
275
+ _this.addHandler(handler);
276
+ });
404
277
  }
405
- });
406
- })();
407
- }
408
- },
409
- {
410
- key: "warmupSSRBundle",
411
- value: function warmupSSRBundle() {
412
- }
413
- },
414
- {
415
- key: "onServerChange",
416
- value: function onServerChange(param) {
417
- var filepath = param.filepath, event = param.event;
418
- var _this = this;
419
- var _this1 = this, _superprop_get_onServerChange = function() {
420
- return _get(_get_prototype_of(ModernDevServer2.prototype), "onServerChange", _this);
421
- };
422
- return _async_to_generator(function() {
423
- var pwd, mock, mockPath, success, e;
424
- return _ts_generator(this, function(_state) {
425
- switch (_state.label) {
426
- case 0:
427
- pwd = _this1.pwd;
428
- mock = AGGRED_DIR.mock;
429
- mockPath = path.normalize(path.join(pwd, mock));
430
- _this1.runner.reset();
431
- if (!filepath.startsWith(mockPath))
432
- return [
433
- 3,
434
- 1
435
- ];
436
- _this1.mockHandler = createMockHandler({
437
- pwd
278
+ devMiddleware.init(app);
279
+ devMiddleware.on("change", function(stats) {
280
+ if (stats.toJson({
281
+ all: false
282
+ }).name !== "server") {
283
+ _this.onRepack({
284
+ routes: _this.getRoutes()
438
285
  });
439
- return [
440
- 3,
441
- 5
442
- ];
443
- case 1:
444
- _state.trys.push([
445
- 1,
446
- 4,
447
- ,
448
- 5
449
- ]);
450
- success = _this1.runner.onApiChange([
451
- {
452
- filename: filepath,
453
- event
454
- }
455
- ]);
456
- if (!(success !== true))
457
- return [
458
- 3,
459
- 3
460
- ];
461
- return [
462
- 4,
463
- _superprop_get_onServerChange().call(_this1, {
464
- filepath
465
- })
466
- ];
467
- case 2:
468
- _state.sent();
469
- _state.label = 3;
470
- case 3:
471
- return [
472
- 3,
473
- 5
474
- ];
475
- case 4:
476
- e = _state.sent();
477
- _this1.logger.error(e);
478
- return [
479
- 3,
480
- 5
481
- ];
482
- case 5:
483
- return [
484
- 2
485
- ];
486
- }
487
- });
488
- })();
489
- }
490
- },
491
- {
492
- key: "createContext",
493
- value: function createContext(req, res) {
494
- return _get(_get_prototype_of(ModernDevServer2.prototype), "createContext", this).call(this, req, res, {
495
- etag: true,
496
- metaName: this.metaName
497
- });
498
- }
499
- },
500
- {
501
- key: "setupStaticMiddleware",
502
- value: function setupStaticMiddleware(_) {
503
- return function() {
504
- var _ref = _async_to_generator(function(context, next) {
505
- return _ts_generator(this, function(_state) {
286
+ }
287
+ });
288
+ _this.addHandler(function(ctx, next) {
289
+ var req = ctx.req, res = ctx.res;
290
+ if (devMiddleware.middleware) {
291
+ devMiddleware.middleware(req, res, next);
292
+ } else {
293
+ next();
294
+ }
295
+ });
296
+ if (!dev.historyApiFallback)
506
297
  return [
507
- 2,
508
- next()
298
+ 3,
299
+ 4
509
300
  ];
301
+ return [
302
+ 4,
303
+ import("connect-history-api-fallback")
304
+ ];
305
+ case 3:
306
+ _ref1 = _state.sent(), connectHistoryApiFallback = _ref1.default;
307
+ historyApiFallbackMiddleware = connectHistoryApiFallback(typeof dev.historyApiFallback === "boolean" ? {} : dev.historyApiFallback);
308
+ _this.addHandler(function(ctx, next) {
309
+ return historyApiFallbackMiddleware(ctx.req, ctx.res, next);
510
310
  });
511
- });
512
- return function(context, next) {
513
- return _ref.apply(this, arguments);
514
- };
515
- }();
516
- }
517
- },
518
- {
519
- key: "cleanSSRCache",
520
- value: function cleanSSRCache() {
521
- var distDir = this.distDir;
522
- var bundles = this.router.getBundles();
523
- bundles.forEach(function(bundle) {
524
- var filepath = path.join(distDir, bundle);
525
- if (require.cache[filepath]) {
526
- delete require.cache[filepath];
527
- }
528
- });
529
- var loadable = path.join(distDir, LOADABLE_STATS_FILE);
530
- if (require.cache[loadable]) {
531
- delete require.cache[loadable];
311
+ _state.label = 4;
312
+ case 4:
313
+ return [
314
+ 2
315
+ ];
532
316
  }
533
- }
534
- },
535
- {
536
- key: "startWatcher",
537
- value: function startWatcher() {
538
- var _this = this;
539
- var _this_conf_server;
540
- var _this1 = this, pwd = _this1.pwd, distDir = _this1.distDir, appContext = _this1.appContext;
541
- var mock = AGGRED_DIR.mock;
542
- var apiDir = (appContext === null || appContext === void 0 ? void 0 : appContext.apiDirectory) || API_DIR;
543
- var sharedDir = (appContext === null || appContext === void 0 ? void 0 : appContext.sharedDirectory) || SHARED_DIR;
544
- var defaultWatched = [
545
- "".concat(mock, "/**/*"),
546
- "".concat(SERVER_DIR, "/**/*"),
547
- "".concat(apiDir, "/**"),
548
- "".concat(sharedDir, "/**/*"),
549
- "".concat(distDir, "/").concat(SERVER_BUNDLE_DIRECTORY, "/*-server-loaders.js")
550
- ];
551
- var watchOptions = mergeWatchOptions((_this_conf_server = this.conf.server) === null || _this_conf_server === void 0 ? void 0 : _this_conf_server.watchOptions);
552
- var defaultWatchedPaths = defaultWatched.map(function(p) {
553
- var finalPath = path.isAbsolute(p) ? p : path.join(pwd, p);
554
- return path.normalize(finalPath);
555
- });
556
- var watcher = new Watcher();
557
- watcher.createDepTree();
558
- watcher.listen(defaultWatchedPaths, watchOptions, function(filepath, event) {
559
- if (filepath.includes("-server-loaders.js")) {
560
- delete require.cache[filepath];
561
- return;
562
- } else {
563
- watcher.updateDepTree();
564
- watcher.cleanDepCache(filepath);
565
- }
566
- _this.onServerChange({
567
- filepath,
568
- event
569
- });
317
+ });
318
+ })();
319
+ };
320
+ _proto.onRepack = function onRepack() {
321
+ var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
322
+ if (Array.isArray(options.routes)) {
323
+ this.router.reset(this.filterRoutes(options.routes));
324
+ }
325
+ this.cleanSSRCache();
326
+ fileReader.reset();
327
+ this.runner.repack();
328
+ _get(_get_prototype_of(ModernDevServer2.prototype), "onRepack", this).call(this, options);
329
+ };
330
+ _proto.createHTTPServer = function createHTTPServer(handler) {
331
+ var _this = this;
332
+ return _async_to_generator(function() {
333
+ var dev, devHttpsOption, genHttpsOptions, httpsOptions;
334
+ return _ts_generator(this, function(_state) {
335
+ switch (_state.label) {
336
+ case 0:
337
+ dev = _this.dev;
338
+ devHttpsOption = typeof dev === "object" && dev.https;
339
+ if (!devHttpsOption)
340
+ return [
341
+ 3,
342
+ 2
343
+ ];
344
+ genHttpsOptions = require("../dev-tools/https").genHttpsOptions;
345
+ return [
346
+ 4,
347
+ genHttpsOptions(devHttpsOption, _this.pwd)
348
+ ];
349
+ case 1:
350
+ httpsOptions = _state.sent();
351
+ return [
352
+ 2,
353
+ createHttpsServer(httpsOptions, handler)
354
+ ];
355
+ case 2:
356
+ return [
357
+ 2,
358
+ createServer(handler)
359
+ ];
360
+ case 3:
361
+ return [
362
+ 2
363
+ ];
364
+ }
365
+ });
366
+ })();
367
+ };
368
+ _proto.warmupSSRBundle = function warmupSSRBundle() {
369
+ };
370
+ _proto.onServerChange = function onServerChange(param) {
371
+ var filepath = param.filepath, event = param.event;
372
+ var _this = this;
373
+ var _this1 = this, _superprop_get_onServerChange = function() {
374
+ return _get(_get_prototype_of(ModernDevServer2.prototype), "onServerChange", _this);
375
+ };
376
+ return _async_to_generator(function() {
377
+ var pwd, mock, mockPath, success, e;
378
+ return _ts_generator(this, function(_state) {
379
+ switch (_state.label) {
380
+ case 0:
381
+ pwd = _this1.pwd;
382
+ mock = AGGRED_DIR.mock;
383
+ mockPath = path.normalize(path.join(pwd, mock));
384
+ _this1.runner.reset();
385
+ if (!filepath.startsWith(mockPath))
386
+ return [
387
+ 3,
388
+ 1
389
+ ];
390
+ _this1.mockHandler = createMockHandler({
391
+ pwd
392
+ });
393
+ return [
394
+ 3,
395
+ 5
396
+ ];
397
+ case 1:
398
+ _state.trys.push([
399
+ 1,
400
+ 4,
401
+ ,
402
+ 5
403
+ ]);
404
+ success = _this1.runner.onApiChange([
405
+ {
406
+ filename: filepath,
407
+ event
408
+ }
409
+ ]);
410
+ if (!(success !== true))
411
+ return [
412
+ 3,
413
+ 3
414
+ ];
415
+ return [
416
+ 4,
417
+ _superprop_get_onServerChange().call(_this1, {
418
+ filepath
419
+ })
420
+ ];
421
+ case 2:
422
+ _state.sent();
423
+ _state.label = 3;
424
+ case 3:
425
+ return [
426
+ 3,
427
+ 5
428
+ ];
429
+ case 4:
430
+ e = _state.sent();
431
+ _this1.logger.error(e);
432
+ return [
433
+ 3,
434
+ 5
435
+ ];
436
+ case 5:
437
+ return [
438
+ 2
439
+ ];
440
+ }
441
+ });
442
+ })();
443
+ };
444
+ _proto.createContext = function createContext(req, res) {
445
+ return _get(_get_prototype_of(ModernDevServer2.prototype), "createContext", this).call(this, req, res, {
446
+ etag: true,
447
+ metaName: this.metaName
448
+ });
449
+ };
450
+ _proto.setupStaticMiddleware = function setupStaticMiddleware(_) {
451
+ return function() {
452
+ var _ref = _async_to_generator(function(context, next) {
453
+ return _ts_generator(this, function(_state) {
454
+ return [
455
+ 2,
456
+ next()
457
+ ];
570
458
  });
571
- this.watcher = watcher;
459
+ });
460
+ return function(context, next) {
461
+ return _ref.apply(this, arguments);
462
+ };
463
+ }();
464
+ };
465
+ _proto.cleanSSRCache = function cleanSSRCache() {
466
+ var distDir = this.distDir;
467
+ var bundles = this.router.getBundles();
468
+ bundles.forEach(function(bundle) {
469
+ var filepath = path.join(distDir, bundle);
470
+ if (require.cache[filepath]) {
471
+ delete require.cache[filepath];
572
472
  }
473
+ });
474
+ var loadable = path.join(distDir, LOADABLE_STATS_FILE);
475
+ if (require.cache[loadable]) {
476
+ delete require.cache[loadable];
573
477
  }
574
- ]);
478
+ };
479
+ _proto.startWatcher = function startWatcher() {
480
+ var _this = this;
481
+ var _this_conf_server;
482
+ var _this1 = this, pwd = _this1.pwd, distDir = _this1.distDir, appContext = _this1.appContext;
483
+ var mock = AGGRED_DIR.mock;
484
+ var apiDir = (appContext === null || appContext === void 0 ? void 0 : appContext.apiDirectory) || API_DIR;
485
+ var sharedDir = (appContext === null || appContext === void 0 ? void 0 : appContext.sharedDirectory) || SHARED_DIR;
486
+ var defaultWatched = [
487
+ "".concat(mock, "/**/*"),
488
+ "".concat(SERVER_DIR, "/**/*"),
489
+ "".concat(apiDir, "/**"),
490
+ "".concat(sharedDir, "/**/*"),
491
+ "".concat(distDir, "/").concat(SERVER_BUNDLE_DIRECTORY, "/*-server-loaders.js")
492
+ ];
493
+ var watchOptions = mergeWatchOptions((_this_conf_server = this.conf.server) === null || _this_conf_server === void 0 ? void 0 : _this_conf_server.watchOptions);
494
+ var defaultWatchedPaths = defaultWatched.map(function(p) {
495
+ var finalPath = path.isAbsolute(p) ? p : path.join(pwd, p);
496
+ return path.normalize(finalPath);
497
+ });
498
+ var watcher = new Watcher();
499
+ watcher.createDepTree();
500
+ watcher.listen(defaultWatchedPaths, watchOptions, function(filepath, event) {
501
+ if (filepath.includes("-server-loaders.js")) {
502
+ delete require.cache[filepath];
503
+ return;
504
+ } else {
505
+ watcher.updateDepTree();
506
+ watcher.cleanDepCache(filepath);
507
+ }
508
+ _this.onServerChange({
509
+ filepath,
510
+ event
511
+ });
512
+ });
513
+ this.watcher = watcher;
514
+ };
575
515
  return ModernDevServer2;
576
516
  }(ModernServer);
577
517
  export {