@modern-js/server 2.31.2 → 2.32.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,42 @@
1
1
  # @modern-js/server
2
2
 
3
+ ## 2.32.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [90e053a]
8
+ - @modern-js/types@2.32.1
9
+ - @modern-js/prod-server@2.32.1
10
+ - @modern-js/utils@2.32.1
11
+ - @modern-js/server-utils@2.32.1
12
+
13
+ ## 2.32.0
14
+
15
+ ### Minor Changes
16
+
17
+ - 2447d64: feat: support ssr resources preload
18
+ feat: 支持 ssr 资源预加载
19
+
20
+ ### Patch Changes
21
+
22
+ - 5f7c714: fix: WebSocket upgrade handler cause HMR connection issue
23
+ fix: WebSocket upgrade handler 导致 HMR 连接错误
24
+ - Updated dependencies [e6c7d33]
25
+ - Updated dependencies [e5a3fb4]
26
+ - Updated dependencies [6076166]
27
+ - Updated dependencies [5f7c714]
28
+ - Updated dependencies [a030aff]
29
+ - Updated dependencies [6d73519]
30
+ - Updated dependencies [79658a0]
31
+ - Updated dependencies [4323e68]
32
+ - Updated dependencies [3c91100]
33
+ - Updated dependencies [2447d64]
34
+ - Updated dependencies [5255eba]
35
+ - @modern-js/prod-server@2.32.0
36
+ - @modern-js/utils@2.32.0
37
+ - @modern-js/types@2.32.0
38
+ - @modern-js/server-utils@2.32.0
39
+
3
40
  ## 2.31.2
4
41
 
