@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.
- package/dist/cjs/dev-tools/dev-middleware/index.js +2 -3
- package/dist/cjs/dev-tools/dev-middleware/socketServer.js +2 -3
- package/dist/cjs/dev-tools/watcher/index.js +2 -3
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/server/devServer.js +96 -144
- package/dist/cjs/server/devServerOld.js +352 -0
- package/dist/cjs/server/index.js +14 -3
- package/dist/esm/dev-tools/dev-middleware/index.js +1 -2
- package/dist/esm/dev-tools/dev-middleware/socketServer.js +1 -2
- package/dist/esm/dev-tools/watcher/index.js +1 -2
- package/dist/esm/index.js +2 -1
- package/dist/esm/server/devServer.js +195 -268
- package/dist/esm/server/devServerOld.js +579 -0
- package/dist/esm/server/index.js +21 -2
- package/dist/esm-node/dev-tools/dev-middleware/index.js +2 -3
- package/dist/esm-node/dev-tools/dev-middleware/socketServer.js +2 -3
- package/dist/esm-node/dev-tools/watcher/index.js +2 -3
- package/dist/esm-node/index.js +2 -1
- package/dist/esm-node/server/devServer.js +97 -145
- package/dist/esm-node/server/devServerOld.js +318 -0
- package/dist/esm-node/server/index.js +12 -2
- package/dist/types/dev-tools/dev-middleware/index.d.ts +2 -0
- package/dist/types/dev-tools/dev-middleware/socketServer.d.ts +2 -0
- package/dist/types/dev-tools/https/index.d.ts +1 -0
- package/dist/types/dev-tools/mock/getMockData.d.ts +2 -0
- package/dist/types/index.d.ts +4 -4
- package/dist/types/server/devServer.d.ts +10 -8
- package/dist/types/server/devServerOld.d.ts +37 -0
- package/dist/types/server/index.d.ts +4 -1
- package/dist/types/types.d.ts +10 -0
- 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
|
+
};
|
package/dist/esm/server/index.js
CHANGED
|
@@ -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 "./
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
package/dist/esm-node/index.js
CHANGED
|
@@ -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
|
};
|