@modern-js/server-core 2.53.0 → 2.54.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 (264) hide show
  1. package/dist/cjs/adapters/node/helper/index.js +37 -0
  2. package/dist/cjs/{base/adapters/node/middlewares/templates.js → adapters/node/helper/loadCache.js} +19 -33
  3. package/dist/cjs/{base/utils/serverConfig.js → adapters/node/helper/loadConfig.js} +26 -31
  4. package/dist/cjs/{base/adapters/node/loadServer.js → adapters/node/helper/loadEnv.js} +3 -3
  5. package/dist/cjs/{base/utils/debug.js → adapters/node/helper/loadPlugin.js} +16 -6
  6. package/dist/cjs/{base/adapters → adapters}/node/index.js +17 -16
  7. package/dist/cjs/{core → adapters/node/plugins}/index.js +8 -4
  8. package/dist/cjs/{base/middlewares/frameworkHeader.js → adapters/node/plugins/nodeServer.js} +16 -9
  9. package/dist/cjs/{base/adapters/node/middlewares/serverManifest.js → adapters/node/plugins/resource.js} +56 -5
  10. package/dist/cjs/{base/adapters/node/middlewares/serverStatic.js → adapters/node/plugins/static.js} +61 -7
  11. package/dist/cjs/{base/constants.js → constants.js} +3 -0
  12. package/dist/cjs/index.js +28 -6
  13. package/dist/cjs/pluginManager.js +106 -0
  14. package/dist/cjs/{base/middlewares → plugins}/customServer/index.js +13 -11
  15. package/dist/cjs/plugins/favicon.js +44 -0
  16. package/dist/cjs/{base/middlewares → plugins}/index.js +21 -15
  17. package/dist/cjs/{base/middlewares/logger.js → plugins/log.js} +23 -5
  18. package/dist/cjs/{base/middlewares → plugins}/monitor.js +30 -33
  19. package/dist/cjs/plugins/processedBy.js +44 -0
  20. package/dist/cjs/plugins/render/index.js +136 -0
  21. package/dist/cjs/{base/middlewares/renderHandler → plugins/render}/render.js +20 -5
  22. package/dist/cjs/plugins/render/ssrCache.js +178 -0
  23. package/dist/cjs/{base/middlewares/renderHandler → plugins/render}/ssrRender.js +13 -13
  24. package/dist/cjs/serverBase.js +178 -0
  25. package/dist/cjs/{base/adapters/node/middlewares → types}/index.js +10 -10
  26. package/dist/cjs/types/plugin.js +16 -0
  27. package/dist/cjs/{base/utils → utils}/index.js +3 -1
  28. package/dist/cjs/{base/middlewares/faviconFallback.js → utils/serverConfig.js} +12 -11
  29. package/dist/esm/adapters/node/helper/index.js +10 -0
  30. package/dist/esm/adapters/node/helper/loadCache.js +19 -0
  31. package/dist/esm/adapters/node/helper/loadConfig.js +32 -0
  32. package/dist/esm/adapters/node/helper/loadPlugin.js +17 -0
  33. package/dist/{esm-node/base → esm}/adapters/node/index.js +8 -8
  34. package/dist/esm/adapters/node/plugins/index.js +3 -0
  35. package/dist/esm/adapters/node/plugins/nodeServer.js +18 -0
  36. package/dist/esm/{base/adapters/node/middlewares/serverManifest.js → adapters/node/plugins/resource.js} +139 -1
  37. package/dist/esm/{base/adapters/node/middlewares/serverStatic.js → adapters/node/plugins/static.js} +108 -2
  38. package/dist/esm/{base/constants.js → constants.js} +2 -0
  39. package/dist/esm/index.js +15 -3
  40. package/dist/esm/pluginManager.js +140 -0
  41. package/dist/esm/{base/middlewares → plugins}/customServer/index.js +12 -11
  42. package/dist/esm/plugins/favicon.js +34 -0
  43. package/dist/esm/plugins/index.js +15 -0
  44. package/dist/esm/{base/middlewares/logger.js → plugins/log.js} +33 -2
  45. package/dist/esm/plugins/monitor.js +120 -0
  46. package/dist/esm/plugins/processedBy.js +42 -0
  47. package/dist/esm/plugins/render/index.js +229 -0
  48. package/dist/esm/{base/middlewares/renderHandler → plugins/render}/render.js +20 -7
  49. package/dist/esm/plugins/render/ssrCache.js +266 -0
  50. package/dist/esm/{base/middlewares/renderHandler → plugins/render}/ssrRender.js +26 -45
  51. package/dist/esm/serverBase.js +250 -0
  52. package/dist/esm/types/index.js +4 -0
  53. package/dist/esm/types/render.js +0 -0
  54. package/dist/esm/types/server.js +0 -0
  55. package/dist/esm/{base/utils → utils}/index.js +1 -0
  56. package/dist/esm/utils/serverConfig.js +13 -0
  57. package/dist/esm-node/adapters/node/helper/index.js +10 -0
  58. package/dist/esm-node/adapters/node/helper/loadCache.js +19 -0
  59. package/dist/esm-node/adapters/node/helper/loadConfig.js +31 -0
  60. package/dist/esm-node/adapters/node/helper/loadPlugin.js +15 -0
  61. package/dist/{esm/base → esm-node}/adapters/node/index.js +8 -8
  62. package/dist/esm-node/adapters/node/plugins/index.js +3 -0
  63. package/dist/esm-node/adapters/node/plugins/nodeServer.js +14 -0
  64. package/dist/esm-node/{base/adapters/node/middlewares/serverManifest.js → adapters/node/plugins/resource.js} +49 -1
  65. package/dist/esm-node/{base/adapters/node/middlewares/serverStatic.js → adapters/node/plugins/static.js} +54 -2
  66. package/dist/esm-node/{base/constants.js → constants.js} +2 -0
  67. package/dist/esm-node/index.js +15 -3
  68. package/dist/esm-node/pluginManager.js +82 -0
  69. package/dist/esm-node/{base/middlewares → plugins}/customServer/index.js +11 -10
  70. package/dist/esm-node/plugins/favicon.js +20 -0
  71. package/dist/esm-node/plugins/index.js +15 -0
  72. package/dist/esm-node/{base/middlewares/logger.js → plugins/log.js} +19 -1
  73. package/dist/esm-node/plugins/monitor.js +62 -0
  74. package/dist/esm-node/plugins/processedBy.js +20 -0
  75. package/dist/esm-node/plugins/render/index.js +111 -0
  76. package/dist/esm-node/{base/middlewares/renderHandler → plugins/render}/render.js +20 -5
  77. package/dist/esm-node/plugins/render/ssrCache.js +143 -0
  78. package/dist/esm-node/{base/middlewares/renderHandler → plugins/render}/ssrRender.js +14 -14
  79. package/dist/esm-node/serverBase.js +153 -0
  80. package/dist/esm-node/types/index.js +4 -0
  81. package/dist/esm-node/{base/utils → utils}/index.js +1 -0
  82. package/dist/esm-node/utils/serverConfig.js +11 -0
  83. package/dist/types/adapters/node/helper/index.d.ts +4 -0
  84. package/dist/types/adapters/node/helper/loadCache.d.ts +2 -0
  85. package/dist/types/adapters/node/helper/loadConfig.d.ts +2 -0
  86. package/dist/types/{base/adapters/node/loadServer.d.ts → adapters/node/helper/loadEnv.d.ts} +1 -1
  87. package/dist/types/adapters/node/helper/loadPlugin.d.ts +3 -0
  88. package/dist/types/{base/adapters → adapters}/node/hono.d.ts +1 -2
  89. package/dist/types/{base/adapters → adapters}/node/index.d.ts +2 -3
  90. package/dist/types/{base/adapters → adapters}/node/node.d.ts +1 -2
  91. package/dist/types/adapters/node/plugins/index.d.ts +3 -0
  92. package/dist/types/adapters/node/plugins/nodeServer.d.ts +4 -0
  93. package/dist/types/adapters/node/plugins/resource.d.ts +7 -0
  94. package/dist/types/adapters/node/plugins/static.d.ts +15 -0
  95. package/dist/types/{base/constants.d.ts → constants.d.ts} +1 -0
  96. package/dist/types/index.d.ts +9 -3
  97. package/dist/types/pluginManager.d.ts +31 -0
  98. package/dist/types/{base/middlewares → plugins}/customServer/base.d.ts +1 -1
  99. package/dist/types/{base/middlewares → plugins}/customServer/context.d.ts +1 -1
  100. package/dist/types/{base/middlewares → plugins}/customServer/index.d.ts +3 -3
  101. package/dist/types/{base/middlewares → plugins}/customServer/loader.d.ts +1 -1
  102. package/dist/types/plugins/favicon.d.ts +2 -0
  103. package/dist/types/plugins/index.d.ts +6 -0
  104. package/dist/types/plugins/log.d.ts +2 -0
  105. package/dist/types/plugins/monitor.d.ts +9 -0
  106. package/dist/types/plugins/processedBy.d.ts +2 -0
  107. package/dist/types/plugins/render/index.d.ts +16 -0
  108. package/dist/types/{base/middlewares/renderHandler → plugins/render}/render.d.ts +5 -4
  109. package/dist/types/plugins/render/ssrCache.d.ts +19 -0
  110. package/dist/types/{base/middlewares/renderHandler → plugins/render}/ssrRender.d.ts +3 -2
  111. package/dist/types/{base/serverBase.d.ts → serverBase.d.ts} +13 -30
  112. package/dist/types/types/config/index.d.ts +1 -0
  113. package/dist/types/types/config/server.d.ts +1 -0
  114. package/dist/types/types/index.d.ts +4 -0
  115. package/dist/types/types/plugin.d.ts +134 -0
  116. package/dist/types/{base/utils → utils}/index.d.ts +1 -0
  117. package/dist/types/utils/serverConfig.d.ts +8 -0
  118. package/package.json +15 -31
  119. package/dist/cjs/base/adapters/node/bff.js +0 -70
  120. package/dist/cjs/base/adapters/node/middlewares/mock.js +0 -113
  121. package/dist/cjs/base/adapters/node/middlewares/serverPublic.js +0 -70
  122. package/dist/cjs/base/index.js +0 -55
  123. package/dist/cjs/base/middlewares/renderHandler/index.js +0 -129
  124. package/dist/cjs/base/middlewares/renderHandler/ssrCache.js +0 -207
  125. package/dist/cjs/base/serverBase.js +0 -203
  126. package/dist/cjs/core/loadPlugins.js +0 -50
  127. package/dist/cjs/core/plugin.js +0 -84
  128. package/dist/esm/base/adapters/node/bff.js +0 -128
  129. package/dist/esm/base/adapters/node/middlewares/index.js +0 -4
  130. package/dist/esm/base/adapters/node/middlewares/mock.js +0 -198
  131. package/dist/esm/base/adapters/node/middlewares/serverPublic.js +0 -90
  132. package/dist/esm/base/adapters/node/middlewares/templates.js +0 -114
  133. package/dist/esm/base/index.js +0 -19
  134. package/dist/esm/base/middlewares/faviconFallback.js +0 -28
  135. package/dist/esm/base/middlewares/frameworkHeader.js +0 -27
  136. package/dist/esm/base/middlewares/index.js +0 -9
  137. package/dist/esm/base/middlewares/monitor.js +0 -157
  138. package/dist/esm/base/middlewares/renderHandler/index.js +0 -246
  139. package/dist/esm/base/middlewares/renderHandler/ssrCache.js +0 -317
  140. package/dist/esm/base/serverBase.js +0 -383
  141. package/dist/esm/base/utils/debug.js +0 -5
  142. package/dist/esm/base/utils/serverConfig.js +0 -58
  143. package/dist/esm/core/index.js +0 -1
  144. package/dist/esm/core/loadPlugins.js +0 -26
  145. package/dist/esm/core/plugin.js +0 -61
  146. package/dist/esm-node/base/adapters/node/bff.js +0 -46
  147. package/dist/esm-node/base/adapters/node/middlewares/index.js +0 -4
  148. package/dist/esm-node/base/adapters/node/middlewares/mock.js +0 -79
  149. package/dist/esm-node/base/adapters/node/middlewares/serverPublic.js +0 -36
  150. package/dist/esm-node/base/adapters/node/middlewares/templates.js +0 -32
  151. package/dist/esm-node/base/index.js +0 -19
  152. package/dist/esm-node/base/middlewares/faviconFallback.js +0 -10
  153. package/dist/esm-node/base/middlewares/frameworkHeader.js +0 -7
  154. package/dist/esm-node/base/middlewares/index.js +0 -9
  155. package/dist/esm-node/base/middlewares/monitor.js +0 -63
  156. package/dist/esm-node/base/middlewares/renderHandler/index.js +0 -94
  157. package/dist/esm-node/base/middlewares/renderHandler/ssrCache.js +0 -172
  158. package/dist/esm-node/base/serverBase.js +0 -168
  159. package/dist/esm-node/base/utils/debug.js +0 -5
  160. package/dist/esm-node/base/utils/serverConfig.js +0 -34
  161. package/dist/esm-node/core/index.js +0 -1
  162. package/dist/esm-node/core/loadPlugins.js +0 -26
  163. package/dist/esm-node/core/plugin.js +0 -53
  164. package/dist/types/base/adapters/node/bff.d.ts +0 -3
  165. package/dist/types/base/adapters/node/middlewares/index.d.ts +0 -4
  166. package/dist/types/base/adapters/node/middlewares/mock.d.ts +0 -5
  167. package/dist/types/base/adapters/node/middlewares/serverManifest.d.ts +0 -4
  168. package/dist/types/base/adapters/node/middlewares/serverPublic.d.ts +0 -7
  169. package/dist/types/base/adapters/node/middlewares/serverStatic.d.ts +0 -11
  170. package/dist/types/base/adapters/node/middlewares/templates.d.ts +0 -4
  171. package/dist/types/base/index.d.ts +0 -7
  172. package/dist/types/base/middlewares/faviconFallback.d.ts +0 -2
  173. package/dist/types/base/middlewares/frameworkHeader.d.ts +0 -2
  174. package/dist/types/base/middlewares/index.d.ts +0 -6
  175. package/dist/types/base/middlewares/logger.d.ts +0 -2
  176. package/dist/types/base/middlewares/monitor.d.ts +0 -6
  177. package/dist/types/base/middlewares/renderHandler/index.d.ts +0 -9
  178. package/dist/types/base/middlewares/renderHandler/ssrCache.d.ts +0 -28
  179. package/dist/types/base/utils/debug.d.ts +0 -1
  180. package/dist/types/base/utils/serverConfig.d.ts +0 -14
  181. package/dist/types/core/index.d.ts +0 -1
  182. package/dist/types/core/loadPlugins.d.ts +0 -3
  183. package/dist/types/core/plugin.d.ts +0 -251
  184. package/dist/cjs/{base/adapters → adapters}/node/hono.js +0 -0
  185. package/dist/cjs/{base/adapters → adapters}/node/node.js +0 -0
  186. package/dist/cjs/{base/adapters → adapters}/node/polyfills/index.js +0 -0
  187. package/dist/cjs/{base/adapters → adapters}/node/polyfills/install.js +0 -0
  188. package/dist/cjs/{base/adapters → adapters}/node/polyfills/stream.js +0 -0
  189. package/dist/cjs/{base/middlewares → plugins}/customServer/base.js +0 -0
  190. package/dist/cjs/{base/middlewares → plugins}/customServer/context.js +0 -0
  191. package/dist/cjs/{base/middlewares → plugins}/customServer/loader.js +0 -0
  192. package/dist/cjs/{base/middlewares → plugins}/customServer/routerApi.js +0 -0
  193. package/dist/cjs/{base/middlewares → plugins}/customServer/template.js +0 -0
  194. package/dist/cjs/{base/middlewares/renderHandler → plugins/render}/dataHandler.js +0 -0
  195. package/dist/cjs/{base/middlewares/renderHandler → plugins/render}/serverTiming.js +0 -0
  196. package/dist/cjs/{core → types}/render.js +0 -0
  197. package/dist/cjs/{core → types}/server.js +0 -0
  198. package/dist/cjs/{base/utils → utils}/entry.js +0 -0
  199. package/dist/cjs/{base/utils → utils}/env.js +0 -0
  200. package/dist/cjs/{base/utils → utils}/error.js +0 -0
  201. package/dist/cjs/{base/utils → utils}/middlewareCollector.js +0 -0
  202. package/dist/cjs/{base/utils → utils}/request.js +0 -0
  203. package/dist/cjs/{base/utils → utils}/transformStream.js +0 -0
  204. package/dist/cjs/{base/utils → utils}/warmup.js +0 -0
  205. package/dist/esm/{base/adapters/node/loadServer.js → adapters/node/helper/loadEnv.js} +0 -0
  206. package/dist/esm/{base/adapters → adapters}/node/hono.js +0 -0
  207. package/dist/esm/{base/adapters → adapters}/node/node.js +0 -0
  208. package/dist/esm/{base/adapters → adapters}/node/polyfills/index.js +0 -0
  209. package/dist/esm/{base/adapters → adapters}/node/polyfills/install.js +0 -0
  210. package/dist/esm/{base/adapters → adapters}/node/polyfills/stream.js +0 -0
  211. package/dist/esm/{base/middlewares → plugins}/customServer/base.js +0 -0
  212. package/dist/esm/{base/middlewares → plugins}/customServer/context.js +0 -0
  213. package/dist/esm/{base/middlewares → plugins}/customServer/loader.js +0 -0
  214. package/dist/esm/{base/middlewares → plugins}/customServer/routerApi.js +0 -0
  215. package/dist/esm/{base/middlewares → plugins}/customServer/template.js +0 -0
  216. package/dist/esm/{base/middlewares/renderHandler → plugins/render}/dataHandler.js +0 -0
  217. package/dist/esm/{base/middlewares/renderHandler → plugins/render}/serverTiming.js +0 -0
  218. package/dist/esm/{core/server.js → types/plugin.js} +0 -0
  219. package/dist/esm/{base/utils → utils}/entry.js +0 -0
  220. package/dist/esm/{base/utils → utils}/env.js +0 -0
  221. package/dist/esm/{base/utils → utils}/error.js +0 -0
  222. package/dist/esm/{base/utils → utils}/middlewareCollector.js +0 -0
  223. package/dist/esm/{base/utils → utils}/request.js +0 -0
  224. package/dist/esm/{base/utils → utils}/transformStream.js +0 -0
  225. package/dist/esm/{base/utils → utils}/warmup.js +0 -0
  226. package/dist/esm-node/{base/adapters/node/loadServer.js → adapters/node/helper/loadEnv.js} +0 -0
  227. package/dist/esm-node/{base/adapters → adapters}/node/hono.js +0 -0
  228. package/dist/esm-node/{base/adapters → adapters}/node/node.js +0 -0
  229. package/dist/esm-node/{base/adapters → adapters}/node/polyfills/index.js +0 -0
  230. package/dist/esm-node/{base/adapters → adapters}/node/polyfills/install.js +0 -0
  231. package/dist/esm-node/{base/adapters → adapters}/node/polyfills/stream.js +0 -0
  232. package/dist/esm-node/{base/middlewares → plugins}/customServer/base.js +0 -0
  233. package/dist/esm-node/{base/middlewares → plugins}/customServer/context.js +0 -0
  234. package/dist/esm-node/{base/middlewares → plugins}/customServer/loader.js +0 -0
  235. package/dist/esm-node/{base/middlewares → plugins}/customServer/routerApi.js +0 -0
  236. package/dist/esm-node/{base/middlewares → plugins}/customServer/template.js +0 -0
  237. package/dist/esm-node/{base/middlewares/renderHandler → plugins/render}/dataHandler.js +0 -0
  238. package/dist/esm-node/{base/middlewares/renderHandler → plugins/render}/serverTiming.js +0 -0
  239. package/dist/esm-node/{core/render.js → types/plugin.js} +0 -0
  240. package/dist/{esm/core → esm-node/types}/render.js +0 -0
  241. package/dist/esm-node/{core → types}/server.js +0 -0
  242. package/dist/esm-node/{base/utils → utils}/entry.js +0 -0
  243. package/dist/esm-node/{base/utils → utils}/env.js +0 -0
  244. package/dist/esm-node/{base/utils → utils}/error.js +0 -0
  245. package/dist/esm-node/{base/utils → utils}/middlewareCollector.js +0 -0
  246. package/dist/esm-node/{base/utils → utils}/request.js +0 -0
  247. package/dist/esm-node/{base/utils → utils}/transformStream.js +0 -0
  248. package/dist/esm-node/{base/utils → utils}/warmup.js +0 -0
  249. package/dist/types/{base/adapters → adapters}/node/polyfills/index.d.ts +0 -0
  250. package/dist/types/{base/adapters → adapters}/node/polyfills/install.d.ts +0 -0
  251. package/dist/types/{base/adapters → adapters}/node/polyfills/stream.d.ts +0 -0
  252. package/dist/types/{base/middlewares → plugins}/customServer/routerApi.d.ts +0 -0
  253. package/dist/types/{base/middlewares → plugins}/customServer/template.d.ts +0 -0
  254. package/dist/types/{base/middlewares/renderHandler → plugins/render}/dataHandler.d.ts +0 -0
  255. package/dist/types/{base/middlewares/renderHandler → plugins/render}/serverTiming.d.ts +0 -0
  256. package/dist/types/{core → types}/render.d.ts +0 -0
  257. package/dist/types/{core → types}/server.d.ts +1 -1
  258. /package/dist/types/{base/utils → utils}/entry.d.ts +0 -0
  259. /package/dist/types/{base/utils → utils}/env.d.ts +0 -0
  260. /package/dist/types/{base/utils → utils}/error.d.ts +0 -0
  261. /package/dist/types/{base/utils → utils}/middlewareCollector.d.ts +0 -0
  262. /package/dist/types/{base/utils → utils}/request.d.ts +0 -0
  263. /package/dist/types/{base/utils → utils}/transformStream.d.ts +0 -0
  264. /package/dist/types/{base/utils → utils}/warmup.d.ts +0 -0
