@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
@@ -2,7 +2,114 @@ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
2
  import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
3
3
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
4
4
  import path from "path";
5
+ import { fileReader } from "@modern-js/runtime-utils/fileReader";
5
6
  import { LOADABLE_STATS_FILE, MAIN_ENTRY_NAME, ROUTE_MANIFEST_FILE, SERVER_BUNDLE_DIRECTORY, fs } from "@modern-js/utils";
7
+ function getHtmlTemplates(pwd, routes) {
8
+ return _getHtmlTemplates.apply(this, arguments);
9
+ }
10
+ function _getHtmlTemplates() {
11
+ _getHtmlTemplates = _async_to_generator(function(pwd, routes) {
12
+ var htmls, templates;
13
+ return _ts_generator(this, function(_state) {
14
+ switch (_state.label) {
15
+ case 0:
16
+ return [
17
+ 4,
18
+ Promise.all(routes.map(function() {
19
+ var _ref = _async_to_generator(function(route) {
20
+ var html, _this, htmlPath, e;
21
+ return _ts_generator(this, function(_state2) {
22
+ switch (_state2.label) {
23
+ case 0:
24
+ _state2.trys.push([
25
+ 0,
26
+ 2,
27
+ ,
28
+ 3
29
+ ]);
30
+ htmlPath = path.join(pwd, route.entryPath);
31
+ return [
32
+ 4,
33
+ fileReader.readFile(htmlPath, "utf-8")
34
+ ];
35
+ case 1:
36
+ html = (_this = _state2.sent()) === null || _this === void 0 ? void 0 : _this.toString();
37
+ return [
38
+ 3,
39
+ 3
40
+ ];
41
+ case 2:
42
+ e = _state2.sent();
43
+ return [
44
+ 3,
45
+ 3
46
+ ];
47
+ case 3:
48
+ return [
49
+ 2,
50
+ [
51
+ route.entryName,
52
+ html
53
+ ]
54
+ ];
55
+ }
56
+ });
57
+ });
58
+ return function(route) {
59
+ return _ref.apply(this, arguments);
60
+ };
61
+ }()) || [])
62
+ ];
63
+ case 1:
64
+ htmls = _state.sent();
65
+ templates = Object.fromEntries(htmls);
66
+ return [
67
+ 2,
68
+ templates
69
+ ];
70
+ }
71
+ });
72
+ });
73
+ return _getHtmlTemplates.apply(this, arguments);
74
+ }
75
+ function injectTemplates(pwd, routes) {
76
+ return function() {
77
+ var _ref = _async_to_generator(function(c, next) {
78
+ var templates;
79
+ return _ts_generator(this, function(_state) {
80
+ switch (_state.label) {
81
+ case 0:
82
+ if (!(routes && !c.get("templates")))
83
+ return [
84
+ 3,
85
+ 2
86
+ ];
87
+ return [
88
+ 4,
89
+ getHtmlTemplates(pwd, routes)
90
+ ];
91
+ case 1:
92
+ templates = _state.sent();
93
+ c.set("templates", templates);
94
+ _state.label = 2;
95
+ case 2:
96
+ return [
97
+ 4,
98
+ next()
99
+ ];
100
+ case 3:
101
+ _state.sent();
102
+ return [
103
+ 2
104
+ ];
105
+ }
106
+ });
107
+ });
108
+ return function(c, next) {
109
+ return _ref.apply(this, arguments);
110
+ };
111
+ }();
112
+ }
6
113
  var dynamicImport = function(filePath) {
7
114
  try {
8
115
  var module = require(filePath);
@@ -163,7 +270,38 @@ function injectServerManifest(pwd, routes) {
163
270
  };
164
271
  }();
165
272
  }
273
+ var injectResourcePlugin = function() {
274
+ return {
275
+ name: "@modern-js/plugin-inject-resource",
276
+ setup: function setup(api) {
277
+ return {
278
+ prepare: function prepare() {
279
+ return _async_to_generator(function() {
280
+ var _api_useAppContext, middlewares, routes, pwd;
281
+ return _ts_generator(this, function(_state) {
282
+ _api_useAppContext = api.useAppContext(), middlewares = _api_useAppContext.middlewares, routes = _api_useAppContext.routes, pwd = _api_useAppContext.distDirectory;
283
+ middlewares.push({
284
+ name: "inject-server-manifest",
285
+ handler: injectServerManifest(pwd, routes)
286
+ });
287
+ middlewares.push({
288
+ name: "inject-html",
289
+ handler: injectTemplates(pwd, routes)
290
+ });
291
+ return [
292
+ 2
293
+ ];
294
+ });
295
+ })();
296
+ }
297
+ };
298
+ }
299
+ };
300
+ };
166
301
  export {
302
+ getHtmlTemplates,
167
303
  getServerManifest,
168
- injectServerManifest
304
+ injectResourcePlugin,
305
+ injectServerManifest,
306
+ injectTemplates
169
307
  };
