@modern-js/server 2.42.2 → 2.43.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 (31) hide show
  1. package/dist/cjs/dev-tools/dev-middleware/index.js +2 -3
  2. package/dist/cjs/dev-tools/dev-middleware/socketServer.js +2 -3
  3. package/dist/cjs/dev-tools/watcher/index.js +2 -3
  4. package/dist/cjs/index.js +3 -1
  5. package/dist/cjs/server/devServer.js +96 -144
  6. package/dist/cjs/server/devServerOld.js +352 -0
  7. package/dist/cjs/server/index.js +14 -3
  8. package/dist/esm/dev-tools/dev-middleware/index.js +1 -2
  9. package/dist/esm/dev-tools/dev-middleware/socketServer.js +1 -2
  10. package/dist/esm/dev-tools/watcher/index.js +1 -2
  11. package/dist/esm/index.js +2 -1
  12. package/dist/esm/server/devServer.js +195 -268
  13. package/dist/esm/server/devServerOld.js +579 -0
  14. package/dist/esm/server/index.js +21 -2
  15. package/dist/esm-node/dev-tools/dev-middleware/index.js +2 -3
  16. package/dist/esm-node/dev-tools/dev-middleware/socketServer.js +2 -3
  17. package/dist/esm-node/dev-tools/watcher/index.js +2 -3
  18. package/dist/esm-node/index.js +2 -1
  19. package/dist/esm-node/server/devServer.js +97 -145
  20. package/dist/esm-node/server/devServerOld.js +318 -0
  21. package/dist/esm-node/server/index.js +12 -2
  22. package/dist/types/dev-tools/dev-middleware/index.d.ts +2 -0
  23. package/dist/types/dev-tools/dev-middleware/socketServer.d.ts +2 -0
  24. package/dist/types/dev-tools/https/index.d.ts +1 -0
  25. package/dist/types/dev-tools/mock/getMockData.d.ts +2 -0
  26. package/dist/types/index.d.ts +4 -4
  27. package/dist/types/server/devServer.d.ts +10 -8
  28. package/dist/types/server/devServerOld.d.ts +37 -0
  29. package/dist/types/server/index.d.ts +4 -1
  30. package/dist/types/types.d.ts +10 -0
  31. package/package.json +12 -10
@@ -0,0 +1,579 @@
1
+ import { _ as _assert_this_initialized } from "@swc/helpers/_/_assert_this_initialized";
2
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
3
+ 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
+ import { _ as _get } from "@swc/helpers/_/_get";
7
+ import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of";
8
+ import { _ as _inherits } from "@swc/helpers/_/_inherits";
9
+ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
10
+ import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
11
+ import { _ as _create_super } from "@swc/helpers/_/_create_super";
12
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
13
+ import { createServer } from "http";
14
+ import path from "path";
15
+ import { createServer as createHttpsServer } from "https";
16
+ import { API_DIR, SERVER_BUNDLE_DIRECTORY, SERVER_DIR, SHARED_DIR, LOADABLE_STATS_FILE } from "@modern-js/utils";
17
+ import { createProxyHandler, ModernServer, AGGRED_DIR, createRenderHandler } from "@modern-js/prod-server";
18
+ import { merge as deepMerge } from "@modern-js/utils/lodash";
19
+ import { fileReader } from "@modern-js/runtime-utils/fileReader";
20
+ import { getDefaultDevOptions } from "../constants";
21
+ import { createMockHandler } from "../dev-tools/mock";
22
+ import { enableRegister } from "../dev-tools/register";
23
+ import Watcher, { mergeWatchOptions } from "../dev-tools/watcher";
24
+ import DevMiddleware from "../dev-tools/dev-middleware";
25
+ import { workerSSRRender } from "./workerSSRRender";
26
+ var ModernDevServer = /* @__PURE__ */ function(ModernServer2) {
27
+ "use strict";
28
+ _inherits(ModernDevServer2, ModernServer2);
29
+ var _super = _create_super(ModernDevServer2);
30
+ function ModernDevServer2(options) {
31
+ _class_call_check(this, ModernDevServer2);
32
+ var _this;
33
+ _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);
40
+ _this.appContext = options.appContext;
41
+ _this.workDir = _this.pwd;
42
+ _this.useWorkerSSR = Boolean(options.useWorkerSSR);
43
+ _this.dev = _this.getDevOptions(options);
44
+ _this.devMiddleware = new DevMiddleware({
45
+ dev: _this.dev,
46
+ devMiddleware: options.devMiddleware
47
+ });
48
+ enableRegister(_this.pwd, _this.conf);
49
+ return _this;
50
+ }
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
+ });
70
+ }
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);
80
+ }
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
+ });
189
+ }
190
+ return _get(_get_prototype_of(ModernDevServer2.prototype), "getRenderHandler", this).call(this);
191
+ }
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();
216
+ }
217
+ return next();
218
+ });
219
+ }
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");
269
+ }
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
+ }
291
+ }
292
+ }
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
+ }
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
+ ];
404
+ }
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
438
+ });
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) {
506
+ return [
507
+ 2,
508
+ next()
509
+ ];
510
+ });
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];
532
+ }
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
+ });
570
+ });
571
+ this.watcher = watcher;
572
+ }
573
+ }
574
+ ]);
575
+ return ModernDevServer2;
576
+ }(ModernServer);
577
+ export {
578
+ ModernDevServer
579
+ };
@@ -2,7 +2,8 @@ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
2
2
  import { _ as _inherits } from "@swc/helpers/_/_inherits";
