@modern-js/server-core 2.53.0 → 2.54.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -1,317 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
3
- import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
4
- import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
5
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
6
- import { Readable } from "stream";
7
- import { SERVER_DIR, requireExistModule } from "@modern-js/utils";
8
- import { createMemoryStorage } from "@modern-js/runtime-utils/storer";
9
- import { createTransformStream, getPathname } from "../../utils";
10
- import { createReadableStreamFromReadable } from "../../adapters/node/polyfills/stream";
11
- var CacheManager = /* @__PURE__ */ function() {
12
- "use strict";
13
- function CacheManager2(container) {
14
- _class_call_check(this, CacheManager2);
15
- this.container = container;
16
- }
17
- var _proto = CacheManager2.prototype;
18
- _proto.getCacheResult = function getCacheResult(req, cacheControl, render, ssrContext) {
19
- var _this = this;
20
- return _async_to_generator(function() {
21
- var key, value, maxAge, staleWhileRevalidate, ttl, cache, interval;
22
- return _ts_generator(this, function(_state) {
23
- switch (_state.label) {
24
- case 0:
25
- key = _this.computedKey(req, cacheControl);
26
- return [
27
- 4,
28
- _this.container.get(key)
29
- ];
30
- case 1:
31
- value = _state.sent();
32
- maxAge = cacheControl.maxAge, staleWhileRevalidate = cacheControl.staleWhileRevalidate;
33
- ttl = maxAge + staleWhileRevalidate;
34
- if (value) {
35
- cache = JSON.parse(value);
36
- interval = Date.now() - cache.cursor;
37
- if (interval <= maxAge) {
38
- return [
39
- 2,
40
- {
41
- data: cache.val,
42
- status: "hit"
43
- }
44
- ];
45
- } else if (interval <= staleWhileRevalidate + maxAge) {
46
- _this.processCache(key, render, ssrContext, ttl);
47
- return [
48
- 2,
49
- {
50
- data: cache.val,
51
- status: "stale"
52
- }
53
- ];
54
- } else {
55
- return [
56
- 2,
57
- _this.processCache(key, render, ssrContext, ttl, "expired")
58
- ];
59
- }
60
- } else {
61
- return [
62
- 2,
63
- _this.processCache(key, render, ssrContext, ttl, "miss")
64
- ];
65
- }
66
- return [
67
- 2
68
- ];
69
- }
70
- });
71
- })();
72
- };
73
- _proto.processCache = function processCache(key, render, ssrContext, ttl, status) {
74
- var _this = this;
75
- return _async_to_generator(function() {
76
- var renderResult, current, cache, body, html, stream, reader, writer, push;
77
- return _ts_generator(this, function(_state) {
78
- switch (_state.label) {
79
- case 0:
80
- return [
81
- 4,
82
- render(ssrContext)
83
- ];
84
- case 1:
85
- renderResult = _state.sent();
86
- if (!!renderResult)
87
- return [
88
- 3,
89
- 2
90
- ];
91
- return [
92
- 2,
93
- {
94
- data: ""
95
- }
96
- ];
97
- case 2:
98
- if (!(typeof renderResult === "string"))
99
- return [
100
- 3,
101
- 4
102
- ];
103
- current = Date.now();
104
- cache = {
105
- val: renderResult,
106
- cursor: current
107
- };
108
- return [
109
- 4,
110
- _this.container.set(key, JSON.stringify(cache), {
111
- ttl
112
- })
113
- ];
114
- case 3:
115
- _state.sent();
116
- return [
117
- 2,
118
- {
119
- data: renderResult,
120
- status
121
- }
122
- ];
123
- case 4:
124
- body = // TODO: remove node:stream, move it to ssr entry.
125
- _instanceof(renderResult, Readable) ? createReadableStreamFromReadable(renderResult) : renderResult;
126
- html = "";
127
- stream = createTransformStream(function(chunk) {
128
- html += chunk;
129
- return chunk;
130
- });
131
- reader = body.getReader();
132
- writer = stream.writable.getWriter();
133
- push = function() {
134
- reader.read().then(function(param) {
135
- var done = param.done, value = param.value;
136
- if (done) {
137
- var current2 = Date.now();
138
- var cache2 = {
139
- val: html,
140
- cursor: current2
141
- };
142
- _this.container.set(key, JSON.stringify(cache2), {
143
- ttl
144
- });
145
- writer.close();
146
- return;
147
- }
148
- writer.write(value);
149
- push();
150
- });
151
- };
152
- push();
153
- return [
154
- 2,
155
- {
156
- data: stream.readable,
157
- status
158
- }
159
- ];
160
- case 5:
161
- return [
162
- 2
163
- ];
164
- }
165
- });
166
- })();
167
- };
168
- _proto.computedKey = function computedKey(req, cacheControl) {
169
- var pathname = getPathname(req);
170
- var customKey = cacheControl.customKey;
171
- var defaultKey = pathname.replace(/.+\/+$/, "");
172
- if (customKey) {
173
- if (typeof customKey === "string") {
174
- return customKey;
175
- } else {
176
- return customKey(defaultKey);
177
- }
178
- } else {
179
- return defaultKey;
180
- }
181
- };
182
- return CacheManager2;
183
- }();
184
- var CACHE_FILENAME = "cache";
185
- var ServerCache = /* @__PURE__ */ function() {
186
- "use strict";
187
- function ServerCache2() {
188
- _class_call_check(this, ServerCache2);
189
- }
190
- var _proto = ServerCache2.prototype;
191
- _proto.loadCacheMod = function loadCacheMod() {
192
- var pwd = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : process.cwd();
193
- var _this = this;
194
- return _async_to_generator(function() {
195
- var path, serverCacheFilepath, mod, cacheStorage;
196
- return _ts_generator(this, function(_state) {
197
- switch (_state.label) {
198
- case 0:
199
- return [
200
- 4,
201
- import("path").catch(function() {
202
- return {};
203
- })
204
- ];
205
- case 1:
206
- path = _state.sent();
207
- serverCacheFilepath = path.resolve(pwd, SERVER_DIR, CACHE_FILENAME);
208
- mod = requireExistModule(serverCacheFilepath, {
209
- interop: false
210
- });
211
- _this.cacheOption = mod === null || mod === void 0 ? void 0 : mod.cacheOption;
212
- if (_this.cacheOption && !(mod === null || mod === void 0 ? void 0 : mod.customContainer)) {
213
- cacheStorage = createMemoryStorage("__ssr__cache");
214
- _this.customContainer = cacheStorage;
215
- } else {
216
- _this.customContainer = mod === null || mod === void 0 ? void 0 : mod.customContainer;
217
- }
218
- if (_this.customContainer) {
219
- _this.cacheManger = new CacheManager(_this.customContainer);
220
- }
221
- return [
222
- 2
223
- ];
224
- }
225
- });
226
- })();
227
- };
228
- _proto.matchCacheControl = function matchCacheControl(req) {
229
- var cacheOption = this.cacheOption;
230
- if (!cacheOption || !req) {
231
- return void 0;
232
- } else if (isCacheControl(cacheOption)) {
233
- return cacheOption;
234
- } else if (isCacheOptionProvider(cacheOption)) {
235
- return cacheOption(req);
236
- } else {
237
- var url = req.url;
238
- var options = Object.entries(cacheOption);
239
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
240
- try {
241
- for (var _iterator = options[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
242
- var _step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], option = _step_value[1];
243
- if (key === "*" || new RegExp(key).test(url)) {
244
- if (typeof option === "function") {
245
- return option(req);
246
- } else {
247
- return option;
248
- }
249
- }
250
- }
251
- } catch (err) {
252
- _didIteratorError = true;
253
- _iteratorError = err;
254
- } finally {
255
- try {
256
- if (!_iteratorNormalCompletion && _iterator.return != null) {
257
- _iterator.return();
258
- }
259
- } finally {
260
- if (_didIteratorError) {
261
- throw _iteratorError;
262
- }
263
- }
264
- }
265
- return void 0;
266
- }
267
- function isCacheOptionProvider(option2) {
268
- return typeof option2 === "function";
269
- }
270
- function isCacheControl(option2) {
271
- return typeof option2 === "object" && option2 !== null && "maxAge" in option2;
272
- }
273
- };
274
- _proto.getCache = function getCache(req, cacheControl, render, ssrContext) {
275
- var _this = this;
276
- return _async_to_generator(function() {
277
- var renderResult;
278
- return _ts_generator(this, function(_state) {
279
- switch (_state.label) {
280
- case 0:
281
- if (!_this.cacheManger)
282
- return [
283
- 3,
284
- 1
285
- ];
286
- return [
287
- 2,
288
- _this.cacheManger.getCacheResult(req, cacheControl, render, ssrContext)
289
- ];
290
- case 1:
291
- return [
292
- 4,
293
- render(ssrContext)
294
- ];
295
- case 2:
296
- renderResult = _state.sent();
297
- return [
298
- 2,
299
- {
300
- data: renderResult
301
- }
302
- ];
303
- case 3:
304
- return [
305
- 2
306
- ];
307
- }
308
- });
309
- })();
310
- };
311
- return ServerCache2;
312
- }();
313
- var ssrCache = new ServerCache();
314
- export {
315
- CacheManager,
316
- ssrCache
317
- };
@@ -1,383 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
3
- import { _ as _create_class } from "@swc/helpers/_/_create_class";
4
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
5
- import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
6
- import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
7
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
8
- import { INTERNAL_SERVER_PLUGINS } from "@modern-js/utils/universal/constants";
9
- import { Hono } from "hono";
10
- import { AppContext, ConfigContext, serverManager, createPlugin } from "../core";
11
- import { getRuntimeEnv } from "./utils";
12
- var ServerBase = /* @__PURE__ */ function() {
13
- "use strict";
14
- function ServerBase2(options) {
15
- _class_call_check(this, ServerBase2);
16
- this.serverConfig = {};
17
- this.options = options;
18
- this.app = new Hono();
19
- }
20
- var _proto = ServerBase2.prototype;
21
- _proto.init = function init() {
22
- var _this = this;
23
- return _async_to_generator(function() {
24
- var options, runtimeEnv, _tmp, _tmp1;
25
- return _ts_generator(this, function(_state) {
26
- switch (_state.label) {
27
- case 0:
28
- options = _this.options;
29
- runtimeEnv = getRuntimeEnv();
30
- _tmp = runtimeEnv === "node";
31
- if (!_tmp)
32
- return [
33
- 3,
34
- 2
35
- ];
36
- return [
37
- 4,
38
- _this.initServerConfig(options)
39
- ];
40
- case 1:
41
- _tmp = _state.sent();
42
- _state.label = 2;
43
- case 2:
44
- _tmp;
45
- return [
46
- 4,
47
- _this.injectContext(options)
48
- ];
49
- case 3:
50
- _state.sent();
51
- return [
52
- 4,
53
- _this.createHookRunner()
54
- ];
55
- case 4:
56
- _this.runner = _state.sent();
57
- _tmp1 = runtimeEnv === "node";
58
- if (!_tmp1)
59
- return [
60
- 3,
61
- 6
62
- ];
63
- return [
64
- 4,
65
- _this.initConfig(_this.runner, options)
66
- ];
67
- case 5:
68
- _tmp1 = _state.sent();
69
- _state.label = 6;
70
- case 6:
71
- _tmp1;
72
- return [
73
- 4,
74
- _this.injectContext(options)
75
- ];
76
- case 7:
77
- _state.sent();
78
- return [
79
- 4,
80
- _this.runner.prepare()
81
- ];
82
- case 8:
83
- _state.sent();
84
- return [
85
- 2,
86
- _this
87
- ];
88
- }
89
- });
90
- })();
91
- };
92
- _proto.createHookRunner = function createHookRunner() {
93
- var _this = this;
94
- return _async_to_generator(function() {
95
- var runtimeEnv, internalPlugins, _tmp, externalPlugins, loadedPlugins, hooksRunner;
96
- return _ts_generator(this, function(_state) {
97
- switch (_state.label) {
98
- case 0:
99
- serverManager.clear();
100
- runtimeEnv = getRuntimeEnv();
101
- if (!(runtimeEnv === "node"))
102
- return [
103
- 3,
104
- 2
105
- ];
106
- return [
107
- 4,
108
- _this.loadInternalPlugins()
109
- ];
110
- case 1:
111
- _tmp = _state.sent();
112
- return [
113
- 3,
114
- 3
115
- ];
116
- case 2:
117
- _tmp = [];
118
- _state.label = 3;
119
- case 3:
120
- internalPlugins = _tmp;
121
- externalPlugins = _this.loadExternalPlugins();
122
- loadedPlugins = _to_consumable_array(internalPlugins).concat(_to_consumable_array(externalPlugins));
123
- loadedPlugins.forEach(function(p) {
124
- serverManager.usePlugin(p);
125
- });
126
- return [
127
- 4,
128
- serverManager.init()
129
- ];
130
- case 4:
131
- hooksRunner = _state.sent();
132
- return [
133
- 2,
134
- hooksRunner
135
- ];
136
- }
137
- });
138
- })();
139
- };
140
- _proto.loadInternalPlugins = function loadInternalPlugins() {
141
- var _this = this;
142
- return _async_to_generator(function() {
143
- var _this_options, tmp, plugins, appContext, pwd, loadPluginsModule, loadPlugins, internalPlugins;
144
- return _ts_generator(this, function(_state) {
145
- switch (_state.label) {
146
- case 0:
147
- _this_options = _this.options, tmp = _this_options.internalPlugins, plugins = tmp === void 0 ? INTERNAL_SERVER_PLUGINS : tmp, appContext = _this_options.appContext, pwd = _this_options.pwd;
148
- loadPluginsModule = "../core/loadPlugins";
149
- return [
150
- 4,
151
- import(loadPluginsModule)
152
- ];
153
- case 1:
154
- loadPlugins = _state.sent().loadPlugins;
155
- internalPlugins = loadPlugins(appContext.appDirectory || pwd, plugins);
156
- return [
157
- 2,
158
- internalPlugins
159
- ];
160
- }
161
- });
162
- })();
163
- };
164
- _proto.loadExternalPlugins = function loadExternalPlugins() {
165
- var _this_options = this.options, _this_options_plugins = _this_options.plugins, plugins = _this_options_plugins === void 0 ? [] : _this_options_plugins;
166
- var configPlugins = this.serverConfig.plugins || [];
167
- var externalPlugins = _to_consumable_array(plugins).concat(_to_consumable_array(configPlugins));
168
- return externalPlugins.map(function(plugin) {
169
- return createPlugin(plugin.setup, plugin);
170
- });
171
- };
172
- _proto.initServerConfig = function initServerConfig(options) {
173
- var _this = this;
174
- return _async_to_generator(function() {
175
- var pwd, serverConfigFile, utilsModuleName, _ref, getServerConfigPath, requireConfig, serverConfigPath, serverConfig;
176
- return _ts_generator(this, function(_state) {
177
- switch (_state.label) {
178
- case 0:
179
- pwd = options.pwd, serverConfigFile = options.serverConfigFile;
180
- utilsModuleName = "./utils/serverConfig";
181
- return [
182
- 4,
183
- import(utilsModuleName)
184
- ];
185
- case 1:
186
- _ref = _state.sent(), getServerConfigPath = _ref.getServerConfigPath, requireConfig = _ref.requireConfig;
187
- return [
188
- 4,
189
- getServerConfigPath(pwd, serverConfigFile)
190
- ];
191
- case 2:
192
- serverConfigPath = _state.sent();
193
- serverConfig = requireConfig(serverConfigPath);
194
- _this.serverConfig = serverConfig;
195
- return [
196
- 2
197
- ];
198
- }
199
- });
200
- })();
201
- };
202
- _proto.injectContext = function injectContext(options) {
203
- var _this = this;
204
- return _async_to_generator(function() {
205
- var appContext, config, pwd;
206
- return _ts_generator(this, function(_state) {
207
- switch (_state.label) {
208
- case 0:
209
- return [
210
- 4,
211
- _this.initAppContext()
212
- ];
213
- case 1:
214
- appContext = _state.sent();
215
- config = options.config, pwd = options.pwd;
216
- ConfigContext.set(config);
217
- AppContext.set(_object_spread_props(_object_spread({}, appContext), {
218
- serverBase: _this,
219
- distDirectory: pwd
220
- }));
221
- return [
222
- 2
223
- ];
224
- }
225
- });
226
- })();
227
- };
228
- _proto.initAppContext = function initAppContext() {
229
- var _this = this;
230
- return _async_to_generator(function() {
231
- var options, pwd, _options_plugins, plugins, appContext, serverPlugins;
232
- return _ts_generator(this, function(_state) {
233
- options = _this.options;
234
- pwd = options.pwd, _options_plugins = options.plugins, plugins = _options_plugins === void 0 ? [] : _options_plugins, appContext = options.appContext;
235
- serverPlugins = plugins.map(function(p) {
236
- return {
237
- server: p
238
- };
239
- });
240
- return [
241
- 2,
242
- {
243
- appDirectory: (appContext === null || appContext === void 0 ? void 0 : appContext.appDirectory) || "",
244
- apiDirectory: appContext === null || appContext === void 0 ? void 0 : appContext.apiDirectory,
245
- lambdaDirectory: appContext === null || appContext === void 0 ? void 0 : appContext.lambdaDirectory,
246
- sharedDirectory: appContext.sharedDirectory || "",
247
- distDirectory: pwd,
248
- plugins: serverPlugins
249
- }
250
- ];
251
- });
252
- })();
253
- };
254
- _proto.runConfigHook = function runConfigHook(runner, serverConfig) {
255
- var newServerConfig = runner.config(serverConfig || {});
256
- return newServerConfig;
257
- };
258
- _proto.initConfig = function initConfig(runner, options) {
259
- var _this = this;
260
- return _async_to_generator(function() {
261
- var path, utilsModuleName, _ref, ensureAbsolutePath, OUTPUT_CONFIG_FILE, configModuleName, loadConfig, pwd, config, serverConfig, finalServerConfig, resolvedConfigPath;
262
- return _ts_generator(this, function(_state) {
263
- switch (_state.label) {
264
- case 0:
265
- return [
266
- 4,
267
- import("path").catch(function(_) {
268
- return {};
269
- })
270
- ];
271
- case 1:
272
- path = _state.sent();
273
- utilsModuleName = "@modern-js/utils";
274
- return [
275
- 4,
276
- import(utilsModuleName)
277
- ];
278
- case 2:
279
- _ref = _state.sent(), ensureAbsolutePath = _ref.ensureAbsolutePath, OUTPUT_CONFIG_FILE = _ref.OUTPUT_CONFIG_FILE;
280
- configModuleName = "./utils/serverConfig";
281
- return [
282
- 4,
283
- import(configModuleName)
284
- ];
285
- case 3:
286
- loadConfig = _state.sent().loadConfig;
287
- pwd = options.pwd, config = options.config;
288
- serverConfig = _this.serverConfig;
289
- finalServerConfig = _this.runConfigHook(runner, serverConfig);
290
- resolvedConfigPath = ensureAbsolutePath(pwd, path.join(config.output.path || "dist", OUTPUT_CONFIG_FILE));
291
- options.config = loadConfig({
292
- cliConfig: config,
293
- serverConfig: finalServerConfig,
294
- resolvedConfigPath
295
- });
296
- return [
297
- 2
298
- ];
299
- }
300
- });
301
- })();
302
- };
303
- _create_class(ServerBase2, [
304
- {
305
- key: "all",
306
- get: function get() {
307
- return this.app.all.bind(this.app);
308
- }
309
- },
310
- {
311
- key: "use",
312
- get: function get() {
313
- return this.app.use.bind(this.app);
314
- }
315
- },
316
- {
317
- key: "get",
318
- get: function get() {
319
- return this.app.get.bind(this.app);
320
- }
321
- },
322
- {
323
- key: "post",
324
- get: function get() {
325
- return this.app.post.bind(this.app);
326
- }
327
- },
328
- {
329
- key: "put",
330
- get: function get() {
331
- return this.app.put.bind(this.app);
332
- }
333
- },
334
- {
335
- key: "delete",
336
- get: function get() {
337
- return this.app.delete.bind(this.app);
338
- }
339
- },
340
- {
341
- key: "patch",
342
- get: function get() {
343
- return this.app.patch.bind(this.app);
344
- }
345
- },
346
- {
347
- key: "handle",
348
- get: function get() {
349
- return this.app.fetch.bind(this.app);
350
- }
351
- },
352
- {
353
- key: "request",
354
- get: function get() {
355
- return this.app.request.bind(this.app);
356
- }
357
- },
358
- {
359
- key: "notFound",
360
- get: function get() {
361
- return this.app.notFound.bind(this.app);
362
- }
363
- },
364
- {
365
- key: "onError",
366
- get: function get() {
367
- return this.app.onError.bind(this.app);
368
- }
369
- }
370
- ]);
371
- return ServerBase2;
372
- }();
373
- function createServerBase(options) {
374
- if (options == null) {
375
- throw new Error("can not start server without options");
376
- }
377
- var server = new ServerBase(options);
378
- return server;
379
- }
380
- export {
381
- ServerBase,
382
- createServerBase
383
- };
@@ -1,5 +0,0 @@
1
- import { createDebugger } from "@modern-js/utils";
2
- var debug = createDebugger("prod-server");
3
- export {
4
- debug
5
- };