@bleedingdev/modern-js-server-core 3.2.0-ultramodern.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 (291) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +26 -0
  3. package/dist/cjs/adapters/node/helper/index.js +55 -0
  4. package/dist/cjs/adapters/node/helper/loadCache.js +58 -0
  5. package/dist/cjs/adapters/node/helper/loadConfig.js +78 -0
  6. package/dist/cjs/adapters/node/helper/loadEnv.js +66 -0
  7. package/dist/cjs/adapters/node/helper/loadPlugin.js +47 -0
  8. package/dist/cjs/adapters/node/helper/utils.js +39 -0
  9. package/dist/cjs/adapters/node/hono.js +95 -0
  10. package/dist/cjs/adapters/node/index.js +87 -0
  11. package/dist/cjs/adapters/node/node.js +180 -0
  12. package/dist/cjs/adapters/node/plugins/index.js +72 -0
  13. package/dist/cjs/adapters/node/plugins/nodeServer.js +43 -0
  14. package/dist/cjs/adapters/node/plugins/resource.js +206 -0
  15. package/dist/cjs/adapters/node/plugins/static.js +379 -0
  16. package/dist/cjs/constants.js +77 -0
  17. package/dist/cjs/context.js +41 -0
  18. package/dist/cjs/helper.js +45 -0
  19. package/dist/cjs/hono.js +46 -0
  20. package/dist/cjs/index.js +247 -0
  21. package/dist/cjs/plugins/compat/hooks.js +80 -0
  22. package/dist/cjs/plugins/compat/index.js +64 -0
  23. package/dist/cjs/plugins/contractGateAutopilot.js +158 -0
  24. package/dist/cjs/plugins/contractGateSnapshotStore.js +239 -0
  25. package/dist/cjs/plugins/default.js +61 -0
  26. package/dist/cjs/plugins/favicon.js +48 -0
  27. package/dist/cjs/plugins/index.js +157 -0
  28. package/dist/cjs/plugins/log.js +92 -0
  29. package/dist/cjs/plugins/mfCache.js +78 -0
  30. package/dist/cjs/plugins/middlewares.js +49 -0
  31. package/dist/cjs/plugins/monitors.js +192 -0
  32. package/dist/cjs/plugins/processedBy.js +50 -0
  33. package/dist/cjs/plugins/render/csrRscRender.js +74 -0
  34. package/dist/cjs/plugins/render/dataHandler.js +53 -0
  35. package/dist/cjs/plugins/render/index.js +158 -0
  36. package/dist/cjs/plugins/render/inject.js +92 -0
  37. package/dist/cjs/plugins/render/render.js +273 -0
  38. package/dist/cjs/plugins/render/renderRscHandler.js +72 -0
  39. package/dist/cjs/plugins/render/serverActionHandler.js +47 -0
  40. package/dist/cjs/plugins/render/ssrCache.js +198 -0
  41. package/dist/cjs/plugins/render/ssrRender.js +96 -0
  42. package/dist/cjs/plugins/render/utils.js +49 -0
  43. package/dist/cjs/plugins/route.js +68 -0
  44. package/dist/cjs/plugins/telemetry.js +1283 -0
  45. package/dist/cjs/serverBase.js +176 -0
  46. package/dist/cjs/types/config/bff.js +18 -0
  47. package/dist/cjs/types/config/dev.js +18 -0
  48. package/dist/cjs/types/config/html.js +18 -0
  49. package/dist/cjs/types/config/index.js +93 -0
  50. package/dist/cjs/types/config/output.js +18 -0
  51. package/dist/cjs/types/config/security.js +18 -0
  52. package/dist/cjs/types/config/server.js +18 -0
  53. package/dist/cjs/types/config/share.js +18 -0
  54. package/dist/cjs/types/config/source.js +18 -0
  55. package/dist/cjs/types/config/tools.js +18 -0
  56. package/dist/cjs/types/index.js +79 -0
  57. package/dist/cjs/types/plugins/base.js +18 -0
  58. package/dist/cjs/types/plugins/index.js +58 -0
  59. package/dist/cjs/types/plugins/plugin.js +18 -0
  60. package/dist/cjs/types/render.js +18 -0
  61. package/dist/cjs/types/requestHandler.js +18 -0
  62. package/dist/cjs/types/server.js +18 -0
  63. package/dist/cjs/utils/entry.js +40 -0
  64. package/dist/cjs/utils/env.js +51 -0
  65. package/dist/cjs/utils/error.js +93 -0
  66. package/dist/cjs/utils/index.js +114 -0
  67. package/dist/cjs/utils/middlewareCollector.js +63 -0
  68. package/dist/cjs/utils/publicDir.js +92 -0
  69. package/dist/cjs/utils/request.js +86 -0
  70. package/dist/cjs/utils/serverConfig.js +43 -0
  71. package/dist/cjs/utils/storage.js +69 -0
  72. package/dist/cjs/utils/transformStream.js +65 -0
  73. package/dist/cjs/utils/warmup.js +40 -0
  74. package/dist/esm/adapters/node/helper/index.mjs +5 -0
  75. package/dist/esm/adapters/node/helper/loadCache.mjs +14 -0
  76. package/dist/esm/adapters/node/helper/loadConfig.mjs +31 -0
  77. package/dist/esm/adapters/node/helper/loadEnv.mjs +22 -0
  78. package/dist/esm/adapters/node/helper/loadPlugin.mjs +13 -0
  79. package/dist/esm/adapters/node/helper/utils.mjs +5 -0
  80. package/dist/esm/adapters/node/hono.mjs +55 -0
  81. package/dist/esm/adapters/node/index.mjs +4 -0
  82. package/dist/esm/adapters/node/node.mjs +130 -0
  83. package/dist/esm/adapters/node/plugins/index.mjs +3 -0
  84. package/dist/esm/adapters/node/plugins/nodeServer.mjs +9 -0
  85. package/dist/esm/adapters/node/plugins/resource.mjs +138 -0
  86. package/dist/esm/adapters/node/plugins/static.mjs +329 -0
  87. package/dist/esm/constants.mjs +28 -0
  88. package/dist/esm/context.mjs +4 -0
  89. package/dist/esm/helper.mjs +11 -0
  90. package/dist/esm/hono.mjs +2 -0
  91. package/dist/esm/index.mjs +12 -0
  92. package/dist/esm/plugins/compat/hooks.mjs +40 -0
  93. package/dist/esm/plugins/compat/index.mjs +27 -0
  94. package/dist/esm/plugins/contractGateAutopilot.mjs +124 -0
  95. package/dist/esm/plugins/contractGateSnapshotStore.mjs +180 -0
  96. package/dist/esm/plugins/default.mjs +27 -0
  97. package/dist/esm/plugins/favicon.mjs +14 -0
  98. package/dist/esm/plugins/index.mjs +11 -0
  99. package/dist/esm/plugins/log.mjs +58 -0
  100. package/dist/esm/plugins/mfCache.mjs +35 -0
  101. package/dist/esm/plugins/middlewares.mjs +15 -0
  102. package/dist/esm/plugins/monitors.mjs +149 -0
  103. package/dist/esm/plugins/processedBy.mjs +16 -0
  104. package/dist/esm/plugins/render/csrRscRender.mjs +40 -0
  105. package/dist/esm/plugins/render/dataHandler.mjs +19 -0
  106. package/dist/esm/plugins/render/index.mjs +84 -0
  107. package/dist/esm/plugins/render/inject.mjs +55 -0
  108. package/dist/esm/plugins/render/render.mjs +230 -0
  109. package/dist/esm/plugins/render/renderRscHandler.mjs +38 -0
  110. package/dist/esm/plugins/render/serverActionHandler.mjs +13 -0
  111. package/dist/esm/plugins/render/ssrCache.mjs +158 -0
  112. package/dist/esm/plugins/render/ssrRender.mjs +62 -0
  113. package/dist/esm/plugins/render/utils.mjs +15 -0
  114. package/dist/esm/plugins/route.mjs +34 -0
  115. package/dist/esm/plugins/telemetry.mjs +1195 -0
  116. package/dist/esm/rslib-runtime.mjs +18 -0
  117. package/dist/esm/serverBase.mjs +139 -0
  118. package/dist/esm/types/config/bff.mjs +0 -0
  119. package/dist/esm/types/config/dev.mjs +0 -0
  120. package/dist/esm/types/config/html.mjs +0 -0
  121. package/dist/esm/types/config/index.mjs +6 -0
  122. package/dist/esm/types/config/output.mjs +0 -0
  123. package/dist/esm/types/config/security.mjs +0 -0
  124. package/dist/esm/types/config/server.mjs +0 -0
  125. package/dist/esm/types/config/share.mjs +0 -0
  126. package/dist/esm/types/config/source.mjs +0 -0
  127. package/dist/esm/types/config/tools.mjs +0 -0
  128. package/dist/esm/types/index.mjs +4 -0
  129. package/dist/esm/types/plugins/base.mjs +0 -0
  130. package/dist/esm/types/plugins/index.mjs +1 -0
  131. package/dist/esm/types/plugins/plugin.mjs +0 -0
  132. package/dist/esm/types/render.mjs +0 -0
  133. package/dist/esm/types/requestHandler.mjs +0 -0
  134. package/dist/esm/types/server.mjs +0 -0
  135. package/dist/esm/utils/entry.mjs +3 -0
  136. package/dist/esm/utils/env.mjs +14 -0
  137. package/dist/esm/utils/error.mjs +53 -0
  138. package/dist/esm/utils/index.mjs +9 -0
  139. package/dist/esm/utils/middlewareCollector.mjs +26 -0
  140. package/dist/esm/utils/publicDir.mjs +33 -0
  141. package/dist/esm/utils/request.mjs +40 -0
  142. package/dist/esm/utils/serverConfig.mjs +9 -0
  143. package/dist/esm/utils/storage.mjs +35 -0
  144. package/dist/esm/utils/transformStream.mjs +28 -0
  145. package/dist/esm/utils/warmup.mjs +6 -0
  146. package/dist/esm-node/adapters/node/helper/index.mjs +6 -0
  147. package/dist/esm-node/adapters/node/helper/loadCache.mjs +15 -0
  148. package/dist/esm-node/adapters/node/helper/loadConfig.mjs +32 -0
  149. package/dist/esm-node/adapters/node/helper/loadEnv.mjs +23 -0
  150. package/dist/esm-node/adapters/node/helper/loadPlugin.mjs +14 -0
  151. package/dist/esm-node/adapters/node/helper/utils.mjs +6 -0
  152. package/dist/esm-node/adapters/node/hono.mjs +56 -0
  153. package/dist/esm-node/adapters/node/index.mjs +5 -0
  154. package/dist/esm-node/adapters/node/node.mjs +131 -0
  155. package/dist/esm-node/adapters/node/plugins/index.mjs +4 -0
  156. package/dist/esm-node/adapters/node/plugins/nodeServer.mjs +10 -0
  157. package/dist/esm-node/adapters/node/plugins/resource.mjs +139 -0
  158. package/dist/esm-node/adapters/node/plugins/static.mjs +330 -0
  159. package/dist/esm-node/constants.mjs +29 -0
  160. package/dist/esm-node/context.mjs +5 -0
  161. package/dist/esm-node/helper.mjs +12 -0
  162. package/dist/esm-node/hono.mjs +3 -0
  163. package/dist/esm-node/index.mjs +13 -0
  164. package/dist/esm-node/plugins/compat/hooks.mjs +41 -0
  165. package/dist/esm-node/plugins/compat/index.mjs +28 -0
  166. package/dist/esm-node/plugins/contractGateAutopilot.mjs +125 -0
  167. package/dist/esm-node/plugins/contractGateSnapshotStore.mjs +182 -0
  168. package/dist/esm-node/plugins/default.mjs +28 -0
  169. package/dist/esm-node/plugins/favicon.mjs +15 -0
  170. package/dist/esm-node/plugins/index.mjs +12 -0
  171. package/dist/esm-node/plugins/log.mjs +59 -0
  172. package/dist/esm-node/plugins/mfCache.mjs +36 -0
  173. package/dist/esm-node/plugins/middlewares.mjs +16 -0
  174. package/dist/esm-node/plugins/monitors.mjs +150 -0
  175. package/dist/esm-node/plugins/processedBy.mjs +17 -0
  176. package/dist/esm-node/plugins/render/csrRscRender.mjs +41 -0
  177. package/dist/esm-node/plugins/render/dataHandler.mjs +20 -0
  178. package/dist/esm-node/plugins/render/index.mjs +85 -0
  179. package/dist/esm-node/plugins/render/inject.mjs +56 -0
  180. package/dist/esm-node/plugins/render/render.mjs +231 -0
  181. package/dist/esm-node/plugins/render/renderRscHandler.mjs +39 -0
  182. package/dist/esm-node/plugins/render/serverActionHandler.mjs +14 -0
  183. package/dist/esm-node/plugins/render/ssrCache.mjs +159 -0
  184. package/dist/esm-node/plugins/render/ssrRender.mjs +63 -0
  185. package/dist/esm-node/plugins/render/utils.mjs +16 -0
  186. package/dist/esm-node/plugins/route.mjs +35 -0
  187. package/dist/esm-node/plugins/telemetry.mjs +1196 -0
  188. package/dist/esm-node/rslib-runtime.mjs +19 -0
  189. package/dist/esm-node/serverBase.mjs +140 -0
  190. package/dist/esm-node/types/config/bff.mjs +1 -0
  191. package/dist/esm-node/types/config/dev.mjs +1 -0
  192. package/dist/esm-node/types/config/html.mjs +1 -0
  193. package/dist/esm-node/types/config/index.mjs +7 -0
  194. package/dist/esm-node/types/config/output.mjs +1 -0
  195. package/dist/esm-node/types/config/security.mjs +1 -0
  196. package/dist/esm-node/types/config/server.mjs +1 -0
  197. package/dist/esm-node/types/config/share.mjs +1 -0
  198. package/dist/esm-node/types/config/source.mjs +1 -0
  199. package/dist/esm-node/types/config/tools.mjs +1 -0
  200. package/dist/esm-node/types/index.mjs +5 -0
  201. package/dist/esm-node/types/plugins/base.mjs +1 -0
  202. package/dist/esm-node/types/plugins/index.mjs +2 -0
  203. package/dist/esm-node/types/plugins/plugin.mjs +1 -0
  204. package/dist/esm-node/types/render.mjs +1 -0
  205. package/dist/esm-node/types/requestHandler.mjs +1 -0
  206. package/dist/esm-node/types/server.mjs +1 -0
  207. package/dist/esm-node/utils/entry.mjs +4 -0
  208. package/dist/esm-node/utils/env.mjs +15 -0
  209. package/dist/esm-node/utils/error.mjs +54 -0
  210. package/dist/esm-node/utils/index.mjs +10 -0
  211. package/dist/esm-node/utils/middlewareCollector.mjs +27 -0
  212. package/dist/esm-node/utils/publicDir.mjs +34 -0
  213. package/dist/esm-node/utils/request.mjs +41 -0
  214. package/dist/esm-node/utils/serverConfig.mjs +10 -0
  215. package/dist/esm-node/utils/storage.mjs +36 -0
  216. package/dist/esm-node/utils/transformStream.mjs +29 -0
  217. package/dist/esm-node/utils/warmup.mjs +7 -0
  218. package/dist/types/adapters/node/helper/index.d.ts +6 -0
  219. package/dist/types/adapters/node/helper/loadCache.d.ts +2 -0
  220. package/dist/types/adapters/node/helper/loadConfig.d.ts +3 -0
  221. package/dist/types/adapters/node/helper/loadEnv.d.ts +3 -0
  222. package/dist/types/adapters/node/helper/loadPlugin.d.ts +3 -0
  223. package/dist/types/adapters/node/helper/utils.d.ts +21 -0
  224. package/dist/types/adapters/node/hono.d.ts +19 -0
  225. package/dist/types/adapters/node/index.d.ts +5 -0
  226. package/dist/types/adapters/node/node.d.ts +17 -0
  227. package/dist/types/adapters/node/plugins/index.d.ts +3 -0
  228. package/dist/types/adapters/node/plugins/nodeServer.d.ts +6 -0
  229. package/dist/types/adapters/node/plugins/resource.d.ts +11 -0
  230. package/dist/types/adapters/node/plugins/static.d.ts +25 -0
  231. package/dist/types/constants.d.ts +26 -0
  232. package/dist/types/context.d.ts +3 -0
  233. package/dist/types/helper.d.ts +10 -0
  234. package/dist/types/hono.d.ts +3 -0
  235. package/dist/types/index.d.ts +14 -0
  236. package/dist/types/plugins/compat/hooks.d.ts +8 -0
  237. package/dist/types/plugins/compat/index.d.ts +3 -0
  238. package/dist/types/plugins/contractGateAutopilot.d.ts +35 -0
  239. package/dist/types/plugins/contractGateSnapshotStore.d.ts +57 -0
  240. package/dist/types/plugins/default.d.ts +7 -0
  241. package/dist/types/plugins/favicon.d.ts +2 -0
  242. package/dist/types/plugins/index.d.ts +11 -0
  243. package/dist/types/plugins/log.d.ts +2 -0
  244. package/dist/types/plugins/mfCache.d.ts +12 -0
  245. package/dist/types/plugins/middlewares.d.ts +2 -0
  246. package/dist/types/plugins/monitors.d.ts +6 -0
  247. package/dist/types/plugins/processedBy.d.ts +2 -0
  248. package/dist/types/plugins/render/csrRscRender.d.ts +2 -0
  249. package/dist/types/plugins/render/dataHandler.d.ts +5 -0
  250. package/dist/types/plugins/render/index.d.ts +3 -0
  251. package/dist/types/plugins/render/inject.d.ts +7 -0
  252. package/dist/types/plugins/render/render.d.ts +16 -0
  253. package/dist/types/plugins/render/renderRscHandler.d.ts +2 -0
  254. package/dist/types/plugins/render/serverActionHandler.d.ts +2 -0
  255. package/dist/types/plugins/render/ssrCache.d.ts +18 -0
  256. package/dist/types/plugins/render/ssrRender.d.ts +26 -0
  257. package/dist/types/plugins/render/utils.d.ts +3 -0
  258. package/dist/types/plugins/route.d.ts +2 -0
  259. package/dist/types/plugins/telemetry.d.ts +309 -0
  260. package/dist/types/serverBase.d.ts +38 -0
  261. package/dist/types/types/config/bff.d.ts +142 -0
  262. package/dist/types/types/config/dev.d.ts +4 -0
  263. package/dist/types/types/config/html.d.ts +15 -0
  264. package/dist/types/types/config/index.d.ts +35 -0
  265. package/dist/types/types/config/output.d.ts +20 -0
  266. package/dist/types/types/config/security.d.ts +4 -0
  267. package/dist/types/types/config/server.d.ts +402 -0
  268. package/dist/types/types/config/share.d.ts +3 -0
  269. package/dist/types/types/config/source.d.ts +7 -0
  270. package/dist/types/types/config/tools.d.ts +2 -0
  271. package/dist/types/types/index.d.ts +4 -0
  272. package/dist/types/types/plugins/base.d.ts +57 -0
  273. package/dist/types/types/plugins/index.d.ts +2 -0
  274. package/dist/types/types/plugins/plugin.d.ts +31 -0
  275. package/dist/types/types/render.d.ts +24 -0
  276. package/dist/types/types/requestHandler.d.ts +48 -0
  277. package/dist/types/types/server.d.ts +67 -0
  278. package/dist/types/utils/entry.d.ts +3 -0
  279. package/dist/types/utils/env.d.ts +2 -0
  280. package/dist/types/utils/error.d.ts +8 -0
  281. package/dist/types/utils/index.d.ts +9 -0
  282. package/dist/types/utils/middlewareCollector.d.ts +12 -0
  283. package/dist/types/utils/publicDir.d.ts +40 -0
  284. package/dist/types/utils/request.d.ts +17 -0
  285. package/dist/types/utils/serverConfig.d.ts +8 -0
  286. package/dist/types/utils/storage.d.ts +5 -0
  287. package/dist/types/utils/transformStream.d.ts +5 -0
  288. package/dist/types/utils/warmup.d.ts +1 -0
  289. package/package.json +103 -0
  290. package/rslib.config.mts +4 -0
  291. package/rstest.config.mts +7 -0
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ injectConfigMiddlewarePlugin: ()=>injectConfigMiddlewarePlugin
28
+ });
29
+ const injectConfigMiddlewarePlugin = (configMiddlewares = [], configRenderMiddlewares = [])=>({
30
+ name: '@modern-js/plugin-inject-config-middleware',
31
+ setup (api) {
32
+ api.onPrepare(()=>{
33
+ const { middlewares, renderMiddlewares } = api.getServerContext();
34
+ configMiddlewares.forEach((m)=>{
35
+ middlewares.push(m);
36
+ });
37
+ configRenderMiddlewares.forEach((m)=>{
38
+ renderMiddlewares.push(m);
39
+ });
40
+ });
41
+ }
42
+ });
43
+ exports.injectConfigMiddlewarePlugin = __webpack_exports__.injectConfigMiddlewarePlugin;
44
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
45
+ "injectConfigMiddlewarePlugin"
46
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
47
+ Object.defineProperty(exports, '__esModule', {
48
+ value: true
49
+ });
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ initMonitorsPlugin: ()=>initMonitorsPlugin,
28
+ injectServerTiming: ()=>injectServerTiming,
29
+ injectloggerPlugin: ()=>injectloggerPlugin,
30
+ requestLatencyMiddleware: ()=>requestLatencyMiddleware
31
+ });
32
+ const time_namespaceObject = require("@modern-js/runtime-utils/time");
33
+ const external_constants_js_namespaceObject = require("../constants.js");
34
+ function createMonitors() {
35
+ const coreMonitors = [];
36
+ const log = (level, message, args)=>{
37
+ const event = {
38
+ type: 'log',
39
+ payload: {
40
+ level,
41
+ message,
42
+ args
43
+ }
44
+ };
45
+ coreMonitors.forEach((monitor)=>monitor(event));
46
+ };
47
+ const mointors = {
48
+ push (monitor) {
49
+ coreMonitors.push(monitor);
50
+ },
51
+ error (message, ...args) {
52
+ log('error', message, args);
53
+ },
54
+ warn (message, ...args) {
55
+ log('warn', message, args);
56
+ },
57
+ debug (message, ...args) {
58
+ log('debug', message, args);
59
+ },
60
+ info (message, ...args) {
61
+ log('info', message, args);
62
+ },
63
+ trace (message, ...args) {
64
+ log('trace', message, args);
65
+ },
66
+ timing (name, dur, desc, tags, ...args) {
67
+ const event = {
68
+ type: 'timing',
69
+ payload: {
70
+ name,
71
+ dur,
72
+ desc,
73
+ tags,
74
+ args
75
+ }
76
+ };
77
+ coreMonitors.forEach((monitor)=>monitor(event));
78
+ },
79
+ counter (name, tags, ...args) {
80
+ const event = {
81
+ type: 'counter',
82
+ payload: {
83
+ name,
84
+ args,
85
+ tags
86
+ }
87
+ };
88
+ coreMonitors.forEach((monitor)=>monitor(event));
89
+ }
90
+ };
91
+ return mointors;
92
+ }
93
+ const initMonitorsPlugin = ()=>({
94
+ name: '@modern-js/init-mointor',
95
+ setup (api) {
96
+ api.onPrepare(()=>{
97
+ const { middlewares } = api.getServerContext();
98
+ middlewares.push({
99
+ name: 'init-monitor',
100
+ handler: async (c, next)=>{
101
+ if (!c.get('monitors')) {
102
+ const monitors = createMonitors();
103
+ c.set('monitors', monitors);
104
+ }
105
+ return next();
106
+ },
107
+ order: 'pre'
108
+ });
109
+ });
110
+ }
111
+ });
112
+ const injectloggerPlugin = (inputLogger)=>({
113
+ name: '@modern-js/inject-logger',
114
+ setup (api) {
115
+ const logger = inputLogger;
116
+ api.onPrepare(()=>{
117
+ const { middlewares } = api.getServerContext();
118
+ middlewares.push({
119
+ name: 'inject-logger',
120
+ handler: async (c, next)=>{
121
+ const pathname = c.req.path;
122
+ const loggerMonitor = (event)=>{
123
+ if ('log' === event.type) {
124
+ const { level, message, args } = event.payload;
125
+ if ('trace' === level) logger.info(message, ...args || []);
126
+ else logger[level](message, ...args || []);
127
+ }
128
+ if ('timing' === event.type) {
129
+ const { name, dur, desc } = event.payload;
130
+ if (desc) logger.debug(`%s Debug - ${name}, cost: %s, req.url = %s `, desc, dur, pathname);
131
+ else logger.debug(`Debug - ${name}, cost: %s, req.url = %s`, dur, pathname);
132
+ }
133
+ };
134
+ const monitors = c.get('monitors');
135
+ monitors?.push(loggerMonitor);
136
+ return next();
137
+ }
138
+ });
139
+ });
140
+ }
141
+ });
142
+ const injectServerTiming = ()=>({
143
+ name: '@modern-js/inject-server-timing',
144
+ setup (api) {
145
+ api.onPrepare(()=>{
146
+ const { middlewares, metaName } = api.getServerContext();
147
+ middlewares.push({
148
+ name: 'inject-server-timing',
149
+ handler: async (c, next)=>{
150
+ const serverTimings = [];
151
+ const timingMonitor = (event)=>{
152
+ if ('timing' === event.type) serverTimings.push(event.payload);
153
+ };
154
+ const monitors = c.get('monitors');
155
+ monitors?.push(timingMonitor);
156
+ await next();
157
+ serverTimings.forEach((serverTiming)=>{
158
+ const { name, desc, dur } = serverTiming;
159
+ const _name = `bd-${metaName}-${name}`;
160
+ const value = `${_name};${desc ? `decs="${desc}";` : ''} dur=${dur}`;
161
+ c.header(external_constants_js_namespaceObject.SERVER_TIMING, value, {
162
+ append: true
163
+ });
164
+ });
165
+ }
166
+ });
167
+ });
168
+ }
169
+ });
170
+ function requestLatencyMiddleware() {
171
+ return async (c, next)=>{
172
+ const monitors = c.get('monitors');
173
+ if (!monitors) return void await next();
174
+ const getCost = (0, time_namespaceObject.time)();
175
+ await next();
176
+ const cost = getCost();
177
+ monitors.timing(external_constants_js_namespaceObject.ServerTimings.SERVER_HANDLE_REQUEST, cost);
178
+ };
179
+ }
180
+ exports.initMonitorsPlugin = __webpack_exports__.initMonitorsPlugin;
181
+ exports.injectServerTiming = __webpack_exports__.injectServerTiming;
182
+ exports.injectloggerPlugin = __webpack_exports__.injectloggerPlugin;
183
+ exports.requestLatencyMiddleware = __webpack_exports__.requestLatencyMiddleware;
184
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
185
+ "initMonitorsPlugin",
186
+ "injectServerTiming",
187
+ "injectloggerPlugin",
188
+ "requestLatencyMiddleware"
189
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
190
+ Object.defineProperty(exports, '__esModule', {
191
+ value: true
192
+ });
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ processedByPlugin: ()=>processedByPlugin
28
+ });
29
+ const processedByPlugin = ()=>({
30
+ name: '@modern-js/plugin-processed',
31
+ setup (api) {
32
+ api.onPrepare(()=>{
33
+ const { middlewares } = api.getServerContext();
34
+ middlewares.push({
35
+ name: 'processed-by',
36
+ handler: async (c, next)=>{
37
+ await next();
38
+ c.header('X-Processed-By', 'Modern.js');
39
+ }
40
+ });
41
+ });
42
+ }
43
+ });
44
+ exports.processedByPlugin = __webpack_exports__.processedByPlugin;
45
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
46
+ "processedByPlugin"
47
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
48
+ Object.defineProperty(exports, '__esModule', {
49
+ value: true
50
+ });
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ csrRscRender: ()=>csrRscRender
28
+ });
29
+ const constants_namespaceObject = require("@modern-js/utils/universal/constants");
30
+ const external_utils_js_namespaceObject = require("./utils.js");
31
+ const csrRscRender = async (req, options)=>{
32
+ const { routeInfo, serverManifest, rscSSRManifest, rscClientManifest, rscServerManifest, locals, params, loaderContext, reporter, monitors, onError, onTiming, staticGenerate, html } = options;
33
+ const serverBundle = serverManifest?.renderBundles?.[routeInfo.entryName || constants_namespaceObject.MAIN_ENTRY_NAME];
34
+ const loadableStats = serverManifest.loadableStats || {};
35
+ const routeManifest = serverManifest.routeManifest || {};
36
+ const config = (0, external_utils_js_namespaceObject.createRequestHandlerConfig)(options.config);
37
+ const requestHandlerOptions = {
38
+ resource: {
39
+ route: routeInfo,
40
+ loadableStats,
41
+ routeManifest,
42
+ entryName: routeInfo.entryName || constants_namespaceObject.MAIN_ENTRY_NAME
43
+ },
44
+ config,
45
+ params,
46
+ loaderContext,
47
+ html,
48
+ rscSSRManifest,
49
+ rscClientManifest,
50
+ rscServerManifest,
51
+ locals,
52
+ staticGenerate,
53
+ monitors,
54
+ onError,
55
+ onTiming,
56
+ reporter: reporter
57
+ };
58
+ if (!serverBundle) return new Response('Cannot find server bundle for RSC', {
59
+ status: 500
60
+ });
61
+ const renderRscStreamHandler = await serverBundle.renderRscStreamHandler;
62
+ if (!renderRscStreamHandler) return new Response('Cannot find render handler for RSC', {
63
+ status: 500
64
+ });
65
+ const response = await renderRscStreamHandler(req, requestHandlerOptions);
66
+ return response;
67
+ };
68
+ exports.csrRscRender = __webpack_exports__.csrRscRender;
69
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
70
+ "csrRscRender"
71
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
72
+ Object.defineProperty(exports, '__esModule', {
73
+ value: true
74
+ });
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ dataHandler: ()=>dataHandler
28
+ });
29
+ const constants_namespaceObject = require("@modern-js/utils/universal/constants");
30
+ const dataHandler = async (request, { routeInfo, serverRoutes, monitors, onError, onTiming, serverManifest, loaderContext })=>{
31
+ const serverLoaderModule = serverManifest?.loaderBundles?.[routeInfo.entryName || constants_namespaceObject.MAIN_ENTRY_NAME];
32
+ if (!serverLoaderModule) return;
33
+ const { routes, handleRequest } = serverLoaderModule;
34
+ const response = await handleRequest({
35
+ request,
36
+ serverRoutes,
37
+ context: {
38
+ monitors,
39
+ loaderContext
40
+ },
41
+ onTiming,
42
+ onError,
43
+ routes
44
+ });
45
+ return response;
46
+ };
47
+ exports.dataHandler = __webpack_exports__.dataHandler;
48
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
49
+ "dataHandler"
50
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
51
+ Object.defineProperty(exports, '__esModule', {
52
+ value: true
53
+ });
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ var __webpack_modules__ = {
3
+ "../../helper" (module) {
4
+ module.exports = require("../../helper.js");
5
+ },
6
+ "../../utils" (module) {
7
+ module.exports = require("../../utils/index.js");
8
+ },
9
+ "../monitors" (module) {
10
+ module.exports = require("../monitors.js");
11
+ },
12
+ "./inject" (module) {
13
+ module.exports = require("./inject.js");
14
+ }
15
+ };
16
+ var __webpack_module_cache__ = {};
17
+ function __webpack_require__(moduleId) {
18
+ var cachedModule = __webpack_module_cache__[moduleId];
19
+ if (void 0 !== cachedModule) return cachedModule.exports;
20
+ var module = __webpack_module_cache__[moduleId] = {
21
+ exports: {}
22
+ };
23
+ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
24
+ return module.exports;
25
+ }
26
+ (()=>{
27
+ __webpack_require__.n = (module)=>{
28
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
29
+ __webpack_require__.d(getter, {
30
+ a: getter
31
+ });
32
+ return getter;
33
+ };
34
+ })();
35
+ (()=>{
36
+ __webpack_require__.d = (exports1, definition)=>{
37
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
38
+ enumerable: true,
39
+ get: definition[key]
40
+ });
41
+ };
42
+ })();
43
+ (()=>{
44
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
45
+ })();
46
+ (()=>{
47
+ __webpack_require__.r = (exports1)=>{
48
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
49
+ value: 'Module'
50
+ });
51
+ Object.defineProperty(exports1, '__esModule', {
52
+ value: true
53
+ });
54
+ };
55
+ })();
56
+ var __webpack_exports__ = {};
57
+ (()=>{
58
+ __webpack_require__.r(__webpack_exports__);
59
+ __webpack_require__.d(__webpack_exports__, {
60
+ renderPlugin: ()=>renderPlugin
61
+ });
62
+ var _helper__rspack_import_0 = __webpack_require__("../../helper");
63
+ var _utils__rspack_import_1 = __webpack_require__("../../utils");
64
+ var _monitors__rspack_import_2 = __webpack_require__("../monitors");
65
+ var _inject__rspack_import_3 = __webpack_require__("./inject");
66
+ var __rspack_reexport = {};
67
+ for(const __rspack_import_key in _inject__rspack_import_3)if ([
68
+ "renderPlugin",
69
+ "default"
70
+ ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_inject__rspack_import_3[__rspack_import_key];
71
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
72
+ const DYNAMIC_ROUTE_REG = /\/:./;
73
+ function escapeRegexSpecialChars(path) {
74
+ return path.replace(/[()[\]{}*+?.^$|\\]/g, '\\$&');
75
+ }
76
+ const renderPlugin = ()=>({
77
+ name: '@modern-js/plugin-render',
78
+ setup (api) {
79
+ api.onPrepare(async ()=>{
80
+ const { middlewares, routes, render, renderMiddlewares } = api.getServerContext();
81
+ if (!routes) return;
82
+ const pageRoutes = getPageRoutes(routes);
83
+ middlewares.push({
84
+ name: 'page-latency',
85
+ handler: (0, _monitors__rspack_import_2.requestLatencyMiddleware)()
86
+ });
87
+ for (const route of pageRoutes){
88
+ const { urlPath: originUrlPath } = route;
89
+ const isDynamic = DYNAMIC_ROUTE_REG.test(originUrlPath);
90
+ const escapedPath = isDynamic ? originUrlPath : escapeRegexSpecialChars(originUrlPath);
91
+ const urlPath = escapedPath.endsWith('/') ? `${escapedPath}*` : `${escapedPath}/*`;
92
+ renderMiddlewares?.forEach((m)=>{
93
+ middlewares.push({
94
+ name: m.name,
95
+ path: urlPath,
96
+ handler: m.handler
97
+ });
98
+ });
99
+ render && middlewares.push({
100
+ name: "render",
101
+ path: urlPath,
102
+ handler: createRenderHandler(render)
103
+ });
104
+ }
105
+ });
106
+ }
107
+ });
108
+ function getPageRoutes(routes) {
109
+ return routes.filter((route)=>!route.isApi).sort(_utils__rspack_import_1.sortRoutes);
110
+ }
111
+ function createRenderHandler(render) {
112
+ return async (c, _)=>{
113
+ const reporter = c.get('reporter');
114
+ const monitors = c.get('monitors');
115
+ const templates = c.get('templates') || {};
116
+ const serverManifest = c.get('serverManifest') || {};
117
+ const rscServerManifest = c.get('rscServerManifest');
118
+ const rscClientManifest = c.get('rscClientManifest');
119
+ const rscSSRManifest = c.get('rscSSRManifest');
120
+ const locals = c.get('locals');
121
+ c.get('metrics');
122
+ const matchPathname = c.get('matchPathname');
123
+ const matchEntryName = c.get('matchEntryName');
124
+ const loaderContext = (0, _helper__rspack_import_0.getLoaderCtx)(c);
125
+ const contextForceCSR = c.get('forceCSR');
126
+ const request = c.req.raw;
127
+ const nodeReq = c.env.node?.req;
128
+ const res = await render(request, {
129
+ nodeReq,
130
+ monitors,
131
+ templates,
132
+ serverManifest,
133
+ rscServerManifest,
134
+ rscClientManifest,
135
+ rscSSRManifest,
136
+ loaderContext,
137
+ locals,
138
+ matchPathname,
139
+ matchEntryName,
140
+ contextForceCSR,
141
+ reporter
142
+ });
143
+ const { body, status, headers } = res;
144
+ const headersData = {};
145
+ headers.forEach((v, k)=>{
146
+ headersData[k] = v;
147
+ });
148
+ return c.body(body, status, headersData);
149
+ };
150
+ }
151
+ })();
152
+ exports.renderPlugin = __webpack_exports__.renderPlugin;
153
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
154
+ "renderPlugin"
155
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
156
+ Object.defineProperty(exports, '__esModule', {
157
+ value: true
158
+ });
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ getRenderHandler: ()=>getRenderHandler,
28
+ injectRenderHandlerPlugin: ()=>injectRenderHandlerPlugin
29
+ });
30
+ const external_render_js_namespaceObject = require("./render.js");
31
+ const injectRenderHandlerPlugin = ({ staticGenerate, cacheConfig })=>({
32
+ name: '@modern-js/plugin-inject-render',
33
+ setup (api) {
34
+ api.onPrepare(async ()=>{
35
+ const { distDirectory: pwd, routes, metaName } = api.getServerContext();
36
+ const config = api.getServerConfig();
37
+ const hooks = api.getHooks();
38
+ if (!routes) return;
39
+ const onFallback = async (reason, error)=>{
40
+ await hooks.fallback.call({
41
+ reason,
42
+ error
43
+ });
44
+ };
45
+ const getRenderHandlerOptions = {
46
+ pwd: pwd,
47
+ routes,
48
+ config,
49
+ metaName,
50
+ cacheConfig: cacheConfig,
51
+ staticGenerate,
52
+ onFallback
53
+ };
54
+ const render = await getRenderHandler(getRenderHandlerOptions);
55
+ api.updateServerContext({
56
+ render,
57
+ getRenderOptions: getRenderHandlerOptions
58
+ });
59
+ });
60
+ }
61
+ });
62
+ async function getRenderHandler({ pwd, routes, config, cacheConfig, metaName, staticGenerate, onFallback }) {
63
+ const ssrConfig = config.server?.ssr;
64
+ const ssrByEntries = config.server?.ssrByEntries;
65
+ const forceCSR = 'object' == typeof ssrConfig ? ssrConfig.forceCSR : false;
66
+ const forceCSRMap = new Map();
67
+ if (ssrByEntries) Object.entries(ssrByEntries).forEach(([entryName, ssrConfig])=>{
68
+ forceCSRMap.set(entryName, 'object' == typeof ssrConfig ? ssrConfig.forceCSR ?? false : false);
69
+ });
70
+ const render = (0, external_render_js_namespaceObject.createRender)({
71
+ routes,
72
+ pwd,
73
+ config,
74
+ staticGenerate,
75
+ cacheConfig,
76
+ forceCSR,
77
+ forceCSRMap,
78
+ nonce: config.security?.nonce,
79
+ metaName: metaName || 'modern-js',
80
+ onFallback
81
+ });
82
+ return render;
83
+ }
84
+ exports.getRenderHandler = __webpack_exports__.getRenderHandler;
85
+ exports.injectRenderHandlerPlugin = __webpack_exports__.injectRenderHandlerPlugin;
86
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
87
+ "getRenderHandler",
88
+ "injectRenderHandlerPlugin"
89
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
90
+ Object.defineProperty(exports, '__esModule', {
91
+ value: true
92
+ });