@modern-js/server 2.48.6 → 2.49.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.
Files changed (80) hide show
  1. package/dist/cjs/createDevServer.js +95 -0
  2. package/dist/cjs/{server/index.js → helpers/devOptions.js} +11 -28
  3. package/dist/cjs/helpers/fileReader.js +51 -0
  4. package/dist/cjs/helpers/index.js +107 -0
  5. package/dist/cjs/{server/workerSSRRender.js → helpers/repack.js} +27 -21
  6. package/dist/cjs/helpers/utils.js +29 -0
  7. package/dist/cjs/index.js +3 -13
  8. package/dist/esm/createDevServer.js +99 -0
  9. package/dist/esm/helpers/devOptions.js +10 -0
  10. package/dist/esm/helpers/fileReader.js +45 -0
  11. package/dist/esm/helpers/index.js +119 -0
  12. package/dist/esm/helpers/repack.js +31 -0
  13. package/dist/esm/helpers/utils.js +5 -0
  14. package/dist/esm/index.js +2 -12
  15. package/dist/esm-node/createDevServer.js +61 -0
  16. package/dist/esm-node/helpers/devOptions.js +10 -0
  17. package/dist/esm-node/helpers/fileReader.js +27 -0
  18. package/dist/esm-node/helpers/index.js +69 -0
  19. package/dist/esm-node/helpers/repack.js +27 -0
  20. package/dist/esm-node/helpers/utils.js +5 -0
  21. package/dist/esm-node/index.js +2 -11
  22. package/dist/types/createDevServer.d.ts +6 -0
  23. package/dist/types/{constants.d.ts → helpers/constants.d.ts} +1 -1
  24. package/dist/types/helpers/devOptions.d.ts +4 -0
  25. package/dist/types/helpers/fileReader.d.ts +2 -0
  26. package/dist/types/helpers/index.d.ts +14 -0
  27. package/dist/types/helpers/repack.d.ts +3 -0
  28. package/dist/types/helpers/utils.d.ts +1 -0
  29. package/dist/types/index.d.ts +2 -6
  30. package/dist/types/types.d.ts +4 -11
  31. package/package.json +10 -11
  32. package/dist/cjs/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -61
  33. package/dist/cjs/dev-tools/dev-middleware/hmr-client/index.js +0 -159
  34. package/dist/cjs/dev-tools/dev-middleware/index.js +0 -90
  35. package/dist/cjs/dev-tools/dev-middleware/socketServer.js +0 -173
  36. package/dist/cjs/dev-tools/https/index.js +0 -54
  37. package/dist/cjs/dev-tools/mock/getMockData.js +0 -104
  38. package/dist/cjs/dev-tools/mock/index.js +0 -85
  39. package/dist/cjs/dev-tools/register/index.js +0 -144
  40. package/dist/cjs/server/devServer.js +0 -267
  41. package/dist/cjs/server/devServerOld.js +0 -346
  42. package/dist/esm/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -54
  43. package/dist/esm/dev-tools/dev-middleware/hmr-client/index.js +0 -162
  44. package/dist/esm/dev-tools/dev-middleware/index.js +0 -82
  45. package/dist/esm/dev-tools/dev-middleware/socketServer.js +0 -149
  46. package/dist/esm/dev-tools/https/index.js +0 -74
  47. package/dist/esm/dev-tools/mock/getMockData.js +0 -102
  48. package/dist/esm/dev-tools/mock/index.js +0 -88
  49. package/dist/esm/dev-tools/register/index.js +0 -109
  50. package/dist/esm/server/devServer.js +0 -449
  51. package/dist/esm/server/devServerOld.js +0 -519
  52. package/dist/esm/server/index.js +0 -45
  53. package/dist/esm/server/workerSSRRender.js +0 -43
  54. package/dist/esm-node/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -36
  55. package/dist/esm-node/dev-tools/dev-middleware/hmr-client/index.js +0 -145
  56. package/dist/esm-node/dev-tools/dev-middleware/index.js +0 -60
  57. package/dist/esm-node/dev-tools/dev-middleware/socketServer.js +0 -143
  58. package/dist/esm-node/dev-tools/https/index.js +0 -30
  59. package/dist/esm-node/dev-tools/mock/getMockData.js +0 -80
  60. package/dist/esm-node/dev-tools/mock/index.js +0 -51
  61. package/dist/esm-node/dev-tools/register/index.js +0 -110
  62. package/dist/esm-node/server/devServer.js +0 -233
  63. package/dist/esm-node/server/devServerOld.js +0 -312
  64. package/dist/esm-node/server/index.js +0 -26
  65. package/dist/esm-node/server/workerSSRRender.js +0 -21
  66. package/dist/types/dev-tools/dev-middleware/hmr-client/createSocketUrl.d.ts +0 -7
  67. package/dist/types/dev-tools/dev-middleware/hmr-client/index.d.ts +0 -1
  68. package/dist/types/dev-tools/dev-middleware/index.d.ts +0 -21
  69. package/dist/types/dev-tools/dev-middleware/socketServer.d.ts +0 -25
  70. package/dist/types/dev-tools/https/index.d.ts +0 -7
  71. package/dist/types/dev-tools/mock/getMockData.d.ts +0 -18
  72. package/dist/types/dev-tools/mock/index.d.ts +0 -4
  73. package/dist/types/dev-tools/register/index.d.ts +0 -2
  74. package/dist/types/server/devServer.d.ts +0 -38
  75. package/dist/types/server/devServerOld.d.ts +0 -37
  76. package/dist/types/server/index.d.ts +0 -8
  77. package/dist/types/server/workerSSRRender.d.ts +0 -10
  78. /package/dist/cjs/{constants.js → helpers/constants.js} +0 -0
  79. /package/dist/esm/{constants.js → helpers/constants.js} +0 -0
  80. /package/dist/esm-node/{constants.js → helpers/constants.js} +0 -0
