@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,31 @@
1
+ import type { AppContext, CliConfig, ServerPlugin, ServerConfig } from './types';
2
+ export interface PluginManagerOptions {
3
+ cliConfig: CliConfig;
4
+ appContext: AppContext;
5
+ plugins?: ServerPlugin[];
6
+ serverConfig?: ServerConfig;
7
+ }
8
+ export declare class PluginManager {
9
+ #private;
10
+ constructor(options: PluginManagerOptions);
11
+ init(): Promise<import("@modern-js/plugin").ToRunners<{
12
+ config: import("@modern-js/plugin").AsyncWaterfall<ServerConfig>;
13
+ prepare: import("@modern-js/plugin").AsyncWaterfall<void>;
14
+ reset: import("@modern-js/plugin").ParallelWorkflow<{
15
+ event: import("./types").ResetEvent;
16
+ }>;
17
+ prepareWebServer: import("@modern-js/plugin").AsyncPipeline<import("./types").WebServerStartInput, import("./types").WebAdapter | import("@modern-js/types").UnstableMiddleware[] | null>;
18
+ fallback: import("@modern-js/plugin").ParallelWorkflow<{
19
+ reason: import("./types").FallbackReason;
20
+ error: unknown;
21
+ logger: import("@modern-js/types").Logger;
22
+ metrics?: import("@modern-js/types").Metrics | undefined;
23
+ reporter?: import("@modern-js/types").Reporter | undefined;
24
+ }>;
25
+ prepareApiServer: import("@modern-js/plugin").AsyncPipeline<import("./types").APIServerStartInput, import("hono/types").MiddlewareHandler>;
26
+ afterMatch: import("@modern-js/plugin").AsyncPipeline<import("@modern-js/types").AfterMatchContext, any>;
27
+ afterRender: import("@modern-js/plugin").AsyncPipeline<import("@modern-js/types").AfterRenderContext, any>;
28
+ afterStreamingRender: import("@modern-js/plugin").AsyncPipeline<import("@modern-js/types").AfterStreamingRenderContext, string>;
29
+ }>>;
30
+ addPlugins(plugins: ServerPlugin[]): void;
31
+ }
@@ -1,5 +1,5 @@
1
1
  import { HookContext } from '@modern-js/types';
