@modern-js/prod-server 2.35.1 → 2.36.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.
Files changed (144) hide show
  1. package/dist/cjs/constants.js +33 -27
  2. package/dist/cjs/index.js +41 -33
  3. package/dist/cjs/libs/context/context.js +71 -45
  4. package/dist/cjs/libs/context/index.js +27 -17
  5. package/dist/cjs/libs/hook-api/base.js +49 -30
  6. package/dist/cjs/libs/hook-api/index.js +36 -28
  7. package/dist/cjs/libs/hook-api/index.worker.js +39 -31
  8. package/dist/cjs/libs/hook-api/route.js +28 -11
  9. package/dist/cjs/libs/hook-api/template.js +27 -17
  10. package/dist/cjs/libs/hook-api/templateForStream.js +31 -14
  11. package/dist/cjs/libs/loadConfig.js +46 -29
  12. package/dist/cjs/libs/metrics.js +24 -7
  13. package/dist/cjs/libs/preload/flushServerHeader.js +28 -11
  14. package/dist/cjs/libs/preload/index.js +22 -5
  15. package/dist/cjs/libs/preload/parseLinks.js +49 -24
  16. package/dist/cjs/libs/preload/shouldFlushServerHeader.js +25 -15
  17. package/dist/cjs/libs/preload/transformLinks2String.js +26 -9
  18. package/dist/cjs/libs/proxy.js +29 -19
  19. package/dist/cjs/libs/render/cache/__tests__/cache.fun.test.js +40 -22
  20. package/dist/cjs/libs/render/cache/__tests__/cache.test.js +26 -29
  21. package/dist/cjs/libs/render/cache/__tests__/cacheable.js +24 -7
  22. package/dist/cjs/libs/render/cache/__tests__/error-configuration.js +24 -7
  23. package/dist/cjs/libs/render/cache/__tests__/matched-cache.js +24 -7
  24. package/dist/cjs/libs/render/cache/index.js +29 -16
  25. package/dist/cjs/libs/render/cache/page-caches/index.js +26 -9
  26. package/dist/cjs/libs/render/cache/page-caches/lru.js +39 -13
  27. package/dist/cjs/libs/render/cache/spr.js +61 -42
  28. package/dist/cjs/libs/render/cache/type.js +15 -3
  29. package/dist/cjs/libs/render/cache/util.js +49 -36
  30. package/dist/cjs/libs/render/index.js +54 -29
  31. package/dist/cjs/libs/render/measure.js +27 -17
  32. package/dist/cjs/libs/render/reader.js +49 -33
  33. package/dist/cjs/libs/render/ssr.js +52 -26
  34. package/dist/cjs/libs/render/static.js +44 -18
  35. package/dist/cjs/libs/render/type.js +24 -7
  36. package/dist/cjs/libs/render/utils.js +29 -19
  37. package/dist/cjs/libs/reporter.js +24 -7
  38. package/dist/cjs/libs/route/index.js +30 -20
  39. package/dist/cjs/libs/route/matcher.js +35 -18
  40. package/dist/cjs/libs/route/route.js +34 -17
  41. package/dist/cjs/libs/serveFile.js +40 -21
  42. package/dist/cjs/libs/serverTiming.js +27 -10
  43. package/dist/cjs/renderHtml.js +17 -20
  44. package/dist/cjs/server/index.js +71 -45
  45. package/dist/cjs/server/modernServer.js +120 -95
  46. package/dist/cjs/server/modernServerSplit.js +29 -12
  47. package/dist/cjs/type.js +15 -3
  48. package/dist/cjs/utils.js +41 -38
  49. package/dist/cjs/workerServer.js +44 -34
  50. package/dist/esm/constants.js +14 -6
  51. package/dist/esm/index.js +11 -5
  52. package/dist/esm/libs/context/context.js +4 -1
  53. package/dist/esm/libs/context/index.js +5 -2
  54. package/dist/esm/libs/hook-api/base.js +6 -2
  55. package/dist/esm/libs/hook-api/index.js +11 -5
  56. package/dist/esm/libs/hook-api/index.worker.js +16 -10
  57. package/dist/esm/libs/hook-api/route.js +4 -1
  58. package/dist/esm/libs/hook-api/template.js +6 -2
  59. package/dist/esm/libs/hook-api/templateForStream.js +4 -1
  60. package/dist/esm/libs/loadConfig.js +8 -3
  61. package/dist/esm/libs/metrics.js +3 -1
  62. package/dist/esm/libs/preload/flushServerHeader.js +6 -3
  63. package/dist/esm/libs/preload/parseLinks.js +6 -3
  64. package/dist/esm/libs/preload/shouldFlushServerHeader.js +6 -2
  65. package/dist/esm/libs/preload/transformLinks2String.js +4 -1
  66. package/dist/esm/libs/proxy.js +9 -5
  67. package/dist/esm/libs/render/cache/__tests__/cacheable.js +4 -1
  68. package/dist/esm/libs/render/cache/__tests__/error-configuration.js +4 -1
  69. package/dist/esm/libs/render/cache/__tests__/matched-cache.js +4 -1
  70. package/dist/esm/libs/render/cache/index.js +4 -1
  71. package/dist/esm/libs/render/cache/page-caches/index.js +5 -2
  72. package/dist/esm/libs/render/cache/page-caches/lru.js +4 -1
  73. package/dist/esm/libs/render/cache/spr.js +11 -7
  74. package/dist/esm/libs/render/cache/type.js +0 -1
  75. package/dist/esm/libs/render/cache/util.js +18 -8
  76. package/dist/esm/libs/render/index.js +12 -9
  77. package/dist/esm/libs/render/measure.js +15 -11
  78. package/dist/esm/libs/render/reader.js +15 -8
  79. package/dist/esm/libs/render/ssr.js +11 -8
  80. package/dist/esm/libs/render/static.js +5 -2
  81. package/dist/esm/libs/render/type.js +4 -1
  82. package/dist/esm/libs/render/utils.js +6 -2
  83. package/dist/esm/libs/reporter.js +4 -1
  84. package/dist/esm/libs/route/index.js +5 -2
  85. package/dist/esm/libs/route/matcher.js +4 -1
  86. package/dist/esm/libs/route/route.js +4 -1
  87. package/dist/esm/libs/serveFile.js +6 -2
  88. package/dist/esm/libs/serverTiming.js +4 -1
  89. package/dist/esm/renderHtml.js +133 -124
  90. package/dist/esm/server/index.js +9 -6
  91. package/dist/esm/server/modernServer.js +13 -10
  92. package/dist/esm/server/modernServerSplit.js +4 -1
  93. package/dist/esm/type.js +0 -1
  94. package/dist/esm/utils.js +23 -12
  95. package/dist/esm/workerServer.js +21 -17
  96. package/dist/esm-node/constants.js +14 -6
  97. package/dist/esm-node/index.js +11 -5
  98. package/dist/esm-node/libs/context/context.js +4 -1
  99. package/dist/esm-node/libs/context/index.js +5 -2
  100. package/dist/esm-node/libs/hook-api/base.js +6 -2
  101. package/dist/esm-node/libs/hook-api/index.js +10 -4
  102. package/dist/esm-node/libs/hook-api/index.worker.js +10 -4
  103. package/dist/esm-node/libs/hook-api/route.js +4 -1
  104. package/dist/esm-node/libs/hook-api/template.js +6 -2
  105. package/dist/esm-node/libs/hook-api/templateForStream.js +4 -1
  106. package/dist/esm-node/libs/loadConfig.js +8 -3
  107. package/dist/esm-node/libs/metrics.js +3 -1
  108. package/dist/esm-node/libs/preload/flushServerHeader.js +4 -1
  109. package/dist/esm-node/libs/preload/parseLinks.js +4 -1
  110. package/dist/esm-node/libs/preload/shouldFlushServerHeader.js +6 -2
  111. package/dist/esm-node/libs/preload/transformLinks2String.js +4 -1
  112. package/dist/esm-node/libs/proxy.js +6 -2
  113. package/dist/esm-node/libs/render/cache/__tests__/cacheable.js +4 -1
  114. package/dist/esm-node/libs/render/cache/__tests__/error-configuration.js +4 -1
  115. package/dist/esm-node/libs/render/cache/__tests__/matched-cache.js +4 -1
  116. package/dist/esm-node/libs/render/cache/index.js +4 -1
  117. package/dist/esm-node/libs/render/cache/page-caches/index.js +4 -1
  118. package/dist/esm-node/libs/render/cache/page-caches/lru.js +4 -1
  119. package/dist/esm-node/libs/render/cache/spr.js +6 -2
  120. package/dist/esm-node/libs/render/cache/type.js +0 -1
  121. package/dist/esm-node/libs/render/cache/util.js +18 -8
  122. package/dist/esm-node/libs/render/index.js +4 -1
  123. package/dist/esm-node/libs/render/measure.js +6 -2
  124. package/dist/esm-node/libs/render/reader.js +12 -5
  125. package/dist/esm-node/libs/render/ssr.js +4 -1
  126. package/dist/esm-node/libs/render/static.js +4 -1
  127. package/dist/esm-node/libs/render/type.js +4 -1
  128. package/dist/esm-node/libs/render/utils.js +6 -2
  129. package/dist/esm-node/libs/reporter.js +4 -1
  130. package/dist/esm-node/libs/route/index.js +5 -2
  131. package/dist/esm-node/libs/route/matcher.js +4 -1
  132. package/dist/esm-node/libs/route/route.js +4 -1
  133. package/dist/esm-node/libs/serveFile.js +6 -2
  134. package/dist/esm-node/libs/serverTiming.js +4 -1
  135. package/dist/esm-node/renderHtml.js +72 -63
  136. package/dist/esm-node/server/index.js +6 -3
  137. package/dist/esm-node/server/modernServer.js +4 -1
  138. package/dist/esm-node/server/modernServerSplit.js +4 -1
  139. package/dist/esm-node/type.js +0 -1
  140. package/dist/esm-node/utils.js +20 -9
  141. package/dist/esm-node/workerServer.js +8 -4
  142. package/dist/types/libs/context/context.d.ts +1 -1
  143. package/dist/types/utils.d.ts +1 -1
  144. package/package.json +9 -9