@@ -1,346 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var devServerOld_exports = {};
30
- __export(devServerOld_exports, {
31
- ModernDevServer: () => ModernDevServer
32
- });
33
- module.exports = __toCommonJS(devServerOld_exports);
34
- var import_http = require("http");
35
- var import_path = __toESM(require("path"));
36
- var import_https = require("https");
37
- var import_utils = require("@modern-js/utils");
38
- var import_prod_server = require("@modern-js/prod-server");
39
- var import_lodash = require("@modern-js/utils/lodash");
40
- var import_fileReader = require("@modern-js/runtime-utils/fileReader");
41
- var import_constants = require("../constants");
42
- var import_mock = require("../dev-tools/mock");
43
- var import_register = require("../dev-tools/register");
44
- var import_watcher = __toESM(require("../dev-tools/watcher"));
45
- var import_dev_middleware = __toESM(require("../dev-tools/dev-middleware"));
46
- var import_workerSSRRender = require("./workerSSRRender");
47
- class ModernDevServer extends import_prod_server.ModernServer {
48
- getDevOptions(options) {
49
- const devOptions = typeof options.dev === "boolean" ? {} : options.dev;
50
- const defaultOptions = (0, import_constants.getDefaultDevOptions)();
51
- return (0, import_lodash.merge)(defaultOptions, devOptions);
52
- }
53
- addMiddlewareHandler(handlers) {
54
- handlers.forEach((handler) => {
55
- this.addHandler((ctx, next) => {
56
- const { req, res } = ctx;
57
- return handler(req, res, next);
58
- });
59
- });
60
- }
61
- applySetupMiddlewares() {
62
- const setupMiddlewares = this.dev.setupMiddlewares || [];
63
- const serverOptions = {
64
- sockWrite: (type, data) => this.devMiddleware.sockWrite(type, data)
65
- };
66
- const befores = [];
67
- const afters = [];
68
- setupMiddlewares.forEach((handler) => {
69
- handler({
70
- unshift: (...handlers) => befores.unshift(...handlers),
71
- push: (...handlers) => afters.push(...handlers)
72
- }, serverOptions);
73
- });
74
- return {
75
- befores,
76
- afters
77
- };
78
- }
79
- // Complete the preparation of services
80
- async onInit(runner, app) {
81
- this.runner = runner;
82
- const { dev } = this;
83
- const { befores, afters } = this.applySetupMiddlewares();
84
- const beforeHandlers = this.dev.before || [];
85
- this.addMiddlewareHandler([
86
- ...beforeHandlers,
87
- ...befores
88
- ]);
89
- await this.applyDefaultMiddlewares(app);
90
- const afterHandlers = this.dev.after || [];
91
- this.addMiddlewareHandler([
92
- ...afters,
93
- ...afterHandlers
94
- ]);
95
- this.initFileReader();
96
- await super.onInit(runner, app);
97
- if (dev.watch) {
98
- this.startWatcher();
99
- app.on("close", async () => {
100
- var _this_watcher;
101
- await ((_this_watcher = this.watcher) === null || _this_watcher === void 0 ? void 0 : _this_watcher.close());
102
- });
103
- }
104
- }
105
- // override the ModernServer renderHandler logic
106
- getRenderHandler() {
107
- if (this.useSSRWorker) {
108
- var _this_conf_server, _conf_security;
109
- const { distDir, staticGenerate, conf, metaName } = this;
110
- const ssrConfig = (_this_conf_server = this.conf.server) === null || _this_conf_server === void 0 ? void 0 : _this_conf_server.ssr;
111
- const forceCSR = typeof ssrConfig === "object" ? ssrConfig.forceCSR : false;
112
- return (0, import_prod_server.createRenderHandler)({
113
- ssrRender: import_workerSSRRender.workerSSRRender,
114
- distDir,
115
- staticGenerate,
116
- conf,
117
- forceCSR,
118
- nonce: (_conf_security = conf.security) === null || _conf_security === void 0 ? void 0 : _conf_security.nonce,
119
- metaName
120
- });
121
- }
122
- return super.getRenderHandler();
123
- }
124
- initFileReader() {
125
- var _this_dev_devMiddleware, _this_dev;
126
- let isInit = false;
127
- 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) {
128
- this.addHandler((ctx, next) => {
129
- var _ctx_res_locals;
130
- if (isInit) {
131
- return next();
132
- }
133
- isInit = true;
134
- if (!((_ctx_res_locals = ctx.res.locals) === null || _ctx_res_locals === void 0 ? void 0 : _ctx_res_locals.webpack)) {
135
- import_fileReader.fileReader.reset();
136
- return next();
137
- }
138
- const { devMiddleware: webpackDevMid } = ctx.res.locals.webpack;
139
- const { outputFileSystem } = webpackDevMid;
140
- if (outputFileSystem) {
141
- import_fileReader.fileReader.reset(outputFileSystem);
142
- } else {
143
- import_fileReader.fileReader.reset();
144
- }
145
- return next();
146
- });
147
- }
148
- }
149
- async applyDefaultMiddlewares(app) {
150
- const { pwd, dev, devMiddleware, conf } = this;
151
- const isUseStreamingSSR = (routes) => routes === null || routes === void 0 ? void 0 : routes.some((r) => r.isStream === true);
152
- const isUseSSRPreload = () => {
153
- const { server: { ssr, ssrByEntries } } = conf;
154
- const checkUsePreload = (ssr2) => typeof ssr2 === "object" && Boolean(ssr2.preload);
155
- return checkUsePreload(ssr) || Object.values(ssrByEntries || {}).some((ssr2) => checkUsePreload(ssr2));
156
- };
157
- if (!isUseStreamingSSR(this.getRoutes()) && !isUseSSRPreload() && dev.compress) {
158
- const { default: compression } = await Promise.resolve().then(() => __toESM(require("http-compression")));
159
- this.addHandler((ctx, next) => {
160
- compression({
161
- gzip: true,
162
- brotli: false
163
- })(ctx.req, ctx.res, next);
164
- });
165
- }
166
- this.addHandler((ctx, next) => {
167
- ctx.res.setHeader("Access-Control-Allow-Origin", "*");
168
- if (ctx.path.includes("hot-update")) {
169
- ctx.res.setHeader("Access-Control-Allow-Credentials", "false");
170
- }
171
- const confHeaders = dev.headers;
172
- if (confHeaders) {
173
- for (const [key, value] of Object.entries(confHeaders)) {
174
- ctx.res.setHeader(key, value);
175
- }
176
- }
177
- next();
178
- });
179
- this.mockHandler = (0, import_mock.createMockHandler)({
180
- pwd
181
- });
182
- this.addHandler((ctx, next) => {
183
- if (this.mockHandler) {
184
- this.mockHandler(ctx, next);
185
- } else {
186
- next();
187
- }
188
- });
189
- if (dev.proxy) {
190
- const { handlers, handleUpgrade } = (0, import_prod_server.createProxyHandler)(dev.proxy);
191
- app && handleUpgrade(app);
192
- handlers.forEach((handler) => {
193
- this.addHandler(handler);
194
- });
195
- }
196
- devMiddleware.init(app);
197
- devMiddleware.on("change", (stats) => {
198
- if (stats.toJson({
199
- all: false
200
- }).name !== "server") {
201
- this.onRepack({
202
- routes: this.getRoutes()
203
- });
204
- }
205
- });
206
- this.addHandler((ctx, next) => {
207
- const { req, res } = ctx;
208
- if (devMiddleware.middleware) {
209
- devMiddleware.middleware(req, res, next);
210
- } else {
211
- next();
212
- }
213
- });
214
- if (dev.historyApiFallback) {
215
- const { default: connectHistoryApiFallback } = await Promise.resolve().then(() => __toESM(require("connect-history-api-fallback")));
216
- const historyApiFallbackMiddleware = connectHistoryApiFallback(typeof dev.historyApiFallback === "boolean" ? {} : dev.historyApiFallback);
217
- this.addHandler((ctx, next) => historyApiFallbackMiddleware(ctx.req, ctx.res, next));
218
- }
219
- }
220
- onRepack(options = {}) {
221
- if (Array.isArray(options.routes)) {
222
- this.router.reset(this.filterRoutes(options.routes));
223
- }
224
- this.cleanSSRCache();
225
- import_fileReader.fileReader.reset();
226
- this.runner.repack();
227
- super.onRepack(options);
228
- }
229
- async createHTTPServer(handler) {
230
- const { dev } = this;
231
- const devHttpsOption = typeof dev === "object" && dev.https;
232
- if (devHttpsOption) {
233
- const { genHttpsOptions } = require("../dev-tools/https");
234
- const httpsOptions = await genHttpsOptions(devHttpsOption, this.pwd);
235
- return (0, import_https.createServer)(httpsOptions, handler);
236
- } else {
237
- return (0, import_http.createServer)(handler);
238
- }
239
- }
240
- warmupSSRBundle() {
241
- }
242
- async onServerChange({ filepath, event }) {
243
- const { pwd } = this;
244
- const { mock } = import_prod_server.AGGRED_DIR;
245
- const mockPath = import_path.default.normalize(import_path.default.join(pwd, mock));
246
- this.runner.reset();
247
- if (filepath.startsWith(mockPath)) {
248
- this.mockHandler = (0, import_mock.createMockHandler)({
249
- pwd
250
- });
251
- } else {
252
- try {
253
- const success = this.runner.onApiChange([
254
- {
255
- filename: filepath,
256
- event
257
- }
258
- ]);
259
- if (success !== true) {
260
- await super.onServerChange({
261
- filepath
262
- });
263
- }
264
- } catch (e) {
265
- this.logger.error(e);
266
- }
267
- }
268
- }
269
- createContext(req, res) {
270
- return super.createContext(req, res, {
271
- etag: true,
272
- metaName: this.metaName
273
- });
274
- }
275
- setupStaticMiddleware(_) {
276
- return async (context, next) => {
277
- return next();
278
- };
279
- }
280
- cleanSSRCache() {
281
- const { distDir } = this;
282
- const bundles = this.router.getBundles();
283
- bundles.forEach((bundle) => {
284
- const filepath = import_path.default.join(distDir, bundle);
285
- if (require.cache[filepath]) {
286
- delete require.cache[filepath];
287
- }
288
- });
289
- const loadable = import_path.default.join(distDir, import_utils.LOADABLE_STATS_FILE);
290
- if (require.cache[loadable]) {
291
- delete require.cache[loadable];
292
- }
293
- }
294
- startWatcher() {
295
- var _this_conf_server;
296
- const { pwd, distDir, appContext } = this;
297
- const { mock } = import_prod_server.AGGRED_DIR;
298
- const apiDir = (appContext === null || appContext === void 0 ? void 0 : appContext.apiDirectory) || import_utils.API_DIR;
299
- const sharedDir = (appContext === null || appContext === void 0 ? void 0 : appContext.sharedDirectory) || import_utils.SHARED_DIR;
300
- const defaultWatched = [
301
- `${mock}/**/*`,
302
- `${import_utils.SERVER_DIR}/**/*`,
303
- `${apiDir}/**`,
304
- `${sharedDir}/**/*`,
305
- `${distDir}/${import_utils.SERVER_BUNDLE_DIRECTORY}/*-server-loaders.js`
306
- ];
307
- const watchOptions = (0, import_watcher.mergeWatchOptions)((_this_conf_server = this.conf.server) === null || _this_conf_server === void 0 ? void 0 : _this_conf_server.watchOptions);
308
- const defaultWatchedPaths = defaultWatched.map((p) => {
309
- const finalPath = import_path.default.isAbsolute(p) ? p : import_path.default.join(pwd, p);
310
- return import_path.default.normalize(finalPath);
311
- });
312
- const watcher = new import_watcher.default();
313
- watcher.createDepTree();
314
- watcher.listen(defaultWatchedPaths, watchOptions, (filepath, event) => {
315
- if (filepath.includes("-server-loaders.js")) {
316
- delete require.cache[filepath];
317
- return;
318
- } else {
319
- watcher.updateDepTree();
320
- watcher.cleanDepCache(filepath);
321
- }
322
- this.onServerChange({
323
- filepath,
324
- event
325
- });
326
- });
327
- this.watcher = watcher;
328
- }
329
- constructor(options) {
330
- super(options);
331
- this.mockHandler = null;
332
- this.appContext = options.appContext;
333
- this.workDir = this.pwd;
334
- this.useSSRWorker = Boolean(options.useSSRWorker);
335
- this.dev = this.getDevOptions(options);
336
- this.devMiddleware = new import_dev_middleware.default({
337
- dev: this.dev,
338
- devMiddleware: options.devMiddleware
339
- });
340
- (0, import_register.enableRegister)(this.pwd, this.conf);
341
- }
342
- }
343
- // Annotate the CommonJS export names for ESM import in node:
344
- 0 && (module.exports = {
345
- ModernDevServer
346
- });
@@ -1,54 +0,0 @@
1
- import { HMR_SOCK_PATH } from "@modern-js/utils/universal/constants";
2
- function createSocketUrl(resourceQuery) {
3
- var searchParams = resourceQuery.substr(1).split("&");
4
- var options = {};
5
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
6
- try {
7
- for (var _iterator = searchParams[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
8
- var pair = _step.value;
9
- var ary = pair.split("=");
10
- options[ary[0]] = decodeURIComponent(ary[1]);
11
- }
12
- } catch (err) {
13
- _didIteratorError = true;
14
- _iteratorError = err;
15
- } finally {
16
- try {
17
- if (!_iteratorNormalCompletion && _iterator.return != null) {
18
- _iterator.return();
19
- }
20
- } finally {
21
- if (_didIteratorError) {
22
- throw _iteratorError;
23
- }
24
- }
25
- }
26
- var currentLocation = self.location;
27
- return getSocketUrl(options, currentLocation);
28
- }
29
- function formatURL(param) {
30
- var port = param.port, protocol = param.protocol, hostname = param.hostname, pathname = param.pathname;
31
- if (typeof URL !== "undefined") {
32
- var url = new URL("http://localhost");
33
- url.port = port;
34
- url.hostname = hostname;
35
- url.protocol = protocol;
36
- url.pathname = pathname;
37
- return url.toString();
38
- }
39
- var colon = protocol.indexOf(":") === -1 ? ":" : "";
40
- return "".concat(protocol).concat(colon, "//").concat(hostname, ":").concat(port).concat(pathname);
41
- }
42
- function getSocketUrl(urlParts, location) {
43
- var host = urlParts.host, port = urlParts.port, path = urlParts.path, protocol = urlParts.protocol;
44
- return formatURL({
45
- protocol: protocol || (location.protocol === "https:" ? "wss" : "ws"),
46
- hostname: host || location.hostname,
47
- port: port || location.port,
48
- pathname: path || HMR_SOCK_PATH
49
- });
50
- }
51
- export {
52
- createSocketUrl,
53
- formatURL
54
- };
@@ -1,162 +0,0 @@
1
- var __getOwnPropNames = Object.getOwnPropertyNames;
2
- var __commonJS = (cb, mod) => function __require() {
3
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
4
- };
5
- import stripAnsi from "@modern-js/utils/strip-ansi";
6
- import { formatWebpackMessages } from "@modern-js/utils/universal/format-webpack";
7
- import { createSocketUrl } from "./createSocketUrl";
8
- var require_hmr_client = __commonJS({
9
- "src/dev-tools/dev-middleware/hmr-client/index.ts"(exports, module) {
10
- var hadRuntimeError = false;
11
- var socketUrl = createSocketUrl(__resourceQuery);
12
- var connection = new WebSocket(socketUrl);
13
- connection.onopen = function() {
14
- if (typeof console !== "undefined" && typeof console.info === "function") {
15
- console.info("[HMR] connected.");
16
- }
17
- };
18
- connection.onclose = function() {
19
- if (typeof console !== "undefined" && typeof console.info === "function") {
20
- console.info("[HMR] disconnected. Refresh the page if necessary.");
21
- }
22
- };
23
- var isFirstCompilation = true;
24
- var mostRecentCompilationHash = null;
25
- var hasCompileErrors = false;
26
- function clearOutdatedErrors() {
27
- if (typeof console !== "undefined" && typeof console.clear === "function") {
28
- if (hasCompileErrors) {
29
- console.clear();
30
- }
31
- }
32
- }
33
- function handleSuccess() {
34
- clearOutdatedErrors();
35
- var isHotUpdate = !isFirstCompilation;
36
- isFirstCompilation = false;
37
- hasCompileErrors = false;
38
- if (isHotUpdate) {
39
- tryApplyUpdates();
40
- }
41
- }
42
- function handleWarnings(warnings) {
43
- clearOutdatedErrors();
44
- var isHotUpdate = !isFirstCompilation;
45
- isFirstCompilation = false;
46
- hasCompileErrors = false;
47
- function printWarnings() {
48
- var formatted = formatWebpackMessages({
49
- warnings,
50
- errors: []
51
- });
52
- if (typeof console !== "undefined" && typeof console.warn === "function") {
53
- for (var i = 0; i < formatted.warnings.length; i++) {
54
- if (i === 5) {
55
- console.warn("There were more warnings in other files.\nYou can find a complete log in the terminal.");
56
- break;
57
- }
58
- console.warn(stripAnsi(formatted.warnings[i]));
59
- }
60
- }
61
- }
62
- printWarnings();
63
- if (isHotUpdate) {
64
- tryApplyUpdates();
65
- }
66
- }
67
- function handleErrors(errors) {
68
- clearOutdatedErrors();
69
- isFirstCompilation = false;
70
- hasCompileErrors = true;
71
- var formatted = formatWebpackMessages({
72
- errors,
73
- warnings: []
74
- });
75
- if (typeof console !== "undefined" && typeof console.error === "function") {
76
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
77
- try {
78
- for (var _iterator = formatted.errors[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
79
- var error = _step.value;
80
- console.error(stripAnsi(error));
81
- }
82
- } catch (err) {
83
- _didIteratorError = true;
84
- _iteratorError = err;
85
- } finally {
86
- try {
87
- if (!_iteratorNormalCompletion && _iterator.return != null) {
88
- _iterator.return();
89
- }
90
- } finally {
91
- if (_didIteratorError) {
92
- throw _iteratorError;
93
- }
94
- }
95
- }
96
- }
97
- }
98
- function handleAvailableHash(hash) {
99
- mostRecentCompilationHash = hash;
100
- }
101
- connection.onmessage = function(e) {
102
- var message = JSON.parse(e.data);
103
- switch (message.type) {
104
- case "hash":
105
- handleAvailableHash(message.data);
106
- break;
107
- case "still-ok":
108
- case "ok":
109
- handleSuccess();
110
- break;
111
- case "content-changed":
112
- window.location.reload();
113
- break;
114
- case "warnings":
115
- handleWarnings(message.data);
116
- break;
117
- case "errors":
118
- handleErrors(message.data);
119
- break;
120
- default:
121
- }
122
- };
123
- function isUpdateAvailable() {
124
- return mostRecentCompilationHash !== __webpack_hash__;
125
- }
126
- function canApplyUpdates() {
127
- return module.hot.status() === "idle";
128
- }
129
- function tryApplyUpdates() {
130
- if (!module.hot) {
131
- window.location.reload();
132
- return;
133
- }
134
- if (!isUpdateAvailable() || !canApplyUpdates()) {
135
- return;
136
- }
137
- function handleApplyUpdates(err, updatedModules) {
138
- var wantsForcedReload = err || !updatedModules || hadRuntimeError;
139
- if (wantsForcedReload) {
140
- window.location.reload();
141
- return;
142
- }
143
- if (isUpdateAvailable()) {
144
- tryApplyUpdates();
145
- }
146
- }
147
- var result = module.hot.check(
148
- /* autoApply */
149
- true,
150
- handleApplyUpdates
151
- );
152
- if (result === null || result === void 0 ? void 0 : result.then) {
153
- result.then(function(updatedModules) {
154
- handleApplyUpdates(null, updatedModules);
155
- }, function(err) {
156
- handleApplyUpdates(err, null);
157
- });
158
- }
159
- }
160
- }
161
- });
162
- export default require_hmr_client();
@@ -1,82 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
3
- import { _ as _inherits } from "@swc/helpers/_/_inherits";
4
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
5
- import { _ as _create_super } from "@swc/helpers/_/_create_super";
6
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
7
- import { EventEmitter } from "events";
8
- import SocketServer from "./socketServer";
9
- var noop = function() {
10
- };
11
- function getHMRClientPath(client) {
12
- var protocol = (client === null || client === void 0 ? void 0 : client.protocol) ? "&protocol=".concat(client.protocol) : "";
13
- var host = (client === null || client === void 0 ? void 0 : client.host) ? "&host=".concat(client.host) : "";
14
- var path = (client === null || client === void 0 ? void 0 : client.path) ? "&path=".concat(client.path) : "";
15
- var port = (client === null || client === void 0 ? void 0 : client.port) ? "&port=".concat(client.port) : "";
16
- var clientEntry = "".concat(require.resolve("@modern-js/server/hmr-client"), "?").concat(host).concat(path).concat(port).concat(protocol);
17
- return clientEntry;
18
- }
19
- var DevMiddleware = /* @__PURE__ */ function(EventEmitter2) {
20
- "use strict";
21
- _inherits(DevMiddleware2, EventEmitter2);
22
- var _super = _create_super(DevMiddleware2);
23
- function DevMiddleware2(param) {
24
- var dev = param.dev, devMiddleware = param.devMiddleware;
25
- _class_call_check(this, DevMiddleware2);
26
- var _this;
27
- _this = _super.call(this);
28
- _this.devOptions = dev;
29
- _this.socketServer = new SocketServer(dev);
30
- if (devMiddleware) {
31
- _this.middleware = _this.setupDevMiddleware(devMiddleware);
32
- }
33
- return _this;
34
- }
35
- var _proto = DevMiddleware2.prototype;
36
- _proto.init = function init(app) {
37
- var _this = this;
38
- app.on("listening", function() {
39
- _this.socketServer.prepare(app);
40
- });
41
- var _this1 = this;
42
- app.on("close", /* @__PURE__ */ _async_to_generator(function() {
43
- var _this_middleware;
44
- return _ts_generator(this, function(_state) {
45
- (_this_middleware = _this1.middleware) === null || _this_middleware === void 0 ? void 0 : _this_middleware.close(noop);
46
- _this1.socketServer.close();
47
- return [
48
- 2
49
- ];
50
- });
51
- }));
52
- };
53
- _proto.sockWrite = function sockWrite(type, data) {
54
- this.socketServer.sockWrite(type, data);
55
- };
56
- _proto.setupDevMiddleware = function setupDevMiddleware(devMiddleware) {
57
- var _this = this;
58
- var devOptions = this.devOptions;
59
- var callbacks = {
60
- onInvalid: function() {
61
- _this.socketServer.sockWrite("invalid");
62
- },
63
- onDone: function(stats) {
64
- _this.socketServer.updateStats(stats);
65
- _this.emit("change", stats);
66
- }
67
- };
68
- var enableHMR = this.devOptions.hot || this.devOptions.liveReload;
69
- var middleware = devMiddleware(_object_spread({
70
- headers: devOptions.headers,
71
- stats: false,
72
- callbacks,
73
- hmrClientPath: enableHMR ? getHMRClientPath(devOptions.client) : void 0,
74
- serverSideRender: true
75
- }, devOptions.devMiddleware));
76
- return middleware;
77
- };
78
- return DevMiddleware2;
79
- }(EventEmitter);
80
- export {
81
- DevMiddleware as default
82
- };