@@ -1,11 +1,115 @@
1
1
  import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
2
3
  import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
3
4
  import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
4
5
  import path from "path";
5
6
  import { fs } from "@modern-js/utils";
6
7
  import { getMimeType } from "hono/utils/mime";
7
8
  import { fileReader } from "@modern-js/runtime-utils/fileReader";
8
- import { createPublicMiddleware } from "./serverPublic";
9
+ import { sortRoutes } from "../../../utils";
10
+ var serverStaticPlugin = function() {
11
+ return {
12
+ name: "@modern-js/plugin-server-static",
13
+ setup: function setup(api) {
14
+ return {
15
+ prepare: function prepare() {
16
+ var _api_useAppContext = api.useAppContext(), middlewares = _api_useAppContext.middlewares, pwd = _api_useAppContext.distDirectory, routes = _api_useAppContext.routes;
17
+ var config = api.useConfigContext();
18
+ var serverStaticMiddleware = createStaticMiddleware({
19
+ pwd,
20
+ routes,
21
+ output: config.output || {},
22
+ html: config.html || {}
23
+ });
24
+ middlewares.push({
25
+ name: "server-static",
26
+ handler: serverStaticMiddleware
27
+ });
28
+ }
29
+ };
30
+ }
31
+ };
32
+ };
33
+ function createPublicMiddleware(param) {
34
+ var pwd = param.pwd, routes = param.routes;
35
+ return function() {
36
+ var _ref = _async_to_generator(function(c, next) {
37
+ var route, entryPath, filename, data, mimeType;
38
+ return _ts_generator(this, function(_state) {
39
+ switch (_state.label) {
40
+ case 0:
41
+ route = matchRoute(c.req, routes);
42
+ if (!route)
43
+ return [
44
+ 3,
45
+ 2
46
+ ];
47
+ entryPath = route.entryPath;
48
+ filename = path.join(pwd, entryPath);
49
+ return [
50
+ 4,
51
+ fileReader.readFile(filename, "buffer")
52
+ ];
53
+ case 1:
54
+ data = _state.sent();
55
+ mimeType = getMimeType(filename);
56
+ if (data !== null) {
57
+ if (mimeType) {
58
+ c.header("Content-Type", mimeType);
59
+ }
60
+ Object.entries(route.responseHeaders || {}).forEach(function(param2) {
61
+ var _param = _sliced_to_array(param2, 2), k = _param[0], v = _param[1];
62
+ c.header(k, v);
63
+ });
64
+ return [
65
+ 2,
66
+ c.body(data, 200)
67
+ ];
68
+ }
69
+ _state.label = 2;
70
+ case 2:
71
+ return [
72
+ 4,
73
+ next()
74
+ ];
75
+ case 3:
76
+ return [
77
+ 2,
78
+ _state.sent()
79
+ ];
80
+ }
81
+ });
82
+ });
83
+ return function(c, next) {
84
+ return _ref.apply(this, arguments);
85
+ };
86
+ }();
87
+ }
88
+ function matchRoute(req, routes) {
89
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
90
+ try {
91
+ for (var _iterator = routes.sort(sortRoutes)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
92
+ var route = _step.value;
93
+ if (!route.isSSR && route.entryPath.startsWith("public") && req.path.startsWith(route.urlPath)) {
94
+ return route;
95
+ }
96
+ }
97
+ } catch (err) {
98
+ _didIteratorError = true;
99
+ _iteratorError = err;
100
+ } finally {
101
+ try {
102
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
103
+ _iterator.return();
104
+ }
105
+ } finally {
106
+ if (_didIteratorError) {
107
+ throw _iteratorError;
108
+ }
109
+ }
110
+ }
111
+ return void 0;
112
+ }
9
113
  function createStaticMiddleware(options) {
10
114
  var pwd = options.pwd, routes = options.routes;
11
115
  var prefix = options.output.assetPrefix || "/";
@@ -114,5 +218,7 @@ var prepareFavicons = function(favicon, faviconByEntries) {
114
218
  return faviconNames;
115
219
  };
116
220
  export {
117
- createStaticMiddleware
221
+ createPublicMiddleware,
222
+ createStaticMiddleware,
223
+ serverStaticPlugin
118
224
  };
@@ -23,9 +23,11 @@ var ServerReportTimings;
23
23
  ServerReportTimings2["SERVER_HOOK_AFTER_MATCH"] = "server-hook-after-match";
24
24
  })(ServerReportTimings || (ServerReportTimings = {}));