@@ -0,0 +1,120 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
+ import { time } from "@modern-js/runtime-utils/time";
4
+ import { ServerReportTimings } from "../constants";
5
+ var defaultReporter = {
6
+ init: function init() {
7
+ },
8
+ reportError: function reportError() {
9
+ },
10
+ reportTiming: function reportTiming() {
11
+ },
12
+ reportInfo: function reportInfo() {
13
+ },
14
+ reportWarn: function reportWarn() {
15
+ }
16
+ };
17
+ function initReporter(entryName) {
18
+ return function() {
19
+ var _ref = _async_to_generator(function(c, next) {
20
+ var reporter, getCost, cost;
21
+ return _ts_generator(this, function(_state) {
22
+ switch (_state.label) {
23
+ case 0:
24
+ reporter = c.get("reporter");
25
+ if (!!reporter)
26
+ return [
27
+ 3,
28
+ 2
29
+ ];
30
+ return [
31
+ 4,
32
+ next()
33
+ ];
34
+ case 1:
35
+ _state.sent();
36
+ return [
37
+ 2
38
+ ];
39
+ case 2:
40
+ return [
41
+ 4,
42
+ reporter.init({
43
+ entryName
44
+ })
45
+ ];
46
+ case 3:
47
+ _state.sent();
48
+ getCost = time();
49
+ return [
50
+ 4,
51
+ next()
52
+ ];
53
+ case 4:
54
+ _state.sent();
55
+ cost = getCost();
56
+ reporter.reportTiming(ServerReportTimings.SERVER_HANDLE_REQUEST, cost);
57
+ return [
58
+ 2
59
+ ];
60
+ }
61
+ });
62
+ });
63
+ return function(c, next) {
64
+ return _ref.apply(this, arguments);
65
+ };
66
+ }();
67
+ }
68
+ var monitorPlugin = function(options) {
69
+ return {
70
+ name: "@modern-js/plugin-monitor",
71
+ setup: function setup(api) {
72
+ return {
73
+ prepare: function prepare() {
74
+ var middlewares = api.useAppContext().middlewares;
75
+ middlewares.push({
76
+ name: "monitor",
77
+ handler: function() {
78
+ var _ref = _async_to_generator(function(c, next) {
79
+ var logger, metrics, reporter;
80
+ return _ts_generator(this, function(_state) {
81
+ switch (_state.label) {
82
+ case 0:
83
+ logger = c.get("logger");
84
+ if (!logger && options.logger) {
85
+ c.set("logger", options.logger);
86
+ }
87
+ metrics = c.get("metrics");
88
+ if (!metrics && options.metrics) {
89
+ c.set("metrics", metrics);
90
+ }
91
+ reporter = c.get("reporter");
92
+ if (!reporter) {
93
+ c.set("reporter", reporter || defaultReporter);
94
+ }
95
+ return [
96
+ 4,
97
+ next()
98
+ ];
99
+ case 1:
100
+ _state.sent();
101
+ return [
102
+ 2
103
+ ];
104
+ }
105
+ });
106
+ });
107
+ return function(c, next) {
108
+ return _ref.apply(this, arguments);
109
+ };
110
+ }()
111
+ });
112
+ }
113
+ };
114
+ }
115
+ };
116
+ };
117
+ export {
118
+ initReporter,
119
+ monitorPlugin
120
+ };
@@ -0,0 +1,42 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
+ var processedByPlugin = function() {
4
+ return {
5
+ name: "@modern-js/plugin-processed",
6
+ setup: function setup(api) {
7
+ return {
8
+ prepare: function prepare() {
9
+ var middlewares = api.useAppContext().middlewares;
10
+ middlewares.push({
11
+ name: "processed-by",
12
+ handler: function() {
13
+ var _ref = _async_to_generator(function(c, next) {
14
+ return _ts_generator(this, function(_state) {
15
+ switch (_state.label) {
16
+ case 0:
17
+ return [
18
+ 4,
19
+ next()
20
+ ];
21
+ case 1:
22
+ _state.sent();
23
+ c.header("X-Processed-By", "Modern.js");
24
+ return [
25
+ 2
26
+ ];
27
+ }
28
+ });
29
+ });
30
+ return function(c, next) {
31
+ return _ref.apply(this, arguments);
32
+ };
33
+ }()
34
+ });
35
+ }
36
+ };
37
+ }
38
+ };
39
+ };
40
+ export {
41
+ processedByPlugin
42
+ };
@@ -0,0 +1,229 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
+ import { MAIN_ENTRY_NAME } from "@modern-js/utils/universal/constants";
4
+ import { initReporter } from "../monitor";
5
+ import { sortRoutes } from "../../utils";
6
+ import { getLoaderCtx, CustomServer, getServerMidFromUnstableMid } from "../customServer";
7
+ import { createRender } from "./render";
8
+ var renderPlugin = function() {
9
+ var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
10
+ return {
11
+ name: "@modern-js/plugin-render",
12
+ setup: function setup(api) {
13
+ var staticGenerate = options.staticGenerate, cacheConfig = options.cacheConfig;
14
+ return {
15
+ prepare: function prepare() {
16
+ return _async_to_generator(function() {
17
+ var _config_render, _config_render1, _api_useAppContext, middlewares, routes, metaName, pwd, serverBase, runner, config, customServer, serverMiddleware, pageRoutes, render, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, route, originUrlPath, entryName, urlPath, customServerHookMiddleware, customServerMiddleware, _tmp, err;
18
+ return _ts_generator(this, function(_state) {
19
+ switch (_state.label) {
20
+ case 0:
21
+ _api_useAppContext = api.useAppContext(), middlewares = _api_useAppContext.middlewares, routes = _api_useAppContext.routes, metaName = _api_useAppContext.metaName, pwd = _api_useAppContext.distDirectory, serverBase = _api_useAppContext.serverBase;
22
+ runner = api.useHookRunners();
23
+ config = api.useConfigContext();
24
+ if (!routes) {
25
+ return [
26
+ 2
27
+ ];
28
+ }
29
+ customServer = new CustomServer(runner, serverBase, pwd);
30
+ serverMiddleware = ((_config_render = config.render) === null || _config_render === void 0 ? void 0 : _config_render.middleware) && getServerMidFromUnstableMid(config.render.middleware);
31
+ pageRoutes = getPageRoutes(routes);
32
+ return [
33
+ 4,
34
+ getRenderHandler({
35
+ pwd,
36
+ routes,
37
+ config,
38
+ metaName,
39
+ cacheConfig: ((_config_render1 = config.render) === null || _config_render1 === void 0 ? void 0 : _config_render1.cache) || cacheConfig,
40
+ staticGenerate
41
+ })
42
+ ];
43
+ case 1:
44
+ render = _state.sent();
45
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
46
+ _state.label = 2;
47
+ case 2:
48
+ _state.trys.push([
49
+ 2,
50
+ 8,
51
+ 9,
52
+ 10
53
+ ]);
54
+ _iterator = pageRoutes[Symbol.iterator]();
55
+ _state.label = 3;
56
+ case 3:
57
+ if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done))
58
+ return [
59
+ 3,
60
+ 7
61
+ ];
62
+ route = _step.value;
63
+ originUrlPath = route.urlPath, entryName = route.entryName;
64
+ urlPath = originUrlPath.endsWith("/") ? "".concat(originUrlPath, "*") : "".concat(originUrlPath, "/*");
65
+ middlewares.push({
66
+ name: "init-reporter",
67
+ handler: initReporter(entryName || MAIN_ENTRY_NAME)
68
+ });
69
+ customServerHookMiddleware = customServer.getHookMiddleware(entryName || "main", routes);
70
+ middlewares.push({
71
+ name: "custom-server-hook",
72
+ path: urlPath,
73
+ handler: customServerHookMiddleware
74
+ });
75
+ _tmp = serverMiddleware;
76
+ if (_tmp)
77
+ return [
78
+ 3,
79
+ 5
80
+ ];
81
+ return [
82
+ 4,
83
+ customServer.getServerMiddleware()
84
+ ];
85
+ case 4:
86
+ _tmp = _state.sent();
87
+ _state.label = 5;
88
+ case 5:
89
+ customServerMiddleware = _tmp;
90
+ customServerMiddleware && middlewares.push({
91
+ name: "custom-server-middleware",
92
+ path: urlPath,
93
+ handler: customServerMiddleware
94
+ });
95
+ middlewares.push({
96
+ name: "render",
97
+ path: urlPath,
98
+ handler: createRenderHandler(render)
99
+ });
100
+ _state.label = 6;
101
+ case 6:
102
+ _iteratorNormalCompletion = true;
103
+ return [
104
+ 3,
105
+ 3
106
+ ];
107
+ case 7:
108
+ return [
109
+ 3,
110
+ 10
111
+ ];
112
+ case 8:
113
+ err = _state.sent();
114
+ _didIteratorError = true;
115
+ _iteratorError = err;
116
+ return [
117
+ 3,
118
+ 10
119
+ ];
120
+ case 9:
121
+ try {
122
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
123
+ _iterator.return();
124
+ }
125
+ } finally {
126
+ if (_didIteratorError) {
127
+ throw _iteratorError;
128
+ }
129
+ }
130
+ return [
131
+ 7
132
+ ];
133
+ case 10:
134
+ return [
135
+ 2
136
+ ];
137
+ }
138
+ });
139
+ })();
140
+ }
141
+ };
142
+ }
143
+ };
144
+ };
145
+ function getPageRoutes(routes) {
146
+ return routes.filter(function(route) {
147
+ return !route.isApi;
148
+ }).sort(sortRoutes);
149
+ }
150
+ function createRenderHandler(render) {
151
+ return function() {
152
+ var _ref = _async_to_generator(function(c, _) {
153
+ var _c_env_node, logger, reporter, templates, serverManifest, locals, metrics, loaderContext, request, nodeReq, res, body, status, headers, headersData;
154
+ return _ts_generator(this, function(_state) {
155
+ switch (_state.label) {
156
+ case 0:
157
+ logger = c.get("logger");
158
+ reporter = c.get("reporter");
159
+ templates = c.get("templates") || {};
160
+ serverManifest = c.get("serverManifest") || {};
161
+ locals = c.get("locals");
162
+ metrics = c.get("metrics");
163
+ loaderContext = getLoaderCtx(c);
164
+ request = c.req.raw;
165
+ nodeReq = (_c_env_node = c.env.node) === null || _c_env_node === void 0 ? void 0 : _c_env_node.req;
166
+ return [
167
+ 4,
168
+ render(request, {
169
+ logger,
170
+ nodeReq,
171
+ reporter,
172
+ templates,
173
+ metrics,
174
+ serverManifest,
175
+ loaderContext,
176
+ locals
177
+ })
178
+ ];
179
+ case 1:
180
+ res = _state.sent();
181
+ body = res.body, status = res.status, headers = res.headers;
182
+ headersData = {};
183
+ headers.forEach(function(v, k) {
184
+ headersData[k] = v;
185
+ });
186
+ return [
187
+ 2,
188
+ c.body(body, status, headersData)
189
+ ];
190
+ }
191
+ });
192
+ });
193
+ return function(c, _) {
194
+ return _ref.apply(this, arguments);
195
+ };
196
+ }();
197
+ }
198
+ function getRenderHandler(_) {
199
+ return _getRenderHandler.apply(this, arguments);
200
+ }
201
+ function _getRenderHandler() {
202
+ _getRenderHandler = _async_to_generator(function(param) {
203
+ var pwd, routes, config, cacheConfig, metaName, staticGenerate, _config_server, _config_security, ssrConfig, forceCSR, render;
204
+ return _ts_generator(this, function(_state) {
205
+ pwd = param.pwd, routes = param.routes, config = param.config, cacheConfig = param.cacheConfig, metaName = param.metaName, staticGenerate = param.staticGenerate;
206
+ ssrConfig = (_config_server = config.server) === null || _config_server === void 0 ? void 0 : _config_server.ssr;
207
+ forceCSR = typeof ssrConfig === "object" ? ssrConfig.forceCSR : false;
208
+ render = createRender({
209
+ routes,
210
+ pwd,
211
+ // TODO: need static Genrate
212
+ staticGenerate,
213
+ cacheConfig,
214
+ forceCSR,
215
+ nonce: (_config_security = config.security) === null || _config_security === void 0 ? void 0 : _config_security.nonce,
216
+ metaName: metaName || "modern-js"
217
+ });
218
+ return [
219
+ 2,
220
+ render
221
+ ];
222
+ });
223
+ });
224
+ return _getRenderHandler.apply(this, arguments);
225
+ }
226
+ export {
227
+ getRenderHandler,
228
+ renderPlugin
229
+ };
@@ -1,18 +1,30 @@
1
1
  import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