2
- import type { Context, ServerEnv } from '../../../core/server';
2
+ import type { Context, ServerEnv } from '../../types';
3
3
  export type ResArgs = {
4
4
  status?: number;
5
5
  headers: Headers;
@@ -1,5 +1,5 @@
1
1
  import { AfterMatchContext, AfterRenderContext, MiddlewareContext, AfterStreamingRenderContext, ServerRoute, HookContext } from '@modern-js/types';
2
- import { Context, ServerEnv } from '../../../core/server';
2
+ import { Context, ServerEnv } from '../../types';
3
3
  import type { ServerNodeEnv } from '../../adapters/node/hono';
4
4
  import { ResArgs } from './base';
5
5
  export declare function getAfterMatchCtx(entryName: string, baseHookCtx: HookContext): AfterMatchContext;
@@ -1,7 +1,6 @@
1
- import { ServerRoute } from '@modern-js/types';
1
+ import { ServerRoute, UnstableMiddleware } from '@modern-js/types';
2
2
  import { ServerBase } from '../../serverBase';
3
- import { ServerHookRunner } from '../../../core/plugin';
4
- import { Middleware, ServerEnv } from '../../../core/server';
3
+ import { ServerHookRunner, Middleware, ServerEnv } from '../../types';
5
4
  import type { ServerNodeEnv } from '../../adapters/node/hono';
6
5
  export { getLoaderCtx } from './loader';
7
6
  export declare class CustomServer {
@@ -12,3 +11,4 @@ export declare class CustomServer {
12
11
  getHookMiddleware(entryName: string, routes: ServerRoute[]): Middleware<ServerEnv>;
13
12
  getServerMiddleware(): Promise<Middleware<ServerNodeEnv & ServerEnv> | Array<Middleware<ServerNodeEnv & ServerEnv>> | undefined>;
14
13
  }
14
+ export declare function getServerMidFromUnstableMid(serverMiddleware: UnstableMiddleware[]): Array<Middleware<ServerNodeEnv & ServerEnv>>;
@@ -1,4 +1,4 @@
1
- import type { Context } from '../../../core/server';
1
+ import type { Context } from '../../types';
2
2
  type LoaderContext = Map<string, unknown>;
3
3
  type Var = {
4
4
  loaderContext: LoaderContext;
@@ -0,0 +1,2 @@
1
+ import { ServerPlugin } from '../types';
2
+ export declare const faviconPlugin: () => ServerPlugin;
@@ -0,0 +1,6 @@
1
+ export { renderPlugin, getRenderHandler, type RenderPluginOptions, type GetRenderHandlerOptions, } from './render';
2
+ export { faviconPlugin } from './favicon';
3
+ export { processedByPlugin } from './processedBy';
4
+ export { getLoaderCtx } from './customServer';
5
+ export { logPlugin } from './log';
6
+ export { monitorPlugin } from './monitor';
@@ -0,0 +1,2 @@
1
+ import type { ServerPlugin } from '../types';
2
+ export declare const logPlugin: () => ServerPlugin;
@@ -0,0 +1,9 @@
1
+ import { Logger, Metrics, Reporter } from '@modern-js/types';
2
+ import { Context, Next, ServerEnv, ServerPlugin } from '../types';
3
+ export interface MonitorOptions {
4
+ logger?: Logger;
5
+ metrics?: Metrics;
6
+ reporter?: Reporter;
7
+ }
8
+ export declare function initReporter(entryName: string): (c: Context<ServerEnv>, next: Next) => Promise<void>;
9
+ export declare const monitorPlugin: (options: MonitorOptions) => ServerPlugin;
@@ -0,0 +1,2 @@
1
+ import { ServerPlugin } from '../types';
2
+ export declare const processedByPlugin: () => ServerPlugin;
@@ -0,0 +1,16 @@
1
+ import { ServerRoute } from '@modern-js/types';
2
+ import { ServerPlugin, Render, UserConfig, CacheConfig } from '../../types';
3
+ export interface RenderPluginOptions {
4
+ staticGenerate?: boolean;
5
+ cacheConfig?: CacheConfig;
6
+ }
7
+ export declare const renderPlugin: (options?: RenderPluginOptions) => ServerPlugin;
8
+ export interface GetRenderHandlerOptions {
9
+ pwd: string;
10
+ routes: ServerRoute[];
11
+ config: UserConfig;
12
+ cacheConfig?: CacheConfig;
13
+ staticGenerate?: boolean;
14
+ metaName?: string;
15
+ }
16
+ export declare function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, staticGenerate, }: GetRenderHandlerOptions): Promise<Render>;
@@ -1,19 +1,20 @@
1
1
  import { Logger, Metrics, Reporter, ServerRoute } from '@modern-js/types';
2
- import type { FallbackReason } from '../../../core/plugin';
3
- import { Render } from '../../../core/render';
2
+ import type { CacheConfig, FallbackReason } from '../../types';
3
+ import { Render } from '../../types';
4
4
  export type OnFallback = (reason: FallbackReason, utils: {
5
5
  logger: Logger;
6
6
  metrics?: Metrics;
7
7
  reporter?: Reporter;
8
8
  }, error?: unknown) => Promise<void>;
9
9
  interface CreateRenderOptions {
10
- routes: ServerRoute[];
11
10
  pwd: string;
11
+ routes: ServerRoute[];
12
+ cacheConfig?: CacheConfig;
12
13
  staticGenerate?: boolean;
13
14
  onFallback?: OnFallback;
14
15
  metaName?: string;
15
16
  forceCSR?: boolean;
16
17
  nonce?: string;
17
18
  }
18
- export declare function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, nonce, onFallback: onFallbackFn, }: CreateRenderOptions): Promise<Render>;
19
+ export declare function createRender({ routes, pwd, metaName, staticGenerate, cacheConfig, forceCSR, nonce, onFallback: onFallbackFn, }: CreateRenderOptions): Promise<Render>;
19
20
  export {};
