@modern-js/server-core 2.48.3-alpha.0 → 2.48.3

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 (204) hide show
  1. package/dist/cjs/index.js +4 -6
  2. package/dist/cjs/{core/loadPlugins.js → loadPlugins.js} +7 -4
  3. package/dist/cjs/{core/plugin.js → plugin.js} +3 -1
  4. package/dist/esm/index.js +2 -3
  5. package/dist/{esm-node/core → esm}/loadPlugins.js +7 -4
  6. package/dist/{esm-node/core → esm}/plugin.js +3 -1
  7. package/dist/types/index.d.ts +2 -3
  8. package/dist/types/loadPlugins.d.ts +5 -0
  9. package/dist/types/{core/plugin.d.ts → plugin.d.ts} +35 -32
  10. package/package.json +6 -41
  11. package/dist/cjs/base/adapters/node/bff.js +0 -69
  12. package/dist/cjs/base/adapters/node/hono.js +0 -63
  13. package/dist/cjs/base/adapters/node/index.js +0 -54
  14. package/dist/cjs/base/adapters/node/loadServer.js +0 -56
  15. package/dist/cjs/base/adapters/node/middlewares/index.js +0 -28
  16. package/dist/cjs/base/adapters/node/middlewares/mock.js +0 -113
  17. package/dist/cjs/base/adapters/node/middlewares/serverManifest.js +0 -82
  18. package/dist/cjs/base/adapters/node/middlewares/serverPublic.js +0 -67
  19. package/dist/cjs/base/adapters/node/middlewares/serverStatic.js +0 -109
  20. package/dist/cjs/base/adapters/node/middlewares/templates.js +0 -67
  21. package/dist/cjs/base/adapters/node/node.js +0 -126
  22. package/dist/cjs/base/adapters/node/polyfills/index.js +0 -24
  23. package/dist/cjs/base/adapters/node/polyfills/install.js +0 -70
  24. package/dist/cjs/base/adapters/node/polyfills/stream.js +0 -153
  25. package/dist/cjs/base/constants.js +0 -58
  26. package/dist/cjs/base/index.js +0 -45
  27. package/dist/cjs/base/middlewares/customServer/base.js +0 -111
  28. package/dist/cjs/base/middlewares/customServer/context.js +0 -78
  29. package/dist/cjs/base/middlewares/customServer/index.js +0 -130
  30. package/dist/cjs/base/middlewares/customServer/routerApi.js +0 -44
  31. package/dist/cjs/base/middlewares/customServer/template.js +0 -58
  32. package/dist/cjs/base/middlewares/faviconFallback.js +0 -34
  33. package/dist/cjs/base/middlewares/index.js +0 -26
  34. package/dist/cjs/base/middlewares/monitor.js +0 -90
  35. package/dist/cjs/base/middlewares/renderHandler/dataHandler.js +0 -46
  36. package/dist/cjs/base/middlewares/renderHandler/index.js +0 -104
  37. package/dist/cjs/base/middlewares/renderHandler/render.js +0 -123
  38. package/dist/cjs/base/middlewares/renderHandler/serverTiming.js +0 -40
  39. package/dist/cjs/base/middlewares/renderHandler/ssrCache.js +0 -197
  40. package/dist/cjs/base/middlewares/renderHandler/ssrRender.js +0 -168
  41. package/dist/cjs/base/serverBase.js +0 -203
  42. package/dist/cjs/base/utils/debug.js +0 -29
  43. package/dist/cjs/base/utils/entry.js +0 -30
  44. package/dist/cjs/base/utils/env.js +0 -45
  45. package/dist/cjs/base/utils/error.js +0 -65
  46. package/dist/cjs/base/utils/index.js +0 -45
  47. package/dist/cjs/base/utils/middlewareCollector.js +0 -54
  48. package/dist/cjs/base/utils/request.js +0 -65
  49. package/dist/cjs/base/utils/serverConfig.js +0 -70
  50. package/dist/cjs/base/utils/transformStream.js +0 -61
  51. package/dist/cjs/base/utils/warmup.js +0 -43
  52. package/dist/cjs/core/hono.js +0 -16
  53. package/dist/cjs/core/index.js +0 -22
  54. package/dist/cjs/core/render.js +0 -16
  55. package/dist/cjs/core/server.js +0 -16
  56. package/dist/esm/base/adapters/node/bff.js +0 -128
  57. package/dist/esm/base/adapters/node/hono.js +0 -83
  58. package/dist/esm/base/adapters/node/index.js +0 -19
  59. package/dist/esm/base/adapters/node/loadServer.js +0 -73
  60. package/dist/esm/base/adapters/node/middlewares/index.js +0 -4
  61. package/dist/esm/base/adapters/node/middlewares/mock.js +0 -198
  62. package/dist/esm/base/adapters/node/middlewares/serverManifest.js +0 -132
  63. package/dist/esm/base/adapters/node/middlewares/serverPublic.js +0 -85
  64. package/dist/esm/base/adapters/node/middlewares/serverStatic.js +0 -109
  65. package/dist/esm/base/adapters/node/middlewares/templates.js +0 -114
  66. package/dist/esm/base/adapters/node/node.js +0 -194
  67. package/dist/esm/base/adapters/node/polyfills/index.js +0 -2
  68. package/dist/esm/base/adapters/node/polyfills/install.js +0 -46
  69. package/dist/esm/base/adapters/node/polyfills/stream.js +0 -316
  70. package/dist/esm/base/constants.js +0 -31
  71. package/dist/esm/base/index.js +0 -14
  72. package/dist/esm/base/middlewares/customServer/base.js +0 -126
  73. package/dist/esm/base/middlewares/customServer/context.js +0 -70
  74. package/dist/esm/base/middlewares/customServer/index.js +0 -208
  75. package/dist/esm/base/middlewares/customServer/routerApi.js +0 -26
  76. package/dist/esm/base/middlewares/customServer/template.js +0 -47
  77. package/dist/esm/base/middlewares/faviconFallback.js +0 -28
  78. package/dist/esm/base/middlewares/index.js +0 -3
  79. package/dist/esm/base/middlewares/monitor.js +0 -157
  80. package/dist/esm/base/middlewares/renderHandler/dataHandler.js +0 -45
  81. package/dist/esm/base/middlewares/renderHandler/index.js +0 -163
  82. package/dist/esm/base/middlewares/renderHandler/render.js +0 -213
  83. package/dist/esm/base/middlewares/renderHandler/serverTiming.js +0 -21
  84. package/dist/esm/base/middlewares/renderHandler/ssrCache.js +0 -306
  85. package/dist/esm/base/middlewares/renderHandler/ssrRender.js +0 -226
  86. package/dist/esm/base/serverBase.js +0 -383
  87. package/dist/esm/base/utils/debug.js +0 -5
  88. package/dist/esm/base/utils/entry.js +0 -6
  89. package/dist/esm/base/utils/env.js +0 -20
  90. package/dist/esm/base/utils/error.js +0 -12
  91. package/dist/esm/base/utils/index.js +0 -13
  92. package/dist/esm/base/utils/middlewareCollector.js +0 -31
  93. package/dist/esm/base/utils/request.js +0 -39
  94. package/dist/esm/base/utils/serverConfig.js +0 -58
  95. package/dist/esm/base/utils/transformStream.js +0 -90
  96. package/dist/esm/base/utils/warmup.js +0 -9
  97. package/dist/esm/core/hono.js +0 -0
  98. package/dist/esm/core/index.js +0 -1
  99. package/dist/esm/core/loadPlugins.js +0 -26
  100. package/dist/esm/core/plugin.js +0 -98
  101. package/dist/esm/core/render.js +0 -0
  102. package/dist/esm/core/server.js +0 -0
  103. package/dist/esm-node/base/adapters/node/bff.js +0 -45
  104. package/dist/esm-node/base/adapters/node/hono.js +0 -38
  105. package/dist/esm-node/base/adapters/node/index.js +0 -19
  106. package/dist/esm-node/base/adapters/node/loadServer.js +0 -22
  107. package/dist/esm-node/base/adapters/node/middlewares/index.js +0 -4
  108. package/dist/esm-node/base/adapters/node/middlewares/mock.js +0 -79
  109. package/dist/esm-node/base/adapters/node/middlewares/serverManifest.js +0 -48
  110. package/dist/esm-node/base/adapters/node/middlewares/serverPublic.js +0 -33
  111. package/dist/esm-node/base/adapters/node/middlewares/serverStatic.js +0 -75
  112. package/dist/esm-node/base/adapters/node/middlewares/templates.js +0 -32
  113. package/dist/esm-node/base/adapters/node/node.js +0 -100
  114. package/dist/esm-node/base/adapters/node/polyfills/index.js +0 -2
  115. package/dist/esm-node/base/adapters/node/polyfills/install.js +0 -46
  116. package/dist/esm-node/base/adapters/node/polyfills/stream.js +0 -126
  117. package/dist/esm-node/base/constants.js +0 -31
  118. package/dist/esm-node/base/index.js +0 -14
  119. package/dist/esm-node/base/middlewares/customServer/base.js +0 -87
  120. package/dist/esm-node/base/middlewares/customServer/context.js +0 -51
  121. package/dist/esm-node/base/middlewares/customServer/index.js +0 -106
  122. package/dist/esm-node/base/middlewares/customServer/routerApi.js +0 -20
  123. package/dist/esm-node/base/middlewares/customServer/template.js +0 -34
  124. package/dist/esm-node/base/middlewares/faviconFallback.js +0 -10
  125. package/dist/esm-node/base/middlewares/index.js +0 -3
  126. package/dist/esm-node/base/middlewares/monitor.js +0 -63
  127. package/dist/esm-node/base/middlewares/renderHandler/dataHandler.js +0 -22
  128. package/dist/esm-node/base/middlewares/renderHandler/index.js +0 -69
  129. package/dist/esm-node/base/middlewares/renderHandler/render.js +0 -99
  130. package/dist/esm-node/base/middlewares/renderHandler/serverTiming.js +0 -16
  131. package/dist/esm-node/base/middlewares/renderHandler/ssrCache.js +0 -162
  132. package/dist/esm-node/base/middlewares/renderHandler/ssrRender.js +0 -134
  133. package/dist/esm-node/base/serverBase.js +0 -168
  134. package/dist/esm-node/base/utils/debug.js +0 -5
  135. package/dist/esm-node/base/utils/entry.js +0 -6
  136. package/dist/esm-node/base/utils/env.js +0 -20
  137. package/dist/esm-node/base/utils/error.js +0 -41
  138. package/dist/esm-node/base/utils/index.js +0 -13
  139. package/dist/esm-node/base/utils/middlewareCollector.js +0 -29
  140. package/dist/esm-node/base/utils/request.js +0 -38
  141. package/dist/esm-node/base/utils/serverConfig.js +0 -34
  142. package/dist/esm-node/base/utils/transformStream.js +0 -36
  143. package/dist/esm-node/base/utils/warmup.js +0 -9
  144. package/dist/esm-node/core/hono.js +0 -0
  145. package/dist/esm-node/core/index.js +0 -1
  146. package/dist/esm-node/core/render.js +0 -0
  147. package/dist/esm-node/core/server.js +0 -0
  148. package/dist/esm-node/index.js +0 -5
  149. package/dist/esm-node/types/config/bff.js +0 -0
  150. package/dist/esm-node/types/config/dev.js +0 -0
  151. package/dist/esm-node/types/config/html.js +0 -0
  152. package/dist/esm-node/types/config/index.js +0 -6
  153. package/dist/esm-node/types/config/output.js +0 -0
  154. package/dist/esm-node/types/config/security.js +0 -0
  155. package/dist/esm-node/types/config/server.js +0 -0
  156. package/dist/esm-node/types/config/share.js +0 -0
  157. package/dist/esm-node/types/config/source.js +0 -0
  158. package/dist/esm-node/types/config/tools.js +0 -0
  159. package/dist/types/base/adapters/node/bff.d.ts +0 -4
  160. package/dist/types/base/adapters/node/hono.d.ts +0 -22
  161. package/dist/types/base/adapters/node/index.d.ts +0 -6
  162. package/dist/types/base/adapters/node/loadServer.d.ts +0 -3
  163. package/dist/types/base/adapters/node/middlewares/index.d.ts +0 -4
  164. package/dist/types/base/adapters/node/middlewares/mock.d.ts +0 -5
  165. package/dist/types/base/adapters/node/middlewares/serverManifest.d.ts +0 -3
  166. package/dist/types/base/adapters/node/middlewares/serverPublic.d.ts +0 -7
  167. package/dist/types/base/adapters/node/middlewares/serverStatic.d.ts +0 -11
  168. package/dist/types/base/adapters/node/middlewares/templates.d.ts +0 -4
  169. package/dist/types/base/adapters/node/node.d.ts +0 -12
  170. package/dist/types/base/adapters/node/polyfills/index.d.ts +0 -2
  171. package/dist/types/base/adapters/node/polyfills/install.d.ts +0 -1
  172. package/dist/types/base/adapters/node/polyfills/stream.d.ts +0 -18
  173. package/dist/types/base/constants.d.ts +0 -24
  174. package/dist/types/base/index.d.ts +0 -7
  175. package/dist/types/base/middlewares/customServer/base.d.ts +0 -3
  176. package/dist/types/base/middlewares/customServer/context.d.ts +0 -7
  177. package/dist/types/base/middlewares/customServer/index.d.ts +0 -13
  178. package/dist/types/base/middlewares/customServer/routerApi.d.ts +0 -9
  179. package/dist/types/base/middlewares/customServer/template.d.ts +0 -11
  180. package/dist/types/base/middlewares/faviconFallback.d.ts +0 -2
  181. package/dist/types/base/middlewares/index.d.ts +0 -3
  182. package/dist/types/base/middlewares/monitor.d.ts +0 -6
  183. package/dist/types/base/middlewares/renderHandler/dataHandler.d.ts +0 -5
  184. package/dist/types/base/middlewares/renderHandler/index.d.ts +0 -9
  185. package/dist/types/base/middlewares/renderHandler/render.d.ts +0 -12
  186. package/dist/types/base/middlewares/renderHandler/serverTiming.d.ts +0 -7
  187. package/dist/types/base/middlewares/renderHandler/ssrCache.d.ts +0 -29
  188. package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +0 -18
  189. package/dist/types/base/serverBase.d.ts +0 -52
  190. package/dist/types/base/utils/debug.d.ts +0 -1
  191. package/dist/types/base/utils/entry.d.ts +0 -2
  192. package/dist/types/base/utils/env.d.ts +0 -2
  193. package/dist/types/base/utils/error.d.ts +0 -1
  194. package/dist/types/base/utils/index.d.ts +0 -8
  195. package/dist/types/base/utils/middlewareCollector.d.ts +0 -12
  196. package/dist/types/base/utils/request.d.ts +0 -12
  197. package/dist/types/base/utils/serverConfig.d.ts +0 -14
  198. package/dist/types/base/utils/transformStream.d.ts +0 -5
  199. package/dist/types/base/utils/warmup.d.ts +0 -1
  200. package/dist/types/core/hono.d.ts +0 -1
  201. package/dist/types/core/index.d.ts +0 -1
  202. package/dist/types/core/loadPlugins.d.ts +0 -3
  203. package/dist/types/core/render.d.ts +0 -13
  204. package/dist/types/core/server.d.ts +0 -99
