@modern-js/server 2.48.1 → 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.
@@ -43,65 +43,18 @@ var import_mock = require("../dev-tools/mock");
43
43
  var import_register = require("../dev-tools/register");
44
44
  var import_watcher = __toESM(require("../dev-tools/watcher"));
45
45
  var import_workerSSRRender = require("./workerSSRRender");
46
- const transformToRsbuildServerOptions = (dev) => {
47
- var _dev_devMiddleware, _dev_before, _dev_after;
48
- const rsbuildOptions = {
49
- hmr: Boolean(dev.hot),
50
- client: dev.client,
51
- writeToDisk: (_dev_devMiddleware = dev.devMiddleware) === null || _dev_devMiddleware === void 0 ? void 0 : _dev_devMiddleware.writeToDisk,
52
- compress: dev.compress,
53
- headers: dev.headers,
54
- historyApiFallback: dev.historyApiFallback,
55
- proxy: dev.proxy,
56
- publicDir: false
57
- };
58
- 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)) {
59
- rsbuildOptions.setupMiddlewares = [
60
- ...dev.setupMiddlewares || [],
61
- (middlewares) => {
62
- middlewares.unshift(...dev.before || []);
63
- middlewares.push(...dev.after || []);
64
- }
65
- ];
66
- } else if (dev.setupMiddlewares) {
67
- rsbuildOptions.setupMiddlewares = dev.setupMiddlewares;
68
- }
69
- return rsbuildOptions;
70
- };
71
46
  class ModernDevServer extends import_prod_server.ModernServer {
72
47
  getDevOptions(options) {
73
48
  const devOptions = options.dev;
74
49
  const defaultOptions = (0, import_constants.getDefaultDevOptions)();
75
50
  return (0, import_lodash.merge)(defaultOptions, devOptions);
76
51
  }
77
- addMiddlewareHandler(handlers) {
78
- handlers.forEach((handler) => {
79
- this.addHandler((ctx, next) => {
80
- const { req, res } = ctx;
81
- return handler(req, res, next);
82
- });
83
- });
84
- }
85
52
  // Complete the preparation of services
86
53
  async onInit(runner, app) {
87
54
  this.runner = runner;
88
- const { dev, conf } = this;
89
- const isUseStreamingSSR = (routes) => routes === null || routes === void 0 ? void 0 : routes.some((r) => r.isStream === true);
90
- const isUseSSRPreload = () => {
91
- const { server: { ssr, ssrByEntries } } = conf;
92
- const checkUsePreload = (ssr2) => typeof ssr2 === "object" && Boolean(ssr2.preload);
93
- return checkUsePreload(ssr) || Object.values(ssrByEntries || {}).some((ssr2) => checkUsePreload(ssr2));
94
- };
95
- const { middlewares: rsbuildMiddlewares, close, onUpgrade } = (
96
- // https://github.com/web-infra-dev/rsbuild/blob/32fbb85e22158d5c4655505ce75e3452ce22dbb1/packages/shared/src/types/server.ts#L112
97
- await this.getMiddlewares({
98
- ...transformToRsbuildServerOptions(this.dev),
99
- compress: !isUseStreamingSSR(this.getRoutes()) && !isUseSSRPreload() && dev.compress,
100
- htmlFallback: false,
101
- publicDir: false
102
- })
103
- );
104
- app.on("upgrade", onUpgrade);
55
+ const { dev } = this;
56
+ const { middlewares: rsbuildMiddlewares, close, onHTTPUpgrade } = this.getMiddlewares();
57
+ app.on("upgrade", onHTTPUpgrade);
105
58
  this.rsbuild.onDevCompileDone(({ stats }) => {
106
59
  if (stats.toJson({
107
60
  all: false
@@ -112,20 +65,7 @@ class ModernDevServer extends import_prod_server.ModernServer {
112
65
  }
113
66
  });
114
67
  await this.applyDefaultMiddlewares();
115
- rsbuildMiddlewares.forEach((middleware) => {
116
- if (Array.isArray(middleware)) {
117
- this.addHandler((ctx, next) => {
118
- if (ctx.path === middleware[0]) {
119
- return middleware[1](ctx.req, ctx.res, next);
120
- }
121
- return next();
122
- });
123
- } else {
124
- this.addMiddlewareHandler([
125
- middleware
126
- ]);
127
- }
128
- });
68
+ this.addHandler((ctx, next) => rsbuildMiddlewares(ctx.req, ctx.res, next));
129
69
  this.closeCb.push(close);
130
70
  this.initFileReader();
131
71
  await super.onInit(runner, app);
@@ -138,9 +78,9 @@ class ModernDevServer extends import_prod_server.ModernServer {
138
78
  }
139
79
  }
140
80
  initFileReader() {
141
- var _this_dev_devMiddleware, _this_dev;
81
+ var _this_dev;
142
82
  let isInit = false;
143
- 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) {
144
84
  this.addHandler((ctx, next) => {
145
85
  var _ctx_res_locals;
146
86
  if (isInit) {
@@ -3,9 +3,6 @@ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
3
3
  import { _ as _get } from "@swc/helpers/_/_get";
4
4
  import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of";
5
5
  import { _ as _inherits } from "@swc/helpers/_/_inherits";
6
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
7
- import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
8
- import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
9
6
  import { _ as _create_super } from "@swc/helpers/_/_create_super";
10
7
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
11
8
  import { createServer } from "http";
@@ -20,31 +17,6 @@ import { createMockHandler } from "../dev-tools/mock";
20
17
  import { enableRegister } from "../dev-tools/register";
21
18
  import Watcher, { mergeWatchOptions } from "../dev-tools/watcher";
22
19
  import { workerSSRRender } from "./workerSSRRender";
23
- var transformToRsbuildServerOptions = function(dev) {
24
- var _dev_devMiddleware, _dev_before, _dev_after;
25
- var rsbuildOptions = {
26
- hmr: Boolean(dev.hot),
27
- client: dev.client,
28
- writeToDisk: (_dev_devMiddleware = dev.devMiddleware) === null || _dev_devMiddleware === void 0 ? void 0 : _dev_devMiddleware.writeToDisk,
29
- compress: dev.compress,
30
- headers: dev.headers,
31
- historyApiFallback: dev.historyApiFallback,
32
- proxy: dev.proxy,
33
- publicDir: false
34
- };
35
- 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)) {
36
- rsbuildOptions.setupMiddlewares = _to_consumable_array(dev.setupMiddlewares || []).concat([
37
- function(middlewares) {
38
- var _middlewares, _middlewares1;
39
- (_middlewares = middlewares).unshift.apply(_middlewares, _to_consumable_array(dev.before || []));
40
- (_middlewares1 = middlewares).push.apply(_middlewares1, _to_consumable_array(dev.after || []));
41
- }
42
- ]);
43
- } else if (dev.setupMiddlewares) {
44
- rsbuildOptions.setupMiddlewares = dev.setupMiddlewares;
45
- }
46
- return rsbuildOptions;
47
- };
48
20
  var ModernDevServer = /* @__PURE__ */ function(ModernServer2) {
49
21
  "use strict";
50
22
  _inherits(ModernDevServer2, ModernServer2);
@@ -70,52 +42,20 @@ var ModernDevServer = /* @__PURE__ */ function(ModernServer2) {
70
42
  var defaultOptions = getDefaultDevOptions();
71
43
  return deepMerge(defaultOptions, devOptions);
72
44
  };
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
45
  _proto.onInit = function onInit(runner, app) {
83
46
  var _this = this;
84
47
  var _this1 = this, _superprop_get_onInit = function() {
85
48
  return _get(_get_prototype_of(ModernDevServer2.prototype), "onInit", _this);
86
49
  };
87
50
  return _async_to_generator(function() {
88
- var dev, conf, isUseStreamingSSR, isUseSSRPreload, _ref, rsbuildMiddlewares, close, onUpgrade;
51
+ var dev, _this_getMiddlewares, rsbuildMiddlewares, close, onHTTPUpgrade;
89
52
  return _ts_generator(this, function(_state) {
90
53
  switch (_state.label) {
91
54
  case 0:
92
55
  _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);
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);
119
59
  _this1.rsbuild.onDevCompileDone(function(param) {
120
60
  var stats = param.stats;
121
61
  if (stats.toJson({
@@ -130,21 +70,10 @@ var ModernDevServer = /* @__PURE__ */ function(ModernServer2) {
130
70
  4,
131
71
  _this1.applyDefaultMiddlewares()
132
72
  ];
133
- case 2:
73
+ case 1:
134
74
  _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);
140
- }
141
- return next();
142
- });
143
- } else {
144
- _this1.addMiddlewareHandler([
145
- middleware
146
- ]);
147
- }
75
+ _this1.addHandler(function(ctx, next) {
76
+ return rsbuildMiddlewares(ctx.req, ctx.res, next);
148
77
  });
149
78
  _this1.closeCb.push(close);
150
79
  _this1.initFileReader();
@@ -152,7 +81,7 @@ var ModernDevServer = /* @__PURE__ */ function(ModernServer2) {
152
81
  4,
153
82
  _superprop_get_onInit().call(_this1, runner, app)
154
83
  ];
155
- case 3:
84
+ case 2:
156
85
  _state.sent();
157
86
  if (dev.watch) {
158
87
  _this1.startWatcher();
@@ -182,9 +111,9 @@ var ModernDevServer = /* @__PURE__ */ function(ModernServer2) {
182
111
  })();
183
112
  };
184
113
  _proto.initFileReader = function initFileReader() {
185
- var _this_dev_devMiddleware, _this_dev;
114
+ var _this_dev;
186
115
  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) {
116
+ if (((_this_dev = this.dev) === null || _this_dev === void 0 ? void 0 : _this_dev.writeToDisk) === false) {
188
117
  this.addHandler(function(ctx, next) {
189
118
  var _ctx_res_locals;
190
119
  if (isInit) {
@@ -10,65 +10,18 @@ import { createMockHandler } from "../dev-tools/mock";
10
10
  import { enableRegister } from "../dev-tools/register";
11
11
  import Watcher, { mergeWatchOptions } from "../dev-tools/watcher";
12
12
  import { workerSSRRender } from "./workerSSRRender";
13
- const transformToRsbuildServerOptions = (dev) => {
14
- var _dev_devMiddleware, _dev_before, _dev_after;
15
- const rsbuildOptions = {
16
- hmr: Boolean(dev.hot),
17
- client: dev.client,
18
- writeToDisk: (_dev_devMiddleware = dev.devMiddleware) === null || _dev_devMiddleware === void 0 ? void 0 : _dev_devMiddleware.writeToDisk,
19
- compress: dev.compress,
20
- headers: dev.headers,
21
- historyApiFallback: dev.historyApiFallback,
22
- proxy: dev.proxy,
23
- publicDir: false
24
- };
25
- 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)) {
26
- rsbuildOptions.setupMiddlewares = [
27
- ...dev.setupMiddlewares || [],
28
- (middlewares) => {
29
- middlewares.unshift(...dev.before || []);
30
- middlewares.push(...dev.after || []);
31
- }
32
- ];
33
- } else if (dev.setupMiddlewares) {
34
- rsbuildOptions.setupMiddlewares = dev.setupMiddlewares;
35
- }
36
- return rsbuildOptions;
37
- };
38
13
  class ModernDevServer extends ModernServer {
39
14
  getDevOptions(options) {
40
15
  const devOptions = options.dev;
41
16
  const defaultOptions = getDefaultDevOptions();
42
17
  return deepMerge(defaultOptions, devOptions);
43
18
  }
44
- addMiddlewareHandler(handlers) {
45
- handlers.forEach((handler) => {
46
- this.addHandler((ctx, next) => {
47
- const { req, res } = ctx;
48
- return handler(req, res, next);
49
- });
50
- });
51
- }
52
19
  // Complete the preparation of services
53
20
  async onInit(runner, app) {
54
21
  this.runner = runner;
55
- const { dev, conf } = this;
56
- const isUseStreamingSSR = (routes) => routes === null || routes === void 0 ? void 0 : routes.some((r) => r.isStream === true);
57
- const isUseSSRPreload = () => {
58
- const { server: { ssr, ssrByEntries } } = conf;
59
- const checkUsePreload = (ssr2) => typeof ssr2 === "object" && Boolean(ssr2.preload);
60
- return checkUsePreload(ssr) || Object.values(ssrByEntries || {}).some((ssr2) => checkUsePreload(ssr2));
61
- };
62
- const { middlewares: rsbuildMiddlewares, close, onUpgrade } = (
63
- // https://github.com/web-infra-dev/rsbuild/blob/32fbb85e22158d5c4655505ce75e3452ce22dbb1/packages/shared/src/types/server.ts#L112
64
- await this.getMiddlewares({
65
- ...transformToRsbuildServerOptions(this.dev),
66
- compress: !isUseStreamingSSR(this.getRoutes()) && !isUseSSRPreload() && dev.compress,
67
- htmlFallback: false,
68
- publicDir: false
69
- })
70
- );
71
- app.on("upgrade", onUpgrade);
22
+ const { dev } = this;
23
+ const { middlewares: rsbuildMiddlewares, close, onHTTPUpgrade } = this.getMiddlewares();
24
+ app.on("upgrade", onHTTPUpgrade);
72
25
  this.rsbuild.onDevCompileDone(({ stats }) => {
73
26
  if (stats.toJson({
74
27
  all: false
@@ -79,20 +32,7 @@ class ModernDevServer extends ModernServer {
79
32
  }
80
33
  });
81
34
  await this.applyDefaultMiddlewares();
82
- rsbuildMiddlewares.forEach((middleware) => {
83
- if (Array.isArray(middleware)) {
84
- this.addHandler((ctx, next) => {
85
- if (ctx.path === middleware[0]) {
86
- return middleware[1](ctx.req, ctx.res, next);
87
- }
88
- return next();
89
- });
90
- } else {
91
- this.addMiddlewareHandler([
92
- middleware
93
- ]);
94
- }
95
- });
35
+ this.addHandler((ctx, next) => rsbuildMiddlewares(ctx.req, ctx.res, next));
96
36
  this.closeCb.push(close);
97
37
  this.initFileReader();
98
38
  await super.onInit(runner, app);
@@ -105,9 +45,9 @@ class ModernDevServer extends ModernServer {
105
45
  }
106
46
  }
107
47
  initFileReader() {
108
- var _this_dev_devMiddleware, _this_dev;
48
+ var _this_dev;
109
49
  let isInit = false;
110
- 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) {
111
51
  this.addHandler((ctx, next) => {
112
52
  var _ctx_res_locals;
113
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: Partial<DevServerOptions>;
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.1",
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.1",
52
- "@modern-js/server-utils": "2.48.1",
53
- "@modern-js/types": "2.48.1",
54
- "@modern-js/utils": "2.48.1",
55
- "@modern-js/runtime-utils": "2.48.1"
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
- "@modern-js/server-core": "2.48.1",
72
- "@scripts/build": "2.48.1",
73
- "@scripts/jest-config": "2.48.1"
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",