@modern-js/server 2.31.2 → 2.32.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.
- package/CHANGELOG.md +27 -0
- package/LICENSE +1 -1
- package/dist/cjs/server/devServer.js +15 -7
- package/dist/esm/server/devServer.js +20 -8
- package/dist/esm-node/server/devServer.js +15 -7
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# @modern-js/server
|
|
2
2
|
|
|
3
|
+
## 2.32.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 2447d64: feat: support ssr resources preload
|
|
8
|
+
feat: 支持 ssr 资源预加载
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- 5f7c714: fix: WebSocket upgrade handler cause HMR connection issue
|
|
13
|
+
fix: WebSocket upgrade handler 导致 HMR 连接错误
|
|
14
|
+
- Updated dependencies [e6c7d33]
|
|
15
|
+
- Updated dependencies [e5a3fb4]
|
|
16
|
+
- Updated dependencies [6076166]
|
|
17
|
+
- Updated dependencies [5f7c714]
|
|
18
|
+
- Updated dependencies [a030aff]
|
|
19
|
+
- Updated dependencies [6d73519]
|
|
20
|
+
- Updated dependencies [79658a0]
|
|
21
|
+
- Updated dependencies [4323e68]
|
|
22
|
+
- Updated dependencies [3c91100]
|
|
23
|
+
- Updated dependencies [2447d64]
|
|
24
|
+
- Updated dependencies [5255eba]
|
|
25
|
+
- @modern-js/prod-server@2.32.0
|
|
26
|
+
- @modern-js/utils@2.32.0
|
|
27
|
+
- @modern-js/types@2.32.0
|
|
28
|
+
- @modern-js/server-utils@2.32.0
|
|
29
|
+
|
|
3
30
|
## 2.31.2
|
|
4
31
|
|
|
5
32
|
### Patch Changes
|
package/LICENSE
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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({
|
|
@@ -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,
|
|
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
|
-
|
|
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
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
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({
|
|
@@ -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
|
-
|
|
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
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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.
|
|
18
|
+
"version": "2.32.0",
|
|
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.
|
|
52
|
-
"@modern-js/server-utils": "2.
|
|
53
|
-
"@modern-js/types": "2.
|
|
54
|
-
"@modern-js/utils": "2.
|
|
51
|
+
"@modern-js/prod-server": "2.32.0",
|
|
52
|
+
"@modern-js/server-utils": "2.32.0",
|
|
53
|
+
"@modern-js/types": "2.32.0",
|
|
54
|
+
"@modern-js/utils": "2.32.0"
|
|
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.
|
|
70
|
-
"@scripts/
|
|
71
|
-
"@scripts/
|
|
69
|
+
"@modern-js/server-core": "2.32.0",
|
|
70
|
+
"@scripts/build": "2.32.0",
|
|
71
|
+
"@scripts/jest-config": "2.32.0"
|
|
72
72
|
},
|
|
73
73
|
"peerDependencies": {
|
|
74
74
|
"devcert": "^1.0.0",
|