@modern-js/server 2.48.0 → 2.48.2

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