@modern-js/server 2.48.2 → 2.48.3

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.
@@ -49,32 +49,12 @@ class ModernDevServer extends import_prod_server.ModernServer {
49
49
  const defaultOptions = (0, import_constants.getDefaultDevOptions)();
50
50
  return (0, import_lodash.merge)(defaultOptions, devOptions);
51
51
  }
52
- addMiddlewareHandler(handlers) {
53
- handlers.forEach((handler) => {
54
- this.addHandler((ctx, next) => {
55
- const { req, res } = ctx;
56
- return handler(req, res, next);
57
- });
58
- });
59
- }
60
52
  // Complete the preparation of services
61
53
  async onInit(runner, app) {
62
54
  this.runner = runner;
63
- const { dev, conf } = this;
64
- const isUseStreamingSSR = (routes) => routes === null || routes === void 0 ? void 0 : routes.some((r) => r.isStream === true);
65
- const isUseSSRPreload = () => {
66
- const { server: { ssr, ssrByEntries } } = conf;
67
- const checkUsePreload = (ssr2) => typeof ssr2 === "object" && Boolean(ssr2.preload);
68
- return checkUsePreload(ssr) || Object.values(ssrByEntries || {}).some((ssr2) => checkUsePreload(ssr2));
69
- };
70
- const { middlewares: rsbuildMiddlewares, close, onUpgrade } = (
71
- // https://github.com/web-infra-dev/rsbuild/blob/32fbb85e22158d5c4655505ce75e3452ce22dbb1/packages/shared/src/types/server.ts#L112
72
- await this.getMiddlewares({
73
- // TODO: move to uni-builder
74
- compress: !isUseStreamingSSR(this.getRoutes()) && !isUseSSRPreload() && dev.compress
75
- })
76
- );
77
- app.on("upgrade", onUpgrade);
55
+ const { dev } = this;
56
+ const { middlewares: rsbuildMiddlewares, close, onHTTPUpgrade } = this.getMiddlewares();
57
+ app.on("upgrade", onHTTPUpgrade);
78
58
  this.rsbuild.onDevCompileDone(({ stats }) => {
79
59
  if (stats.toJson({
80
60
  all: false
@@ -85,20 +65,7 @@ class ModernDevServer extends import_prod_server.ModernServer {
85
65
  }
86
66
  });
87
67
  await this.applyDefaultMiddlewares();
88
- rsbuildMiddlewares.forEach((middleware) => {
89
- if (Array.isArray(middleware)) {
90
- this.addHandler((ctx, next) => {
91
- if (ctx.path === middleware[0]) {
92
- return middleware[1](ctx.req, ctx.res, next);
93
- }
94
- return next();
95
- });
96
- } else {
97
- this.addMiddlewareHandler([
98
- middleware
99
- ]);
100
- }
101
- });
68
+ this.addHandler((ctx, next) => rsbuildMiddlewares(ctx.req, ctx.res, next));
102
69
  this.closeCb.push(close);
103
70
  this.initFileReader();
104
71
  await super.onInit(runner, app);
@@ -111,9 +78,9 @@ class ModernDevServer extends import_prod_server.ModernServer {
111
78
  }
112
79
  }
113
80
  initFileReader() {
114
- var _this_dev_devMiddleware, _this_dev;
81
+ var _this_dev;
115
82
  let isInit = false;
116
- 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) {
83
+ if (((_this_dev = this.dev) === null || _this_dev === void 0 ? void 0 : _this_dev.writeToDisk) === false) {
117
84
  this.addHandler((ctx, next) => {
118
85
  var _ctx_res_locals;
119
86
  if (isInit) {
@@ -42,51 +42,20 @@ var ModernDevServer = /* @__PURE__ */ function(ModernServer2) {
42
42
  var defaultOptions = getDefaultDevOptions();
43
43
  return deepMerge(defaultOptions, devOptions);
44
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
45
  _proto.onInit = function onInit(runner, app) {
55
46
  var _this = this;
56
47
  var _this1 = this, _superprop_get_onInit = function() {
57
48
  return _get(_get_prototype_of(ModernDevServer2.prototype), "onInit", _this);
58
49
  };
59
50
  return _async_to_generator(function() {
60
- var dev, conf, isUseStreamingSSR, isUseSSRPreload, _ref, rsbuildMiddlewares, close, onUpgrade;
51
+ var dev, _this_getMiddlewares, rsbuildMiddlewares, close, onHTTPUpgrade;
61
52
  return _ts_generator(this, function(_state) {
62
53
  switch (_state.label) {
63
54
  case 0:
64
55
  _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);
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);
90
59
  _this1.rsbuild.onDevCompileDone(function(param) {
91
60
  var stats = param.stats;
92
61
  if (stats.toJson({
@@ -101,21 +70,10 @@ var ModernDevServer = /* @__PURE__ */ function(ModernServer2) {
101
70
  4,
102
71
  _this1.applyDefaultMiddlewares()
103
72
  ];
104
- case 2:
73
+ case 1:
105
74
  _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);
111
- }
112
- return next();
113
- });
114
- } else {
115
- _this1.addMiddlewareHandler([
116
- middleware
117
- ]);
118
- }
75
+ _this1.addHandler(function(ctx, next) {
76
+ return rsbuildMiddlewares(ctx.req, ctx.res, next);
119
77
  });
120
78
  _this1.closeCb.push(close);
121
79
  _this1.initFileReader();
@@ -123,7 +81,7 @@ var ModernDevServer = /* @__PURE__ */ function(ModernServer2) {
123
81
  4,
124
82
  _superprop_get_onInit().call(_this1, runner, app)
125
83
  ];
126
- case 3:
84
+ case 2:
127
85
  _state.sent();
128
86
  if (dev.watch) {
129
87
  _this1.startWatcher();
@@ -153,9 +111,9 @@ var ModernDevServer = /* @__PURE__ */ function(ModernServer2) {
153
111
  })();
154
112
  };
155
113
  _proto.initFileReader = function initFileReader() {
156
- var _this_dev_devMiddleware, _this_dev;
114
+ var _this_dev;
157
115
  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) {
116
+ if (((_this_dev = this.dev) === null || _this_dev === void 0 ? void 0 : _this_dev.writeToDisk) === false) {
159
117
  this.addHandler(function(ctx, next) {
160
118
  var _ctx_res_locals;
161
119
  if (isInit) {
@@ -16,32 +16,12 @@ class ModernDevServer extends ModernServer {
16
16
  const defaultOptions = getDefaultDevOptions();
17
17
  return deepMerge(defaultOptions, devOptions);
18
18
  }
19
- addMiddlewareHandler(handlers) {
20
- handlers.forEach((handler) => {
21
- this.addHandler((ctx, next) => {
22
- const { req, res } = ctx;
23
- return handler(req, res, next);
24
- });
25
- });
26
- }
27
19
  // Complete the preparation of services
28
20
  async onInit(runner, app) {
29
21
  this.runner = runner;
30
- const { dev, conf } = this;
31
- const isUseStreamingSSR = (routes) => routes === null || routes === void 0 ? void 0 : routes.some((r) => r.isStream === true);
32
- const isUseSSRPreload = () => {
33
- const { server: { ssr, ssrByEntries } } = conf;
34
- const checkUsePreload = (ssr2) => typeof ssr2 === "object" && Boolean(ssr2.preload);
35
- return checkUsePreload(ssr) || Object.values(ssrByEntries || {}).some((ssr2) => checkUsePreload(ssr2));
36
- };
37
- const { middlewares: rsbuildMiddlewares, close, onUpgrade } = (
38
- // https://github.com/web-infra-dev/rsbuild/blob/32fbb85e22158d5c4655505ce75e3452ce22dbb1/packages/shared/src/types/server.ts#L112
39
- await this.getMiddlewares({
40
- // TODO: move to uni-builder
41
- compress: !isUseStreamingSSR(this.getRoutes()) && !isUseSSRPreload() && dev.compress
42
- })
43
- );
44
- app.on("upgrade", onUpgrade);
22
+ const { dev } = this;
23
+ const { middlewares: rsbuildMiddlewares, close, onHTTPUpgrade } = this.getMiddlewares();
24
+ app.on("upgrade", onHTTPUpgrade);
45
25
  this.rsbuild.onDevCompileDone(({ stats }) => {
46
26
  if (stats.toJson({
47
27
  all: false
@@ -52,20 +32,7 @@ class ModernDevServer extends ModernServer {
52
32
  }
53
33
  });
54
34
  await this.applyDefaultMiddlewares();
55
- rsbuildMiddlewares.forEach((middleware) => {
56
- if (Array.isArray(middleware)) {
57
- this.addHandler((ctx, next) => {
58
- if (ctx.path === middleware[0]) {
59
- return middleware[1](ctx.req, ctx.res, next);
60
- }
61
- return next();
62
- });
63
- } else {
64
- this.addMiddlewareHandler([
65
- middleware
66
- ]);
67
- }
68
- });
35
+ this.addHandler((ctx, next) => rsbuildMiddlewares(ctx.req, ctx.res, next));
69
36
  this.closeCb.push(close);
70
37
  this.initFileReader();
71
38
  await super.onInit(runner, app);
@@ -78,9 +45,9 @@ class ModernDevServer extends ModernServer {
78
45
  }
79
46
  }
80
47
  initFileReader() {
81
- var _this_dev_devMiddleware, _this_dev;
48
+ var _this_dev;
82
49
  let isInit = false;
83
- 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) {
50
+ if (((_this_dev = this.dev) === null || _this_dev === void 0 ? void 0 : _this_dev.writeToDisk) === false) {
84
51
  this.addHandler((ctx, next) => {
85
52
  var _ctx_res_locals;
86
53
  if (isInit) {
@@ -19,7 +19,6 @@ export declare class ModernDevServer extends ModernServer {
19
19
  private closeCb;
20
20
  constructor(options: ModernDevServerOptionsNew);
21
21
  private getDevOptions;
22
- private addMiddlewareHandler;
23
22
  onInit(runner: ServerHookRunner, app: Server): Promise<void>;
24
23
  private initFileReader;
25
24
  close(): Promise<void>;
@@ -4,7 +4,7 @@
4
4
  import type { IncomingMessage, ServerResponse } from 'http';
5
5
  import type { DevServerOptions, DevServerHttpsOptions, NextFunction } from '@modern-js/types';
6
6
  import type { ModernServerOptions } from '@modern-js/prod-server';
7
- import type { RsbuildInstance, DevServerAPIs, DevMiddlewaresConfig } from '@rsbuild/shared';
7
+ import type { RsbuildInstance, RsbuildDevServer } from '@rsbuild/shared';
8
8
  export type { DevServerOptions, DevServerHttpsOptions };
9
9
  type Middleware = (req: IncomingMessage, res: ServerResponse, next: NextFunction) => Promise<void>;
10
10
  export type DevMiddlewareAPI = Middleware & {
@@ -40,9 +40,11 @@ export type ExtraOptions = {
40
40
  };
41
41
  export type ModernDevServerOptions = ModernServerOptions & ExtraOptions;
42
42
  export type ExtraOptionsNew = {
43
- dev: Pick<DevServerOptions, 'watch' | 'https' | 'compress' | 'devMiddleware'>;
43
+ dev: Pick<DevServerOptions, 'watch' | 'https'> & {
44
+ writeToDisk?: boolean | ((filename: string) => boolean);
45
+ };
44
46
  useSSRWorker?: boolean;
45
47
  rsbuild: RsbuildInstance;
46
- getMiddlewares: (overrides?: DevMiddlewaresConfig) => ReturnType<DevServerAPIs['getMiddlewares']>;
48
+ getMiddlewares: () => Pick<RsbuildDevServer, 'middlewares' | 'onHTTPUpgrade' | 'close'>;
47
49
  };
48
50
  export type ModernDevServerOptionsNew = ModernServerOptions & ExtraOptionsNew;
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.48.2",
18
+ "version": "2.48.3",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -48,14 +48,14 @@
48
48
  "path-to-regexp": "^6.2.0",
49
49
  "ws": "^8.13.0",
50
50
  "axios": "^1.6.0",
51
- "@modern-js/prod-server": "2.48.2",
52
- "@modern-js/server-utils": "2.48.2",
53
- "@modern-js/types": "2.48.2",
54
- "@modern-js/utils": "2.48.2",
55
- "@modern-js/runtime-utils": "2.48.2"
51
+ "@modern-js/prod-server": "2.48.3",
52
+ "@modern-js/server-utils": "2.48.3",
53
+ "@modern-js/types": "2.48.3",
54
+ "@modern-js/utils": "2.48.3",
55
+ "@modern-js/runtime-utils": "2.48.3"
56
56
  },
57
57
  "devDependencies": {
58
- "@rsbuild/shared": "0.4.15",
58
+ "@rsbuild/shared": "0.5.1",
59
59
  "@types/connect-history-api-fallback": "^1.3.5",
60
60
  "@types/jest": "^29",
61
61
  "@types/minimatch": "^3.0.5",
@@ -68,9 +68,9 @@
68
68
  "typescript": "^5",
69
69
  "webpack": "^5.89.0",
70
70
  "websocket": "^1",
71
- "@scripts/build": "2.48.2",
72
- "@modern-js/server-core": "2.48.2",
73
- "@scripts/jest-config": "2.48.2"
71
+ "@modern-js/server-core": "2.48.3",
72
+ "@scripts/build": "2.48.3",
73
+ "@scripts/jest-config": "2.48.3"
74
74
  },
75
75
  "peerDependencies": {
76
76
  "devcert": "^1.2.2",