@modern-js/server-core 2.48.2 → 2.48.3-alpha.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 (204) hide show
  1. package/dist/cjs/base/adapters/node/bff.js +69 -0
  2. package/dist/cjs/base/adapters/node/hono.js +63 -0
  3. package/dist/cjs/base/adapters/node/index.js +54 -0
  4. package/dist/cjs/base/adapters/node/loadServer.js +56 -0
  5. package/dist/cjs/base/adapters/node/middlewares/index.js +28 -0
  6. package/dist/cjs/base/adapters/node/middlewares/mock.js +113 -0
  7. package/dist/cjs/base/adapters/node/middlewares/serverManifest.js +82 -0
  8. package/dist/cjs/base/adapters/node/middlewares/serverPublic.js +67 -0
  9. package/dist/cjs/base/adapters/node/middlewares/serverStatic.js +109 -0
  10. package/dist/cjs/base/adapters/node/middlewares/templates.js +67 -0
  11. package/dist/cjs/base/adapters/node/node.js +126 -0
  12. package/dist/cjs/base/adapters/node/polyfills/index.js +24 -0
  13. package/dist/cjs/base/adapters/node/polyfills/install.js +70 -0
  14. package/dist/cjs/base/adapters/node/polyfills/stream.js +153 -0
  15. package/dist/cjs/base/constants.js +58 -0
  16. package/dist/cjs/base/index.js +45 -0
  17. package/dist/cjs/base/middlewares/customServer/base.js +111 -0
  18. package/dist/cjs/base/middlewares/customServer/context.js +78 -0
  19. package/dist/cjs/base/middlewares/customServer/index.js +130 -0
  20. package/dist/cjs/base/middlewares/customServer/routerApi.js +44 -0
  21. package/dist/cjs/base/middlewares/customServer/template.js +58 -0
  22. package/dist/cjs/base/middlewares/faviconFallback.js +34 -0
  23. package/dist/cjs/base/middlewares/index.js +26 -0
  24. package/dist/cjs/base/middlewares/monitor.js +90 -0
  25. package/dist/cjs/base/middlewares/renderHandler/dataHandler.js +46 -0
  26. package/dist/cjs/base/middlewares/renderHandler/index.js +104 -0
  27. package/dist/cjs/base/middlewares/renderHandler/render.js +123 -0
  28. package/dist/cjs/base/middlewares/renderHandler/serverTiming.js +40 -0
  29. package/dist/cjs/base/middlewares/renderHandler/ssrCache.js +197 -0
  30. package/dist/cjs/base/middlewares/renderHandler/ssrRender.js +168 -0
  31. package/dist/cjs/base/serverBase.js +203 -0
  32. package/dist/cjs/base/utils/debug.js +29 -0
  33. package/dist/cjs/base/utils/entry.js +30 -0
  34. package/dist/cjs/base/utils/env.js +45 -0
  35. package/dist/cjs/base/utils/error.js +65 -0
  36. package/dist/cjs/base/utils/index.js +45 -0
  37. package/dist/cjs/base/utils/middlewareCollector.js +54 -0
  38. package/dist/cjs/base/utils/request.js +65 -0
  39. package/dist/cjs/base/utils/serverConfig.js +70 -0
  40. package/dist/cjs/base/utils/transformStream.js +61 -0
  41. package/dist/cjs/base/utils/warmup.js +43 -0
  42. package/dist/cjs/core/hono.js +16 -0
  43. package/dist/cjs/core/index.js +22 -0
  44. package/dist/cjs/{loadPlugins.js → core/loadPlugins.js} +4 -7
  45. package/dist/cjs/{plugin.js → core/plugin.js} +1 -3
  46. package/dist/cjs/core/render.js +16 -0
  47. package/dist/cjs/core/server.js +16 -0
  48. package/dist/cjs/index.js +6 -4
  49. package/dist/esm/base/adapters/node/bff.js +128 -0
  50. package/dist/esm/base/adapters/node/hono.js +83 -0
  51. package/dist/esm/base/adapters/node/index.js +19 -0
  52. package/dist/esm/base/adapters/node/loadServer.js +73 -0
  53. package/dist/esm/base/adapters/node/middlewares/index.js +4 -0
  54. package/dist/esm/base/adapters/node/middlewares/mock.js +198 -0
  55. package/dist/esm/base/adapters/node/middlewares/serverManifest.js +132 -0
  56. package/dist/esm/base/adapters/node/middlewares/serverPublic.js +85 -0
  57. package/dist/esm/base/adapters/node/middlewares/serverStatic.js +109 -0
  58. package/dist/esm/base/adapters/node/middlewares/templates.js +114 -0
  59. package/dist/esm/base/adapters/node/node.js +194 -0
  60. package/dist/esm/base/adapters/node/polyfills/index.js +2 -0
  61. package/dist/esm/base/adapters/node/polyfills/install.js +46 -0
  62. package/dist/esm/base/adapters/node/polyfills/stream.js +316 -0
  63. package/dist/esm/base/constants.js +31 -0
  64. package/dist/esm/base/index.js +14 -0
  65. package/dist/esm/base/middlewares/customServer/base.js +126 -0
  66. package/dist/esm/base/middlewares/customServer/context.js +70 -0
  67. package/dist/esm/base/middlewares/customServer/index.js +208 -0
  68. package/dist/esm/base/middlewares/customServer/routerApi.js +26 -0
  69. package/dist/esm/base/middlewares/customServer/template.js +47 -0
  70. package/dist/esm/base/middlewares/faviconFallback.js +28 -0
  71. package/dist/esm/base/middlewares/index.js +3 -0
  72. package/dist/esm/base/middlewares/monitor.js +157 -0
  73. package/dist/esm/base/middlewares/renderHandler/dataHandler.js +45 -0
  74. package/dist/esm/base/middlewares/renderHandler/index.js +163 -0
  75. package/dist/esm/base/middlewares/renderHandler/render.js +213 -0
  76. package/dist/esm/base/middlewares/renderHandler/serverTiming.js +21 -0
  77. package/dist/esm/base/middlewares/renderHandler/ssrCache.js +306 -0
  78. package/dist/esm/base/middlewares/renderHandler/ssrRender.js +226 -0
  79. package/dist/esm/base/serverBase.js +383 -0
  80. package/dist/esm/base/utils/debug.js +5 -0
  81. package/dist/esm/base/utils/entry.js +6 -0
  82. package/dist/esm/base/utils/env.js +20 -0
  83. package/dist/esm/base/utils/error.js +12 -0
  84. package/dist/esm/base/utils/index.js +13 -0
  85. package/dist/esm/base/utils/middlewareCollector.js +31 -0
  86. package/dist/esm/base/utils/request.js +39 -0
  87. package/dist/esm/base/utils/serverConfig.js +58 -0
  88. package/dist/esm/base/utils/transformStream.js +90 -0
  89. package/dist/esm/base/utils/warmup.js +9 -0
  90. package/dist/esm/core/hono.js +0 -0
  91. package/dist/esm/core/index.js +1 -0
  92. package/dist/esm/core/loadPlugins.js +26 -0
  93. package/dist/esm/core/plugin.js +98 -0
  94. package/dist/esm/core/render.js +0 -0
  95. package/dist/esm/core/server.js +0 -0
  96. package/dist/esm/index.js +3 -2
  97. package/dist/esm-node/base/adapters/node/bff.js +45 -0
  98. package/dist/esm-node/base/adapters/node/hono.js +38 -0
  99. package/dist/esm-node/base/adapters/node/index.js +19 -0
  100. package/dist/esm-node/base/adapters/node/loadServer.js +22 -0
  101. package/dist/esm-node/base/adapters/node/middlewares/index.js +4 -0
  102. package/dist/esm-node/base/adapters/node/middlewares/mock.js +79 -0
  103. package/dist/esm-node/base/adapters/node/middlewares/serverManifest.js +48 -0
  104. package/dist/esm-node/base/adapters/node/middlewares/serverPublic.js +33 -0
  105. package/dist/esm-node/base/adapters/node/middlewares/serverStatic.js +75 -0
  106. package/dist/esm-node/base/adapters/node/middlewares/templates.js +32 -0
  107. package/dist/esm-node/base/adapters/node/node.js +100 -0
  108. package/dist/esm-node/base/adapters/node/polyfills/index.js +2 -0
  109. package/dist/esm-node/base/adapters/node/polyfills/install.js +46 -0
  110. package/dist/esm-node/base/adapters/node/polyfills/stream.js +126 -0
  111. package/dist/esm-node/base/constants.js +31 -0
  112. package/dist/esm-node/base/index.js +14 -0
  113. package/dist/esm-node/base/middlewares/customServer/base.js +87 -0
  114. package/dist/esm-node/base/middlewares/customServer/context.js +51 -0
  115. package/dist/esm-node/base/middlewares/customServer/index.js +106 -0
  116. package/dist/esm-node/base/middlewares/customServer/routerApi.js +20 -0
  117. package/dist/esm-node/base/middlewares/customServer/template.js +34 -0
  118. package/dist/esm-node/base/middlewares/faviconFallback.js +10 -0
  119. package/dist/esm-node/base/middlewares/index.js +3 -0
  120. package/dist/esm-node/base/middlewares/monitor.js +63 -0
  121. package/dist/esm-node/base/middlewares/renderHandler/dataHandler.js +22 -0
  122. package/dist/esm-node/base/middlewares/renderHandler/index.js +69 -0
  123. package/dist/esm-node/base/middlewares/renderHandler/render.js +99 -0
  124. package/dist/esm-node/base/middlewares/renderHandler/serverTiming.js +16 -0
  125. package/dist/esm-node/base/middlewares/renderHandler/ssrCache.js +162 -0
  126. package/dist/esm-node/base/middlewares/renderHandler/ssrRender.js +134 -0
  127. package/dist/esm-node/base/serverBase.js +168 -0
  128. package/dist/esm-node/base/utils/debug.js +5 -0
  129. package/dist/esm-node/base/utils/entry.js +6 -0
  130. package/dist/esm-node/base/utils/env.js +20 -0
  131. package/dist/esm-node/base/utils/error.js +41 -0
  132. package/dist/esm-node/base/utils/index.js +13 -0
  133. package/dist/esm-node/base/utils/middlewareCollector.js +29 -0
  134. package/dist/esm-node/base/utils/request.js +38 -0
  135. package/dist/esm-node/base/utils/serverConfig.js +34 -0
  136. package/dist/esm-node/base/utils/transformStream.js +36 -0
  137. package/dist/esm-node/base/utils/warmup.js +9 -0
  138. package/dist/esm-node/core/hono.js +0 -0
  139. package/dist/esm-node/core/index.js +1 -0
  140. package/dist/{esm → esm-node/core}/loadPlugins.js +4 -7
  141. package/dist/{esm → esm-node/core}/plugin.js +1 -3
  142. package/dist/esm-node/core/render.js +0 -0
  143. package/dist/esm-node/core/server.js +0 -0
  144. package/dist/esm-node/index.js +5 -0
  145. package/dist/esm-node/types/config/bff.js +0 -0
  146. package/dist/esm-node/types/config/dev.js +0 -0
  147. package/dist/esm-node/types/config/html.js +0 -0
  148. package/dist/esm-node/types/config/index.js +6 -0
  149. package/dist/esm-node/types/config/output.js +0 -0
  150. package/dist/esm-node/types/config/security.js +0 -0
  151. package/dist/esm-node/types/config/server.js +0 -0
  152. package/dist/esm-node/types/config/share.js +0 -0
  153. package/dist/esm-node/types/config/source.js +0 -0
  154. package/dist/esm-node/types/config/tools.js +0 -0
  155. package/dist/types/base/adapters/node/bff.d.ts +4 -0
  156. package/dist/types/base/adapters/node/hono.d.ts +22 -0
  157. package/dist/types/base/adapters/node/index.d.ts +6 -0
  158. package/dist/types/base/adapters/node/loadServer.d.ts +3 -0
  159. package/dist/types/base/adapters/node/middlewares/index.d.ts +4 -0
  160. package/dist/types/base/adapters/node/middlewares/mock.d.ts +5 -0
  161. package/dist/types/base/adapters/node/middlewares/serverManifest.d.ts +3 -0
  162. package/dist/types/base/adapters/node/middlewares/serverPublic.d.ts +7 -0
  163. package/dist/types/base/adapters/node/middlewares/serverStatic.d.ts +11 -0
  164. package/dist/types/base/adapters/node/middlewares/templates.d.ts +4 -0
  165. package/dist/types/base/adapters/node/node.d.ts +12 -0
  166. package/dist/types/base/adapters/node/polyfills/index.d.ts +2 -0
  167. package/dist/types/base/adapters/node/polyfills/install.d.ts +1 -0
  168. package/dist/types/base/adapters/node/polyfills/stream.d.ts +18 -0
  169. package/dist/types/base/constants.d.ts +24 -0
  170. package/dist/types/base/index.d.ts +7 -0
  171. package/dist/types/base/middlewares/customServer/base.d.ts +3 -0
  172. package/dist/types/base/middlewares/customServer/context.d.ts +7 -0
  173. package/dist/types/base/middlewares/customServer/index.d.ts +13 -0
  174. package/dist/types/base/middlewares/customServer/routerApi.d.ts +9 -0
  175. package/dist/types/base/middlewares/customServer/template.d.ts +11 -0
  176. package/dist/types/base/middlewares/faviconFallback.d.ts +2 -0
  177. package/dist/types/base/middlewares/index.d.ts +3 -0
  178. package/dist/types/base/middlewares/monitor.d.ts +6 -0
  179. package/dist/types/base/middlewares/renderHandler/dataHandler.d.ts +5 -0
  180. package/dist/types/base/middlewares/renderHandler/index.d.ts +9 -0
  181. package/dist/types/base/middlewares/renderHandler/render.d.ts +12 -0
  182. package/dist/types/base/middlewares/renderHandler/serverTiming.d.ts +7 -0
  183. package/dist/types/base/middlewares/renderHandler/ssrCache.d.ts +29 -0
  184. package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +18 -0
  185. package/dist/types/base/serverBase.d.ts +52 -0
  186. package/dist/types/base/utils/debug.d.ts +1 -0
  187. package/dist/types/base/utils/entry.d.ts +2 -0
  188. package/dist/types/base/utils/env.d.ts +2 -0
  189. package/dist/types/base/utils/error.d.ts +1 -0
  190. package/dist/types/base/utils/index.d.ts +8 -0
  191. package/dist/types/base/utils/middlewareCollector.d.ts +12 -0
  192. package/dist/types/base/utils/request.d.ts +12 -0
  193. package/dist/types/base/utils/serverConfig.d.ts +14 -0
  194. package/dist/types/base/utils/transformStream.d.ts +5 -0
  195. package/dist/types/base/utils/warmup.d.ts +1 -0
  196. package/dist/types/core/hono.d.ts +1 -0
  197. package/dist/types/core/index.d.ts +1 -0
  198. package/dist/types/core/loadPlugins.d.ts +3 -0
  199. package/dist/types/{plugin.d.ts → core/plugin.d.ts} +32 -35
  200. package/dist/types/core/render.d.ts +13 -0
  201. package/dist/types/core/server.d.ts +99 -0
  202. package/dist/types/index.d.ts +3 -2
  203. package/package.json +38 -3
  204. package/dist/types/loadPlugins.d.ts +0 -5