3
  import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
4
+ import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
3
5
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
4
6
  import { cutNameByHyphen } from "@modern-js/utils/universal";
5
7
  import { TrieRouter } from "hono/router/trie-router";
6
8
  import { parseQuery, getPathname, createErrorHtml, sortRoutes, transformResponse, onError as onErrorFn, ErrorDigest } from "../../utils";
7
- import { REPLACE_REG } from "../../../base/constants";
9
+ import { REPLACE_REG, X_MODERNJS_RENDER } from "../../constants";
8
10
  import { dataHandler } from "./dataHandler";
9
11
  import { ssrRender } from "./ssrRender";
12
+ var DYNAMIC_ROUTE_REG = /\/:./;
10
13
  function getRouter(routes) {
11
- var sorted = routes.sort(sortRoutes);
14
+ var dynamicRoutes = [];
15
+ var normalRoutes = [];
16
+ routes.forEach(function(route2) {
17
+ if (DYNAMIC_ROUTE_REG.test(route2.urlPath)) {
18
+ dynamicRoutes.push(route2);
19
+ } else {
20
+ normalRoutes.push(route2);
21
+ }
22
+ });
23
+ var finalRoutes = _to_consumable_array(normalRoutes.sort(sortRoutes)).concat(_to_consumable_array(dynamicRoutes.sort(sortRoutes)));
12
24
  var router = new TrieRouter();
13
25
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
14
26
  try {
15
- for (var _iterator = sorted[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
27
+ for (var _iterator = finalRoutes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
16
28
  var route = _step.value;
17
29
  var originUrlPath = route.urlPath;
18
30
  var urlPath = originUrlPath.endsWith("/") ? "".concat(originUrlPath, "*") : "".concat(originUrlPath, "/*");
@@ -45,9 +57,9 @@ function createRender(_) {
45
57
  }
46
58
  function _createRender() {
47
59
  _createRender = _async_to_generator(function(param) {
48
- var routes, pwd, metaName, staticGenerate, forceCSR, nonce, onFallbackFn, router;
60
+ var routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, nonce, onFallbackFn, router;
49
61
  return _ts_generator(this, function(_state) {
50
- routes = param.routes, pwd = param.pwd, metaName = param.metaName, staticGenerate = param.staticGenerate, forceCSR = param.forceCSR, nonce = param.nonce, onFallbackFn = param.onFallback;
62
+ routes = param.routes, pwd = param.pwd, metaName = param.metaName, staticGenerate = param.staticGenerate, cacheConfig = param.cacheConfig, forceCSR = param.forceCSR, nonce = param.nonce, onFallbackFn = param.onFallback;
51
63
  router = getRouter(routes);
52
64
  return [
53
65
  2,
@@ -136,6 +148,7 @@ function _createRender() {
136
148
  nonce,
137
149
  logger,
138
150
  nodeReq,
151
+ cacheConfig,
139
152
  reporter,
140
153
  serverRoutes: routes,
141
154
  params,
@@ -367,9 +380,9 @@ function _getRenderMode() {
367
380
  function csrRender(html) {
368
381
  return new Response(html, {
369
382
  status: 200,
370
- headers: new Headers({
383
+ headers: new Headers(_define_property({
371
384
  "content-type": "text/html; charset=UTF-8"
372
- })
385
+ }, X_MODERNJS_RENDER, "client"))
373
386
  });
374
387
  }
375
388
  function injectServerData(serverData) {