5
42
  ### Patch Changes
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2021 Modern.js
3
+ Copyright (c) 2021-present Modern.js
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -91,6 +91,7 @@ class ModernDevServer extends _prodserver.ModernServer {
91
91
  ssrRender: _workerSSRRender.workerSSRRender,
92
92
  distDir,
93
93
  staticGenerate,
94
+ conf,
94
95
  forceCSR,
95
96
  nonce: (_conf_security = conf.security) === null || _conf_security === void 0 ? void 0 : _conf_security.nonce,
96
97
  metaName
@@ -99,12 +100,17 @@ class ModernDevServer extends _prodserver.ModernServer {
99
100
  return super.getRenderHandler();
100
101
  }
101
102
  async applyDefaultMiddlewares(app) {
102
- const { pwd, dev, devMiddleware } = this;
103
+ const { pwd, dev, devMiddleware, conf } = this;
103
104
  const isUseStreamingSSR = (routes) => {
104
105
  var _routes;
105
106
  return (_routes = routes) === null || _routes === void 0 ? void 0 : _routes.some((r) => r.isStream === true);
106
107
  };
107
- if (!isUseStreamingSSR(this.getRoutes()) && dev.compress) {
108
+ const isUseSSRPreload = () => {
109
+ const { server: { ssr, ssrByEntries } } = conf;
110
+ const checkUsePreload = (ssr2) => typeof ssr2 === "object" && Boolean(ssr2.preload);
111
+ return checkUsePreload(ssr) || Object.values(ssrByEntries || {}).some((ssr2) => checkUsePreload(ssr2));
112
+ };
113
+ if (!isUseStreamingSSR(this.getRoutes()) && !isUseSSRPreload() && dev.compress) {
108
114
  const { default: compression } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard._(require("http-compression")));
109
115
  this.addHandler((ctx, next) => {
110
116
  compression({
@@ -136,11 +142,13 @@ class ModernDevServer extends _prodserver.ModernServer {
136
142
  next();
137
143
  }
138
144
  });
139
- const proxyHandlers = (0, _prodserver.createProxyHandler)(dev.proxy);
140
- app.on("upgrade", proxyHandlers.handleUpgrade);
141
- proxyHandlers.handlers.forEach((handler) => {
142
- this.addHandler(handler);
143
- });
145
+ if (dev.proxy) {
146
+ const { handlers, handleUpgrade } = (0, _prodserver.createProxyHandler)(dev.proxy);
147
+ app && handleUpgrade(app);
148
+ handlers.forEach((handler) => {
149
+ this.addHandler(handler);
150
+ });
151
+ }
144
152
  devMiddleware.init(app);
145
153
  devMiddleware.on("change", (stats) => {
146
154
  if (stats.toJson({
@@ -21,9 +21,9 @@ function getHMRClientPath(client) {
21
21
  var clientEntry = "".concat(require.resolve("@modern-js/server/hmr-client"), "?").concat(host).concat(path).concat(port).concat(protocol);
22
22
  return clientEntry.replace("".concat(sep, "cjs").concat(sep, "dev-tools"), "".concat(sep, "esm").concat(sep, "dev-tools"));
23
23
  }
24
- var DevMiddleware = /* @__PURE__ */ function(EventEmitter1) {
24
+ var DevMiddleware = /* @__PURE__ */ function(EventEmitter2) {
25
25
  "use strict";
26
- _inherits(DevMiddleware2, EventEmitter1);
26
+ _inherits(DevMiddleware2, EventEmitter2);
27
27
  var _super = _create_super(DevMiddleware2);
28
28
  function DevMiddleware2(param) {
29
29
  var dev = param.dev, devMiddleware = param.devMiddleware;
@@ -22,9 +22,9 @@ import { enableRegister } from "../dev-tools/register";
22
22
  import Watcher, { mergeWatchOptions } from "../dev-tools/watcher";
23
23
  import DevMiddleware from "../dev-tools/dev-middleware";
24
24
  import { workerSSRRender } from "./workerSSRRender";
25
- export var ModernDevServer = /* @__PURE__ */ function(ModernServer1) {
25
+ export var ModernDevServer = /* @__PURE__ */ function(ModernServer2) {
26
26
  "use strict";
27
- _inherits(ModernDevServer2, ModernServer1);
27
+ _inherits(ModernDevServer2, ModernServer2);
28
28
  var _super = _create_super(ModernDevServer2);
29
29
  function ModernDevServer2(options) {
30
30
  _class_call_check(this, ModernDevServer2);
@@ -189,6 +189,7 @@ export var ModernDevServer = /* @__PURE__ */ function(ModernServer1) {
189
189
  ssrRender: workerSSRRender,
190
190
  distDir: distDir,
191
191
  staticGenerate: staticGenerate,
192
+ conf: conf,
192
193
  forceCSR: forceCSR,
193
194
  nonce: (_conf_security = conf.security) === null || _conf_security === void 0 ? void 0 : _conf_security.nonce,
194
195
  metaName: metaName
@@ -203,18 +204,27 @@ export var ModernDevServer = /* @__PURE__ */ function(ModernServer1) {
203
204
  value: function applyDefaultMiddlewares(app) {
204
205
  var _this = this;
205
206
  return _async_to_generator(function() {
206
- var pwd, dev, devMiddleware, isUseStreamingSSR, _ref, compression, proxyHandlers, _ref1, connectHistoryApiFallback, historyApiFallbackMiddleware;
207
+ var pwd, dev, devMiddleware, conf, isUseStreamingSSR, isUseSSRPreload, _ref, compression, _createProxyHandler, handlers, handleUpgrade, _ref1, connectHistoryApiFallback, historyApiFallbackMiddleware;
207
208
  return _ts_generator(this, function(_state) {
208
209
  switch (_state.label) {
209
210
  case 0:
210
- pwd = _this.pwd, dev = _this.dev, devMiddleware = _this.devMiddleware;
211
+ pwd = _this.pwd, dev = _this.dev, devMiddleware = _this.devMiddleware, conf = _this.conf;
211
212
  isUseStreamingSSR = function(routes) {
212
213
  var _routes;
213
214
  return (_routes = routes) === null || _routes === void 0 ? void 0 : _routes.some(function(r) {
214
215
  return r.isStream === true;
215
216
  });
216
217
  };
217
- if (!(!isUseStreamingSSR(_this.getRoutes()) && dev.compress))
218
+ isUseSSRPreload = function() {
219
+ var _conf_server = conf.server, ssr = _conf_server.ssr, ssrByEntries = _conf_server.ssrByEntries;
220
+ var checkUsePreload = function(ssr2) {
221
+ return typeof ssr2 === "object" && Boolean(ssr2.preload);
222
+ };
223
+ return checkUsePreload(ssr) || Object.values(ssrByEntries || {}).some(function(ssr2) {
224
+ return checkUsePreload(ssr2);
225
+ });
226
+ };
227
+ if (!(!isUseStreamingSSR(_this.getRoutes()) && !isUseSSRPreload() && dev.compress))
218
228
  return [
219
229
  3,
220
230
  2
@@ -273,11 +283,13 @@ export var ModernDevServer = /* @__PURE__ */ function(ModernServer1) {
273
283
  next();
274
284
  }
275
285
  });
276
- proxyHandlers = createProxyHandler(dev.proxy);
277
- app.on("upgrade", proxyHandlers.handleUpgrade);
278
- proxyHandlers.handlers.forEach(function(handler) {
279
- _this.addHandler(handler);
280
- });
286
+ if (dev.proxy) {
287
+ _createProxyHandler = createProxyHandler(dev.proxy), handlers = _createProxyHandler.handlers, handleUpgrade = _createProxyHandler.handleUpgrade;
288
+ app && handleUpgrade(app);
289
+ handlers.forEach(function(handler) {
290
+ _this.addHandler(handler);
291
+ });
292
+ }
281
293
  devMiddleware.init(app);
282
294
  devMiddleware.on("change", function(stats) {
283
295
  if (stats.toJson({
@@ -6,9 +6,9 @@ import { ModernDevServer } from "./devServer";
6
6
  var createDevServer = function(options) {
7
7
  return new ModernDevServer(options);
8
8
  };
9
- export var DevServer = /* @__PURE__ */ function(Server1) {
9
+ export var DevServer = /* @__PURE__ */ function(Server2) {
10
10
  "use strict";
11
- _inherits(DevServer2, Server1);
11
+ _inherits(DevServer2, Server2);
12
12
  var _super = _create_super(DevServer2);
13
13
  function DevServer2(options) {
14
14
  _class_call_check(this, DevServer2);
@@ -79,6 +79,7 @@ export class ModernDevServer extends ModernServer {
79
79
  ssrRender: workerSSRRender,
80
80
  distDir,
81
81
  staticGenerate,
82
+ conf,
82
83
  forceCSR,
83
84
  nonce: (_conf_security = conf.security) === null || _conf_security === void 0 ? void 0 : _conf_security.nonce,
84
85
  metaName
@@ -87,12 +88,17 @@ export class ModernDevServer extends ModernServer {
87
88
  return super.getRenderHandler();
88
89
  }
89
90
  async applyDefaultMiddlewares(app) {
90
- const { pwd, dev, devMiddleware } = this;
91
+ const { pwd, dev, devMiddleware, conf } = this;
91
92
  const isUseStreamingSSR = (routes) => {
92
93
  var _routes;
93
94
  return (_routes = routes) === null || _routes === void 0 ? void 0 : _routes.some((r) => r.isStream === true);
94
95
  };
95
- if (!isUseStreamingSSR(this.getRoutes()) && dev.compress) {
96
+ const isUseSSRPreload = () => {
97
+ const { server: { ssr, ssrByEntries } } = conf;
98
+ const checkUsePreload = (ssr2) => typeof ssr2 === "object" && Boolean(ssr2.preload);
99
+ return checkUsePreload(ssr) || Object.values(ssrByEntries || {}).some((ssr2) => checkUsePreload(ssr2));
100
+ };
101
+ if (!isUseStreamingSSR(this.getRoutes()) && !isUseSSRPreload() && dev.compress) {
96
102
  const { default: compression } = await import("http-compression");
97
103
  this.addHandler((ctx, next) => {
98
104
  compression({
@@ -124,11 +130,13 @@ export class ModernDevServer extends ModernServer {
124
130
  next();
125
131
  }
126
132
  });
127
- const proxyHandlers = createProxyHandler(dev.proxy);
128
- app.on("upgrade", proxyHandlers.handleUpgrade);
129
- proxyHandlers.handlers.forEach((handler) => {
130
- this.addHandler(handler);
131
- });
133
+ if (dev.proxy) {
134
+ const { handlers, handleUpgrade } = createProxyHandler(dev.proxy);
135
+ app && handleUpgrade(app);
136
+ handlers.forEach((handler) => {
137
+ this.addHandler(handler);
138
+ });
139
+ }
132
140
  devMiddleware.init(app);
133
141
  devMiddleware.on("change", (stats) => {
134
142
  if (stats.toJson({
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.31.2",
18
+ "version": "2.32.1",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -48,10 +48,10 @@
48
48
  "path-to-regexp": "^6.2.0",
49
49
  "ws": "^8.2.0",
50
50
  "axios": "^1.2.1",
51
- "@modern-js/prod-server": "2.31.2",
52
- "@modern-js/server-utils": "2.31.2",
53
- "@modern-js/types": "2.31.2",
54
- "@modern-js/utils": "2.31.2"
51
+ "@modern-js/prod-server": "2.32.1",
52
+ "@modern-js/server-utils": "2.32.1",
53
+ "@modern-js/types": "2.32.1",
54
+ "@modern-js/utils": "2.32.1"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@types/connect-history-api-fallback": "^1.3.5",
@@ -66,9 +66,9 @@
66
66
  "typescript": "^5",
67
67
  "webpack": "^5.88.1",
68
68
  "websocket": "^1",
69
- "@modern-js/server-core": "2.31.2",
70
- "@scripts/jest-config": "2.31.1",
71
- "@scripts/build": "2.31.1"
69
+ "@modern-js/server-core": "2.32.1",
70
+ "@scripts/build": "2.32.1",
71
+ "@scripts/jest-config": "2.32.1"
72
72
  },
73
73
  "peerDependencies": {
74
74
  "devcert": "^1.0.0",