@@ -0,0 +1,19 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import type { IncomingMessage } from 'http';
4
+ import type * as nodeStream from 'stream';
5
+ import type { CacheControl, CacheOption, Container } from '@modern-js/types';
6
+ import type { SSRServerContext, ServerRender } from '../../types';
7
+ export type CacheStatus = 'hit' | 'stale' | 'expired' | 'miss';
8
+ export type CacheResult = {
9
+ data: string | nodeStream.Readable | ReadableStream;
10
+ status?: CacheStatus;
11
+ };
12
+ export declare function matchCacheControl(cacheOption?: CacheOption, req?: IncomingMessage): CacheControl | Promise<CacheControl> | undefined;
13
+ export interface GetCacheResultOptions {
14
+ cacheControl: CacheControl;
15
+ render: ServerRender;
16
+ ssrContext: SSRServerContext;
17
+ container?: Container;
18
+ }
19
+ export declare function getCacheResult(request: Request, options: GetCacheResultOptions): Promise<CacheResult>;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import type { IncomingMessage } from 'http';
3
3
  import type { Logger, Metrics, Reporter, ServerRoute } from '@modern-js/types';
4
- import { ServerManifest } from '../../../core/server';
4
+ import { CacheConfig, ServerManifest } from '../../types';
5
5
  export type Params = Record<string, any>;