@@ -1,29 +1,50 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
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 modernServer_exports = {};
30
+ __export(modernServer_exports, {
31
+ ModernServer: () => ModernServer
4
32
  });
5
- Object.defineProperty(exports, "ModernServer", {
6
- enumerable: true,
7
- get: function() {
8
- return ModernServer;
9
- }
10
- });
11
- const _define_property = require("@swc/helpers/_/_define_property");
12
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
13
- const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
14
- const _http = require("http");
15
- const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
16
- const _utils = require("@modern-js/utils");
17
- const _time = require("@modern-js/runtime-utils/time");
18
- const _route = require("../libs/route");
19
- const _render = require("../libs/render");
20
- const _serveFile = require("../libs/serveFile");
21
- const _utils1 = require("../utils");
22
- const _reader = /* @__PURE__ */ _interop_require_wildcard._(require("../libs/render/reader"));
23
- const _proxy = require("../libs/proxy");
24
- const _context = require("../libs/context");
25
- const _constants = require("../constants");
26
- const _hookapi = require("../libs/hook-api");
33
+ module.exports = __toCommonJS(modernServer_exports);
34
+ var import_define_property = require("@swc/helpers/_/_define_property");
35
+ var import_http = require("http");
36
+ var import_path = __toESM(require("path"));
37
+ var import_utils = require("@modern-js/utils");
38
+ var import_time = require("@modern-js/runtime-utils/time");
39
+ var import_route = require("../libs/route");
40
+ var import_render = require("../libs/render");
41
+ var import_serveFile = require("../libs/serveFile");
42
+ var import_utils2 = require("../utils");
43
+ var reader = __toESM(require("../libs/render/reader"));
44
+ var import_proxy = require("../libs/proxy");
45
+ var import_context = require("../libs/context");
46
+ var import_constants = require("../constants");
47
+ var import_hook_api = require("../libs/hook-api");
27
48
  const SERVER_DIR = "./server";
