@morojs/moro 1.6.2 → 1.6.4

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 (366) hide show
  1. package/dist/core/http/http-server.js +12 -9
  2. package/dist/core/http/http-server.js.map +1 -1
  3. package/dist/core/http/uws-http-server.js +1 -1
  4. package/dist/core/http/uws-http-server.js.map +1 -1
  5. package/dist/core/middleware/built-in/auth/core.d.ts +78 -0
  6. package/dist/core/middleware/built-in/auth/core.js +358 -0
  7. package/dist/core/middleware/built-in/auth/core.js.map +1 -0
  8. package/dist/core/middleware/built-in/{auth-helpers.js → auth/helpers.js} +1 -1
  9. package/dist/core/middleware/built-in/auth/helpers.js.map +1 -0
  10. package/dist/core/middleware/built-in/auth/hook.d.ts +30 -0
  11. package/dist/core/middleware/built-in/auth/hook.js +99 -0
  12. package/dist/core/middleware/built-in/auth/hook.js.map +1 -0
  13. package/dist/core/middleware/built-in/auth/index.d.ts +7 -0
  14. package/dist/core/middleware/built-in/auth/index.js +15 -0
  15. package/dist/core/middleware/built-in/auth/index.js.map +1 -0
  16. package/dist/core/middleware/built-in/{jwt-helpers.js → auth/jwt-helpers.js} +1 -1
  17. package/dist/core/middleware/built-in/auth/jwt-helpers.js.map +1 -0
  18. package/dist/core/middleware/built-in/auth/middleware.d.ts +23 -0
  19. package/dist/core/middleware/built-in/auth/middleware.js +71 -0
  20. package/dist/core/middleware/built-in/auth/middleware.js.map +1 -0
  21. package/dist/core/middleware/built-in/{auth-providers.d.ts → auth/providers.d.ts} +1 -1
  22. package/dist/core/middleware/built-in/{auth-providers.js → auth/providers.js} +1 -1
  23. package/dist/core/middleware/built-in/auth/providers.js.map +1 -0
  24. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/file.d.ts +1 -1
  25. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/file.js +1 -1
  26. package/dist/core/middleware/built-in/cache/adapters/cache/file.js.map +1 -0
  27. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/index.d.ts +1 -1
  28. package/dist/core/middleware/built-in/cache/adapters/cache/index.js.map +1 -0
  29. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/memory.d.ts +1 -1
  30. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/memory.js +1 -1
  31. package/dist/core/middleware/built-in/cache/adapters/cache/memory.js.map +1 -0
  32. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/redis.d.ts +1 -1
  33. package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/redis.js +2 -2
  34. package/dist/core/middleware/built-in/cache/adapters/cache/redis.js.map +1 -0
  35. package/dist/core/middleware/built-in/{adapters → cache/adapters}/index.d.ts +0 -2
  36. package/{src/core/middleware/built-in/adapters/index.ts → dist/core/middleware/built-in/cache/adapters/index.js} +1 -3
  37. package/dist/core/middleware/built-in/cache/adapters/index.js.map +1 -0
  38. package/dist/core/middleware/built-in/cache/core.d.ts +37 -0
  39. package/dist/core/middleware/built-in/cache/core.js +87 -0
  40. package/dist/core/middleware/built-in/cache/core.js.map +1 -0
  41. package/dist/core/middleware/built-in/cache/hook.d.ts +20 -0
  42. package/dist/core/middleware/built-in/{cache.js → cache/hook.js} +22 -5
  43. package/dist/core/middleware/built-in/cache/hook.js.map +1 -0
  44. package/dist/core/middleware/built-in/cache/index.d.ts +3 -0
  45. package/dist/core/middleware/built-in/cache/index.js +9 -0
  46. package/dist/core/middleware/built-in/cache/index.js.map +1 -0
  47. package/dist/core/middleware/built-in/cache/middleware.d.ts +17 -0
  48. package/dist/core/middleware/built-in/cache/middleware.js +44 -0
  49. package/dist/core/middleware/built-in/cache/middleware.js.map +1 -0
  50. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/azure.d.ts +1 -1
  51. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/azure.js +1 -1
  52. package/dist/core/middleware/built-in/cdn/adapters/cdn/azure.js.map +1 -0
  53. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/cloudflare.d.ts +1 -1
  54. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/cloudflare.js +1 -1
  55. package/dist/core/middleware/built-in/cdn/adapters/cdn/cloudflare.js.map +1 -0
  56. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/cloudfront.d.ts +1 -1
  57. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/cloudfront.js +2 -2
  58. package/dist/core/middleware/built-in/cdn/adapters/cdn/cloudfront.js.map +1 -0
  59. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/index.d.ts +1 -1
  60. package/dist/core/middleware/built-in/cdn/adapters/cdn/index.js.map +1 -0
  61. package/dist/core/middleware/built-in/cdn/adapters/index.d.ts +2 -0
  62. package/dist/core/middleware/built-in/{adapters → cdn/adapters}/index.js +0 -2
  63. package/dist/core/middleware/built-in/cdn/adapters/index.js.map +1 -0
  64. package/dist/core/middleware/built-in/cdn/core.d.ts +43 -0
  65. package/dist/core/middleware/built-in/cdn/core.js +144 -0
  66. package/dist/core/middleware/built-in/cdn/core.js.map +1 -0
  67. package/dist/core/middleware/built-in/cdn/hook.d.ts +22 -0
  68. package/dist/core/middleware/built-in/cdn/hook.js +70 -0
  69. package/dist/core/middleware/built-in/cdn/hook.js.map +1 -0
  70. package/dist/core/middleware/built-in/cdn/index.d.ts +5 -0
  71. package/dist/core/middleware/built-in/cdn/index.js +11 -0
  72. package/dist/core/middleware/built-in/cdn/index.js.map +1 -0
  73. package/dist/core/middleware/built-in/cdn/middleware.d.ts +21 -0
  74. package/dist/core/middleware/built-in/cdn/middleware.js +52 -0
  75. package/dist/core/middleware/built-in/cdn/middleware.js.map +1 -0
  76. package/dist/core/middleware/built-in/cookie/core.d.ts +37 -0
  77. package/dist/core/middleware/built-in/cookie/core.js +83 -0
  78. package/dist/core/middleware/built-in/cookie/core.js.map +1 -0
  79. package/dist/core/middleware/built-in/cookie/hook.d.ts +20 -0
  80. package/dist/core/middleware/built-in/cookie/hook.js +47 -0
  81. package/dist/core/middleware/built-in/cookie/hook.js.map +1 -0
  82. package/dist/core/middleware/built-in/cookie/index.d.ts +3 -0
  83. package/dist/core/middleware/built-in/cookie/index.js +9 -0
  84. package/dist/core/middleware/built-in/cookie/index.js.map +1 -0
  85. package/dist/core/middleware/built-in/cookie/middleware.d.ts +17 -0
  86. package/dist/core/middleware/built-in/cookie/middleware.js +36 -0
  87. package/dist/core/middleware/built-in/cookie/middleware.js.map +1 -0
  88. package/dist/core/middleware/built-in/cors/core.d.ts +23 -0
  89. package/dist/core/middleware/built-in/cors/core.js +51 -0
  90. package/dist/core/middleware/built-in/cors/core.js.map +1 -0
  91. package/dist/core/middleware/built-in/cors/hook.d.ts +17 -0
  92. package/dist/core/middleware/built-in/cors/hook.js +37 -0
  93. package/dist/core/middleware/built-in/cors/hook.js.map +1 -0
  94. package/dist/core/middleware/built-in/cors/index.d.ts +3 -0
  95. package/dist/core/middleware/built-in/cors/index.js +9 -0
  96. package/dist/core/middleware/built-in/cors/index.js.map +1 -0
  97. package/dist/core/middleware/built-in/cors/middleware.d.ts +16 -0
  98. package/dist/core/middleware/built-in/cors/middleware.js +22 -0
  99. package/dist/core/middleware/built-in/cors/middleware.js.map +1 -0
  100. package/dist/core/middleware/built-in/csp/core.d.ts +45 -0
  101. package/dist/core/middleware/built-in/csp/core.js +88 -0
  102. package/dist/core/middleware/built-in/csp/core.js.map +1 -0
  103. package/dist/core/middleware/built-in/csp/hook.d.ts +22 -0
  104. package/dist/core/middleware/built-in/csp/hook.js +47 -0
  105. package/dist/core/middleware/built-in/csp/hook.js.map +1 -0
  106. package/dist/core/middleware/built-in/csp/index.d.ts +3 -0
  107. package/dist/core/middleware/built-in/csp/index.js +9 -0
  108. package/dist/core/middleware/built-in/csp/index.js.map +1 -0
  109. package/dist/core/middleware/built-in/csp/middleware.d.ts +19 -0
  110. package/dist/core/middleware/built-in/csp/middleware.js +29 -0
  111. package/dist/core/middleware/built-in/csp/middleware.js.map +1 -0
  112. package/dist/core/middleware/built-in/csrf/core.d.ts +28 -0
  113. package/dist/core/middleware/built-in/csrf/core.js +69 -0
  114. package/dist/core/middleware/built-in/csrf/core.js.map +1 -0
  115. package/dist/core/middleware/built-in/csrf/hook.d.ts +17 -0
  116. package/dist/core/middleware/built-in/csrf/hook.js +45 -0
  117. package/dist/core/middleware/built-in/csrf/hook.js.map +1 -0
  118. package/dist/core/middleware/built-in/csrf/index.d.ts +3 -0
  119. package/dist/core/middleware/built-in/csrf/index.js +9 -0
  120. package/dist/core/middleware/built-in/csrf/index.js.map +1 -0
  121. package/dist/core/middleware/built-in/csrf/middleware.d.ts +16 -0
  122. package/dist/core/middleware/built-in/csrf/middleware.js +34 -0
  123. package/dist/core/middleware/built-in/csrf/middleware.js.map +1 -0
  124. package/dist/core/middleware/built-in/error-tracker/index.d.ts +1 -0
  125. package/dist/core/middleware/built-in/error-tracker/index.js +4 -0
  126. package/dist/core/middleware/built-in/error-tracker/index.js.map +1 -0
  127. package/dist/core/middleware/built-in/error-tracker/middleware.d.ts +12 -0
  128. package/dist/core/middleware/built-in/{error-tracker.js → error-tracker/middleware.js} +14 -3
  129. package/dist/core/middleware/built-in/error-tracker/middleware.js.map +1 -0
  130. package/dist/core/middleware/built-in/index.d.ts +25 -59
  131. package/dist/core/middleware/built-in/index.js +31 -31
  132. package/dist/core/middleware/built-in/index.js.map +1 -1
  133. package/dist/core/middleware/built-in/performance-monitor/index.d.ts +1 -0
  134. package/dist/core/middleware/built-in/performance-monitor/index.js +4 -0
  135. package/dist/core/middleware/built-in/performance-monitor/index.js.map +1 -0
  136. package/dist/core/middleware/built-in/performance-monitor/middleware.d.ts +12 -0
  137. package/dist/core/middleware/built-in/{performance-monitor.js → performance-monitor/middleware.js} +14 -3
  138. package/dist/core/middleware/built-in/performance-monitor/middleware.js.map +1 -0
  139. package/dist/core/middleware/built-in/rate-limit/core.d.ts +33 -0
  140. package/dist/core/middleware/built-in/rate-limit/core.js +86 -0
  141. package/dist/core/middleware/built-in/rate-limit/core.js.map +1 -0
  142. package/dist/core/middleware/built-in/rate-limit/hook.d.ts +20 -0
  143. package/dist/core/middleware/built-in/{rate-limit.js → rate-limit/hook.js} +22 -16
  144. package/dist/core/middleware/built-in/rate-limit/hook.js.map +1 -0
  145. package/dist/core/middleware/built-in/rate-limit/index.d.ts +3 -0
  146. package/dist/core/middleware/built-in/rate-limit/index.js +9 -0
  147. package/dist/core/middleware/built-in/rate-limit/index.js.map +1 -0
  148. package/dist/core/middleware/built-in/rate-limit/middleware.d.ts +16 -0
  149. package/dist/core/middleware/built-in/rate-limit/middleware.js +35 -0
  150. package/dist/core/middleware/built-in/rate-limit/middleware.js.map +1 -0
  151. package/dist/core/middleware/built-in/request-logger/index.d.ts +1 -0
  152. package/dist/core/middleware/built-in/request-logger/index.js +4 -0
  153. package/dist/core/middleware/built-in/request-logger/index.js.map +1 -0
  154. package/dist/core/middleware/built-in/request-logger/middleware.d.ts +12 -0
  155. package/dist/core/middleware/built-in/{request-logger.js → request-logger/middleware.js} +14 -3
  156. package/dist/core/middleware/built-in/request-logger/middleware.js.map +1 -0
  157. package/dist/core/middleware/built-in/session/core.d.ts +73 -0
  158. package/dist/core/middleware/built-in/session/core.js +227 -0
  159. package/dist/core/middleware/built-in/session/core.js.map +1 -0
  160. package/dist/core/middleware/built-in/session/hook.d.ts +17 -0
  161. package/dist/core/middleware/built-in/session/hook.js +53 -0
  162. package/dist/core/middleware/built-in/session/hook.js.map +1 -0
  163. package/dist/core/middleware/built-in/session/index.d.ts +3 -0
  164. package/dist/core/middleware/built-in/session/index.js +9 -0
  165. package/dist/core/middleware/built-in/session/index.js.map +1 -0
  166. package/dist/core/middleware/built-in/session/middleware.d.ts +17 -0
  167. package/dist/core/middleware/built-in/session/middleware.js +38 -0
  168. package/dist/core/middleware/built-in/session/middleware.js.map +1 -0
  169. package/dist/core/middleware/built-in/sse/core.d.ts +44 -0
  170. package/dist/core/middleware/built-in/sse/core.js +117 -0
  171. package/dist/core/middleware/built-in/sse/core.js.map +1 -0
  172. package/dist/core/middleware/built-in/sse/hook.d.ts +18 -0
  173. package/dist/core/middleware/built-in/sse/hook.js +60 -0
  174. package/dist/core/middleware/built-in/sse/hook.js.map +1 -0
  175. package/dist/core/middleware/built-in/sse/index.d.ts +3 -0
  176. package/dist/core/middleware/built-in/sse/index.js +9 -0
  177. package/dist/core/middleware/built-in/sse/index.js.map +1 -0
  178. package/dist/core/middleware/built-in/sse/middleware.d.ts +18 -0
  179. package/dist/core/middleware/built-in/sse/middleware.js +43 -0
  180. package/dist/core/middleware/built-in/sse/middleware.js.map +1 -0
  181. package/dist/core/middleware/built-in/validation/core.d.ts +23 -0
  182. package/dist/core/middleware/built-in/validation/core.js +93 -0
  183. package/dist/core/middleware/built-in/validation/core.js.map +1 -0
  184. package/dist/core/middleware/built-in/validation/hook.d.ts +13 -0
  185. package/dist/core/middleware/built-in/{validation.js → validation/hook.js} +14 -3
  186. package/dist/core/middleware/built-in/validation/hook.js.map +1 -0
  187. package/dist/core/middleware/built-in/validation/index.d.ts +3 -0
  188. package/dist/core/middleware/built-in/validation/index.js +9 -0
  189. package/dist/core/middleware/built-in/validation/index.js.map +1 -0
  190. package/dist/core/middleware/built-in/validation/middleware.d.ts +16 -0
  191. package/dist/core/middleware/built-in/validation/middleware.js +27 -0
  192. package/dist/core/middleware/built-in/validation/middleware.js.map +1 -0
  193. package/dist/core/middleware/index.js +6 -0
  194. package/dist/core/middleware/index.js.map +1 -1
  195. package/dist/core/routing/unified-router.d.ts +4 -20
  196. package/dist/core/routing/unified-router.js +61 -106
  197. package/dist/core/routing/unified-router.js.map +1 -1
  198. package/dist/index.d.ts +3 -2
  199. package/dist/index.js +3 -2
  200. package/dist/index.js.map +1 -1
  201. package/dist/moro.js +12 -18
  202. package/dist/moro.js.map +1 -1
  203. package/dist/types/hooks.d.ts +3 -0
  204. package/package.json +2 -6
  205. package/dist/core/middleware/built-in/adapters/cache/file.js.map +0 -1
  206. package/dist/core/middleware/built-in/adapters/cache/index.js.map +0 -1
  207. package/dist/core/middleware/built-in/adapters/cache/memory.js.map +0 -1
  208. package/dist/core/middleware/built-in/adapters/cache/redis.js.map +0 -1
  209. package/dist/core/middleware/built-in/adapters/cdn/azure.js.map +0 -1
  210. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js.map +0 -1
  211. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js.map +0 -1
  212. package/dist/core/middleware/built-in/adapters/cdn/index.js.map +0 -1
  213. package/dist/core/middleware/built-in/adapters/index.js.map +0 -1
  214. package/dist/core/middleware/built-in/auth-helpers.js.map +0 -1
  215. package/dist/core/middleware/built-in/auth-providers.js.map +0 -1
  216. package/dist/core/middleware/built-in/auth.d.ts +0 -30
  217. package/dist/core/middleware/built-in/auth.js +0 -348
  218. package/dist/core/middleware/built-in/auth.js.map +0 -1
  219. package/dist/core/middleware/built-in/cache.d.ts +0 -3
  220. package/dist/core/middleware/built-in/cache.js.map +0 -1
  221. package/dist/core/middleware/built-in/cdn.d.ts +0 -3
  222. package/dist/core/middleware/built-in/cdn.js +0 -109
  223. package/dist/core/middleware/built-in/cdn.js.map +0 -1
  224. package/dist/core/middleware/built-in/cookie.d.ts +0 -14
  225. package/dist/core/middleware/built-in/cookie.js +0 -64
  226. package/dist/core/middleware/built-in/cookie.js.map +0 -1
  227. package/dist/core/middleware/built-in/cors.d.ts +0 -2
  228. package/dist/core/middleware/built-in/cors.js +0 -25
  229. package/dist/core/middleware/built-in/cors.js.map +0 -1
  230. package/dist/core/middleware/built-in/csp.d.ts +0 -22
  231. package/dist/core/middleware/built-in/csp.js +0 -68
  232. package/dist/core/middleware/built-in/csp.js.map +0 -1
  233. package/dist/core/middleware/built-in/csrf.d.ts +0 -9
  234. package/dist/core/middleware/built-in/csrf.js +0 -60
  235. package/dist/core/middleware/built-in/csrf.js.map +0 -1
  236. package/dist/core/middleware/built-in/error-tracker.d.ts +0 -1
  237. package/dist/core/middleware/built-in/error-tracker.js.map +0 -1
  238. package/dist/core/middleware/built-in/jwt-helpers.js.map +0 -1
  239. package/dist/core/middleware/built-in/performance-monitor.d.ts +0 -1
  240. package/dist/core/middleware/built-in/performance-monitor.js.map +0 -1
  241. package/dist/core/middleware/built-in/rate-limit.d.ts +0 -6
  242. package/dist/core/middleware/built-in/rate-limit.js.map +0 -1
  243. package/dist/core/middleware/built-in/request-logger.d.ts +0 -1
  244. package/dist/core/middleware/built-in/request-logger.js.map +0 -1
  245. package/dist/core/middleware/built-in/session.d.ts +0 -41
  246. package/dist/core/middleware/built-in/session.js +0 -205
  247. package/dist/core/middleware/built-in/session.js.map +0 -1
  248. package/dist/core/middleware/built-in/sse.d.ts +0 -6
  249. package/dist/core/middleware/built-in/sse.js +0 -69
  250. package/dist/core/middleware/built-in/sse.js.map +0 -1
  251. package/dist/core/middleware/built-in/validation.d.ts +0 -2
  252. package/dist/core/middleware/built-in/validation.js.map +0 -1
  253. package/jest.config.mjs +0 -41
  254. package/src/core/auth/README.md +0 -339
  255. package/src/core/auth/morojs-adapter.ts +0 -415
  256. package/src/core/config/config-manager.ts +0 -133
  257. package/src/core/config/config-sources.ts +0 -600
  258. package/src/core/config/config-validator.ts +0 -1116
  259. package/src/core/config/file-loader.ts +0 -150
  260. package/src/core/config/index.ts +0 -109
  261. package/src/core/config/schema.ts +0 -164
  262. package/src/core/config/utils.ts +0 -244
  263. package/src/core/database/README.md +0 -238
  264. package/src/core/database/adapters/drizzle.ts +0 -415
  265. package/src/core/database/adapters/index.ts +0 -42
  266. package/src/core/database/adapters/mongodb.ts +0 -317
  267. package/src/core/database/adapters/mysql.ts +0 -235
  268. package/src/core/database/adapters/postgresql.ts +0 -226
  269. package/src/core/database/adapters/redis.ts +0 -379
  270. package/src/core/database/adapters/sqlite.ts +0 -263
  271. package/src/core/database/index.ts +0 -3
  272. package/src/core/docs/index.ts +0 -231
  273. package/src/core/docs/openapi-generator.ts +0 -576
  274. package/src/core/docs/schema-to-openapi.ts +0 -145
  275. package/src/core/docs/simple-docs.ts +0 -295
  276. package/src/core/docs/swagger-ui.ts +0 -354
  277. package/src/core/docs/zod-to-openapi.ts +0 -532
  278. package/src/core/events/event-bus.ts +0 -231
  279. package/src/core/events/index.ts +0 -12
  280. package/src/core/framework.ts +0 -885
  281. package/src/core/http/http-server.ts +0 -1847
  282. package/src/core/http/index.ts +0 -7
  283. package/src/core/http/uws-http-server.ts +0 -591
  284. package/src/core/logger/filters.ts +0 -153
  285. package/src/core/logger/index.ts +0 -21
  286. package/src/core/logger/logger.ts +0 -1033
  287. package/src/core/logger/outputs.ts +0 -132
  288. package/src/core/middleware/built-in/adapters/cache/file.ts +0 -104
  289. package/src/core/middleware/built-in/adapters/cache/index.ts +0 -23
  290. package/src/core/middleware/built-in/adapters/cache/memory.ts +0 -73
  291. package/src/core/middleware/built-in/adapters/cache/redis.ts +0 -114
  292. package/src/core/middleware/built-in/adapters/cdn/azure.ts +0 -60
  293. package/src/core/middleware/built-in/adapters/cdn/cloudflare.ts +0 -83
  294. package/src/core/middleware/built-in/adapters/cdn/cloudfront.ts +0 -94
  295. package/src/core/middleware/built-in/adapters/cdn/index.ts +0 -23
  296. package/src/core/middleware/built-in/auth-helpers.ts +0 -401
  297. package/src/core/middleware/built-in/auth-providers.ts +0 -480
  298. package/src/core/middleware/built-in/auth.ts +0 -410
  299. package/src/core/middleware/built-in/cache.ts +0 -213
  300. package/src/core/middleware/built-in/cdn.ts +0 -124
  301. package/src/core/middleware/built-in/cookie.ts +0 -85
  302. package/src/core/middleware/built-in/cors.ts +0 -38
  303. package/src/core/middleware/built-in/csp.ts +0 -101
  304. package/src/core/middleware/built-in/csrf.ts +0 -82
  305. package/src/core/middleware/built-in/error-tracker.ts +0 -16
  306. package/src/core/middleware/built-in/index.ts +0 -87
  307. package/src/core/middleware/built-in/jwt-helpers.ts +0 -243
  308. package/src/core/middleware/built-in/performance-monitor.ts +0 -25
  309. package/src/core/middleware/built-in/rate-limit.ts +0 -60
  310. package/src/core/middleware/built-in/request-logger.ts +0 -16
  311. package/src/core/middleware/built-in/session.ts +0 -287
  312. package/src/core/middleware/built-in/sse.ts +0 -88
  313. package/src/core/middleware/built-in/validation.ts +0 -33
  314. package/src/core/middleware/index.ts +0 -177
  315. package/src/core/modules/auto-discovery.ts +0 -726
  316. package/src/core/modules/index.ts +0 -3
  317. package/src/core/modules/modules.ts +0 -135
  318. package/src/core/networking/adapters/index.ts +0 -17
  319. package/src/core/networking/adapters/socketio-adapter.ts +0 -254
  320. package/src/core/networking/adapters/uws-adapter.ts +0 -619
  321. package/src/core/networking/adapters/ws-adapter.ts +0 -429
  322. package/src/core/networking/index.ts +0 -4
  323. package/src/core/networking/service-discovery.ts +0 -303
  324. package/src/core/networking/websocket-adapter.ts +0 -217
  325. package/src/core/networking/websocket-manager.ts +0 -308
  326. package/src/core/pooling/object-pool-manager.ts +0 -630
  327. package/src/core/routing/app-integration.ts +0 -164
  328. package/src/core/routing/index.ts +0 -261
  329. package/src/core/routing/path-matcher.ts +0 -222
  330. package/src/core/routing/router.ts +0 -97
  331. package/src/core/routing/unified-router.ts +0 -870
  332. package/src/core/runtime/aws-lambda-adapter.ts +0 -147
  333. package/src/core/runtime/base-adapter.ts +0 -130
  334. package/src/core/runtime/cloudflare-workers-adapter.ts +0 -152
  335. package/src/core/runtime/index.ts +0 -62
  336. package/src/core/runtime/node-adapter.ts +0 -202
  337. package/src/core/runtime/vercel-edge-adapter.ts +0 -114
  338. package/src/core/utilities/circuit-breaker.ts +0 -46
  339. package/src/core/utilities/container.ts +0 -736
  340. package/src/core/utilities/hooks.ts +0 -142
  341. package/src/core/utilities/index.ts +0 -17
  342. package/src/core/utilities/package-utils.ts +0 -59
  343. package/src/core/validation/adapters.ts +0 -147
  344. package/src/core/validation/index.ts +0 -258
  345. package/src/core/validation/schema-interface.ts +0 -100
  346. package/src/index.ts +0 -233
  347. package/src/moro.ts +0 -1728
  348. package/src/types/auth.ts +0 -440
  349. package/src/types/cache.ts +0 -38
  350. package/src/types/cdn.ts +0 -22
  351. package/src/types/config.ts +0 -229
  352. package/src/types/core.ts +0 -58
  353. package/src/types/database.ts +0 -32
  354. package/src/types/discovery.ts +0 -7
  355. package/src/types/events.ts +0 -82
  356. package/src/types/hooks.ts +0 -47
  357. package/src/types/http.ts +0 -89
  358. package/src/types/logger.ts +0 -102
  359. package/src/types/module.ts +0 -99
  360. package/src/types/runtime.ts +0 -76
  361. package/src/types/session.ts +0 -89
  362. package/tsconfig.json +0 -23
  363. /package/dist/core/middleware/built-in/{auth-helpers.d.ts → auth/helpers.d.ts} +0 -0
  364. /package/dist/core/middleware/built-in/{jwt-helpers.d.ts → auth/jwt-helpers.d.ts} +0 -0
  365. /package/dist/core/middleware/built-in/{adapters → cache/adapters}/cache/index.js +0 -0
  366. /package/dist/core/middleware/built-in/{adapters → cdn/adapters}/cdn/index.js +0 -0