@@ -0,0 +1,78 @@
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 context_exports = {};
20
+ __export(context_exports, {
21
+ createAfterMatchCtx: () => createAfterMatchCtx,
22
+ createAfterRenderCtx: () => createAfterRenderCtx,
23
+ createAfterStreamingRenderContext: () => createAfterStreamingRenderContext,
24
+ createCustomMiddlewaresCtx: () => createCustomMiddlewaresCtx
25
+ });
26
+ module.exports = __toCommonJS(context_exports);
27
+ var import_routerApi = require("./routerApi");
28
+ var import_template = require("./template");
29
+ var import_base = require("./base");
30
+ function createAfterMatchCtx(c, entryName, logger, metrics) {
31
+ const baseContext = (0, import_base.createBaseHookContext)(c, logger, metrics);
32
+ return {
33
+ ...baseContext,
34
+ router: new import_routerApi.RouterAPI(entryName)
35
+ };
36
+ }
37
+ async function createAfterRenderCtx(c, logger, metrics) {
38
+ const baseContext = (0, import_base.createBaseHookContext)(c, logger, metrics);
39
+ const resBody = await c.res.text();
40
+ return {
41
+ ...baseContext,
42
+ template: new import_template.TemplateApi(resBody)
43
+ };
44
+ }
45
+ function createCustomMiddlewaresCtx(c, logger, metrics) {
46
+ var _c_env_node, _c_env_node1;
47
+ const baseContext = (0, import_base.createBaseHookContext)(c, logger, metrics);
48
+ const reporter = c.get("reporter");
49
+ return {
50
+ ...baseContext,
51
+ reporter,
52
+ response: {
53
+ ...baseContext.response,
54
+ locals: {}
55
+ },
56
+ source: {
57
+ req: (_c_env_node = c.env.node) === null || _c_env_node === void 0 ? void 0 : _c_env_node.req,
58
+ res: (_c_env_node1 = c.env.node) === null || _c_env_node1 === void 0 ? void 0 : _c_env_node1.res
59
+ }
60
+ };
61
+ }
62
+ function createAfterStreamingRenderContext(c, logger, route, metrics) {
63
+ const baseContext = (0, import_base.createBaseHookContext)(c, logger, metrics);
64
+ return (chunk) => {
65
+ return {
66
+ ...baseContext,
67
+ route,
68
+ chunk
69
+ };
70
+ };
71
+ }
72
+ // Annotate the CommonJS export names for ESM import in node:
73
+ 0 && (module.exports = {
74
+ createAfterMatchCtx,
75
+ createAfterRenderCtx,
76
+ createAfterStreamingRenderContext,
77
+ createCustomMiddlewaresCtx
78
+ });
@@ -0,0 +1,130 @@
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 customServer_exports = {};
20
+ __export(customServer_exports, {
21
+ CustomServer: () => CustomServer
22
+ });
23
+ module.exports = __toCommonJS(customServer_exports);
24
+ var import_time = require("@modern-js/runtime-utils/time");
25
+ var import_utils = require("../../utils");
26
+ var import_constants = require("../../constants");
27
+ var import_context = require("./context");
28
+ const noop = () => {
29
+ };
30
+ const isHtmlResponse = (response) => {
31
+ const contentType = response.headers.get("content-type");
32
+ return contentType === null || contentType === void 0 ? void 0 : contentType.includes("text/html");
33
+ };
34
+ class CustomServer {
35
+ getHookMiddleware(entryName, routes) {
36
+ return async (c, next) => {
37
+ const routeInfo = routes.find((route) => route.entryName === entryName);
38
+ const logger = c.get("logger");
39
+ const reporter = c.get("reporter");
40
+ const metrics = c.get("metrics");
41
+ const afterMatchCtx = (0, import_context.createAfterMatchCtx)(c, entryName, logger, metrics);
42
+ const getCost = (0, import_time.time)();
43
+ await this.runner.afterMatch(afterMatchCtx, {
44
+ onLast: noop
45
+ });
46
+ const cost = getCost();
47
+ cost && (reporter === null || reporter === void 0 ? void 0 : reporter.reportTiming(import_constants.ServerReportTimings.SERVER_HOOK_AFTER_MATCH, cost));
48
+ const {
49
+ // current,
50
+ url,
51
+ status
52
+ } = afterMatchCtx.router;
53
+ if (url) {
54
+ return c.redirect(url, status);
55
+ }
56
+ const { current } = afterMatchCtx.router;
57
+ if (current !== entryName) {
58
+ const rewriteRoute = routes.find((route) => route.entryName === current);
59
+ if (rewriteRoute) {
60
+ return this.serverBase.request(rewriteRoute.urlPath);
61
+ }
62
+ }
63
+ if (c.finalized) {
64
+ return void 0;
65
+ }
66
+ await next();
67
+ if (c.finalized && (!c.res.body || !isHtmlResponse(c.res))) {
68
+ return void 0;
69
+ }
70
+ if (routeInfo.isStream) {
71
+ const afterStreamingRenderContext = (0, import_context.createAfterStreamingRenderContext)(c, logger, routeInfo, metrics);
72
+ c.res = (0, import_utils.transformResponse)(c.res, (chunk) => {
73
+ const context = afterStreamingRenderContext(chunk);
74
+ return this.runner.afterStreamingRender(context, {
75
+ onLast: ({ chunk: chunk2 }) => chunk2
76
+ });
77
+ });
78
+ } else {
79
+ const afterRenderCtx = await (0, import_context.createAfterRenderCtx)(c, logger, metrics);
80
+ const getCost2 = (0, import_time.time)();
81
+ await this.runner.afterRender(afterRenderCtx, {
82
+ onLast: noop
83
+ });
84
+ const cost2 = getCost2();
85
+ cost2 && (reporter === null || reporter === void 0 ? void 0 : reporter.reportTiming(import_constants.ServerReportTimings.SERVER_HOOK_AFTER_RENDER, cost2));
86
+ if (afterRenderCtx.response.private_overrided) {
87
+ return void 0;
88
+ }
89
+ const newBody = afterRenderCtx.template.get();
90
+ c.res = c.body(newBody);
91
+ }
92
+ };
93
+ }
94
+ getServerMiddleware() {
95
+ return async (c, next) => {
96
+ const serverMiddleware = await this.serverMiddlewarePromise;
97
+ if (!serverMiddleware) {
98
+ return next();
99
+ }
100
+ const logger = c.get("logger");
101
+ const reporter = c.get("reporter");
102
+ const metrics = c.get("metrics");
103
+ const customMiddlewareCtx = (0, import_context.createCustomMiddlewaresCtx)(c, logger, metrics);
104
+ const getCost = (0, import_time.time)();
105
+ await serverMiddleware(customMiddlewareCtx);
106
+ const cost = getCost();
107
+ cost && (reporter === null || reporter === void 0 ? void 0 : reporter.reportTiming(import_constants.ServerReportTimings.SERVER_MIDDLEWARE, cost));
108
+ if (!c.finalized) {
109
+ return next();
110
+ }
111
+ };
112
+ }
113
+ constructor(runner, serverBase, pwd) {
114
+ this.runner = runner;
115
+ this.serverBase = serverBase;
116
+ const webExtension = [];
117
+ this.serverMiddlewarePromise = runner.prepareWebServer({
118
+ pwd,
119
+ config: {
120
+ middleware: webExtension
121
+ }
122
+ }, {
123
+ onLast: () => null
124
+ });
125
+ }
126
+ }
127
+ // Annotate the CommonJS export names for ESM import in node:
128
+ 0 && (module.exports = {
129
+ CustomServer
130
+ });
@@ -0,0 +1,44 @@
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 routerApi_exports = {};
20
+ __export(routerApi_exports, {
21
+ RouterAPI: () => RouterAPI
22
+ });
23
+ module.exports = __toCommonJS(routerApi_exports);
24
+ class RouterAPI {
25
+ redirect(url, status = 302) {
26
+ this.url = url;
27
+ this.status = status;
28
+ }
29
+ rewrite(entryName) {
30
+ this.current = entryName;
31
+ }
32
+ use(entryName) {
33
+ this.rewrite(entryName);
34
+ }
35
+ constructor(entryName) {
36
+ this.current = entryName;
37
+ this.status = 200;
38
+ this.url = "";
39
+ }
40
+ }
41
+ // Annotate the CommonJS export names for ESM import in node:
42
+ 0 && (module.exports = {
43
+ RouterAPI
44
+ });
@@ -0,0 +1,58 @@
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 template_exports = {};
20
+ __export(template_exports, {
21
+ TemplateApi: () => TemplateApi
22
+ });
23
+ module.exports = __toCommonJS(template_exports);
24
+ var import_constants = require("../../constants");
25
+ class TemplateApi {
26
+ set(content) {
27
+ this.body = content;
28
+ }
29
+ get() {
30
+ return this.body;
31
+ }
32
+ prependHead(fragment) {
33
+ const { head } = import_constants.REPLACE_REG.before;
34
+ this.replaceBody(new RegExp(head), (beforeHead) => `${beforeHead}${fragment}`);
35
+ }
36
+ appendHead(fragment) {
37
+ const { head } = import_constants.REPLACE_REG.after;
38
+ this.replaceBody(head, () => `${fragment}${head}`);
39
+ }
40
+ prependBody(fragment) {
41
+ const { body } = import_constants.REPLACE_REG.before;
42
+ this.replaceBody(new RegExp(body), (beforeBody) => `${beforeBody}${fragment}`);
43
+ }
44
+ appendBody(fragment) {
45
+ const { body } = import_constants.REPLACE_REG.after;
46
+ this.replaceBody(body, () => `${fragment}${body}`);
47
+ }
48
+ replaceBody(searchValue, replaceCb) {
49
+ this.body = this.body.replace(searchValue, replaceCb);
50
+ }
51
+ constructor(body) {
52
+ this.body = body;
53
+ }
54
+ }
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ TemplateApi
58
+ });
@@ -0,0 +1,34 @@
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
+ });
@@ -0,0 +1,26 @@
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
+ });
@@ -0,0 +1,90 @@
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
+ });
@@ -0,0 +1,46 @@
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
+ });
@@ -0,0 +1,104 @@
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
+ });