@modern-js/server 2.48.5 → 2.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/cjs/createDevServer.js +95 -0
  2. package/dist/cjs/{server/index.js → helpers/devOptions.js} +11 -28
  3. package/dist/cjs/helpers/fileReader.js +51 -0
  4. package/dist/cjs/helpers/index.js +107 -0
  5. package/dist/cjs/{server/workerSSRRender.js → helpers/repack.js} +27 -21
  6. package/dist/cjs/helpers/utils.js +29 -0
  7. package/dist/cjs/index.js +3 -13
  8. package/dist/esm/createDevServer.js +99 -0
  9. package/dist/esm/helpers/devOptions.js +10 -0
  10. package/dist/esm/helpers/fileReader.js +45 -0
  11. package/dist/esm/helpers/index.js +119 -0
  12. package/dist/esm/helpers/repack.js +31 -0
  13. package/dist/esm/helpers/utils.js +5 -0
  14. package/dist/esm/index.js +2 -12
  15. package/dist/esm-node/createDevServer.js +61 -0
  16. package/dist/esm-node/helpers/devOptions.js +10 -0
  17. package/dist/esm-node/helpers/fileReader.js +27 -0
  18. package/dist/esm-node/helpers/index.js +69 -0
  19. package/dist/esm-node/helpers/repack.js +27 -0
  20. package/dist/esm-node/helpers/utils.js +5 -0
  21. package/dist/esm-node/index.js +2 -11
  22. package/dist/types/createDevServer.d.ts +6 -0
  23. package/dist/types/{constants.d.ts → helpers/constants.d.ts} +1 -1
  24. package/dist/types/helpers/devOptions.d.ts +4 -0
  25. package/dist/types/helpers/fileReader.d.ts +2 -0
  26. package/dist/types/helpers/index.d.ts +14 -0
  27. package/dist/types/helpers/repack.d.ts +3 -0
  28. package/dist/types/helpers/utils.d.ts +1 -0
  29. package/dist/types/index.d.ts +2 -6
  30. package/dist/types/types.d.ts +4 -11
  31. package/package.json +10 -11
  32. package/dist/cjs/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -61
  33. package/dist/cjs/dev-tools/dev-middleware/hmr-client/index.js +0 -159
  34. package/dist/cjs/dev-tools/dev-middleware/index.js +0 -90
  35. package/dist/cjs/dev-tools/dev-middleware/socketServer.js +0 -173
  36. package/dist/cjs/dev-tools/https/index.js +0 -54
  37. package/dist/cjs/dev-tools/mock/getMockData.js +0 -104
  38. package/dist/cjs/dev-tools/mock/index.js +0 -85
  39. package/dist/cjs/dev-tools/register/index.js +0 -144
  40. package/dist/cjs/server/devServer.js +0 -267
  41. package/dist/cjs/server/devServerOld.js +0 -346
  42. package/dist/esm/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -54
  43. package/dist/esm/dev-tools/dev-middleware/hmr-client/index.js +0 -162
  44. package/dist/esm/dev-tools/dev-middleware/index.js +0 -82
  45. package/dist/esm/dev-tools/dev-middleware/socketServer.js +0 -149
  46. package/dist/esm/dev-tools/https/index.js +0 -74
  47. package/dist/esm/dev-tools/mock/getMockData.js +0 -102
  48. package/dist/esm/dev-tools/mock/index.js +0 -88
  49. package/dist/esm/dev-tools/register/index.js +0 -109
  50. package/dist/esm/server/devServer.js +0 -449
  51. package/dist/esm/server/devServerOld.js +0 -519
  52. package/dist/esm/server/index.js +0 -45
  53. package/dist/esm/server/workerSSRRender.js +0 -43
  54. package/dist/esm-node/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -36
  55. package/dist/esm-node/dev-tools/dev-middleware/hmr-client/index.js +0 -145
  56. package/dist/esm-node/dev-tools/dev-middleware/index.js +0 -60
  57. package/dist/esm-node/dev-tools/dev-middleware/socketServer.js +0 -143
  58. package/dist/esm-node/dev-tools/https/index.js +0 -30
  59. package/dist/esm-node/dev-tools/mock/getMockData.js +0 -80
  60. package/dist/esm-node/dev-tools/mock/index.js +0 -51
  61. package/dist/esm-node/dev-tools/register/index.js +0 -110
  62. package/dist/esm-node/server/devServer.js +0 -233
  63. package/dist/esm-node/server/devServerOld.js +0 -312
  64. package/dist/esm-node/server/index.js +0 -26
  65. package/dist/esm-node/server/workerSSRRender.js +0 -21
  66. package/dist/types/dev-tools/dev-middleware/hmr-client/createSocketUrl.d.ts +0 -7
  67. package/dist/types/dev-tools/dev-middleware/hmr-client/index.d.ts +0 -1
  68. package/dist/types/dev-tools/dev-middleware/index.d.ts +0 -21
  69. package/dist/types/dev-tools/dev-middleware/socketServer.d.ts +0 -25
  70. package/dist/types/dev-tools/https/index.d.ts +0 -7
  71. package/dist/types/dev-tools/mock/getMockData.d.ts +0 -18
  72. package/dist/types/dev-tools/mock/index.d.ts +0 -4
  73. package/dist/types/dev-tools/register/index.d.ts +0 -2
  74. package/dist/types/server/devServer.d.ts +0 -38
  75. package/dist/types/server/devServerOld.d.ts +0 -37
  76. package/dist/types/server/index.d.ts +0 -8
  77. package/dist/types/server/workerSSRRender.d.ts +0 -10
  78. /package/dist/cjs/{constants.js → helpers/constants.js} +0 -0
  79. /package/dist/esm/{constants.js → helpers/constants.js} +0 -0
  80. /package/dist/esm-node/{constants.js → helpers/constants.js} +0 -0