3
3
  import { _ as _create_super } from "@swc/helpers/_/_create_super";
4
4
  import { Server } from "@modern-js/prod-server";
5
- import { ModernDevServer } from "./devServer";
5
+ import { ModernDevServer } from "./devServerOld";
6
+ import { ModernDevServer as ModernDevServerForRsbuild } from "./devServer";
6
7
  var createDevServer = function(options) {
7
8
  return new ModernDevServer(options);
8
9
  };
@@ -21,6 +22,24 @@ var DevServer = /* @__PURE__ */ function(Server2) {
21
22
  }
22
23
  return DevServer2;
23
24
  }(Server);
25
+ var DevServerForRsbuild = /* @__PURE__ */ function(Server2) {
26
+ "use strict";
27
+ _inherits(DevServerForRsbuild2, Server2);
28
+ var _super = _create_super(DevServerForRsbuild2);
29
+ function DevServerForRsbuild2(options) {
30
+ _class_call_check(this, DevServerForRsbuild2);
31
+ var _this;
32
+ _this = _super.call(this, options);
33
+ if (options.dev) {
34
+ _this.serverImpl = function(options2) {
35
+ return new ModernDevServerForRsbuild(options2);
36
+ };
37
+ }
38
+ return _this;
39
+ }
40
+ return DevServerForRsbuild2;
41
+ }(Server);
24
42
  export {
25
- DevServer
43
+ DevServer,
44
+ DevServerForRsbuild
26
45
  };
@@ -11,8 +11,7 @@ function getHMRClientPath(client) {
11
11
  const clientEntry = `${require.resolve("@modern-js/server/hmr-client")}?${host}${path}${port}${protocol}`;
12
12
  return clientEntry;
13
13
  }
14
- var DevMiddleware;
15
- DevMiddleware = class DevMiddleware2 extends EventEmitter {
14
+ class DevMiddleware extends EventEmitter {
16
15
  init(app) {
17
16
  app.on("listening", () => {
18
17
  this.socketServer.prepare(app);
@@ -59,7 +58,7 @@ DevMiddleware = class DevMiddleware2 extends EventEmitter {
59
58
  this.middleware = this.setupDevMiddleware(devMiddleware);
60
59
  }
61
60
  }
62
- };
61
+ }
63
62
  export {
64
63
  DevMiddleware as default
65
64
  };
@@ -1,8 +1,7 @@
1
1
  import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
2
  import ws from "ws";
3
3
  import { logger } from "@modern-js/utils";
4
- var SocketServer;
5
- SocketServer = class SocketServer2 {
4
+ class SocketServer {
6
5
  // create socket, install socket handler, bind socket event
7
6
  prepare(app) {
8
7
  var _this_options_client;
@@ -143,7 +142,7 @@ SocketServer = class SocketServer2 {
143
142
  _define_property(this, "timer", null);
144
143
  this.options = options;
145
144
  }
146
- };
145
+ }
147
146
  export {
148
147
  SocketServer as default
149
148
  };
@@ -40,8 +40,7 @@ const mergeWatchOptions = (options) => {
40
40
  };
41
41
  return finalWatchOptions;
42
42
  };
43
- var Watcher;
44
- Watcher = class Watcher2 {
43
+ class Watcher {
45
44
  listen(files, options, callback) {
46
45
  const watched = files.filter(Boolean);
47
46
  const filenames = watched.map((filename) => filename.replace(/\\/g, "/"));
@@ -94,7 +93,7 @@ Watcher = class Watcher2 {
94
93
  _define_property(this, "dependencyTree", null);
95
94
  _define_property(this, "watcher", void 0);
96
95
  }
97
- };
96
+ }
98
97
  export {
99
98
  Watcher as default,
100
99
  defaultWatchOptions,
@@ -1,4 +1,4 @@
1
- import { DevServer as Server } from "./server";
1
+ import { DevServer as Server, DevServerForRsbuild as ServerForRsbuild } from "./server";
2
2
  var src_default = (options) => {
3
3
  if (options == null) {
4
4
  throw new Error("can not start server without options");
@@ -8,5 +8,6 @@ var src_default = (options) => {
8
8
  };
9
9
  export {
10
10
  Server,
11
+ ServerForRsbuild,
11
12
  src_default as default
12
13
  };