@@ -1,7 +1,5 @@
1
1
  // Adapters Index
2
- export * from './cache/index.js';
3
2
  export * from './cdn/index.js';
4
3
  // Re-export factory functions for convenience
5
- export { createCacheAdapter } from './cache/index.js';
6
4
  export { createCDNAdapter } from './cdn/index.js';
7
5
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/middleware/built-in/cdn/adapters/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,cAAc,gBAAgB,CAAC;AAE/B,8CAA8C;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { HttpResponse } from '../../../../types/http.js';
2
+ import { CDNOptions } from '../../../../types/cdn.js';
3
+ /**
4
+ * CDNCore - Core CDN management logic with adapter pattern
5
+ * Used directly by the router for route-based CDN handling
6
+ */
7
+ export declare class CDNCore {
8
+ private adapter;
9
+ private options;
10
+ constructor(options?: CDNOptions);
11
+ /**
12
+ * Initialize the CDN adapter
13
+ */
14
+ private initializeAdapter;
15
+ /**
16
+ * Check if adapter is available
17
+ */
18
+ hasAdapter(): boolean;
19
+ /**
20
+ * Set CDN headers on response
21
+ */
22
+ setHeaders(res: HttpResponse): void;
23
+ /**
24
+ * Purge CDN cache for given URLs
25
+ */
26
+ purge(urls: string[]): Promise<void>;
27
+ /**
28
+ * Prefetch URLs to CDN cache
29
+ */
30
+ prefetch(urls: string[]): Promise<void>;
31
+ /**
32
+ * Get CDN statistics
33
+ */
34
+ getStats(): Promise<any>;
35
+ /**
36
+ * Check if path matches invalidation patterns
37
+ */
38
+ shouldAutoInvalidate(path: string): boolean;
39
+ /**
40
+ * Auto-invalidate CDN cache for a path if it matches patterns
41
+ */
42
+ autoInvalidate(path: string): Promise<void>;
43
+ }
@@ -0,0 +1,144 @@
1
+ import { createCDNAdapter } from '../cdn/adapters/cdn/index.js';
2
+ import { createFrameworkLogger } from '../../../logger/index.js';
3
+ const logger = createFrameworkLogger('CDNCore');
4
+ // ===== Core Logic =====
5
+ /**
6
+ * CDNCore - Core CDN management logic with adapter pattern
7
+ * Used directly by the router for route-based CDN handling
8
+ */
9
+ export class CDNCore {
10
+ adapter = null;
11
+ options;
12
+ constructor(options = {}) {
13
+ this.options = options;
14
+ this.initializeAdapter();
15
+ }
16
+ /**
17
+ * Initialize the CDN adapter
18
+ */
19
+ initializeAdapter() {
20
+ if (!this.options.adapter) {
21
+ return;
22
+ }
23
+ // If adapter is already a CDNAdapter instance
24
+ if (typeof this.options.adapter === 'object' && 'purge' in this.options.adapter) {
25
+ this.adapter = this.options.adapter;
26
+ return;
27
+ }
28
+ // If adapter is a string, use factory to create it
29
+ if (typeof this.options.adapter === 'string') {
30
+ try {
31
+ this.adapter = createCDNAdapter(this.options.adapter, this.options.adapterOptions);
32
+ }
33
+ catch (error) {
34
+ logger.error('Failed to initialize CDN adapter', 'Initialization', { error });
35
+ }
36
+ }
37
+ }
38
+ /**
39
+ * Check if adapter is available
40
+ */
41
+ hasAdapter() {
42
+ return this.adapter !== null;
43
+ }
44
+ /**
45
+ * Set CDN headers on response
46
+ */
47
+ setHeaders(res) {
48
+ if (!this.adapter) {
49
+ return;
50
+ }
51
+ this.adapter.setHeaders(res);
52
+ }
53
+ /**
54
+ * Purge CDN cache for given URLs
55
+ */
56
+ async purge(urls) {
57
+ if (!this.adapter) {
58
+ logger.warn('CDN purge requested but no adapter configured', 'CDNPurge');
59
+ return;
60
+ }
61
+ try {
62
+ await this.adapter.purge(urls);
63
+ logger.info(`CDN cache purged: ${urls.join(', ')}`, 'CDNPurge');
64
+ }
65
+ catch (error) {
66
+ logger.error('CDN purge failed', 'CDNError', { error, urls });
67
+ throw error;
68
+ }
69
+ }
70
+ /**
71
+ * Prefetch URLs to CDN cache
72
+ */
73
+ async prefetch(urls) {
74
+ if (!this.adapter) {
75
+ logger.warn('CDN prefetch requested but no adapter configured', 'CDNPrefetch');
76
+ return;
77
+ }
78
+ if (!this.adapter.prefetch) {
79
+ logger.warn('CDN prefetch requested but not supported by adapter', 'CDNPrefetch');
80
+ return;
81
+ }
82
+ try {
83
+ await this.adapter.prefetch(urls);
84
+ logger.info(`CDN prefetch requested: ${urls.join(', ')}`, 'CDNPrefetch');
85
+ }
86
+ catch (error) {
87
+ logger.error('CDN prefetch failed', 'CDNError', { error, urls });
88
+ throw error;
89
+ }
90
+ }
91
+ /**
92
+ * Get CDN statistics
93
+ */
94
+ async getStats() {
95
+ if (!this.adapter) {
96
+ logger.warn('CDN stats requested but no adapter configured', 'CDNStats');
97
+ return null;
98
+ }
99
+ if (!this.adapter.getStats) {
100
+ logger.warn('CDN stats requested but not supported by adapter', 'CDNStats');
101
+ return null;
102
+ }
103
+ try {
104
+ const stats = await this.adapter.getStats();
105
+ logger.debug('CDN stats retrieved', 'CDNStats');
106
+ return stats;
107
+ }
108
+ catch (error) {
109
+ logger.error('CDN stats retrieval failed', 'CDNError', { error });
110
+ return null;
111
+ }
112
+ }
113
+ /**
114
+ * Check if path matches invalidation patterns
115
+ */
116
+ shouldAutoInvalidate(path) {
117
+ if (!this.options.autoInvalidate || !this.options.invalidationPatterns) {
118
+ return false;
119
+ }
120
+ return this.options.invalidationPatterns.some(pattern => {
121
+ const regex = new RegExp(pattern);
122
+ return regex.test(path);
123
+ });
124
+ }
125
+ /**
126
+ * Auto-invalidate CDN cache for a path if it matches patterns
127
+ */
128
+ async autoInvalidate(path) {
129
+ if (!this.shouldAutoInvalidate(path)) {
130
+ return;
131
+ }
132
+ if (!this.adapter) {
133
+ return;
134
+ }
135
+ try {
136
+ await this.adapter.purge([path]);
137
+ logger.debug(`Auto-invalidated CDN cache for: ${path}`, 'CDNAutoInvalidate');
138
+ }
139
+ catch (error) {
140
+ logger.error('CDN auto-invalidation failed', 'CDNError', { error, path });
141
+ }
142
+ }
143
+ }
144
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/cdn/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { MiddlewareInterface } from '../../../../types/hooks.js';
2
+ import { CDNOptions } from '../../../../types/cdn.js';
3
+ /**
4
+ * CDN hook for global usage
5
+ * Registers with the hooks system for application-wide CDN support
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { cdn } from '@/middleware/built-in/cdn';
10
+ *
11
+ * app.use(cdn({
12
+ * adapter: 'cloudflare',
13
+ * adapterOptions: {
14
+ * zoneId: 'your-zone-id',
15
+ * apiToken: 'your-api-token'
16
+ * },
17
+ * autoInvalidate: true,
18
+ * invalidationPatterns: ['/api/.*']
19
+ * }));
20
+ * ```
21
+ */
22
+ export declare const cdn: (options?: CDNOptions) => MiddlewareInterface;
@@ -0,0 +1,70 @@
1
+ import { createFrameworkLogger } from '../../../logger/index.js';
2
+ import { CDNCore } from './core.js';
3
+ const logger = createFrameworkLogger('CDNMiddleware');
4
+ /**
5
+ * CDN hook for global usage
6
+ * Registers with the hooks system for application-wide CDN support
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import { cdn } from '@/middleware/built-in/cdn';
11
+ *
12
+ * app.use(cdn({
13
+ * adapter: 'cloudflare',
14
+ * adapterOptions: {
15
+ * zoneId: 'your-zone-id',
16
+ * apiToken: 'your-api-token'
17
+ * },
18
+ * autoInvalidate: true,
19
+ * invalidationPatterns: ['/api/.*']
20
+ * }));
21
+ * ```
22
+ */
23
+ export const cdn = (options = {}) => ({
24
+ name: 'cdn',
25
+ version: '1.0.0',
26
+ metadata: {
27
+ name: 'cdn',
28
+ version: '1.0.0',
29
+ description: 'Built-in CDN middleware with pluggable provider adapters',
30
+ author: 'MoroJS Team',
31
+ },
32
+ install: async (hooks, middlewareOptions = {}) => {
33
+ logger.debug('Installing CDN middleware', 'Installation');
34
+ const config = { ...options, ...middlewareOptions };
35
+ const cdnCore = new CDNCore(config);
36
+ if (!cdnCore.hasAdapter()) {
37
+ logger.warn('No CDN adapter configured, CDN features will be disabled', 'Installation');
38
+ return;
39
+ }
40
+ hooks.before('request', async (context) => {
41
+ const req = context.request;
42
+ const res = context.response;
43
+ // Set CDN headers on all responses
44
+ cdnCore.setHeaders(res);
45
+ // Add CDN methods to response
46
+ res.purgeCDN = async (urls) => {
47
+ const urlsToPurge = urls || [req.path];
48
+ await cdnCore.purge(urlsToPurge);
49
+ };
50
+ res.prefetchCDN = async (urls) => {
51
+ await cdnCore.prefetch(urls);
52
+ };
53
+ res.getCDNStats = async () => {
54
+ return await cdnCore.getStats();
55
+ };
56
+ });
57
+ // Auto-invalidation on certain patterns
58
+ if (config.autoInvalidate && config.invalidationPatterns) {
59
+ hooks.after('response', async (context) => {
60
+ const req = context.request;
61
+ await cdnCore.autoInvalidate(req.path);
62
+ });
63
+ }
64
+ logger.info('CDN middleware installed', 'Installation', {
65
+ adapter: typeof config.adapter === 'string' ? config.adapter : 'custom',
66
+ autoInvalidate: !!config.autoInvalidate,
67
+ });
68
+ },
69
+ });
70
+ //# sourceMappingURL=hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/cdn/hook.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,MAAM,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,UAAsB,EAAE,EAAuB,EAAE,CAAC,CAAC;IACrE,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,0DAA0D;QACvE,MAAM,EAAE,aAAa;KACtB;IAED,OAAO,EAAE,KAAK,EAAE,KAAU,EAAE,oBAAyB,EAAE,EAAE,EAAE;QACzD,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,0DAA0D,EAAE,cAAc,CAAC,CAAC;YACxF,OAAO;QACT,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAoB,EAAE,EAAE;YACrD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAc,CAAC;YACnC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAe,CAAC;YAEpC,mCAAmC;YACnC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAExB,8BAA8B;YAC9B,GAAG,CAAC,QAAQ,GAAG,KAAK,EAAE,IAAe,EAAE,EAAE;gBACvC,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACnC,CAAC,CAAC;YAEF,GAAG,CAAC,WAAW,GAAG,KAAK,EAAE,IAAc,EAAE,EAAE;gBACzC,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC,CAAC;YAEF,GAAG,CAAC,WAAW,GAAG,KAAK,IAAI,EAAE;gBAC3B,OAAO,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;YAClC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,wCAAwC;QACxC,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YACzD,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,OAAoB,EAAE,EAAE;gBACrD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAc,CAAC;gBACnC,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,cAAc,EAAE;YACtD,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;YACvE,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc;SACxC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { CDNCore } from './core.js';
2
+ export { createCDNMiddleware } from './middleware.js';
3
+ export { cdn } from './hook.js';
4
+ export { CloudflareCDNAdapter, CloudFrontCDNAdapter, AzureCDNAdapter, createCDNAdapter, } from '../cdn/adapters/cdn/index.js';
5
+ export type { CDNAdapter, CDNOptions, CDNStats } from '../../../../types/cdn.js';
@@ -0,0 +1,11 @@
1
+ // CDN - Main entry point
2
+ // Re-exports all public APIs for the CDN built-in
3
+ // Core (for direct use by router and custom implementations)
4
+ export { CDNCore } from './core.js';
5
+ // Middleware (for middleware chains)
6
+ export { createCDNMiddleware } from './middleware.js';
7
+ // Hook (for global registration)
8
+ export { cdn } from './hook.js';
9
+ // Re-export adapters for convenience
10
+ export { CloudflareCDNAdapter, CloudFrontCDNAdapter, AzureCDNAdapter, createCDNAdapter, } from '../cdn/adapters/cdn/index.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/cdn/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,kDAAkD;AAElD,6DAA6D;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qCAAqC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,iCAAiC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,qCAAqC;AACrC,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { StandardMiddleware } from '../../../../types/hooks.js';
2
+ import { CDNOptions } from '../../../../types/cdn.js';
3
+ /**
4
+ * Create CDN middleware for use in middleware chains
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const cdnMw = createCDNMiddleware({
9
+ * adapter: 'cloudflare',
10
+ * adapterOptions: {
11
+ * zoneId: 'your-zone-id',
12
+ * apiToken: 'your-api-token'
13
+ * },
14
+ * autoInvalidate: true,
15
+ * invalidationPatterns: ['/api/.*']
16
+ * });
17
+ *
18
+ * app.use(cdnMw);
19
+ * ```
20
+ */
21
+ export declare function createCDNMiddleware(options?: CDNOptions): StandardMiddleware;
@@ -0,0 +1,52 @@
1
+ import { CDNCore } from './core.js';
2
+ /**
3
+ * Create CDN middleware for use in middleware chains
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * const cdnMw = createCDNMiddleware({
8
+ * adapter: 'cloudflare',
9
+ * adapterOptions: {
10
+ * zoneId: 'your-zone-id',
11
+ * apiToken: 'your-api-token'
12
+ * },
13
+ * autoInvalidate: true,
14
+ * invalidationPatterns: ['/api/.*']
15
+ * });
16
+ *
17
+ * app.use(cdnMw);
18
+ * ```
19
+ */
20
+ export function createCDNMiddleware(options = {}) {
21
+ const cdnCore = new CDNCore(options);
22
+ if (!cdnCore.hasAdapter()) {
23
+ // Return no-op middleware if no adapter configured
24
+ return async (_req, _res, next) => {
25
+ await next();
26
+ };
27
+ }
28
+ return async (req, res, next) => {
29
+ const reqAny = req;
30
+ const resAny = res;
31
+ // Set CDN headers
32
+ cdnCore.setHeaders(res);
33
+ // Add CDN methods to response
34
+ resAny.purgeCDN = async (urls) => {
35
+ const urlsToPurge = urls || [reqAny.path || reqAny.url];
36
+ await cdnCore.purge(urlsToPurge);
37
+ };
38
+ resAny.prefetchCDN = async (urls) => {
39
+ await cdnCore.prefetch(urls);
40
+ };
41
+ resAny.getCDNStats = async () => {
42
+ return await cdnCore.getStats();
43
+ };
44
+ await next();
45
+ // Auto-invalidate after response if configured
46
+ if (options.autoInvalidate) {
47
+ const path = reqAny.path || reqAny.url;
48
+ await cdnCore.autoInvalidate(path);
49
+ }
50
+ };
51
+ }
52
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/cdn/middleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAsB,EAAE;IAC1D,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAErC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QAC1B,mDAAmD;QACnD,OAAO,KAAK,EAAE,IAAiB,EAAE,IAAkB,EAAE,IAAyB,EAAE,EAAE;YAChF,MAAM,IAAI,EAAE,CAAC;QACf,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,EAAE,GAAgB,EAAE,GAAiB,EAAE,IAAyB,EAAE,EAAE;QAC9E,MAAM,MAAM,GAAG,GAAU,CAAC;QAC1B,MAAM,MAAM,GAAG,GAAU,CAAC;QAE1B,kBAAkB;QAClB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAExB,8BAA8B;QAC9B,MAAM,CAAC,QAAQ,GAAG,KAAK,EAAE,IAAe,EAAE,EAAE;YAC1C,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;YACxD,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC,CAAC;QAEF,MAAM,CAAC,WAAW,GAAG,KAAK,EAAE,IAAc,EAAE,EAAE;YAC5C,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,MAAM,CAAC,WAAW,GAAG,KAAK,IAAI,EAAE;YAC9B,OAAO,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAClC,CAAC,CAAC;QAEF,MAAM,IAAI,EAAE,CAAC;QAEb,+CAA+C;QAC/C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC;YACvC,MAAM,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { HttpResponse } from '../../../../types/http.js';
2
+ export interface CookieOptions {
3
+ maxAge?: number;
4
+ expires?: Date;
5
+ httpOnly?: boolean;
6
+ secure?: boolean;
7
+ sameSite?: 'strict' | 'lax' | 'none';
8
+ domain?: string;
9
+ path?: string;
10
+ }
11
+ /**
12
+ * Parse cookies from a Cookie header string
13
+ */
14
+ export declare function parseCookies(cookieHeader: string): Record<string, string>;
15
+ /**
16
+ * Build a Set-Cookie header string from name, value, and options
17
+ */
18
+ export declare function buildCookieString(name: string, value: string, options?: CookieOptions): string;
19
+ /**
20
+ * CookieCore - Core cookie management logic
21
+ * Used directly by the router for route-based cookie handling
22
+ */
23
+ export declare class CookieCore {
24
+ constructor();
25
+ /**
26
+ * Parse cookies from request header
27
+ */
28
+ parseCookies(cookieHeader: string | undefined): Record<string, string>;
29
+ /**
30
+ * Set a cookie on the response
31
+ */
32
+ setCookie(res: HttpResponse, name: string, value: string, options?: CookieOptions): void;
33
+ /**
34
+ * Clear a cookie by setting its expiration to the past
35
+ */
36
+ clearCookie(res: HttpResponse, name: string, options?: CookieOptions): void;
37
+ }
@@ -0,0 +1,83 @@
1
+ // ===== Core Logic =====
2
+ /**
3
+ * Parse cookies from a Cookie header string
4
+ */
5
+ export function parseCookies(cookieHeader) {
6
+ const cookies = {};
7
+ if (!cookieHeader) {
8
+ return cookies;
9
+ }
10
+ cookieHeader.split(';').forEach(cookie => {
11
+ const [name, value] = cookie.trim().split('=');
12
+ if (name && value) {
13
+ cookies[name] = decodeURIComponent(value);
14
+ }
15
+ });
16
+ return cookies;
17
+ }
18
+ /**
19
+ * Build a Set-Cookie header string from name, value, and options
20
+ */
21
+ export function buildCookieString(name, value, options = {}) {
22
+ const cookieValue = encodeURIComponent(value);
23
+ let cookieString = `${name}=${cookieValue}`;
24
+ if (options.maxAge !== undefined) {
25
+ cookieString += `; Max-Age=${options.maxAge}`;
26
+ }
27
+ if (options.expires) {
28
+ cookieString += `; Expires=${options.expires.toUTCString()}`;
29
+ }
30
+ if (options.httpOnly) {
31
+ cookieString += '; HttpOnly';
32
+ }
33
+ if (options.secure) {
34
+ cookieString += '; Secure';
35
+ }
36
+ if (options.sameSite) {
37
+ cookieString += `; SameSite=${options.sameSite}`;
38
+ }
39
+ if (options.domain) {
40
+ cookieString += `; Domain=${options.domain}`;
41
+ }
42
+ if (options.path) {
43
+ cookieString += `; Path=${options.path}`;
44
+ }
45
+ return cookieString;
46
+ }
47
+ /**
48
+ * CookieCore - Core cookie management logic
49
+ * Used directly by the router for route-based cookie handling
50
+ */
51
+ export class CookieCore {
52
+ constructor() { }
53
+ /**
54
+ * Parse cookies from request header
55
+ */
56
+ parseCookies(cookieHeader) {
57
+ return parseCookies(cookieHeader || '');
58
+ }
59
+ /**
60
+ * Set a cookie on the response
61
+ */
62
+ setCookie(res, name, value, options = {}) {
63
+ const cookieString = buildCookieString(name, value, options);
64
+ const existingCookies = res.getHeader('Set-Cookie') || [];
65
+ const cookies = Array.isArray(existingCookies)
66
+ ? [...existingCookies]
67
+ : [existingCookies];
68
+ cookies.push(cookieString);
69
+ res.setHeader('Set-Cookie', cookies);
70
+ }
71
+ /**
72
+ * Clear a cookie by setting its expiration to the past
73
+ */
74
+ clearCookie(res, name, options = {}) {
75
+ const clearOptions = {
76
+ ...options,
77
+ expires: new Date(0),
78
+ maxAge: 0,
79
+ };
80
+ this.setCookie(res, name, '', clearOptions);
81
+ }
82
+ }
83
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/cookie/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { MiddlewareInterface } from '../../../../types/hooks.js';
2
+ export interface CookieConfig {
3
+ secret?: string;
4
+ signed?: boolean;
5
+ }
6
+ /**
7
+ * Cookie hook for global usage
8
+ * Registers with the hooks system for application-wide cookie handling
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { cookie } from '@/middleware/built-in/cookie';
13
+ *
14
+ * app.use(cookie({
15
+ * secret: 'my-secret-key',
16
+ * signed: true
17
+ * }));
18
+ * ```
19
+ */
20
+ export declare const cookie: (config?: CookieConfig) => MiddlewareInterface;
@@ -0,0 +1,47 @@
1
+ import { createFrameworkLogger } from '../../../logger/index.js';
2
+ import { CookieCore } from './core.js';
3
+ const logger = createFrameworkLogger('CookieMiddleware');
4
+ /**
5
+ * Cookie hook for global usage
6
+ * Registers with the hooks system for application-wide cookie handling
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import { cookie } from '@/middleware/built-in/cookie';
11
+ *
12
+ * app.use(cookie({
13
+ * secret: 'my-secret-key',
14
+ * signed: true
15
+ * }));
16
+ * ```
17
+ */
18
+ export const cookie = (config = {}) => ({
19
+ name: 'cookie',
20
+ version: '1.0.0',
21
+ metadata: {
22
+ name: 'cookie',
23
+ version: '1.0.0',
24
+ description: 'Cookie parsing and setting middleware with security features',
25
+ author: 'MoroJS Team',
26
+ },
27
+ install: async (hooks, middlewareOptions = {}) => {
28
+ logger.debug('Installing cookie middleware', 'Installation');
29
+ const cookieCore = new CookieCore();
30
+ hooks.before('request', async (context) => {
31
+ const req = context.request;
32
+ const res = context.response;
33
+ // Parse cookies from request
34
+ req.cookies = cookieCore.parseCookies(req.headers.cookie);
35
+ // Add cookie methods to response
36
+ res.cookie = (name, value, options = {}) => {
37
+ cookieCore.setCookie(res, name, value, options);
38
+ return res;
39
+ };
40
+ res.clearCookie = (name, options = {}) => {
41
+ cookieCore.clearCookie(res, name, options);
42
+ return res;
43
+ };
44
+ });
45
+ },
46
+ });
47
+ //# sourceMappingURL=hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/cookie/hook.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAsB,MAAM,WAAW,CAAC;AAE3D,MAAM,MAAM,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;AAOzD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,SAAuB,EAAE,EAAuB,EAAE,CAAC,CAAC;IACzE,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,8DAA8D;QAC3E,MAAM,EAAE,aAAa;KACtB;IAED,OAAO,EAAE,KAAK,EAAE,KAAU,EAAE,oBAAyB,EAAE,EAAE,EAAE;QACzD,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;QAE7D,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAEpC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAoB,EAAE,EAAE;YACrD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAc,CAAC;YACnC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAe,CAAC;YAEpC,6BAA6B;YAC7B,GAAG,CAAC,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAE1D,iCAAiC;YACjC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,UAAyB,EAAE,EAAE,EAAE;gBACxE,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBAChD,OAAO,GAAG,CAAC;YACb,CAAC,CAAC;YAEF,GAAG,CAAC,WAAW,GAAG,CAAC,IAAY,EAAE,UAAyB,EAAE,EAAE,EAAE;gBAC9D,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC3C,OAAO,GAAG,CAAC;YACb,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { CookieCore, parseCookies, buildCookieString, type CookieOptions } from './core.js';
2
+ export { createCookieMiddleware } from './middleware.js';
3
+ export { cookie, type CookieConfig } from './hook.js';
@@ -0,0 +1,9 @@
1
+ // Cookie - Main entry point
2
+ // Re-exports all public APIs for the cookie built-in
3
+ // Core (for direct use by router and custom implementations)
4
+ export { CookieCore, parseCookies, buildCookieString } from './core.js';
5
+ // Middleware (for middleware chains)
6
+ export { createCookieMiddleware } from './middleware.js';
7
+ // Hook (for global registration)
8
+ export { cookie } from './hook.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/middleware/built-in/cookie/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,qDAAqD;AAErD,6DAA6D;AAC7D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAsB,MAAM,WAAW,CAAC;AAE5F,qCAAqC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,iCAAiC;AACjC,OAAO,EAAE,MAAM,EAAqB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { StandardMiddleware } from '../../../../types/hooks.js';
2
+ /**
3
+ * Create cookie middleware for use in middleware chains
4
+ * Adds cookie parsing and response methods to req/res
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const cookieMw = createCookieMiddleware();
9
+ * app.use(cookieMw);
10
+ *
11
+ * // In routes:
12
+ * req.cookies // { sessionId: '123' }
13
+ * res.cookie('user', 'john', { httpOnly: true })
14
+ * res.clearCookie('user')
15
+ * ```
16
+ */
17
+ export declare function createCookieMiddleware(): StandardMiddleware;