@@ -1,449 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
3
- import { _ as _get } from "@swc/helpers/_/_get";
4
- import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of";
5
- import { _ as _inherits } from "@swc/helpers/_/_inherits";
6
- import { _ as _create_super } from "@swc/helpers/_/_create_super";
7
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
8
- import { createServer } from "http";
9
- import path from "path";
10
- import { createServer as createHttpsServer } from "https";
11
- import { API_DIR, SERVER_BUNDLE_DIRECTORY, SERVER_DIR, SHARED_DIR, LOADABLE_STATS_FILE } from "@modern-js/utils";
12
- import { ModernServer, AGGRED_DIR, createRenderHandler } from "@modern-js/prod-server";
13
- import { merge as deepMerge } from "@modern-js/utils/lodash";
14
- import { fileReader } from "@modern-js/runtime-utils/fileReader";
15
- import { getDefaultDevOptions } from "../constants";
16
- import { createMockHandler } from "../dev-tools/mock";
17
- import { enableRegister } from "../dev-tools/register";
18
- import Watcher, { mergeWatchOptions } from "../dev-tools/watcher";
19
- import { workerSSRRender } from "./workerSSRRender";
20
- var ModernDevServer = /* @__PURE__ */ function(ModernServer2) {
21
- "use strict";
22
- _inherits(ModernDevServer2, ModernServer2);
23
- var _super = _create_super(ModernDevServer2);
24
- function ModernDevServer2(options) {
25
- _class_call_check(this, ModernDevServer2);
26
- var _this;
27
- _this = _super.call(this, options);
28
- _this.mockHandler = null;
29
- _this.closeCb = [];
30
- _this.appContext = options.appContext;
31
- _this.workDir = _this.pwd;
32
- _this.useSSRWorker = Boolean(options.useSSRWorker);
33
- _this.dev = _this.getDevOptions(options);
34
- _this.getMiddlewares = options.getMiddlewares;
35
- _this.rsbuild = options.rsbuild;
36
- enableRegister(_this.pwd, _this.conf);
37
- return _this;
38
- }
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.onInit = function onInit(runner, app) {
46
- var _this = this;
47
- var _this1 = this, _superprop_get_onInit = function() {
48
- return _get(_get_prototype_of(ModernDevServer2.prototype), "onInit", _this);
49
- };
50
- return _async_to_generator(function() {
51
- var dev, _this_getMiddlewares, rsbuildMiddlewares, close, onHTTPUpgrade;
52
- return _ts_generator(this, function(_state) {
53
- switch (_state.label) {
54
- case 0:
55
- _this1.runner = runner;
56
- dev = _this1.dev;
57
- _this_getMiddlewares = _this1.getMiddlewares(), rsbuildMiddlewares = _this_getMiddlewares.middlewares, close = _this_getMiddlewares.close, onHTTPUpgrade = _this_getMiddlewares.onHTTPUpgrade;
58
- app.on("upgrade", onHTTPUpgrade);
59
- _this1.rsbuild.onDevCompileDone(function(param) {
60
- var stats = param.stats;
61
- if (stats.toJson({
62
- all: false
63
- }).name !== "server") {
64
- _this1.onRepack({
65
- routes: _this1.getRoutes()
66
- });
67
- }
68
- });
69
- return [
70
- 4,
71
- _this1.applyDefaultMiddlewares()
72
- ];
73
- case 1:
74
- _state.sent();
75
- _this1.addHandler(function(ctx, next) {
76
- return rsbuildMiddlewares(ctx.req, ctx.res, next);
77
- });
78
- _this1.closeCb.push(close);
79
- _this1.initFileReader();
80
- return [
81
- 4,
82
- _superprop_get_onInit().call(_this1, runner, app)
83
- ];
84
- case 2:
85
- _state.sent();
86
- if (dev.watch) {
87
- _this1.startWatcher();
88
- app.on("close", /* @__PURE__ */ _async_to_generator(function() {
89
- var _this_watcher;
90
- return _ts_generator(this, function(_state2) {
91
- switch (_state2.label) {
92
- case 0:
93
- return [
94
- 4,
95
- (_this_watcher = _this1.watcher) === null || _this_watcher === void 0 ? void 0 : _this_watcher.close()
96
- ];
97
- case 1:
98
- _state2.sent();
99
- return [
100
- 2
101
- ];
102
- }
103
- });
104
- }));
105
- }
106
- return [
107
- 2
108
- ];
109
- }
110
- });
111
- })();
112
- };
113
- _proto.initFileReader = function initFileReader() {
114
- var _this_dev;
115
- var isInit = false;
116
- if (((_this_dev = this.dev) === null || _this_dev === void 0 ? void 0 : _this_dev.writeToDisk) === false) {
117
- this.addHandler(function(ctx, next) {
118
- var _ctx_res_locals;
119
- if (isInit) {
120
- return next();
121
- }
122
- isInit = true;
123
- if (!((_ctx_res_locals = ctx.res.locals) === null || _ctx_res_locals === void 0 ? void 0 : _ctx_res_locals.webpack)) {
124
- fileReader.reset();
125
- return next();
126
- }
127
- var _ctx_res_locals_webpack = ctx.res.locals.webpack, webpackDevMid = _ctx_res_locals_webpack.devMiddleware;
128
- var outputFileSystem = webpackDevMid.outputFileSystem;
129
- if (outputFileSystem) {
130
- fileReader.reset(outputFileSystem);
131
- } else {
132
- fileReader.reset();
133
- }
134
- return next();
135
- });
136
- }
137
- };
138
- _proto.close = function close() {
139
- var _this = this;
140
- return _async_to_generator(function() {
141
- var _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, cb, err;
142
- return _ts_generator(this, function(_state) {
143
- switch (_state.label) {
144
- case 0:
145
- _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
146
- _state.label = 1;
147
- case 1:
148
- _state.trys.push([
149
- 1,
150
- 6,
151
- 7,
152
- 8
153
- ]);
154
- _iterator = _this.closeCb[Symbol.iterator]();
155
- _state.label = 2;
156
- case 2:
157
- if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done))
158
- return [
159
- 3,
160
- 5
161
- ];
162
- cb = _step.value;
163
- return [
164
- 4,
165
- cb()
166
- ];
167
- case 3:
168
- _state.sent();
169
- _state.label = 4;
170
- case 4:
171
- _iteratorNormalCompletion = true;
172
- return [
173
- 3,
174
- 2
175
- ];
176
- case 5:
177
- return [
178
- 3,
179
- 8
180
- ];
181
- case 6:
182
- err = _state.sent();
183
- _didIteratorError = true;
184
- _iteratorError = err;
185
- return [
186
- 3,
187
- 8
188
- ];
189
- case 7:
190
- try {
191
- if (!_iteratorNormalCompletion && _iterator.return != null) {
192
- _iterator.return();
193
- }
194
- } finally {
195
- if (_didIteratorError) {
196
- throw _iteratorError;
197
- }
198
- }
199
- return [
200
- 7
201
- ];
202
- case 8:
203
- return [
204
- 2
205
- ];
206
- }
207
- });
208
- })();
209
- };
210
- _proto.getRenderHandler = function getRenderHandler() {
211
- if (this.useSSRWorker) {
212
- var _this_conf_server, _conf_security;
213
- var _this = this, distDir = _this.distDir, staticGenerate = _this.staticGenerate, conf = _this.conf, metaName = _this.metaName;
214
- var ssrConfig = (_this_conf_server = this.conf.server) === null || _this_conf_server === void 0 ? void 0 : _this_conf_server.ssr;
215
- var forceCSR = typeof ssrConfig === "object" ? ssrConfig.forceCSR : false;
216
- return createRenderHandler({
217
- ssrRender: workerSSRRender,
218
- distDir,
219
- staticGenerate,
220
- conf,
221
- forceCSR,
222
- nonce: (_conf_security = conf.security) === null || _conf_security === void 0 ? void 0 : _conf_security.nonce,
223
- metaName
224
- });
225
- }
226
- return _get(_get_prototype_of(ModernDevServer2.prototype), "getRenderHandler", this).call(this);
227
- };
228
- _proto.applyDefaultMiddlewares = function applyDefaultMiddlewares() {
229
- var _this = this;
230
- return _async_to_generator(function() {
231
- var pwd;
232
- return _ts_generator(this, function(_state) {
233
- pwd = _this.pwd;
234
- _this.mockHandler = createMockHandler({
235
- pwd
236
- });
237
- _this.addHandler(function(ctx, next) {
238
- if (_this.mockHandler) {
239
- _this.mockHandler(ctx, next);
240
- } else {
241
- next();
242
- }
243
- });
244
- return [
245
- 2
246
- ];
247
- });
248
- })();
249
- };
250
- _proto.onRepack = function onRepack() {
251
- var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
252
- if (Array.isArray(options.routes)) {
253
- this.router.reset(this.filterRoutes(options.routes));
254
- }
255
- this.cleanSSRCache();
256
- fileReader.reset();
257
- this.runner.repack();
258
- _get(_get_prototype_of(ModernDevServer2.prototype), "onRepack", this).call(this, options);
259
- };
260
- _proto.createHTTPServer = function createHTTPServer(handler) {
261
- var _this = this;
262
- return _async_to_generator(function() {
263
- var dev, devHttpsOption, genHttpsOptions, httpsOptions;
264
- return _ts_generator(this, function(_state) {
265
- switch (_state.label) {
266
- case 0:
267
- dev = _this.dev;
268
- devHttpsOption = typeof dev === "object" && dev.https;
269
- if (!devHttpsOption)
270
- return [
271
- 3,
272
- 2
273
- ];
274
- genHttpsOptions = require("../dev-tools/https").genHttpsOptions;
275
- return [
276
- 4,
277
- genHttpsOptions(devHttpsOption, _this.pwd)
278
- ];
279
- case 1:
280
- httpsOptions = _state.sent();
281
- return [
282
- 2,
283
- createHttpsServer(httpsOptions, handler)
284
- ];
285
- case 2:
286
- return [
287
- 2,
288
- createServer(handler)
289
- ];
290
- case 3:
291
- return [
292
- 2
293
- ];
294
- }
295
- });
296
- })();
297
- };
298
- _proto.warmupSSRBundle = function warmupSSRBundle() {
299
- };
300
- _proto.onServerChange = function onServerChange(param) {
301
- var filepath = param.filepath, event = param.event;
302
- var _this = this;
303
- var _this1 = this, _superprop_get_onServerChange = function() {
304
- return _get(_get_prototype_of(ModernDevServer2.prototype), "onServerChange", _this);
305
- };
306
- return _async_to_generator(function() {
307
- var pwd, mock, mockPath, success, e;
308
- return _ts_generator(this, function(_state) {
309
- switch (_state.label) {
310
- case 0:
311
- pwd = _this1.pwd;
312
- mock = AGGRED_DIR.mock;
313
- mockPath = path.normalize(path.join(pwd, mock));
314
- _this1.runner.reset();
315
- if (!filepath.startsWith(mockPath))
316
- return [
317
- 3,
318
- 1
319
- ];
320
- _this1.mockHandler = createMockHandler({
321
- pwd
322
- });
323
- return [
324
- 3,
325
- 5
326
- ];
327
- case 1:
328
- _state.trys.push([
329
- 1,
330
- 4,
331
- ,
332
- 5
333
- ]);
334
- success = _this1.runner.onApiChange([
335
- {
336
- filename: filepath,
337
- event
338
- }
339
- ]);
340
- if (!(success !== true))
341
- return [
342
- 3,
343
- 3
344
- ];
345
- return [
346
- 4,
347
- _superprop_get_onServerChange().call(_this1, {
348
- filepath
349
- })
350
- ];
351
- case 2:
352
- _state.sent();
353
- _state.label = 3;
354
- case 3:
355
- return [
356
- 3,
357
- 5
358
- ];
359
- case 4:
360
- e = _state.sent();
361
- _this1.logger.error(e);
362
- return [
363
- 3,
364
- 5
365
- ];
366
- case 5:
367
- return [
368
- 2
369
- ];
370
- }
371
- });
372
- })();
373
- };
374
- _proto.createContext = function createContext(req, res) {
375
- return _get(_get_prototype_of(ModernDevServer2.prototype), "createContext", this).call(this, req, res, {
376
- etag: true,
377
- metaName: this.metaName
378
- });
379
- };
380
- _proto.setupStaticMiddleware = function setupStaticMiddleware(_) {
381
- return function() {
382
- var _ref = _async_to_generator(function(_context, next) {
383
- return _ts_generator(this, function(_state) {
384
- return [
385
- 2,
386
- next()
387
- ];
388
- });
389
- });
390
- return function(_context, next) {
391
- return _ref.apply(this, arguments);
392
- };
393
- }();
394
- };
395
- _proto.cleanSSRCache = function cleanSSRCache() {
396
- var distDir = this.distDir;
397
- var bundles = this.router.getBundles();
398
- bundles.forEach(function(bundle) {
399
- var filepath = path.join(distDir, bundle);
400
- if (require.cache[filepath]) {
401
- delete require.cache[filepath];
402
- }
403
- });
404
- var loadable = path.join(distDir, LOADABLE_STATS_FILE);
405
- if (require.cache[loadable]) {
406
- delete require.cache[loadable];
407
- }
408
- };
409
- _proto.startWatcher = function startWatcher() {
410
- var _this = this;
411
- var _this_conf_server;
412
- var _this1 = this, pwd = _this1.pwd, distDir = _this1.distDir, appContext = _this1.appContext;
413
- var mock = AGGRED_DIR.mock;
414
- var apiDir = (appContext === null || appContext === void 0 ? void 0 : appContext.apiDirectory) || API_DIR;
415
- var sharedDir = (appContext === null || appContext === void 0 ? void 0 : appContext.sharedDirectory) || SHARED_DIR;
416
- var defaultWatched = [
417
- "".concat(mock, "/**/*"),
418
- "".concat(SERVER_DIR, "/**/*"),
419
- "".concat(apiDir, "/**"),
420
- "".concat(sharedDir, "/**/*"),
421
- "".concat(distDir, "/").concat(SERVER_BUNDLE_DIRECTORY, "/*-server-loaders.js")
422
- ];
423
- var watchOptions = mergeWatchOptions((_this_conf_server = this.conf.server) === null || _this_conf_server === void 0 ? void 0 : _this_conf_server.watchOptions);
424
- var defaultWatchedPaths = defaultWatched.map(function(p) {
425
- var finalPath = path.isAbsolute(p) ? p : path.join(pwd, p);
426
- return path.normalize(finalPath);
427
- });
428
- var watcher = new Watcher();
429
- watcher.createDepTree();
430
- watcher.listen(defaultWatchedPaths, watchOptions, function(filepath, event) {
431
- if (filepath.includes("-server-loaders.js")) {
432
- delete require.cache[filepath];
433
- return;
434
- } else {
435
- watcher.updateDepTree();
436
- watcher.cleanDepCache(filepath);
437
- }
438
- _this.onServerChange({
439
- filepath,
440
- event
441
- });
442
- });
443
- this.watcher = watcher;
444
- };
445
- return ModernDevServer2;
446
- }(ModernServer);
447
- export {
448
- ModernDevServer
449
- };