25
25
  var X_RENDER_CACHE = "x-render-cache";
26
+ var X_MODERNJS_RENDER = "x-modernjs-render";
26
27
  export {
27
28
  AGGRED_DIR,
28
29
  REPLACE_REG,
29
30
  ServerReportTimings,
31
+ X_MODERNJS_RENDER,
30
32
  X_RENDER_CACHE
31
33
  };
package/dist/esm/index.js CHANGED
@@ -1,5 +1,17 @@
1
- export * from "./core/plugin";
2
- export * from "./core/render";
1
+ import { createErrorHtml, onError, ErrorDigest } from "./utils";
2
+ import { AGGRED_DIR } from "./constants";
3
+ import { createServerBase } from "./serverBase";
4
+ import { PluginManager } from "./pluginManager";
5
+ export * from "./plugins";
6
+ export * from "./types/plugin";
7
+ export * from "./types/render";
3
8
  export * from "@modern-js/plugin";
4
- export * from "./core/loadPlugins";
5
9
  export * from "./types/config";
10
+ export {
11
+ AGGRED_DIR,
12
+ ErrorDigest,
13
+ PluginManager,
14
+ createErrorHtml,
15
+ createServerBase,
16
+ onError
17
+ };
@@ -0,0 +1,140 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
3
+ import { _ as _class_private_field_get } from "@swc/helpers/_/_class_private_field_get";
4
+ import { _ as _class_private_field_init } from "@swc/helpers/_/_class_private_field_init";
5
+ import { _ as _class_private_field_set } from "@swc/helpers/_/_class_private_field_set";
6
+ import { _ as _class_private_method_get } from "@swc/helpers/_/_class_private_method_get";
7
+ import { _ as _class_private_method_init } from "@swc/helpers/_/_class_private_method_init";
8
+ import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
9
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
10
+ import { createAsyncManager, createAsyncPipeline, createAsyncWaterfall, createContext, createParallelWorkflow } from "@modern-js/plugin";
11
+ import { loadConfig } from "./utils";
12
+ var _appContext = /* @__PURE__ */ new WeakMap(), _plugins = /* @__PURE__ */ new WeakMap(), _options = /* @__PURE__ */ new WeakMap(), _configContext = /* @__PURE__ */ new WeakMap(), _createCoreManager = /* @__PURE__ */ new WeakSet(), _initConfigContext = /* @__PURE__ */ new WeakSet();
13
+ var PluginManager = /* @__PURE__ */ function() {
14
+ "use strict";
15
+ function PluginManager2(options) {
16
+ _class_call_check(this, PluginManager2);
17
+ _class_private_method_init(this, _createCoreManager);
18
+ _class_private_method_init(this, _initConfigContext);
19
+ _class_private_field_init(this, _appContext, {
20
+ writable: true,
21
+ value: void 0
22
+ });
23
+ _class_private_field_init(this, _plugins, {
24
+ writable: true,
25
+ value: void 0
26
+ });
27
+ _class_private_field_init(this, _options, {
28
+ writable: true,
29
+ value: void 0
30
+ });
31
+ _class_private_field_init(this, _configContext, {
32
+ writable: true,
33
+ value: void 0
34
+ });
35
+ _class_private_field_set(this, _plugins, []);
36
+ _class_private_field_set(this, _configContext, createContext({}));
37
+ _class_private_field_set(this, _appContext, options.appContext);
38
+ _class_private_field_set(this, _configContext, createContext(options.serverConfig || {}));
39
+ _class_private_field_set(this, _options, options);
40
+ }
41
+ var _proto = PluginManager2.prototype;
42
+ _proto.init = function init() {
43
+ var _this = this;
44
+ return _async_to_generator(function() {
45
+ var coreManager, runner;
46
+ return _ts_generator(this, function(_state) {
47
+ switch (_state.label) {
48
+ case 0:
49
+ coreManager = _class_private_method_get(_this, _createCoreManager, createCoreManager).call(_this);
50
+ return [
51
+ 4,
52
+ coreManager.init()
53
+ ];
54
+ case 1:
55
+ runner = _state.sent();
56
+ return [
57
+ 4,
58
+ _class_private_method_get(_this, _initConfigContext, initConfigContext).call(_this, runner)
59
+ ];
60
+ case 2:
61
+ _state.sent();
62
+ return [
63
+ 2,
64
+ runner
65
+ ];
66
+ }
67
+ });
68
+ })();
69
+ };
70
+ _proto.addPlugins = function addPlugins(plugins) {
71
+ var _$_class_private_field_get;
72
+ (_$_class_private_field_get = _class_private_field_get(this, _plugins)).push.apply(_$_class_private_field_get, _to_consumable_array(plugins));
73
+ };
74
+ return PluginManager2;
75
+ }();
76
+ function createCoreManager() {
77
+ var _this = this;
78
+ var _class_private_field_get_serverConfig;
79
+ var hooks = {
80
+ config: createAsyncWaterfall(),
81
+ prepare: createAsyncWaterfall(),
82
+ reset: createParallelWorkflow(),
83
+ prepareWebServer: createAsyncPipeline(),
84
+ fallback: createParallelWorkflow(),
85
+ prepareApiServer: createAsyncPipeline(),
86
+ afterMatch: createAsyncPipeline(),
87
+ afterRender: createAsyncPipeline(),
88
+ afterStreamingRender: createAsyncPipeline()
89
+ };
90
+ var pluginApi = {
91
+ useConfigContext: function() {
92
+ return _class_private_field_get(_this, _configContext).use().value;
93
+ },
94
+ useAppContext: function() {
95
+ return _class_private_field_get(_this, _appContext).use().value;
96
+ },
97
+ setAppContext: function(c) {
98
+ return _class_private_field_get(_this, _appContext).set(c);
99
+ }
100
+ };
101
+ var coreManager = createAsyncManager(hooks, pluginApi);
102
+ this.addPlugins(((_class_private_field_get_serverConfig = _class_private_field_get(this, _options).serverConfig) === null || _class_private_field_get_serverConfig === void 0 ? void 0 : _class_private_field_get_serverConfig.plugins) || []);
103
+ _class_private_field_get(this, _plugins).forEach(function(p) {
104
+ var plugin = coreManager.createPlugin(p.setup, p);
105
+ coreManager.usePlugin(plugin);
106
+ });
107
+ return coreManager;
108
+ }
109
+ function initConfigContext(runner) {
110
+ return _initConfigContext1.apply(this, arguments);
111
+ }
112
+ function _initConfigContext1() {
113
+ _initConfigContext1 = _async_to_generator(function(runner) {
114
+ var _$_class_private_field_get, serverConfig, cliConfig, mergedConfig, finalServerConfig;
115
+ return _ts_generator(this, function(_state) {
116
+ switch (_state.label) {
117
+ case 0:
118
+ _$_class_private_field_get = _class_private_field_get(this, _options), serverConfig = _$_class_private_field_get.serverConfig, cliConfig = _$_class_private_field_get.cliConfig;
119
+ mergedConfig = loadConfig({
120
+ cliConfig,
121
+ serverConfig: serverConfig || {}
122
+ });
123
+ return [
124
+ 4,
125
+ runner.config(mergedConfig)
126
+ ];
127
+ case 1:
128
+ finalServerConfig = _state.sent();
129
+ _class_private_field_get(this, _configContext).set(finalServerConfig);
130
+ return [
131
+ 2
132
+ ];
133
+ }
134
+ });
135
+ });
136
+ return _initConfigContext1.apply(this, arguments);
137
+ }
138
+ export {
139
+ PluginManager
140
+ };
@@ -180,7 +180,7 @@ var CustomServer = /* @__PURE__ */ function() {
180
180
  if (Array.isArray(serverMiddleware)) {
181
181
  return [
182
182
  2,
183
- getUnstableMiddlewares(serverMiddleware)
183
+ getServerMidFromUnstableMid(serverMiddleware)
184
184
  ];
185
185
  }
186
186
  return [
@@ -242,15 +242,7 @@ var CustomServer = /* @__PURE__ */ function() {
242
242
  };
243
243
  return CustomServer2;
244
244
  }();
245
- function isRedirect(headers, code) {
246
- return [
247
- 301,
248
- 302,
249
- 307,
250
- 308
251
- ].includes(code || 0) || headers.get("Location");
252
- }
253
- function getUnstableMiddlewares(serverMiddleware) {
245
+ function getServerMidFromUnstableMid(serverMiddleware) {
254
246
  return serverMiddleware.map(function(middleware) {
255
247
  return function() {
256
248
  var _ref = _async_to_generator(function(c, next) {
@@ -269,6 +261,14 @@ function getUnstableMiddlewares(serverMiddleware) {
269
261
  }();
270
262
  });
271
263
  }
264
+ function isRedirect(headers, code) {
265
+ return [
266
+ 301,
267
+ 302,
268
+ 307,
269
+ 308
270
+ ].includes(code || 0) || headers.get("Location");
271
+ }
272
272
  function createMiddlewareContextFromHono(c) {
273
273
  var loaderContext = getLoaderCtx(c);
274
274
  return {
@@ -296,5 +296,6 @@ function createMiddlewareContextFromHono(c) {
296
296
  }
297
297
  export {
298
298
  CustomServer,
299
- getLoaderCtx2 as getLoaderCtx
299
+ getLoaderCtx2 as getLoaderCtx,
300
+ getServerMidFromUnstableMid
300
301
  };
@@ -0,0 +1,34 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
+ var faviconPlugin = function() {
4
+ return {
5
+ name: "@modern-js/plugin-favicon",
6
+ setup: function setup(api) {
7
+ return {
8
+ prepare: function prepare() {
9
+ var middlewares = api.useAppContext().middlewares;
10
+ middlewares.push({
11
+ name: "favicon-fallback",
12
+ path: "/favicon.ico",
13
+ handler: function() {
14
+ var _ref = _async_to_generator(function(c, _next) {
15
+ return _ts_generator(this, function(_state) {
16
+ return [
17
+ 2,
18
+ c.body(null, 204)
19
+ ];
20
+ });
21
+ });
22
+ return function(c, _next) {
23
+ return _ref.apply(this, arguments);
24
+ };
25
+ }()
26
+ });
27
+ }
28
+ };
29
+ }
30
+ };
31
+ };
32
+ export {
33
+ faviconPlugin
34
+ };
@@ -0,0 +1,15 @@
1
+ import { renderPlugin, getRenderHandler } from "./render";
2
+ import { faviconPlugin } from "./favicon";
3
+ import { processedByPlugin } from "./processedBy";
4
+ import { getLoaderCtx } from "./customServer";
5
+ import { logPlugin } from "./log";
6
+ import { monitorPlugin } from "./monitor";
7
+ export {
8
+ faviconPlugin,
9
+ getLoaderCtx,
10
+ getRenderHandler,
11
+ logPlugin,
12
+ monitorPlugin,
13
+ processedByPlugin,
14
+ renderPlugin
15
+ };
@@ -47,6 +47,21 @@ function logHandler() {
47
47
  case 0:
48
48
  method = c.req.method;
49
49
  _$logger = c.get("logger");
50
+ if (!!_$logger)
51
+ return [
52
+ 3,
53
+ 2
54
+ ];
55
+ return [
56
+ 4,
57
+ next()
58
+ ];
59
+ case 1:
60
+ _state.sent();
61
+ return [
62
+ 2
63
+ ];
64
+ case 2:
50
65
  path = getPathname(c.req.raw);
51
66
  logFn = _$logger.debug;
52
67
  log(logFn, "<--", method, path);
@@ -55,7 +70,7 @@ function logHandler() {
55
70
  4,
56
71
  next()
57
72
  ];
58
- case 1:
73
+ case 3:
59
74
  _state.sent();
60
75
  log(logFn, "-->", method, path, c.res.status, time(start));
61
76
  return [
@@ -70,6 +85,22 @@ function logHandler() {
70
85
  return logger;
71
86
  }();
72
87
  }
88
+ var logPlugin = function() {
89
+ return {
90
+ name: "@modern-js/plugin-log",
91
+ setup: function setup(api) {
92
+ return {
93
+ prepare: function prepare() {
94
+ var middlewares = api.useAppContext().middlewares;
95
+ middlewares.push({
96
+ name: "print_log",
97
+ handler: logHandler()
98
+ });
99
+ }
100
+ };
101
+ }
102
+ };
103
+ };
73
104
  export {
74
- logHandler
105
+ logPlugin
75
106
  };