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