@modern-js/prod-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 (174) hide show
  1. package/README.md +20 -16
  2. package/dist/cjs/{libs/route/route.js → error.js} +16 -17
  3. package/dist/cjs/index.js +18 -24
  4. package/dist/cjs/init.js +71 -0
  5. package/dist/cjs/{type.js → types.js} +2 -2
  6. package/dist/esm/error.js +15 -0
  7. package/dist/esm/index.js +53 -19
  8. package/dist/esm/init.js +73 -0
  9. package/dist/esm-node/error.js +14 -0
  10. package/dist/esm-node/index.js +16 -17
  11. package/dist/esm-node/init.js +47 -0
  12. package/dist/types/error.d.ts +6 -0
  13. package/dist/types/index.d.ts +8 -11
  14. package/dist/types/init.d.ts +4 -0
  15. package/dist/types/types.d.ts +14 -0
  16. package/package.json +23 -64
  17. package/dist/cjs/constants.js +0 -72
  18. package/dist/cjs/libs/context/context.js +0 -236
  19. package/dist/cjs/libs/context/index.js +0 -31
  20. package/dist/cjs/libs/hook-api/afterRenderForStream.js +0 -34
  21. package/dist/cjs/libs/hook-api/base.js +0 -96
  22. package/dist/cjs/libs/hook-api/index.js +0 -85
  23. package/dist/cjs/libs/hook-api/index.worker.js +0 -116
  24. package/dist/cjs/libs/hook-api/route.js +0 -44
  25. package/dist/cjs/libs/hook-api/template.js +0 -72
  26. package/dist/cjs/libs/hook-api/templateForStream.js +0 -52
  27. package/dist/cjs/libs/loadConfig.js +0 -70
  28. package/dist/cjs/libs/metrics.js +0 -33
  29. package/dist/cjs/libs/preload/flushServerHeader.js +0 -49
  30. package/dist/cjs/libs/preload/index.js +0 -24
  31. package/dist/cjs/libs/preload/parseLinks.js +0 -124
  32. package/dist/cjs/libs/preload/shouldFlushServerHeader.js +0 -52
  33. package/dist/cjs/libs/preload/transformLinks2String.js +0 -150
  34. package/dist/cjs/libs/proxy.js +0 -99
  35. package/dist/cjs/libs/render/index.js +0 -109
  36. package/dist/cjs/libs/render/measure.js +0 -74
  37. package/dist/cjs/libs/render/ssr.js +0 -130
  38. package/dist/cjs/libs/render/ssrCache/cacheMod.js +0 -51
  39. package/dist/cjs/libs/render/ssrCache/index.js +0 -90
  40. package/dist/cjs/libs/render/ssrCache/manager.js +0 -120
  41. package/dist/cjs/libs/render/static.js +0 -72
  42. package/dist/cjs/libs/render/type.js +0 -33
  43. package/dist/cjs/libs/render/utils.js +0 -41
  44. package/dist/cjs/libs/reporter.js +0 -39
  45. package/dist/cjs/libs/route/index.js +0 -83
  46. package/dist/cjs/libs/route/matcher.js +0 -113
  47. package/dist/cjs/libs/serveFile.js +0 -84
  48. package/dist/cjs/libs/serverTiming.js +0 -41
  49. package/dist/cjs/renderHtml.js +0 -65
  50. package/dist/cjs/server/index.js +0 -223
  51. package/dist/cjs/server/modernServer.js +0 -522
  52. package/dist/cjs/server/modernServerSplit.js +0 -67
  53. package/dist/cjs/utils.js +0 -164
  54. package/dist/cjs/workerServer.js +0 -260
  55. package/dist/esm/constants.js +0 -43
  56. package/dist/esm/libs/context/context.js +0 -260
  57. package/dist/esm/libs/context/index.js +0 -8
  58. package/dist/esm/libs/hook-api/afterRenderForStream.js +0 -33
  59. package/dist/esm/libs/hook-api/base.js +0 -73
  60. package/dist/esm/libs/hook-api/index.js +0 -55
  61. package/dist/esm/libs/hook-api/index.worker.js +0 -99
  62. package/dist/esm/libs/hook-api/route.js +0 -26
  63. package/dist/esm/libs/hook-api/template.js +0 -56
  64. package/dist/esm/libs/hook-api/templateForStream.js +0 -35
  65. package/dist/esm/libs/loadConfig.js +0 -36
  66. package/dist/esm/libs/metrics.js +0 -9
  67. package/dist/esm/libs/preload/flushServerHeader.js +0 -50
  68. package/dist/esm/libs/preload/index.js +0 -2
  69. package/dist/esm/libs/preload/parseLinks.js +0 -172
  70. package/dist/esm/libs/preload/shouldFlushServerHeader.js +0 -27
  71. package/dist/esm/libs/preload/transformLinks2String.js +0 -140
  72. package/dist/esm/libs/proxy.js +0 -160
  73. package/dist/esm/libs/render/index.js +0 -175
  74. package/dist/esm/libs/render/measure.js +0 -69
  75. package/dist/esm/libs/render/ssr.js +0 -133
  76. package/dist/esm/libs/render/ssrCache/cacheMod.js +0 -25
  77. package/dist/esm/libs/render/ssrCache/index.js +0 -170
  78. package/dist/esm/libs/render/ssrCache/manager.js +0 -178
  79. package/dist/esm/libs/render/static.js +0 -100
  80. package/dist/esm/libs/render/type.js +0 -9
  81. package/dist/esm/libs/render/utils.js +0 -16
  82. package/dist/esm/libs/reporter.js +0 -15
  83. package/dist/esm/libs/route/index.js +0 -82
  84. package/dist/esm/libs/route/matcher.js +0 -92
  85. package/dist/esm/libs/route/route.js +0 -17
  86. package/dist/esm/libs/serveFile.js +0 -68
  87. package/dist/esm/libs/serverTiming.js +0 -22
  88. package/dist/esm/renderHtml.js +0 -133
  89. package/dist/esm/server/index.js +0 -350
  90. package/dist/esm/server/modernServer.js +0 -884
  91. package/dist/esm/server/modernServerSplit.js +0 -113
  92. package/dist/esm/utils.js +0 -103
  93. package/dist/esm/workerServer.js +0 -352
  94. package/dist/esm-node/constants.js +0 -43
  95. package/dist/esm-node/libs/context/context.js +0 -202
  96. package/dist/esm-node/libs/context/index.js +0 -6
  97. package/dist/esm-node/libs/hook-api/afterRenderForStream.js +0 -10
  98. package/dist/esm-node/libs/hook-api/base.js +0 -61
  99. package/dist/esm-node/libs/hook-api/index.js +0 -57
  100. package/dist/esm-node/libs/hook-api/index.worker.js +0 -89
  101. package/dist/esm-node/libs/hook-api/route.js +0 -20
  102. package/dist/esm-node/libs/hook-api/template.js +0 -47
  103. package/dist/esm-node/libs/hook-api/templateForStream.js +0 -28
  104. package/dist/esm-node/libs/loadConfig.js +0 -34
  105. package/dist/esm-node/libs/metrics.js +0 -9
  106. package/dist/esm-node/libs/preload/flushServerHeader.js +0 -25
  107. package/dist/esm-node/libs/preload/index.js +0 -2
  108. package/dist/esm-node/libs/preload/parseLinks.js +0 -90
  109. package/dist/esm-node/libs/preload/shouldFlushServerHeader.js +0 -27
  110. package/dist/esm-node/libs/preload/transformLinks2String.js +0 -126
  111. package/dist/esm-node/libs/proxy.js +0 -74
  112. package/dist/esm-node/libs/render/index.js +0 -75
  113. package/dist/esm-node/libs/render/measure.js +0 -49
  114. package/dist/esm-node/libs/render/ssr.js +0 -96
  115. package/dist/esm-node/libs/render/ssrCache/cacheMod.js +0 -17
  116. package/dist/esm-node/libs/render/ssrCache/index.js +0 -66
  117. package/dist/esm-node/libs/render/ssrCache/manager.js +0 -96
  118. package/dist/esm-node/libs/render/static.js +0 -38
  119. package/dist/esm-node/libs/render/type.js +0 -9
  120. package/dist/esm-node/libs/render/utils.js +0 -16
  121. package/dist/esm-node/libs/reporter.js +0 -15
  122. package/dist/esm-node/libs/route/index.js +0 -58
  123. package/dist/esm-node/libs/route/matcher.js +0 -89
  124. package/dist/esm-node/libs/route/route.js +0 -16
  125. package/dist/esm-node/libs/serveFile.js +0 -49
  126. package/dist/esm-node/libs/serverTiming.js +0 -17
  127. package/dist/esm-node/renderHtml.js +0 -73
  128. package/dist/esm-node/server/index.js +0 -189
  129. package/dist/esm-node/server/modernServer.js +0 -488
  130. package/dist/esm-node/server/modernServerSplit.js +0 -43
  131. package/dist/esm-node/utils.js +0 -132
  132. package/dist/esm-node/workerServer.js +0 -235
  133. package/dist/types/constants.d.ts +0 -30
  134. package/dist/types/libs/context/context.d.ts +0 -62
  135. package/dist/types/libs/context/index.d.ts +0 -7
  136. package/dist/types/libs/hook-api/afterRenderForStream.d.ts +0 -4
  137. package/dist/types/libs/hook-api/base.d.ts +0 -53
  138. package/dist/types/libs/hook-api/index.d.ts +0 -6
  139. package/dist/types/libs/hook-api/index.worker.d.ts +0 -19
  140. package/dist/types/libs/hook-api/route.d.ts +0 -9
  141. package/dist/types/libs/hook-api/template.d.ts +0 -22
  142. package/dist/types/libs/hook-api/templateForStream.d.ts +0 -8
  143. package/dist/types/libs/loadConfig.d.ts +0 -13
  144. package/dist/types/libs/metrics.d.ts +0 -3
  145. package/dist/types/libs/preload/flushServerHeader.d.ts +0 -14
  146. package/dist/types/libs/preload/index.d.ts +0 -2
  147. package/dist/types/libs/preload/parseLinks.d.ts +0 -13
  148. package/dist/types/libs/preload/shouldFlushServerHeader.d.ts +0 -3
  149. package/dist/types/libs/preload/transformLinks2String.d.ts +0 -3
  150. package/dist/types/libs/proxy.d.ts +0 -13
  151. package/dist/types/libs/render/index.d.ts +0 -21
  152. package/dist/types/libs/render/measure.d.ts +0 -10
  153. package/dist/types/libs/render/ssr.d.ts +0 -12
  154. package/dist/types/libs/render/ssrCache/cacheMod.d.ts +0 -8
  155. package/dist/types/libs/render/ssrCache/index.d.ts +0 -6
  156. package/dist/types/libs/render/ssrCache/manager.d.ts +0 -20
  157. package/dist/types/libs/render/static.d.ts +0 -3
  158. package/dist/types/libs/render/type.d.ts +0 -36
  159. package/dist/types/libs/render/utils.d.ts +0 -5
  160. package/dist/types/libs/reporter.d.ts +0 -2
  161. package/dist/types/libs/route/index.d.ts +0 -15
  162. package/dist/types/libs/route/matcher.d.ts +0 -15
  163. package/dist/types/libs/route/route.d.ts +0 -14
  164. package/dist/types/libs/serveFile.d.ts +0 -9
  165. package/dist/types/libs/serverTiming.d.ts +0 -13
  166. package/dist/types/renderHtml.d.ts +0 -23
  167. package/dist/types/server/index.d.ts +0 -55
  168. package/dist/types/server/modernServer.d.ts +0 -71
  169. package/dist/types/server/modernServerSplit.d.ts +0 -2
  170. package/dist/types/type.d.ts +0 -78
  171. package/dist/types/utils.d.ts +0 -24
  172. package/dist/types/workerServer.d.ts +0 -59
  173. /package/dist/esm/{type.js → types.js} +0 -0
  174. /package/dist/esm-node/{type.js → types.js} +0 -0