6
6
  export interface SSRRenderOptions {
7
7
  pwd: string;
@@ -15,10 +15,11 @@ export interface SSRRenderOptions {
15
15
  params: Params;
16
16
  /** Produce by custom server hook */
17
17
  locals?: Record<string, any>;
18
+ cacheConfig?: CacheConfig;
18
19
  reporter?: Reporter;
19
20
  metrics?: Metrics;
20
21
  nodeReq?: IncomingMessage;
21
22
  nonce?: string;
22
23
  }
23
- export declare function ssrRender(request: Request, { routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, params, metrics, loaderContext, }: SSRRenderOptions): Promise<Response>;
24
+ export declare function ssrRender(request: Request, { routeInfo, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq, serverManifest, locals, params, metrics, loaderContext, cacheConfig, }: SSRRenderOptions): Promise<Response>;
24
25
  export declare function getPathnameFromNodeReq(nodeReq: IncomingMessage): string;
@@ -1,8 +1,7 @@
1
- import { InternalPlugins, ServerRoute } from '@modern-js/types';
1
+ import { ServerRoute } from '@modern-js/types';
2
2
  import { Hono } from 'hono';
3
- import { ServerHookRunner, ServerPlugin } from '../core';
4
- import type { Env } from '../core/server';
5
- import type { ServerOptions } from '../types/config';
3
+ import type { Env, ServerConfig, ServerHookRunner, ServerPlugin } from './types';
4
+ import type { CliConfig } from './types/config';
6
5
  declare module '@modern-js/types' {
7
6
  interface ISAppContext {
8
7
  serverBase?: ServerBase;
@@ -11,11 +10,10 @@ declare module '@modern-js/types' {
11
10
  export type ServerBaseOptions = {
12
11
  /** server working directory, and then also dist directory */
13
12
  pwd: string;
14
- config: ServerOptions;
15
- serverConfigFile?: string;
13
+ config: CliConfig;
14
+ serverConfig?: ServerConfig;
15
+ metaName?: string;
16
16
  routes?: ServerRoute[];
17
- plugins?: ServerPlugin[];
18
- internalPlugins?: InternalPlugins;
19
17
  appContext: {
20
18
  appDirectory?: string;
21
19
  sharedDirectory?: string;
@@ -25,36 +23,21 @@ export type ServerBaseOptions = {
25
23
  runMode?: 'apiOnly' | 'ssrOnly' | 'webOnly';
26
24
  };
27
25
  export declare class ServerBase<E extends Env = any> {
26
+ #private;
28
27
  options: ServerBaseOptions;
29
28
  runner: ServerHookRunner;
30
29
  private app;
31
- private serverConfig;
30
+ private appContext;
31
+ private pluginManager;
32
32
  constructor(options: ServerBaseOptions);
33
33
  /**
34
34
  * 初始化顺序
35
- * - 获取 server runtime config
36
- * - 设置 context
37
- * - 创建 hooksRunner
38
- * - 合并插件,内置插件和 serverConfig 中配置的插件
39
- * - 执行 config hook
40
- * - 获取最终的配置
41
- * - 设置配置到 context
42
- * - 执行 prepare hook
35
+ * - 初始化 pluginManager;
36
+ * - 执行 runner.prepare;
37
+ * - 应用 middlewares
43
38
  */
44
39
  init(): Promise<this>;
45
- private createHookRunner;
46
- private loadInternalPlugins;
47
- private loadExternalPlugins;
48
- private initServerConfig;
49
- private injectContext;
50
- private initAppContext;
51
- /**
52
- * Execute config hooks
53
- * @param runner
54
- * @param options
55
- */
56
- private runConfigHook;
57
- private initConfig;
40
+ addPlugins(plugins: ServerPlugin[]): void;
58
41
  get all(): import("hono/types").HandlerInterface<E, "all", {}, "/">;
59
42
  get use(): import("hono/types").MiddlewareHandlerInterface<E, {}, "/">;
60
43
  get get(): import("hono/types").HandlerInterface<E, "get", {}, "/">;
@@ -38,3 +38,4 @@ export type ServerOptions = {
38
38
  dev?: DevNormalizedConfig;
39
39
  security?: SecurityNormalizedConfig;
40
40
  };
41
+ export type CliConfig = Required<UserConfig>;
@@ -36,6 +36,7 @@ export type SSR = boolean | {
36
36
  disablePrerender?: boolean;
37
37
  unsafeHeaders?: string[];
38
38
  scriptLoading?: 'defer' | 'blocking' | 'module' | 'async';
39
+ loaderFailureMode?: 'clientRender' | 'errorBoundary';
39
40
  };
40
41
  export type SSRByEntries = Record<string, SSR>;
41
42
  export interface ServerUserConfig {
@@ -0,0 +1,4 @@
1
+ export * from './config';
2
+ export * from './plugin';
3
+ export * from './render';
4
+ export * from './server';
@@ -0,0 +1,134 @@
1
+ /// <reference types="node" />
2
+ /** Hooks */
3
+ import type { Server as NodeServer, IncomingMessage, ServerResponse } from 'http';
4
+ import { AsyncWaterfall, ParallelWorkflow, ToRunners, ToThreads, CommonAPI, PluginOptions, AsyncSetup, createContext, AsyncPipeline } from '@modern-js/plugin';
5
+ import { AfterMatchContext, AfterRenderContext, AfterStreamingRenderContext, CacheOption, Container, HttpMethodDecider, ISAppContext, Logger, Metrics, MiddlewareContext, Reporter, ServerRoute, UnstableMiddleware } from '@modern-js/types';
6
+ import { MiddlewareHandler } from 'hono';
7
+ import { UserConfig } from './config';
8
+ import { Render } from './render';
9
+ export type ChangeEvent = 'add' | 'change' | 'unlink';
10
+ export interface Change {
11
+ filename: string;
12
+ event: ChangeEvent;
13
+ }
14
+ export interface RepackEvent {
15
+ type: 'repack';
16
+ }
17
+ export interface FileChangeEvent {
18
+ type: 'file-change';
19
+ payload: Change[];
20
+ }
21
+ export type ResetEvent = RepackEvent | FileChangeEvent;
22
+ export type FallbackReason = 'error' | 'header' | 'query';
23
+ type FallbackInput = {
24
+ reason: FallbackReason;
25
+ error: unknown;
26
+ logger: Logger;
27
+ metrics?: Metrics;
28
+ reporter?: Reporter;
29
+ };
30
+ export type APIServerStartInput = {
31
+ pwd: string;
32
+ prefix?: string;
33
+ httpMethodDecider?: HttpMethodDecider;
34
+ config?: {
35
+ middleware?: Array<any>;
36
+ };
37
+ render?: Render | null;
38
+ };
39
+ export type WebServerStartInput = {
40
+ pwd: string;
41
+ config: Record<string, any>;
42
+ };
43
+ export type WebAdapter = (ctx: MiddlewareContext) => void | Promise<void>;
44
+ export interface ServerHooks {
45
+ config: AsyncWaterfall<ServerConfig>;
46
+ prepare: AsyncWaterfall<void>;
47
+ reset: ParallelWorkflow<{
48
+ event: ResetEvent;
49
+ }>;
50
+ /**
51
+ * @deprecated
52
+ *
53
+ * deprecate it next major version
54
+ * */
55
+ prepareWebServer: AsyncPipeline<WebServerStartInput, WebAdapter | Array<UnstableMiddleware> | null>;
56
+ /**
57
+ * @deprecated
58
+ *
59
+ * deprecate it when server runtime entry refactor
60
+ *
61
+ */
62
+ fallback: ParallelWorkflow<FallbackInput>;
63
+ /**
64
+ * @deprecated
65
+ *
66
+ * deprecate it next major version
67
+ */
68
+ prepareApiServer: AsyncPipeline<APIServerStartInput, MiddlewareHandler>;
69
+ /**
70
+ * @deprecated
71
+ *
72
+ * deprecate it next major version
73
+ */
74
+ afterMatch: AsyncPipeline<AfterMatchContext, any>;
75
+ /**
76
+ * @deprecated
77
+ *
78
+ * deprecate it next major version
79
+ */
80
+ afterRender: AsyncPipeline<AfterRenderContext, any>;
81
+ /**
82
+ * @deprecated
83
+ *
84
+ * deprecate it next major version
85
+ * */
86
+ afterStreamingRender: AsyncPipeline<AfterStreamingRenderContext, string>;
87
+ }
88
+ export type ServerHookCallback = ToThreads<ServerHooks>;
89
+ /** Plugin Api */
90
+ type MiddlewareOrder = 'pre' | 'post' | 'default';
91
+ type Middleware = {
92
+ name: string;
93
+ path?: string;
94
+ method?: 'options' | 'get' | 'post' | 'put' | 'delete' | 'patch' | 'all';
95
+ handler: MiddlewareHandler | MiddlewareHandler[];
96
+ before?: Array<Middleware['name']>;
97
+ order?: MiddlewareOrder;
98
+ };
99
+ declare module '@modern-js/types' {
100
+ interface ISAppContext {
101
+ middlewares: Middleware[];
102
+ metaName: string;
103
+ routes?: ServerRoute[];
104
+ nodeServer?: NodeServer;
105
+ }
106
+ }
107
+ export type NodeRequest = IncomingMessage;
108
+ export type NodeResponse = ServerResponse;
109
+ export { NodeServer };
110
+ export type AppContext = ReturnType<typeof createContext<ISAppContext>>;
111
+ export type ConfigContext = ReturnType<typeof createContext<ServerConfig>>;
112
+ export type ServerPluginAPI = {
113
+ setAppContext: (c: ISAppContext) => void;
114
+ useAppContext: () => ISAppContext;
115
+ useConfigContext: () => ServerConfig;
116
+ };
117
+ export type PluginAPI = ServerPluginAPI & CommonAPI<ServerHooks>;
118
+ /** Runner */
119
+ export type ServerHookRunner = ToRunners<ServerHooks>;
120
+ /** Plugin options of a server plugin. */
121
+ export type ServerPlugin = PluginOptions<ServerHooks, AsyncSetup<ServerHooks, PluginAPI>>;
122
+ export type CacheConfig = {
123
+ strategy: CacheOption;
124
+ container?: Container;
125
+ };
126
+ type RenderMiddleware = UnstableMiddleware;
127
+ export interface RenderConfig {
128
+ cache?: CacheConfig;
129
+ middleware?: RenderMiddleware[];
130
+ }
131
+ export type ServerConfig = {
132
+ render?: RenderConfig;
133
+ plugins?: ServerPlugin[];
134
+ } & UserConfig;
@@ -5,3 +5,4 @@ export * from './error';
5
5
  export * from './warmup';
6
6
  export * from './entry';
7
7
  export * from './request';
8
+ export * from './serverConfig';
@@ -0,0 +1,8 @@
1
+ import { CliConfig, ServerConfig } from '../types';
2
+ /**
3
+ * 对配置进行合并,cliConfig 与 serverConfig 进行深合并
4
+ */
5
+ export declare const loadConfig: ({ cliConfig, serverConfig, }: {
6
+ cliConfig: CliConfig;
7
+ serverConfig: ServerConfig;
8
+ }) => ServerConfig;
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.53.0",
18
+ "version": "2.54.0",
19
19
  "jsnext:source": "./src/index.ts",
20
20
  "types": "./dist/types/index.d.ts",
21
21
  "main": "./dist/cjs/index.js",
@@ -23,26 +23,13 @@
23
23
  "exports": {
24
24
  ".": {
25
25
  "types": "./dist/types/index.d.ts",
26
- "node": {
27
- "jsnext:source": "./src/index.ts",
28
- "import": "./dist/esm/index.js",
29
- "require": "./dist/cjs/index.js"
30
- },
26
+ "import": "./dist/esm-node/index.d.ts",
31
27
  "default": "./dist/cjs/index.js"
32
28
  },
33
- "./base": {
34
- "types": "./dist/types/base/index.d.ts",
35
- "jsnext:source": "./src/base/index.ts",
36
- "node": {
37
- "require": "./dist/cjs/base/index.js",
38
- "import": "./dist/esm/base/index.js"
39
- },
40
- "default": "./dist/esm-node/base/index.js"
41
- },
42
- "./base/node": {
43
- "types": "./dist/types/base/adapters/node/index.d.ts",
44
- "import": "./dist/esm/base/adapters/node/index.js",
45
- "default": "./dist/cjs/base/adapters/node/index.js"
29
+ "./node": {
30
+ "types": "./dist/types/adapters/node/index.d.ts",
31
+ "import": "./dist/esm-node/adapters/node/index.js",
32
+ "default": "./dist/cjs/adapters/node/index.js"
46
33
  }
47
34
  },
48
35
  "typesVersions": {
@@ -50,11 +37,8 @@
50
37
  ".": [
51
38
  "./dist/types/index.d.ts"
52
39
  ],
53
- "base": [
54
- "./dist/types/base/index.d.ts"
55
- ],
56
- "base/node": [
57
- "./dist/types/base/adapters/node/index.d.ts"
40
+ "node": [
41
+ "./dist/types/adapters/node/index.d.ts"
58
42
  ]
59
43
  }
60
44
  },
@@ -67,11 +51,11 @@
67
51
  "@web-std/stream": "^1.0.3",
68
52
  "@web-std/file": "^3.0.3",
69
53
  "hono": "^3.12.2",
54
+ "deepmerge-ts": "7.0.2",
70
55
  "isbot": "3.8.0",
71
- "merge-deep": "^3.0.3",
72
- "@modern-js/plugin": "2.53.0",
73
- "@modern-js/runtime-utils": "2.53.0",
74
- "@modern-js/utils": "2.53.0"
56
+ "@modern-js/runtime-utils": "2.54.0",
57
+ "@modern-js/utils": "2.54.0",
58
+ "@modern-js/plugin": "2.54.0"
75
59
  },
76
60
  "devDependencies": {
77
61
  "@types/jest": "^29",
@@ -81,9 +65,9 @@
81
65
  "jest": "^29",
82
66
  "ts-jest": "^29.1.0",
83
67
  "typescript": "^5",
84
- "@scripts/build": "2.53.0",
85
- "@modern-js/types": "2.53.0",
86
- "@scripts/jest-config": "2.53.0"
68
+ "@scripts/build": "2.54.0",
69
+ "@modern-js/types": "2.54.0",
70
+ "@scripts/jest-config": "2.54.0"
87
71
  },
88
72
  "sideEffects": false,
89
73
  "publishConfig": {
@@ -1,70 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var bff_exports = {};
20
- __export(bff_exports, {
21
- bindBFFHandler: () => bindBFFHandler
22
- });
23
- module.exports = __toCommonJS(bff_exports);
24
- var import_utils = require("@modern-js/utils");
25
- var import_middlewares = require("../../../base/middlewares");
26
- var import_utils2 = require("../../utils");
27
- const bindBFFHandler = async (server, options) => {
28
- var _options_config_bff, _options_config, _options_config_bff1, _options_config1, _options_config_bff2, _options_config2;
29
- const prefix = (options === null || options === void 0 ? void 0 : (_options_config = options.config) === null || _options_config === void 0 ? void 0 : (_options_config_bff = _options_config.bff) === null || _options_config_bff === void 0 ? void 0 : _options_config_bff.prefix) || "/api";
30
- const enableHandleWeb = options === null || options === void 0 ? void 0 : (_options_config1 = options.config) === null || _options_config1 === void 0 ? void 0 : (_options_config_bff1 = _options_config1.bff) === null || _options_config_bff1 === void 0 ? void 0 : _options_config_bff1.enableHandleWeb;
31
- const httpMethodDecider = options === null || options === void 0 ? void 0 : (_options_config2 = options.config) === null || _options_config2 === void 0 ? void 0 : (_options_config_bff2 = _options_config2.bff) === null || _options_config_bff2 === void 0 ? void 0 : _options_config_bff2.httpMethodDecider;
32
- const runtimeEnv = (0, import_utils2.getRuntimeEnv)();
33
- if (runtimeEnv !== "node") {
34
- return;
35
- }
36
- const { getMiddlewares, ...collector } = (0, import_utils2.createMiddlewareCollecter)();
37
- const { runner } = server;
38
- await runner.gather(collector);
39
- const webOnly = await (0, import_utils.isWebOnly)();
40
- let handler;
41
- if (webOnly) {
42
- handler = async (c, next) => {
43
- c.body("");
44
- await next();
45
- };
46
- } else {
47
- const renderHandler = enableHandleWeb ? await (0, import_middlewares.getRenderHandler)(options, server) : null;
48
- handler = await server.runner.prepareApiServer({
49
- pwd: options.pwd,
50
- prefix,
51
- render: renderHandler,
52
- httpMethodDecider
53
- }, {
54
- onLast: () => null
55
- });
56
- }
57
- if (handler) {
58
- server.all(`*`, (c, next) => {
59
- if (!c.req.path.startsWith(prefix) && !enableHandleWeb) {
60
- return next();
61
- } else {
62
- return handler(c, next);
63
- }
64
- });
65
- }
66
- };
67
- // Annotate the CommonJS export names for ESM import in node:
68
- 0 && (module.exports = {
69
- bindBFFHandler
70
- });