28
49
  class ModernServer {
29
50
  // server prepare
@@ -32,9 +53,9 @@ class ModernServer {
32
53
  this.runner = runner;
33
54
  const { distDir, conf } = this;
34
55
  this.initReader();
35
- (0, _utils1.debug)("final server conf", this.conf);
56
+ (0, import_utils2.debug)("final server conf", this.conf);
36
57
  if ((_conf_bff = conf.bff) === null || _conf_bff === void 0 ? void 0 : _conf_bff.proxy) {
37
- const { handlers, handleUpgrade } = (0, _proxy.createProxyHandler)(conf.bff.proxy);
58
+ const { handlers, handleUpgrade } = (0, import_proxy.createProxyHandler)(conf.bff.proxy);
38
59
  app && handleUpgrade(app);
39
60
  handlers.forEach((handler) => {
40
61
  this.addHandler(handler);
@@ -51,7 +72,7 @@ class ModernServer {
51
72
  this.routeRenderHandler = this.getRenderHandler();
52
73
  await this.setupBeforeProdMiddleware();
53
74
  this.addHandler(this.setupStaticMiddleware((_this_conf_output = this.conf.output) === null || _this_conf_output === void 0 ? void 0 : _this_conf_output.assetPrefix));
54
- this.addHandler(_serveFile.faviconFallbackHandler);
75
+ this.addHandler(import_serveFile.faviconFallbackHandler);
55
76
  this.addHandler(this.routeHandler.bind(this));
56
77
  this.compose();
57
78
  }
@@ -60,7 +81,7 @@ class ModernServer {
60
81
  const { distDir, staticGenerate, conf, metaName } = this;
61
82
  const ssrConfig = (_this_conf_server = this.conf.server) === null || _this_conf_server === void 0 ? void 0 : _this_conf_server.ssr;
62
83
  const forceCSR = typeof ssrConfig === "object" ? ssrConfig.forceCSR : false;
63
- return (0, _render.createRenderHandler)({
84
+ return (0, import_render.createRenderHandler)({
64
85
  distDir,
65
86
  staticGenerate,
66
87
  forceCSR,
@@ -79,7 +100,7 @@ class ModernServer {
79
100
  async render(req, res, url) {
80
101
  req.logger = req.logger || this.logger;
81
102
  req.metrics = req.metrics || this.metrics;
82
- const context = (0, _context.createContext)(req, res, {
103
+ const context = (0, import_context.createContext)(req, res, {
83
104
  metaName: this.metaName
84
105
  });
85
106
  const matched = this.router.match(url || context.path);
@@ -98,7 +119,7 @@ class ModernServer {
98
119
  return result.content.toString();
99
120
  }
100
121
  async createHTTPServer(handler) {
101
- return (0, _http.createServer)(handler);
122
+ return (0, import_http.createServer)(handler);
102
123
  }
103
124
  /* —————————————————————— function will be overwrite —————————————————————— */
104
125
  initReader() {
@@ -106,9 +127,9 @@ class ModernServer {
106
127
  }
107
128
  async onServerChange({ filepath }) {
108
129
  const { pwd } = this;
109
- const { api, server } = _constants.AGGRED_DIR;
110
- const apiPath = _path.default.normalize(_path.default.join(pwd, api));
111
- const serverPath = _path.default.normalize(_path.default.join(pwd, server));
130
+ const { api, server } = import_constants.AGGRED_DIR;
131
+ const apiPath = import_path.default.normalize(import_path.default.join(pwd, api));
132
+ const serverPath = import_path.default.normalize(import_path.default.join(pwd, server));
112
133
  const onlyApi = filepath.startsWith(apiPath);
113
134
  const onlyWeb = filepath.startsWith(serverPath);
114
135
  await this.prepareFrameHandler({
@@ -121,9 +142,9 @@ class ModernServer {
121
142
  if (this.presetRoutes) {
122
143
  return this.presetRoutes;
123
144
  }
124
- const file = _path.default.join(this.distDir, _utils.ROUTE_SPEC_FILE);
125
- if (_utils.fs.existsSync(file)) {
126
- const content = _utils.fs.readJSONSync(file);
145
+ const file = import_path.default.join(this.distDir, import_utils.ROUTE_SPEC_FILE);
146
+ if (import_utils.fs.existsSync(file)) {
147
+ const content = import_utils.fs.readJSONSync(file);
127
148
  return content.routes;
128
149
  }
129
150
  return [];
@@ -135,7 +156,7 @@ class ModernServer {
135
156
  }
136
157
  // return 404 page
137
158
  render404(context) {
138
- context.error(_constants.ERROR_DIGEST.ENOTF, "404 Not Found");
159
+ context.error(import_constants.ERROR_DIGEST.ENOTF, "404 Not Found");
139
160
  this.renderErrorPage(context, 404);
140
161
  }
141
162
  async prepareLoaderHandler(specs, distDir) {
@@ -152,16 +173,16 @@ class ModernServer {
152
173
  async prepareFrameHandler(options) {
153
174
  const { workDir, runner } = this;
154
175
  const { onlyApi, onlyWeb } = options || {};
155
- const { getMiddlewares, ...collector } = (0, _utils1.createMiddlewareCollecter)();
176
+ const { getMiddlewares, ...collector } = (0, import_utils2.createMiddlewareCollecter)();
156
177
  await runner.gather(collector);
157
178
  const { api: pluginAPIExt, web: pluginWebExt } = getMiddlewares();
158
- const serverDir = _path.default.join(workDir, SERVER_DIR);
159
- if (await _utils.fs.pathExists(_path.default.join(serverDir)) && !onlyApi) {
160
- const webExtension = (0, _utils1.mergeExtension)(pluginWebExt);
179
+ const serverDir = import_path.default.join(workDir, SERVER_DIR);
180
+ if (await import_utils.fs.pathExists(import_path.default.join(serverDir)) && !onlyApi) {
181
+ const webExtension = (0, import_utils2.mergeExtension)(pluginWebExt);
161
182
  this.frameWebHandler = await this.prepareWebHandler(webExtension);
162
183
  }
163
184
  if (!onlyWeb) {
164
- const apiExtension = (0, _utils1.mergeExtension)(pluginAPIExt);
185
+ const apiExtension = (0, import_utils2.mergeExtension)(pluginAPIExt);
165
186
  this.frameAPIHandler = await this.prepareAPIHandler(apiExtension);
166
187
  }
167
188
  }
@@ -179,7 +200,7 @@ class ModernServer {
179
200
  const { workDir, runner, conf } = this;
180
201
  const { bff } = conf;
181
202
  const prefix = (bff === null || bff === void 0 ? void 0 : bff.prefix) || "/api";
182
- const webOnly = await (0, _utils.isWebOnly)();
203
+ const webOnly = await (0, import_utils.isWebOnly)();
183
204
  if (webOnly && process.env.NODE_ENV === "development") {
184
205
  return (req, res) => {
185
206
  res.setHeader("Content-Type", "text/plain");
@@ -207,8 +228,8 @@ class ModernServer {
207
228
  });
208
229
  }
209
230
  setupStaticMiddleware(prefix) {
210
- const staticPathRegExp = (0, _utils1.getStaticReg)(this.conf.output, this.conf.html, prefix);
211
- return (0, _serveFile.createStaticFileHandler)([
231
+ const staticPathRegExp = (0, import_utils2.getStaticReg)(this.conf.output, this.conf.html, prefix);
232
+ return (0, import_serveFile.createStaticFileHandler)([
212
233
  {
213
234
  path: staticPathRegExp,
214
235
  target: this.distDir
@@ -270,14 +291,14 @@ class ModernServer {
270
291
  const { distDir } = this;
271
292
  const bundles = this.router.getBundles();
272
293
  bundles.forEach((bundle) => {
273
- const filepath = _path.default.join(distDir, bundle);
274
- if (_utils.fs.existsSync(filepath)) {
294
+ const filepath = import_path.default.join(distDir, bundle);
295
+ if (import_utils.fs.existsSync(filepath)) {
275
296
  require(filepath);
276
297
  }
277
298
  });
278
299
  }
279
300
  createContext(req, res, options = {}) {
280
- return (0, _context.createContext)(req, res, options);
301
+ return (0, import_context.createContext)(req, res, options);
281
302
  }
282
303
  /* —————————————————————— private function —————————————————————— */
283
304
  // handler route.json, include api / csr / ssr
@@ -291,24 +312,24 @@ class ModernServer {
291
312
  await reporter.init({
292
313
  match: matched
293
314
  });
294
- const end = (0, _time.time)();
315
+ const end = (0, import_time.time)();
295
316
  res.on("finish", () => {
296
317
  const cost = end();
297
- reporter.reportTiming(_constants.ServerReportTimings.SERVER_HANDLE_REQUEST, cost);
318
+ reporter.reportTiming(import_constants.ServerReportTimings.SERVER_HANDLE_REQUEST, cost);
298
319
  });
299
320
  let route = matched.generate(context.url);
300
321
  if (route.isApi) {
301
322
  await this.handleAPI(context);
302
323
  return;
303
324
  }
304
- if (route.entryName && this.runMode === _constants.RUN_MODE.FULL) {
305
- const afterMatchContext = (0, _hookapi.createAfterMatchContext)(context, route.entryName);
306
- const end2 = (0, _time.time)();
325
+ if (route.entryName && this.runMode === import_constants.RUN_MODE.FULL) {
326
+ const afterMatchContext = (0, import_hook_api.createAfterMatchContext)(context, route.entryName);
327
+ const end2 = (0, import_time.time)();
307
328
  await this.runner.afterMatch(afterMatchContext, {
308
- onLast: _utils1.noop
329
+ onLast: import_utils2.noop
309
330
  });
310
331
  const cost = end2();
311
- cost && reporter.reportTiming(_constants.ServerReportTimings.SERVER_HOOK_AFTER_MATCH, cost);
332
+ cost && reporter.reportTiming(import_constants.ServerReportTimings.SERVER_HOOK_AFTER_MATCH, cost);
312
333
  if (this.isSend(res)) {
313
334
  return;
314
335
  }
@@ -328,11 +349,11 @@ class ModernServer {
328
349
  }
329
350
  if (this.frameWebHandler) {
330
351
  res.locals = res.locals || {};
331
- const middlewareContext = (0, _hookapi.createMiddlewareContext)(context);
332
- const end2 = (0, _time.time)();
352
+ const middlewareContext = (0, import_hook_api.createMiddlewareContext)(context);
353
+ const end2 = (0, import_time.time)();
333
354
  await this.frameWebHandler(middlewareContext);
334
355
  const cost = end2();
335
- cost && reporter.reportTiming(_constants.ServerReportTimings.SERVER_MIDDLEWARE, cost);
356
+ cost && reporter.reportTiming(import_constants.ServerReportTimings.SERVER_MIDDLEWARE, cost);
336
357
  res.locals = {
337
358
  ...res.locals,
338
359
  ...middlewareContext.response.locals
@@ -351,14 +372,14 @@ class ModernServer {
351
372
  responseStream.pipe(res);
352
373
  return;
353
374
  }
354
- if (route.entryName && this.runMode === _constants.RUN_MODE.FULL) {
355
- const afterRenderContext = (0, _hookapi.createAfterRenderContext)(context, response.toString());
356
- const end2 = (0, _time.time)();
375
+ if (route.entryName && this.runMode === import_constants.RUN_MODE.FULL) {
376
+ const afterRenderContext = (0, import_hook_api.createAfterRenderContext)(context, response.toString());
377
+ const end2 = (0, import_time.time)();
357
378
  await this.runner.afterRender(afterRenderContext, {
358
- onLast: _utils1.noop
379
+ onLast: import_utils2.noop
359
380
  });
360
381
  const cost = end2();
361
- cost && reporter.reportTiming(_constants.ServerReportTimings.SERVER_HOOK_AFTER_RENDER, cost);
382
+ cost && reporter.reportTiming(import_constants.ServerReportTimings.SERVER_HOOK_AFTER_RENDER, cost);
362
383
  if (this.isSend(res)) {
363
384
  return;
364
385
  }
@@ -374,7 +395,7 @@ class ModernServer {
374
395
  } else if (res.headersSent) {
375
396
  return true;
376
397
  }
377
- if (res.getHeader("Location") && (0, _utils1.isRedirect)(res.statusCode)) {
398
+ if (res.getHeader("Location") && (0, import_utils2.isRedirect)(res.statusCode)) {
378
399
  res.end();
379
400
  return true;
380
401
  }
@@ -403,7 +424,7 @@ class ModernServer {
403
424
  }
404
425
  try {
405
426
  const result = handler(context, dispatch);
406
- if ((0, _utils.isPromise)(result)) {
427
+ if ((0, import_utils.isPromise)(result)) {
407
428
  return result.catch(onError);
408
429
  }
409
430
  } catch (e) {
@@ -429,8 +450,8 @@ class ModernServer {
429
450
  } catch (e) {
430
451
  this.logger.error(e);
431
452
  res.statusCode = 500;
432
- res.setHeader("content-type", _utils.mime.contentType("html"));
433
- return res.end((0, _utils1.createErrorDocument)(500, _constants.ERROR_PAGE_TEXT[500]));
453
+ res.setHeader("content-type", import_utils.mime.contentType("html"));
454
+ return res.end((0, import_utils2.createErrorDocument)(500, import_constants.ERROR_PAGE_TEXT[500]));
434
455
  }
435
456
  try {
436
457
  return this._handler(context, next);
@@ -444,13 +465,13 @@ class ModernServer {
444
465
  res.end();
445
466
  }
446
467
  onError(context, err) {
447
- context.error(_constants.ERROR_DIGEST.EINTER, err);
468
+ context.error(import_constants.ERROR_DIGEST.EINTER, err);
448
469
  this.renderErrorPage(context, 500);
449
470
  }
450
471
  async renderErrorPage(context, status) {
451
472
  const { res } = context;
452
473
  context.status = status;
453
- res.set("content-type", _utils.mime.contentType("html"));
474
+ res.set("content-type", import_utils.mime.contentType("html"));
454
475
  const statusPage = `/${status}`;
455
476
  const customErrorPage = `/_error`;
456
477
  const matched = this.router.match(statusPage) || this.router.match(customErrorPage);
@@ -472,43 +493,47 @@ class ModernServer {
472
493
  }
473
494
  }
474
495
  }
475
- const text = _constants.ERROR_PAGE_TEXT[status] || _constants.ERROR_PAGE_TEXT[500];
476
- context.res.end((0, _utils1.createErrorDocument)(status, text));
496
+ const text = import_constants.ERROR_PAGE_TEXT[status] || import_constants.ERROR_PAGE_TEXT[500];
497
+ context.res.end((0, import_utils2.createErrorDocument)(status, text));
477
498
  }
478
499
  constructor({ pwd, config, routes, staticGenerate, logger, metrics, runMode, proxyTarget, appContext }) {
479
- _define_property._(this, "pwd", void 0);
480
- _define_property._(this, "distDir", void 0);
481
- _define_property._(this, "workDir", void 0);
482
- _define_property._(this, "router", void 0);
483
- _define_property._(this, "conf", void 0);
484
- _define_property._(this, "handlers", []);
485
- _define_property._(this, "presetRoutes", void 0);
486
- _define_property._(this, "runner", void 0);
487
- _define_property._(this, "logger", void 0);
488
- _define_property._(this, "metrics", void 0);
489
- _define_property._(this, "runMode", void 0);
490
- _define_property._(this, "reader", _reader);
491
- _define_property._(this, "proxyTarget", void 0);
492
- _define_property._(this, "routeRenderHandler", void 0);
493
- _define_property._(this, "staticGenerate", void 0);
494
- _define_property._(this, "metaName", void 0);
495
- _define_property._(this, "loaderHandler", null);
496
- _define_property._(this, "frameWebHandler", null);
497
- _define_property._(this, "frameAPIHandler", null);
498
- _define_property._(this, "_handler", void 0);
500
+ (0, import_define_property._)(this, "pwd", void 0);
501
+ (0, import_define_property._)(this, "distDir", void 0);
502
+ (0, import_define_property._)(this, "workDir", void 0);
503
+ (0, import_define_property._)(this, "router", void 0);
504
+ (0, import_define_property._)(this, "conf", void 0);
505
+ (0, import_define_property._)(this, "handlers", []);
506
+ (0, import_define_property._)(this, "presetRoutes", void 0);
507
+ (0, import_define_property._)(this, "runner", void 0);
508
+ (0, import_define_property._)(this, "logger", void 0);
509
+ (0, import_define_property._)(this, "metrics", void 0);
510
+ (0, import_define_property._)(this, "runMode", void 0);
511
+ (0, import_define_property._)(this, "reader", reader);
512
+ (0, import_define_property._)(this, "proxyTarget", void 0);
513
+ (0, import_define_property._)(this, "routeRenderHandler", void 0);
514
+ (0, import_define_property._)(this, "staticGenerate", void 0);
515
+ (0, import_define_property._)(this, "metaName", void 0);
516
+ (0, import_define_property._)(this, "loaderHandler", null);
517
+ (0, import_define_property._)(this, "frameWebHandler", null);
518
+ (0, import_define_property._)(this, "frameAPIHandler", null);
519
+ (0, import_define_property._)(this, "_handler", void 0);
499
520
  require("ignore-styles");
500
521
  this.pwd = pwd;
501
- this.distDir = _path.default.resolve(pwd, config.output.path || "dist");
522
+ this.distDir = import_path.default.resolve(pwd, config.output.path || "dist");
502
523
  this.workDir = this.distDir;
503
524
  this.conf = config;
504
- (0, _utils1.debug)("server conf", this.conf);
525
+ (0, import_utils2.debug)("server conf", this.conf);
505
526
  this.logger = logger;
506
527
  this.metrics = metrics;
507
- this.router = new _route.RouteMatchManager();
528
+ this.router = new import_route.RouteMatchManager();
508
529
  this.presetRoutes = routes;
509
530
  this.proxyTarget = proxyTarget;
510
531
  this.staticGenerate = staticGenerate || false;
511
- this.runMode = runMode || _constants.RUN_MODE.FULL;
532
+ this.runMode = runMode || import_constants.RUN_MODE.FULL;
512
533
  this.metaName = appContext === null || appContext === void 0 ? void 0 : appContext.metaName;
513
534
  }
514
535
  }
536
+ // Annotate the CommonJS export names for ESM import in node:
537
+ 0 && (module.exports = {
538
+ ModernServer
539
+ });
@@ -1,15 +1,28 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "createProdServer", {
6
- enumerable: true,
7
- get: function() {
8
- return createProdServer;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
9
15
  }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var modernServerSplit_exports = {};
20
+ __export(modernServerSplit_exports, {
21
+ createProdServer: () => createProdServer
10
22
  });
11
- const _modernServer = require("./modernServer");
12
- class ModernSSRServer extends _modernServer.ModernServer {
23
+ module.exports = __toCommonJS(modernServerSplit_exports);
24
+ var import_modernServer = require("./modernServer");
25
+ class ModernSSRServer extends import_modernServer.ModernServer {
13
26
  prepareAPIHandler(_) {
14
27
  return null;
15
28
  }
@@ -17,7 +30,7 @@ class ModernSSRServer extends _modernServer.ModernServer {
17
30
  return this.render404(context);
18
31
  }
19
32
  }
20
- class ModernAPIServer extends _modernServer.ModernServer {
33
+ class ModernAPIServer extends import_modernServer.ModernServer {
21
34
  prepareWebHandler(_) {
22
35
  return null;
23
36
  }
@@ -25,7 +38,7 @@ class ModernAPIServer extends _modernServer.ModernServer {
25
38
  return routes.filter((route) => route.isApi);
26
39
  }
27
40
  }
28
- class ModernWebServer extends _modernServer.ModernServer {
41
+ class ModernWebServer extends import_modernServer.ModernServer {
29
42
  async warmupSSRBundle() {
30
43
  return null;
31
44
  }
@@ -45,6 +58,10 @@ const createProdServer = (options) => {
45
58
  } else if (options.webOnly) {
46
59
  return new ModernWebServer(options);
47
60
  } else {
48
- return new _modernServer.ModernServer(options);
61
+ return new import_modernServer.ModernServer(options);
49
62
  }
50
63
  };
64
+ // Annotate the CommonJS export names for ESM import in node:
65
+ 0 && (module.exports = {
66
+ createProdServer
67
+ });
package/dist/cjs/type.js CHANGED
@@ -1,4 +1,16 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var type_exports = {};
16
+ module.exports = __toCommonJS(type_exports);
package/dist/cjs/utils.js CHANGED
@@ -1,45 +1,36 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
6
7
  for (var name in all)
7
- Object.defineProperty(target, name, {
8
- enumerable: true,
9
- get: all[name]
10
- });
11
- }
12
- _export(exports, {
13
- debug: function() {
14
- return debug;
15
- },
16
- mergeExtension: function() {
17
- return mergeExtension;
18
- },
19
- noop: function() {
20
- return noop;
21
- },
22
- createErrorDocument: function() {
23
- return createErrorDocument;
24
- },
25
- createMiddlewareCollecter: function() {
26
- return createMiddlewareCollecter;
27
- },
28
- getStaticReg: function() {
29
- return getStaticReg;
30
- },
31
- prepareFavicons: function() {
32
- return prepareFavicons;
33
- },
34
- headersWithoutCookie: function() {
35
- return headersWithoutCookie;
36
- },
37
- isRedirect: function() {
38
- return isRedirect;
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
39
15
  }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var utils_exports = {};
20
+ __export(utils_exports, {
21
+ createErrorDocument: () => createErrorDocument,
22
+ createMiddlewareCollecter: () => createMiddlewareCollecter,
23
+ debug: () => debug,
24
+ getStaticReg: () => getStaticReg,
25
+ headersWithoutCookie: () => headersWithoutCookie,
26
+ isRedirect: () => isRedirect,
27
+ mergeExtension: () => mergeExtension,
28
+ noop: () => noop,
29
+ prepareFavicons: () => prepareFavicons
40
30
  });
41
- const _utils = require("@modern-js/utils");
42
- const debug = (0, _utils.createDebugger)("prod-server");
31
+ module.exports = __toCommonJS(utils_exports);
32
+ var import_utils = require("@modern-js/utils");
33
+ const debug = (0, import_utils.createDebugger)("prod-server");
43
34
  const mergeExtension = (users) => {
44
35
  const output = [];
45
36
  return {
@@ -159,3 +150,15 @@ const isRedirect = (code) => {
159
150
  308
160
151
  ].includes(code);
161
152
  };
153
+ // Annotate the CommonJS export names for ESM import in node:
154
+ 0 && (module.exports = {
155
+ createErrorDocument,
156
+ createMiddlewareCollecter,
157
+ debug,
158
+ getStaticReg,
159
+ headersWithoutCookie,
160
+ isRedirect,
161
+ mergeExtension,
162
+ noop,
163
+ prepareFavicons
164
+ });