@@ -1,113 +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 _get } from "@swc/helpers/_/_get";
4
- import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of";
5
- import { _ as _inherits } from "@swc/helpers/_/_inherits";
6
- import { _ as _create_super } from "@swc/helpers/_/_create_super";
7
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
8
- import { ModernServer } from "./modernServer";
9
- var ModernSSRServer = /* @__PURE__ */ function(ModernServer2) {
10
- "use strict";
11
- _inherits(ModernSSRServer2, ModernServer2);
12
- var _super = _create_super(ModernSSRServer2);
13
- function ModernSSRServer2() {
14
- _class_call_check(this, ModernSSRServer2);
15
- return _super.apply(this, arguments);
16
- }
17
- var _proto = ModernSSRServer2.prototype;
18
- _proto.prepareAPIHandler = function prepareAPIHandler(_) {
19
- return null;
20
- };
21
- _proto.handleAPI = function handleAPI(context) {
22
- var _this = this;
23
- return _async_to_generator(function() {
24
- return _ts_generator(this, function(_state) {
25
- return [
26
- 2,
27
- _this.render404(context)
28
- ];
29
- });
30
- })();
31
- };
32
- return ModernSSRServer2;
33
- }(ModernServer);
34
- var ModernAPIServer = /* @__PURE__ */ function(ModernServer2) {
35
- "use strict";
36
- _inherits(ModernAPIServer2, ModernServer2);
37
- var _super = _create_super(ModernAPIServer2);
38
- function ModernAPIServer2() {
39
- _class_call_check(this, ModernAPIServer2);
40
- return _super.apply(this, arguments);
41
- }
42
- var _proto = ModernAPIServer2.prototype;
43
- _proto.prepareWebHandler = function prepareWebHandler(_) {
44
- return null;
45
- };
46
- _proto.filterRoutes = function filterRoutes(routes) {
47
- return routes.filter(function(route) {
48
- return route.isApi;
49
- });
50
- };
51
- return ModernAPIServer2;
52
- }(ModernServer);
53
- var ModernWebServer = /* @__PURE__ */ function(ModernServer2) {
54
- "use strict";
55
- _inherits(ModernWebServer2, ModernServer2);
56
- var _super = _create_super(ModernWebServer2);
57
- function ModernWebServer2() {
58
- _class_call_check(this, ModernWebServer2);
59
- return _super.apply(this, arguments);
60
- }
61
- var _proto = ModernWebServer2.prototype;
62
- _proto.warmupSSRBundle = function warmupSSRBundle() {
63
- return _async_to_generator(function() {
64
- return _ts_generator(this, function(_state) {
65
- return [
66
- 2,
67
- null
68
- ];
69
- });
70
- })();
71
- };
72
- _proto.handleAPI = function handleAPI(context) {
73
- var _this = this;
74
- return _async_to_generator(function() {
75
- return _ts_generator(this, function(_state) {
76
- return [
77
- 2,
78
- _this.render404(context)
79
- ];
80
- });
81
- })();
82
- };
83
- _proto.handleWeb = function handleWeb(context, route) {
84
- var _this = this;
85
- var _this1 = this, _superprop_get_handleWeb = function() {
86
- return _get(_get_prototype_of(ModernWebServer2.prototype), "handleWeb", _this);
87
- };
88
- return _async_to_generator(function() {
89
- return _ts_generator(this, function(_state) {
90
- route.isSSR = false;
91
- return [
92
- 2,
93
- _superprop_get_handleWeb().call(_this1, context, route)
94
- ];
95
- });
96
- })();
97
- };
98
- return ModernWebServer2;
99
- }(ModernServer);
100
- var createProdServer = function(options) {
101
- if (options.apiOnly) {
102
- return new ModernAPIServer(options);
103
- } else if (options.ssrOnly) {
104
- return new ModernSSRServer(options);
105
- } else if (options.webOnly) {
106
- return new ModernWebServer(options);
107
- } else {
108
- return new ModernServer(options);
109
- }
110
- };
111
- export {
112
- createProdServer
113
- };
package/dist/esm/utils.js DELETED
@@ -1,103 +0,0 @@
1
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
- import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
3
- import { createDebugger } from "@modern-js/utils";
4
- var debug = createDebugger("prod-server");
5
- var mergeExtension = function(users) {
6
- var output = [];
7
- return {
8
- middleware: output.concat(users)
9
- };
10
- };
11
- var noop = function() {
12
- };
13
- var createErrorDocument = function(status, text) {
14
- var title = "".concat(status, ": ").concat(text);
15
- return '<!DOCTYPE html>\n <html lang="en">\n <head>\n <meta charset="utf-8">\n <meta name="viewport" content="width=device-width">\n <title>'.concat(title, '</title>\n <style>\n html,body {\n margin: 0;\n }\n\n .page-container {\n color: #000;\n background: #fff;\n height: 100vh;\n text-align: center;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n </style>\n </head>\n <body>\n <div class="page-container">\n <h1>').concat(status, "</h1>\n <div>").concat(text, "</div>\n </body>\n </html>\n ");
16
- };
17
- var createMiddlewareCollecter = function() {
18
- var webMiddlewares = [];
19
- var apiMiddlewares = [];
20
- var addWebMiddleware = function(input) {
21
- webMiddlewares.push(input);
22
- };
23
- var addAPIMiddleware = function(input) {
24
- apiMiddlewares.push(input);
25
- };
26
- var getMiddlewares = function() {
27
- return {
28
- web: webMiddlewares,
29
- api: apiMiddlewares
30
- };
31
- };
32
- return {
33
- getMiddlewares,
34
- addWebMiddleware,
35
- addAPIMiddleware
36
- };
37
- };
38
- var getStaticReg = function() {
39
- var output = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, html = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, prefix = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "/";
40
- var tmp = output.distPath, _ref = tmp === void 0 ? {} : tmp, cssPath = _ref.css, jsPath = _ref.js, mediaPath = _ref.media;
41
- var favicon = html.favicon, faviconByEntries = html.faviconByEntries;
42
- var favicons = prepareFavicons(favicon, faviconByEntries);
43
- var staticFiles = [
44
- cssPath,
45
- jsPath,
46
- mediaPath
47
- ].filter(function(v) {
48
- return Boolean(v);
49
- });
50
- var staticReg = [
51
- "static/",
52
- "upload/"
53
- ].concat(_to_consumable_array(staticFiles));
54
- var iconReg = [
55
- "favicon.ico",
56
- "icon.png"
57
- ].concat(_to_consumable_array(favicons));
58
- var regPrefix = prefix.endsWith("/") ? prefix : "".concat(prefix, "/");
59
- var staticPathRegExp = new RegExp("^".concat(regPrefix, "(").concat(_to_consumable_array(staticReg).concat(_to_consumable_array(iconReg)).join("|"), ")"));
60
- return staticPathRegExp;
61
- };
62
- var prepareFavicons = function(favicon, faviconByEntries) {
63
- var faviconNames = [];
64
- if (favicon) {
65
- faviconNames.push(favicon.substring(favicon.lastIndexOf("/") + 1));
66
- }
67
- if (faviconByEntries) {
68
- Object.keys(faviconByEntries).forEach(function(f) {
69
- var curFavicon = faviconByEntries[f];
70
- if (curFavicon) {
71
- faviconNames.push(curFavicon.substring(curFavicon.lastIndexOf("/") + 1));
72
- }
73
- });
74
- }
75
- return faviconNames;
76
- };
77
- var headersWithoutCookie = function(headers) {
78
- if (typeof headers.cookie !== "undefined") {
79
- var safeHeaders = _object_spread({}, headers);
80
- delete safeHeaders.cookie;
81
- return safeHeaders;
82
- }
83
- return headers;
84
- };
85
- var isRedirect = function(code) {
86
- return [
87
- 301,
88
- 302,
89
- 307,
90
- 308
91
- ].includes(code);
92
- };
93
- export {
94
- createErrorDocument,
95
- createMiddlewareCollecter,
96
- debug,
97
- getStaticReg,
98
- headersWithoutCookie,
99
- isRedirect,
100
- mergeExtension,
101
- noop,
102
- prepareFavicons
103
- };
@@ -1,352 +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 _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
4
- import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
5
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
6
- import { createAsyncPipeline } from "@modern-js/plugin";
7
- import { createAfterMatchContext, createAfterRenderContext, createMiddlewareContext } from "./libs/hook-api/index.worker";
8
- import { RouteMatchManager } from "./libs/route";
9
- import { metrics as defaultMetrics } from "./libs/metrics";
10
- import { defaultReporter } from "./libs/reporter";
11
- var createLogger = function() {
12
- return {
13
- error: function error(message) {
14
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
15
- args[_key - 1] = arguments[_key];
16
- }
17
- var _console;
18
- (_console = console).error.apply(_console, [
19
- message
20
- ].concat(_to_consumable_array(args)));
21
- },
22
- info: function info(message) {
23
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
24
- args[_key - 1] = arguments[_key];
25
- }
26
- var _console;
27
- (_console = console).error.apply(_console, [
28
- message
29
- ].concat(_to_consumable_array(args)));
30
- },
31
- warn: function warn(message) {
32
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
33
- args[_key - 1] = arguments[_key];
34
- }
35
- var _console;
36
- (_console = console).warn.apply(_console, [
37
- message
38
- ].concat(_to_consumable_array(args)));
39
- },
40
- debug: function debug(message) {
41
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
42
- args[_key - 1] = arguments[_key];
43
- }
44
- var _console;
45
- (_console = console).debug.apply(_console, [
46
- message
47
- ].concat(_to_consumable_array(args)));
48
- }
49
- };
50
- };
51
- var calcFallback = function(metaName) {
52
- return "x-".concat(metaName.split(/[-_]/)[0], "-ssr-fallback");
53
- };
54
- var ReturnResponse = /* @__PURE__ */ function() {
55
- "use strict";
56
- function ReturnResponse2(body, status) {
57
- var headers = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
58
- _class_call_check(this, ReturnResponse2);
59
- this.body = body;
60
- this.status = status;
61
- this.headers = new Headers(headers);
62
- this.headers.set("content-type", "text/html;charset=UTF-8");
63
- }
64
- var _proto = ReturnResponse2.prototype;
65
- _proto.appendHeaders = function appendHeaders(headers) {
66
- var _this = this;
67
- Object.entries(headers).forEach(function(param) {
68
- var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
69
- _this.headers.append(key, value.toString());
70
- });
71
- return this;
72
- };
73
- _proto.setHeaders = function setHeaders(headers) {
74
- var _this = this;
75
- Object.entries(headers).forEach(function(param) {
76
- var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
77
- _this.headers.set(key, value.toString());
78
- });
79
- return this;
80
- };
81
- return ReturnResponse2;
82
- }();
83
- var RESPONSE_NOTFOUND = new ReturnResponse("404: Page not found", 404);
84
- var isRedirect = function(code) {
85
- return [
86
- 301,
87
- 302,
88
- 307,
89
- 308
90
- ].includes(code);
91
- };
92
- var checkIsSent = function(context) {
93
- if (context.res.isSent) {
94
- return true;
95
- }
96
- if (context.res.headers.get("Location") && isRedirect(context.res.status)) {
97
- return true;
98
- }
99
- return false;
100
- };
101
- var middlewarePipeline = createAsyncPipeline();
102
- var createHandler = function(manifest) {
103
- var routeMgr = new RouteMatchManager();
104
- var pages = manifest.pages, routes = manifest.routes, manifestOpts = manifest.options;
105
- var _ref = manifestOpts || {}, _ref_metaName = _ref.metaName, metaName = _ref_metaName === void 0 ? "modern-js" : _ref_metaName, _ref_forceCSR = _ref.forceCSR, forceCSR = _ref_forceCSR === void 0 ? false : _ref_forceCSR;
106
- routeMgr.reset(routes);
107
- return function() {
108
- var _ref2 = _async_to_generator(function(options) {
109
- var _page_serverHooks_afterMatch, _page_serverHooks, request, loadableStats, routeManifest, url, pageMatch, entryName, page, logger, metrics, reporter, route, hookContext, afterMatchHookContext, _page_serverHooks1, _page_serverHooks_afterRender, _page_serverHooks2, middlewarsHookContext, responseLike, params, baseUrl, serverRenderContext, body, afterRenderHookContext, e;
110
- function createServerRequest(url2, baseUrl2, request2, params2) {
111
- var pathname = url2.pathname, host = url2.host, searchParams = url2.searchParams;
112
- var rawHeaders = request2.headers;
113
- var headers = {};
114
- rawHeaders.forEach(function(value, key) {
115
- headers[key] = value;
116
- });
117
- var query = Object.fromEntries(searchParams);
118
- return {
119
- url: url2.href,
120
- baseUrl: baseUrl2,
121
- pathname,
122
- host,
123
- headers,
124
- params: params2,
125
- query
126
- };
127
- }
128
- return _ts_generator(this, function(_state) {
129
- switch (_state.label) {
130
- case 0:
131
- request = options.request, loadableStats = options.loadableStats, routeManifest = options.routeManifest;
132
- url = new URL(request.url);
133
- pageMatch = routeMgr.match(url.pathname);
134
- if (!pageMatch) {
135
- return [
136
- 2,
137
- RESPONSE_NOTFOUND
138
- ];
139
- }
140
- entryName = pageMatch.spec.urlPath;
141
- page = pages[entryName];
142
- if (forceCSR && url.searchParams.get("csr") === "1") {
143
- return [
144
- 2,
145
- createResponse(page.template)
146
- ];
147
- }
148
- logger = createLogger();
149
- metrics = defaultMetrics;
150
- reporter = defaultReporter;
151
- route = pageMatch.generate(url.pathname);
152
- hookContext = createWorkerHookContext(request.url, logger, metrics, reporter);
153
- afterMatchHookContext = createAfterMatchContext(hookContext, entryName);
154
- return [
155
- 4,
156
- page === null || page === void 0 ? void 0 : (_page_serverHooks = page.serverHooks) === null || _page_serverHooks === void 0 ? void 0 : (_page_serverHooks_afterMatch = _page_serverHooks.afterMatch) === null || _page_serverHooks_afterMatch === void 0 ? void 0 : _page_serverHooks_afterMatch.call(_page_serverHooks, afterMatchHookContext, function() {
157
- return void 0;
158
- })
159
- ];
160
- case 1:
161
- _state.sent();
162
- if (checkIsSent(hookContext)) {
163
- return [
164
- 2,
165
- new ReturnResponse(hookContext.res.body || "Unkown body", hookContext.res.status, hookContext.res.headers)
166
- ];
167
- }
168
- if (!page.serverRender)
169
- return [
170
- 3,
171
- 6
172
- ];
173
- _state.label = 2;
174
- case 2:
175
- _state.trys.push([
176
- 2,
177
- 5,
178
- ,
179
- 6
180
- ]);
181
- middlewarsHookContext = createMiddlewareContext(hookContext);
182
- applyMiddlewares(middlewarsHookContext, (_page_serverHooks1 = page.serverHooks) === null || _page_serverHooks1 === void 0 ? void 0 : _page_serverHooks1.middleware);
183
- if (checkIsSent(hookContext)) {
184
- return [
185
- 2,
186
- new ReturnResponse(hookContext.res.body || "Unkown body", hookContext.res.status, hookContext.res.headers)
187
- ];
188
- }
189
- if (forceCSR && middlewarsHookContext.request.headers[calcFallback(metaName)]) {
190
- return [
191
- 2,
192
- createResponse(page.template)
193
- ];
194
- }
195
- responseLike = {
196
- headers: {},
197
- statusCode: 200,
198
- locals: {},
199
- setHeader: function setHeader(key, value) {
200
- this.headers[key] = value;
201
- },
202
- status: function status(code) {
203
- this.statusCode = code;
204
- }
205
- };
206
- params = pageMatch.parseURLParams(url.pathname) || {};
207
- baseUrl = pageMatch.urlPath;
208
- serverRenderContext = {
209
- request: createServerRequest(url, baseUrl, request, params),
210
- response: responseLike,
211
- loadableStats,
212
- routeManifest,
213
- redirection: {},
214
- template: page.template,
215
- entryName: page.entryName,
216
- logger,
217
- reporter: defaultReporter,
218
- metrics,
219
- req: request,
220
- res: responseLike,
221
- serverTiming: {
222
- addServeTiming: function addServeTiming() {
223
- return this;
224
- }
225
- }
226
- };
227
- return [
228
- 4,
229
- page.serverRender(serverRenderContext)
230
- ];
231
- case 3:
232
- body = _state.sent();
233
- afterRenderHookContext = createAfterRenderContext(hookContext, route, body);
234
- return [
235
- 4,
236
- (_page_serverHooks2 = page.serverHooks) === null || _page_serverHooks2 === void 0 ? void 0 : (_page_serverHooks_afterRender = _page_serverHooks2.afterRender) === null || _page_serverHooks_afterRender === void 0 ? void 0 : _page_serverHooks_afterRender.call(_page_serverHooks2, afterRenderHookContext, function() {
237
- return void 0;
238
- })
239
- ];
240
- case 4:
241
- _state.sent();
242
- if (checkIsSent(hookContext)) {
243
- return [
244
- 2,
245
- new ReturnResponse(hookContext.res.body || "Unkown body", hookContext.res.status, hookContext.res.headers)
246
- ];
247
- }
248
- return [
249
- 2,
250
- new ReturnResponse(afterRenderHookContext.template.get(), responseLike.statusCode, responseLike.headers)
251
- ];
252
- case 5:
253
- e = _state.sent();
254
- console.warn("page(".concat(pageMatch.spec.urlPath, ") serverRender occur error: "));
255
- console.warn(e);
256
- return [
257
- 2,
258
- createResponse(page.template)
259
- ];
260
- case 6:
261
- console.warn("Can't not page(".concat(entryName, ") serverRender"));
262
- return [
263
- 2,
264
- createResponse(page.template)
265
- ];
266
- }
267
- });
268
- });
269
- return function(options) {
270
- return _ref2.apply(this, arguments);
271
- };
272
- }();
273
- };
274
- function createResponse(template) {
275
- if (template) {
276
- return new ReturnResponse(template, 200);
277
- } else {
278
- return RESPONSE_NOTFOUND;
279
- }
280
- }
281
- function createWorkerHookContext(url, logger, metrics, reporter) {
282
- var _ref = [
283
- {
284
- headers: new Headers(),
285
- body: "",
286
- status: 200,
287
- isSent: false
288
- },
289
- new Request(url)
290
- ], res = _ref[0], req = _ref[1];
291
- return {
292
- res,
293
- req,
294
- logger,
295
- metrics,
296
- reporter
297
- };
298
- }
299
- var appliedMiddlewares = false;
300
- function applyMiddlewares(ctx, middleware) {
301
- return _applyMiddlewares.apply(this, arguments);
302
- }
303
- function _applyMiddlewares() {
304
- _applyMiddlewares = _async_to_generator(function(ctx, middleware) {
305
- var middlewares;
306
- return _ts_generator(this, function(_state) {
307
- switch (_state.label) {
308
- case 0:
309
- if (!middleware)
310
- return [
311
- 3,
312
- 2
313
- ];
314
- middlewares = function() {
315
- if (Array.isArray(middleware)) {
316
- return middleware;
317
- } else {
318
- return [
319
- middleware
320
- ];
321
- }
322
- }();
323
- if (!appliedMiddlewares) {
324
- middlewares.forEach(function(middleware2) {
325
- middlewarePipeline.use(middleware2);
326
- });
327
- appliedMiddlewares = true;
328
- }
329
- return [
330
- 4,
331
- middlewarePipeline.run(ctx, {
332
- onLast: function() {
333
- return void 0;
334
- }
335
- })
336
- ];
337
- case 1:
338
- _state.sent();
339
- _state.label = 2;
340
- case 2:
341
- return [
342
- 2
343
- ];
344
- }
345
- });
346
- });
347
- return _applyMiddlewares.apply(this, arguments);
348
- }
349
- export {
350
- ReturnResponse,
351
- createHandler
352
- };
@@ -1,43 +0,0 @@
1
- const AGGRED_DIR = {
2
- mock: "config/mock",
3
- server: "server",
4
- api: "api",
5
- shared: "shared",
6
- lambda: "lambda"
7
- };
8
- var ApiServerMode;
9
- (function(ApiServerMode2) {
10
- ApiServerMode2["func"] = "function";
11
- ApiServerMode2["frame"] = "framework";
12
- })(ApiServerMode || (ApiServerMode = {}));
13
- const ERROR_DIGEST = {
14
- INIT: "Server init error",
15
- ENOTF: "Page could not be found",
16
- WARMUP: "SSR warmup failed",
17
- EINTER: "Internal server error",
18
- ERENDER: "SSR render failed",
19
- EMICROINJ: "Get micro-frontend info failed"
20
- };
21
- const ERROR_PAGE_TEXT = {
22
- 404: "This page could not be found.",
23
- 500: "Internal Server Error."
24
- };
25
- const RUN_MODE = {
26
- FULL: "full",
27
- TYPE: "type"
28
- };
29
- var ServerReportTimings;
30
- (function(ServerReportTimings2) {
31
- ServerReportTimings2["SERVER_HANDLE_REQUEST"] = "server-handle-request";
32
- ServerReportTimings2["SERVER_MIDDLEWARE"] = "server-middleware";
33
- ServerReportTimings2["SERVER_HOOK_AFTER_RENDER"] = "server-hook-after-render";
34
- ServerReportTimings2["SERVER_HOOK_AFTER_MATCH"] = "server-hook-after-match";
35
- })(ServerReportTimings || (ServerReportTimings = {}));
36
- export {
37
- AGGRED_DIR,
38
- ApiServerMode,
39
- ERROR_DIGEST,
40
- ERROR_PAGE_TEXT,
41
- RUN_MODE,
42
- ServerReportTimings
43
- };