@@ -1,34 +0,0 @@
1
- "use strict";
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 });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var faviconFallback_exports = {};
20
- __export(faviconFallback_exports, {
21
- favionFallbackMiddleware: () => favionFallbackMiddleware
22
- });
23
- module.exports = __toCommonJS(faviconFallback_exports);
24
- const favionFallbackMiddleware = async (c, next) => {
25
- if (c.req.path === "/favicon.ico") {
26
- return c.body(null, 204);
27
- } else {
28
- return next();
29
- }
30
- };
31
- // Annotate the CommonJS export names for ESM import in node:
32
- 0 && (module.exports = {
33
- favionFallbackMiddleware
34
- });
@@ -1,26 +0,0 @@
1
- "use strict";
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
- var middlewares_exports = {};
17
- module.exports = __toCommonJS(middlewares_exports);
18
- __reExport(middlewares_exports, require("./faviconFallback"), module.exports);
19
- __reExport(middlewares_exports, require("./monitor"), module.exports);
20
- __reExport(middlewares_exports, require("./renderHandler"), module.exports);
21
- // Annotate the CommonJS export names for ESM import in node:
22
- 0 && (module.exports = {
23
- ...require("./faviconFallback"),
24
- ...require("./monitor"),
25
- ...require("./renderHandler")
26
- });
@@ -1,90 +0,0 @@
1
- "use strict";
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 });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var monitor_exports = {};
20
- __export(monitor_exports, {
21
- initReporter: () => initReporter,
22
- injectLogger: () => injectLogger,
23
- injectMetrics: () => injectMetrics,
24
- injectReporter: () => injectReporter
25
- });
26
- module.exports = __toCommonJS(monitor_exports);
27
- var import_time = require("@modern-js/runtime-utils/time");
28
- var import_constants = require("../constants");
29
- const defaultReporter = {
30
- init() {
31
- },
32
- reportError() {
33
- },
34
- reportTiming() {
35
- },
36
- reportInfo() {
37
- },
38
- reportWarn() {
39
- }
40
- };
41
- function injectReporter() {
42
- return async (c, next) => {
43
- const reporter = c.get("reporter");
44
- if (!reporter) {
45
- c.set("reporter", defaultReporter);
46
- }
47
- await next();
48
- };
49
- }
50
- function initReporter(entryName) {
51
- return async (c, next) => {
52
- const reporter = c.get("reporter");
53
- if (!reporter) {
54
- await next();
55
- return;
56
- }
57
- await reporter.init({
58
- entryName
59
- });
60
- const getCost = (0, import_time.time)();
61
- await next();
62
- const cost = getCost();
63
- reporter.reportTiming(import_constants.ServerReportTimings.SERVER_HANDLE_REQUEST, cost);
64
- };
65
- }
66
- function injectLogger(inputLogger) {
67
- return async (c, next) => {
68
- const logger = c.get("logger");
69
- if (!logger && inputLogger) {
70
- c.set("logger", inputLogger);
71
- }
72
- await next();
73
- };
74
- }
75
- function injectMetrics(inputMetrics) {
76
- return async (c, next) => {
77
- const metrics = c.get("metrics");
78
- if (!metrics) {
79
- c.set("metrics", inputMetrics);
80
- }
81
- await next();
82
- };
83
- }
84
- // Annotate the CommonJS export names for ESM import in node:
85
- 0 && (module.exports = {
86
- initReporter,
87
- injectLogger,
88
- injectMetrics,
89
- injectReporter
90
- });
@@ -1,46 +0,0 @@
1
- "use strict";
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 });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var dataHandler_exports = {};
20
- __export(dataHandler_exports, {
21
- dataHandler: () => dataHandler
22
- });
23
- module.exports = __toCommonJS(dataHandler_exports);
24
- var import_constants = require("@modern-js/utils/universal/constants");
25
- const dataHandler = async (request, { routeInfo, serverRoutes, reporter, logger, serverManifest }) => {
26
- var _serverManifest_loaderBundles;
27
- const serverLoaderModule = serverManifest === null || serverManifest === void 0 ? void 0 : (_serverManifest_loaderBundles = serverManifest.loaderBundles) === null || _serverManifest_loaderBundles === void 0 ? void 0 : _serverManifest_loaderBundles[routeInfo.entryName || import_constants.MAIN_ENTRY_NAME];
28
- if (!serverLoaderModule) {
29
- return;
30
- }
31
- const { routes, handleRequest } = serverLoaderModule;
32
- const response = await handleRequest({
33
- request,
34
- serverRoutes,
35
- context: {
36
- logger,
37
- reporter
38
- },
39
- routes
40
- });
41
- return response;
42
- };
43
- // Annotate the CommonJS export names for ESM import in node:
44
- 0 && (module.exports = {
45
- dataHandler
46
- });
@@ -1,104 +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 renderHandler_exports = {};
30
- __export(renderHandler_exports, {
31
- bindRenderHandler: () => bindRenderHandler,
32
- getRenderHandler: () => getRenderHandler
33
- });
34
- module.exports = __toCommonJS(renderHandler_exports);
35
- var import_utils = require("../../utils");
36
- var import_monitor = require("../monitor");
37
- var import_customServer = require("../customServer");
38
- var import_render = require("./render");
39
- function createRenderHandler(render) {
40
- return async (c, _) => {
41
- var _c_env_node;
42
- const logger = c.get("logger");
43
- const reporter = c.get("reporter");
44
- const templates = c.get("templates") || {};
45
- const serverManifest = c.get("serverManifest") || {};
46
- const request = c.req.raw;
47
- const nodeReq = (_c_env_node = c.env.node) === null || _c_env_node === void 0 ? void 0 : _c_env_node.req;
48
- const res = await render(request, {
49
- logger,
50
- nodeReq,
51
- reporter,
52
- templates,
53
- serverManifest
54
- });
55
- return res;
56
- };
57
- }
58
- async function getRenderHandler(options) {
59
- const { routes, pwd, config } = options;
60
- if (routes && routes.length > 0) {
61
- var _config_server, _options_config_security;
62
- const ssrConfig = (_config_server = config.server) === null || _config_server === void 0 ? void 0 : _config_server.ssr;
63
- const forceCSR = typeof ssrConfig === "object" ? ssrConfig.forceCSR : false;
64
- const render = (0, import_render.createRender)({
65
- routes,
66
- pwd,
67
- staticGenerate: options.staticGenerate,
68
- metaName: options.metaName || "modern-js",
69
- forceCSR,
70
- nonce: (_options_config_security = options.config.security) === null || _options_config_security === void 0 ? void 0 : _options_config_security.nonce
71
- });
72
- return render;
73
- }
74
- return null;
75
- }
76
- async function bindRenderHandler(server, options) {
77
- const { routes, pwd } = options;
78
- const { runner } = server;
79
- if (routes && routes.length > 0) {
80
- const customServer = new import_customServer.CustomServer(runner, server, pwd);
81
- if ((0, import_utils.getRuntimeEnv)() === "node") {
82
- const cacheModuleName = "./ssrCache";
83
- const { ssrCache } = await Promise.resolve().then(() => __toESM(require(cacheModuleName)));
84
- await ssrCache.loadCacheMod((0, import_utils.checkIsProd)() ? pwd : void 0);
85
- }
86
- const pageRoutes = routes.filter((route) => !route.isApi).sort(import_utils.sortRoutes);
87
- for (const route of pageRoutes) {
88
- const { urlPath: originUrlPath, entryName } = route;
89
- const urlPath = originUrlPath.endsWith("/") ? `${originUrlPath}*` : `${originUrlPath}/*`;
90
- const customServerHookMiddleware = customServer.getHookMiddleware(entryName || "main", routes);
91
- server.use(urlPath, (0, import_monitor.initReporter)(entryName));
92
- server.use(urlPath, customServerHookMiddleware);
93
- const customServerMiddleware = customServer.getServerMiddleware();
94
- server.use(urlPath, customServerMiddleware);
95
- }
96
- const render = await getRenderHandler(options);
97
- render && server.all("*", createRenderHandler(render));
98
- }
99
- }
100
- // Annotate the CommonJS export names for ESM import in node:
101
- 0 && (module.exports = {
102
- bindRenderHandler,
103
- getRenderHandler
104
- });
@@ -1,123 +0,0 @@
1
- "use strict";
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 });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var render_exports = {};
20
- __export(render_exports, {
21
- createRender: () => createRender
22
- });
23
- module.exports = __toCommonJS(render_exports);
24
- var import_constants = require("../../../base/constants");
25
- var import_utils = require("../../utils");
26
- var import_dataHandler = require("./dataHandler");
27
- var import_ssrRender = require("./ssrRender");
28
- async function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, nonce }) {
29
- return async (req, { logger, nodeReq, reporter, templates, serverManifest }) => {
30
- const routeInfo = matchRoute(req, routes);
31
- if (!routeInfo) {
32
- return new Response((0, import_utils.createErrorHtml)(404), {
33
- status: 404,
34
- headers: {
35
- "content-type": "text/html; charset=UTF-8"
36
- }
37
- });
38
- }
39
- const html = templates[routeInfo.entryName];
40
- if (!html) {
41
- throw new Error(`Can't found entry ${routeInfo.entryName} html `);
42
- }
43
- const renderMode = getRenderMode(req, metaName || "modern-js", routeInfo.isSSR, forceCSR);
44
- const renderOptions = {
45
- pwd,
46
- html,
47
- routeInfo,
48
- staticGenerate: staticGenerate || false,
49
- metaName: metaName || "modern-js",
50
- nonce,
51
- logger,
52
- nodeReq,
53
- reporter,
54
- serverRoutes: routes,
55
- serverManifest
56
- };
57
- switch (renderMode) {
58
- case "data":
59
- let response = await (0, import_dataHandler.dataHandler)(req, renderOptions);
60
- if (!response) {
61
- response = await renderHandler(req, renderOptions, "ssr");
62
- }
63
- return response;
64
- case "ssr":
65
- case "csr":
66
- return renderHandler(req, renderOptions, renderMode);
67
- default:
68
- throw new Error(`Unknown render mode: ${renderMode}`);
69
- }
70
- };
71
- }
72
- async function renderHandler(request, options, mode) {
73
- const serverData = {
74
- router: {
75
- baseUrl: options.routeInfo.urlPath,
76
- params: {}
77
- }
78
- };
79
- const response = await (mode === "ssr" ? (0, import_ssrRender.ssrRender)(request, options) : csrRender(options.html));
80
- return (0, import_utils.transformResponse)(response, injectServerData(serverData));
81
- }
82
- function matchRoute(req, routes) {
83
- const sorted = routes.sort(import_utils.sortRoutes);
84
- for (const route of sorted) {
85
- const pathname = (0, import_utils.getPathname)(req);
86
- if (pathname.startsWith(route.urlPath)) {
87
- return route;
88
- }
89
- }
90
- return void 0;
91
- }
92
- function getRenderMode(req, framework, isSSR, forceCSR) {
93
- const query = (0, import_utils.parseQuery)(req);
94
- if (isSSR) {
95
- if (query.__loader) {
96
- return "data";
97
- }
98
- if (forceCSR && (query.csr || req.headers.get(`x-${(0, import_utils.cutNameByHyphen)(framework)}-ssr-fallback`))) {
99
- return "csr";
100
- }
101
- return "ssr";
102
- } else {
103
- return "csr";
104
- }
105
- }
106
- function csrRender(html) {
107
- return new Response(html, {
108
- status: 200,
109
- headers: new Headers({
110
- "content-type": "text/html; charset=UTF-8"
111
- })
112
- });
113
- }
114
- function injectServerData(serverData) {
115
- const { head } = import_constants.REPLACE_REG.before;
116
- const searchValue = new RegExp(head);
117
- const replcaeCb = (beforeHead) => `${beforeHead}<script type="application/json" id="__MODERN_SERVER_DATA__">${JSON.stringify(serverData)}</script>`;
118
- return (template) => template.replace(searchValue, replcaeCb);
119
- }
120
- // Annotate the CommonJS export names for ESM import in node:
121
- 0 && (module.exports = {
122
- createRender
123
- });
@@ -1,40 +0,0 @@
1
- "use strict";
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 });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var serverTiming_exports = {};
20
- __export(serverTiming_exports, {
21
- ServerTiming: () => ServerTiming
22
- });
23
- module.exports = __toCommonJS(serverTiming_exports);
24
- const SERVER_TIMING = "Server-Timing";
25
- class ServerTiming {
26
- addServeTiming(name, dur, desc) {
27
- const _name = `bd-${this.meta}-${name}`;
28
- const value = `${_name};${desc ? `decs="${desc}";` : ""} dur=${dur}`;
29
- this.headers.append(SERVER_TIMING, value);
30
- return this;
31
- }
32
- constructor(headers, meta) {
33
- this.meta = meta;
34
- this.headers = headers;
35
- }
36
- }
37
- // Annotate the CommonJS export names for ESM import in node:
38
- 0 && (module.exports = {
39
- ServerTiming
40
- });
@@ -1,197 +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 ssrCache_exports = {};
30
- __export(ssrCache_exports, {
31
- CacheManager: () => CacheManager,
32
- ssrCache: () => ssrCache
33
- });
34
- module.exports = __toCommonJS(ssrCache_exports);
35
- var import_stream = require("stream");
36
- var import_utils = require("@modern-js/utils");
37
- var import_storer = require("@modern-js/runtime-utils/storer");
38
- var import_stream2 = require("../../adapters/node/polyfills/stream");
39
- var import_utils2 = require("../../utils");
40
- class CacheManager {
41
- async getCacheResult(req, cacheControl, render, ssrContext) {
42
- const key = this.computedKey(req, cacheControl);
43
- const value = await this.container.get(key);
44
- const { maxAge, staleWhileRevalidate } = cacheControl;
45
- const ttl = maxAge + staleWhileRevalidate;
46
- if (value) {
47
- const cache = JSON.parse(value);
48
- const interval = Date.now() - cache.cursor;
49
- if (interval <= maxAge) {
50
- return {
51
- data: cache.val,
52
- status: "hit"
53
- };
54
- } else if (interval <= staleWhileRevalidate + maxAge) {
55
- this.processCache(key, render, ssrContext, ttl);
56
- return {
57
- data: cache.val,
58
- status: "stale"
59
- };
60
- } else {
61
- return this.processCache(key, render, ssrContext, ttl, "expired");
62
- }
63
- } else {
64
- return this.processCache(key, render, ssrContext, ttl, "miss");
65
- }
66
- }
67
- async processCache(key, render, ssrContext, ttl, status) {
68
- const renderResult = await render(ssrContext);
69
- if (!renderResult) {
70
- return {
71
- data: ""
72
- };
73
- } else if (typeof renderResult === "string") {
74
- const current = Date.now();
75
- const cache = {
76
- val: renderResult,
77
- cursor: current
78
- };
79
- await this.container.set(key, JSON.stringify(cache), {
80
- ttl
81
- });
82
- return {
83
- data: renderResult,
84
- status
85
- };
86
- } else {
87
- const body = (
88
- // TODO: remove node:stream, move it to ssr entry.
89
- renderResult instanceof import_stream.Readable ? (0, import_stream2.createReadableStreamFromReadable)(renderResult) : renderResult
90
- );
91
- let html = "";
92
- const stream = (0, import_utils2.createTransformStream)((chunk) => {
93
- html += chunk;
94
- return chunk;
95
- });
96
- stream.readable.getReader().closed.then(() => {
97
- const current = Date.now();
98
- const cache = {
99
- val: html,
100
- cursor: current
101
- };
102
- this.container.set(key, JSON.stringify(cache), {
103
- ttl
104
- });
105
- });
106
- body.pipeThrough(stream);
107
- return {
108
- data: stream.readable,
109
- status
110
- };
111
- }
112
- }
113
- computedKey(req, cacheControl) {
114
- const pathname = (0, import_utils2.getPathname)(req);
115
- const { customKey } = cacheControl;
116
- const defaultKey = pathname.replace(/.+\/+$/, "");
117
- if (customKey) {
118
- if (typeof customKey === "string") {
119
- return customKey;
120
- } else {
121
- return customKey(defaultKey);
122
- }
123
- } else {
124
- return defaultKey;
125
- }
126
- }
127
- constructor(container) {
128
- this.container = container;
129
- }
130
- }
131
- const CACHE_FILENAME = "cache";
132
- class ServerCache {
133
- async loadCacheMod(pwd = process.cwd()) {
134
- const path = await Promise.resolve().then(() => __toESM(require("path"))).catch(() => {
135
- return {};
136
- });
137
- const serverCacheFilepath = path.resolve(pwd, import_utils.SERVER_DIR, CACHE_FILENAME);
138
- const mod = (0, import_utils.requireExistModule)(serverCacheFilepath, {
139
- interop: false
140
- });
141
- this.cacheOption = mod === null || mod === void 0 ? void 0 : mod.cacheOption;
142
- if (this.cacheOption && !(mod === null || mod === void 0 ? void 0 : mod.customContainer)) {
143
- const cacheStorage = (0, import_storer.createMemoryStorage)("__ssr__cache");
144
- this.customContainer = cacheStorage;
145
- } else {
146
- this.customContainer = mod === null || mod === void 0 ? void 0 : mod.customContainer;
147
- }
148
- if (this.customContainer) {
149
- this.cacheManger = new CacheManager(this.customContainer);
150
- }
151
- }
152
- matchCacheControl(req) {
153
- const { cacheOption } = this;
154
- if (!cacheOption || !req) {
155
- return void 0;
156
- } else if (isCacheControl(cacheOption)) {
157
- return cacheOption;
158
- } else if (isCacheOptionProvider(cacheOption)) {
159
- return cacheOption(req);
160
- } else {
161
- const url = req.url;
162
- const options = Object.entries(cacheOption);
163
- for (const [key, option] of options) {
164
- if (key === "*" || new RegExp(key).test(url)) {
165
- if (typeof option === "function") {
166
- return option(req);
167
- } else {
168
- return option;
169
- }
170
- }
171
- }
172
- return void 0;
173
- }
174
- function isCacheOptionProvider(option) {
175
- return typeof option === "function";
176
- }
177
- function isCacheControl(option) {
178
- return typeof option === "object" && option !== null && "maxAge" in option;
179
- }
180
- }
181
- async getCache(req, cacheControl, render, ssrContext) {
182
- if (this.cacheManger) {
183
- return this.cacheManger.getCacheResult(req, cacheControl, render, ssrContext);
184
- } else {
185
- const renderResult = await render(ssrContext);
186
- return {
187
- data: renderResult
188
- };
189
- }
190
- }
191
- }
192
- const ssrCache = new ServerCache();
193
- // Annotate the CommonJS export names for ESM import in node:
194
- 0 && (module.exports = {
195
- CacheManager,
196
- ssrCache
197
- });