@morojs/moro 1.6.2 → 1.6.3

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,124 +0,0 @@
1
- // Built-in CDN Middleware
2
- import { MiddlewareInterface, HookContext } from '../../../types/hooks.js';
3
- import { CDNAdapter, CDNOptions } from '../../../types/cdn.js';
4
- import { createFrameworkLogger } from '../../logger/index.js';
5
- import { createCDNAdapter } from './adapters/cdn/index.js';
6
-
7
- const logger = createFrameworkLogger('CDNMiddleware');
8
-
9
- export const cdn = (options: CDNOptions = {}): MiddlewareInterface => ({
10
- name: 'cdn',
11
- version: '1.0.0',
12
- metadata: {
13
- name: 'cdn',
14
- version: '1.0.0',
15
- description: 'Built-in CDN middleware with pluggable provider adapters',
16
- author: 'MoroJS Team',
17
- },
18
-
19
- install: async (hooks: any, middlewareOptions: any = {}) => {
20
- logger.debug('Installing CDN middleware', 'Installation');
21
-
22
- // Initialize CDN adapter
23
- let cdnAdapter: CDNAdapter | null = null;
24
-
25
- if (options.adapter && typeof options.adapter === 'object' && 'purge' in options.adapter) {
26
- cdnAdapter = options.adapter as CDNAdapter;
27
- } else if (typeof options.adapter === 'string') {
28
- cdnAdapter = createCDNAdapter(options.adapter, options.adapterOptions);
29
- }
30
-
31
- if (!cdnAdapter) {
32
- logger.warn('No CDN adapter configured, CDN features will be disabled', 'Installation');
33
- return;
34
- }
35
-
36
- hooks.before('request', async (context: HookContext) => {
37
- const req = context.request as any;
38
- const res = context.response as any;
39
-
40
- // Set CDN headers on all responses
41
- if (cdnAdapter) {
42
- cdnAdapter.setHeaders(res);
43
- }
44
-
45
- // Add CDN methods to response
46
- res.purgeCDN = async (urls?: string[]) => {
47
- if (!cdnAdapter) {
48
- logger.warn('CDN purge requested but no adapter configured', 'CDNPurge');
49
- return;
50
- }
51
-
52
- try {
53
- const urlsToPurge = urls || [req.path];
54
- await cdnAdapter.purge(urlsToPurge);
55
- logger.info(`CDN cache purged: ${urlsToPurge.join(', ')}`, 'CDNPurge');
56
- } catch (error) {
57
- logger.error('CDN purge failed', 'CDNError', { error, urls });
58
- throw error;
59
- }
60
- };
61
-
62
- res.prefetchCDN = async (urls: string[]) => {
63
- if (!cdnAdapter || !cdnAdapter.prefetch) {
64
- logger.warn('CDN prefetch requested but not supported by adapter', 'CDNPrefetch');
65
- return;
66
- }
67
-
68
- try {
69
- await cdnAdapter.prefetch(urls);
70
- logger.info(`CDN prefetch requested: ${urls.join(', ')}`, 'CDNPrefetch');
71
- } catch (error) {
72
- logger.error('CDN prefetch failed', 'CDNError', { error, urls });
73
- }
74
- };
75
-
76
- res.getCDNStats = async () => {
77
- if (!cdnAdapter || !cdnAdapter.getStats) {
78
- logger.warn('CDN stats requested but not supported by adapter', 'CDNStats');
79
- return null;
80
- }
81
-
82
- try {
83
- const stats = await cdnAdapter.getStats();
84
- logger.debug('CDN stats retrieved', 'CDNStats');
85
- return stats;
86
- } catch (error) {
87
- logger.error('CDN stats retrieval failed', 'CDNError', { error });
88
- return null;
89
- }
90
- };
91
- });
92
-
93
- // Auto-invalidation on certain patterns
94
- if (options.autoInvalidate && options.invalidationPatterns) {
95
- hooks.after('response', async (context: HookContext) => {
96
- const req = context.request as any;
97
- const res = context.response as any;
98
-
99
- // Check if this request matches invalidation patterns
100
- const shouldInvalidate = options.invalidationPatterns?.some(pattern => {
101
- const regex = new RegExp(pattern);
102
- return regex.test(req.path);
103
- });
104
-
105
- if (shouldInvalidate && cdnAdapter) {
106
- try {
107
- await cdnAdapter.purge([req.path]);
108
- logger.debug(`Auto-invalidated CDN cache for: ${req.path}`, 'CDNAutoInvalidate');
109
- } catch (error) {
110
- logger.error('CDN auto-invalidation failed', 'CDNError', {
111
- error,
112
- path: req.path,
113
- });
114
- }
115
- }
116
- });
117
- }
118
-
119
- logger.info('CDN middleware installed', 'Installation', {
120
- adapter: typeof options.adapter === 'string' ? options.adapter : 'custom',
121
- autoInvalidate: !!options.autoInvalidate,
122
- });
123
- },
124
- });
@@ -1,85 +0,0 @@
1
- // Cookie Middleware
2
- import { MiddlewareInterface, HookContext } from '../../../types/hooks.js';
3
- import { createFrameworkLogger } from '../../logger/index.js';
4
-
5
- const logger = createFrameworkLogger('CookieMiddleware');
6
-
7
- export interface CookieOptions {
8
- maxAge?: number;
9
- expires?: Date;
10
- httpOnly?: boolean;
11
- secure?: boolean;
12
- sameSite?: 'strict' | 'lax' | 'none';
13
- domain?: string;
14
- path?: string;
15
- }
16
-
17
- export const cookie = (
18
- options: {
19
- secret?: string;
20
- signed?: boolean;
21
- } = {}
22
- ): MiddlewareInterface => ({
23
- name: 'cookie',
24
- version: '1.0.0',
25
- metadata: {
26
- name: 'cookie',
27
- version: '1.0.0',
28
- description: 'Cookie parsing and setting middleware with security features',
29
- author: 'MoroJS Team',
30
- },
31
-
32
- install: async (hooks: any, options: any = {}) => {
33
- logger.debug('Installing cookie middleware', 'Installation');
34
-
35
- hooks.before('request', async (context: HookContext) => {
36
- const req = context.request as any;
37
- const res = context.response as any;
38
-
39
- // Parse cookies from request
40
- req.cookies = parseCookies(req.headers.cookie || '');
41
-
42
- // Add cookie methods to response
43
- res.cookie = (name: string, value: string, options: CookieOptions = {}) => {
44
- const cookieValue = encodeURIComponent(value);
45
- let cookieString = `${name}=${cookieValue}`;
46
-
47
- if (options.maxAge) cookieString += `; Max-Age=${options.maxAge}`;
48
- if (options.expires) cookieString += `; Expires=${options.expires.toUTCString()}`;
49
- if (options.httpOnly) cookieString += '; HttpOnly';
50
- if (options.secure) cookieString += '; Secure';
51
- if (options.sameSite) cookieString += `; SameSite=${options.sameSite}`;
52
- if (options.domain) cookieString += `; Domain=${options.domain}`;
53
- if (options.path) cookieString += `; Path=${options.path}`;
54
-
55
- const existingCookies = res.getHeader('Set-Cookie') || [];
56
- const cookies = Array.isArray(existingCookies)
57
- ? [...existingCookies]
58
- : [existingCookies as string];
59
- cookies.push(cookieString);
60
- res.setHeader('Set-Cookie', cookies);
61
-
62
- return res;
63
- };
64
-
65
- res.clearCookie = (name: string, options: CookieOptions = {}) => {
66
- const clearOptions = { ...options, expires: new Date(0), maxAge: 0 };
67
- return res.cookie(name, '', clearOptions);
68
- };
69
- });
70
- },
71
- });
72
-
73
- function parseCookies(cookieHeader: string): Record<string, string> {
74
- const cookies: Record<string, string> = {};
75
- if (!cookieHeader) return cookies;
76
-
77
- cookieHeader.split(';').forEach(cookie => {
78
- const [name, value] = cookie.trim().split('=');
79
- if (name && value) {
80
- cookies[name] = decodeURIComponent(value);
81
- }
82
- });
83
-
84
- return cookies;
85
- }
@@ -1,38 +0,0 @@
1
- // CORS Middleware
2
- import { MiddlewareInterface, HookContext } from '../../../types/hooks.js';
3
- import { createFrameworkLogger } from '../../logger/index.js';
4
-
5
- const logger = createFrameworkLogger('CorsMiddleware');
6
-
7
- export const cors = (options: any = {}): MiddlewareInterface => ({
8
- name: 'cors',
9
- version: '1.0.0',
10
- metadata: {
11
- name: 'cors',
12
- version: '1.0.0',
13
- description: 'Cross-Origin Resource Sharing middleware',
14
- author: 'MoroJS Team',
15
- },
16
-
17
- install: async (hooks: any, options: any = {}) => {
18
- logger.debug('Installing CORS middleware', 'Installation', { options });
19
-
20
- hooks.before('request', async (context: HookContext) => {
21
- const response = context.response as any;
22
-
23
- response.setHeader('Access-Control-Allow-Origin', options.origin || '*');
24
- response.setHeader(
25
- 'Access-Control-Allow-Methods',
26
- options.methods || 'GET,POST,PUT,DELETE,OPTIONS'
27
- );
28
- response.setHeader(
29
- 'Access-Control-Allow-Headers',
30
- options.headers || 'Content-Type,Authorization'
31
- );
32
-
33
- if (options.credentials) {
34
- response.setHeader('Access-Control-Allow-Credentials', 'true');
35
- }
36
- });
37
- },
38
- });
@@ -1,101 +0,0 @@
1
- // Content Security Policy Middleware
2
- import crypto from 'crypto';
3
- import { MiddlewareInterface, HookContext } from '../../../types/hooks.js';
4
- import { createFrameworkLogger } from '../../logger/index.js';
5
-
6
- const logger = createFrameworkLogger('CSPMiddleware');
7
-
8
- export const csp = (
9
- options: {
10
- directives?: {
11
- defaultSrc?: string[];
12
- scriptSrc?: string[];
13
- styleSrc?: string[];
14
- imgSrc?: string[];
15
- connectSrc?: string[];
16
- fontSrc?: string[];
17
- objectSrc?: string[];
18
- mediaSrc?: string[];
19
- frameSrc?: string[];
20
- childSrc?: string[];
21
- workerSrc?: string[];
22
- formAction?: string[];
23
- upgradeInsecureRequests?: boolean;
24
- blockAllMixedContent?: boolean;
25
- };
26
- reportOnly?: boolean;
27
- reportUri?: string;
28
- nonce?: boolean;
29
- } = {}
30
- ): MiddlewareInterface => ({
31
- name: 'csp',
32
- version: '1.0.0',
33
- metadata: {
34
- name: 'csp',
35
- version: '1.0.0',
36
- description: 'Content Security Policy middleware with nonce support and violation reporting',
37
- author: 'MoroJS Team',
38
- },
39
-
40
- install: async (hooks: any, middlewareOptions: any = {}) => {
41
- logger.debug('Installing CSP middleware', 'Installation');
42
-
43
- hooks.before('request', async (context: HookContext) => {
44
- const req = context.request as any;
45
- const res = context.response as any;
46
-
47
- const directives = options.directives || {
48
- defaultSrc: ["'self'"],
49
- scriptSrc: ["'self'"],
50
- styleSrc: ["'self'", "'unsafe-inline'"],
51
- imgSrc: ["'self'", 'data:', 'https:'],
52
- connectSrc: ["'self'"],
53
- fontSrc: ["'self'"],
54
- objectSrc: ["'none'"],
55
- mediaSrc: ["'self'"],
56
- frameSrc: ["'none'"],
57
- };
58
-
59
- // Generate nonce if requested
60
- let nonce: string | undefined;
61
- if (options.nonce) {
62
- nonce = crypto.randomBytes(16).toString('base64');
63
- req.cspNonce = nonce;
64
- }
65
-
66
- // Build CSP header value
67
- const cspParts: string[] = [];
68
-
69
- for (const [directive, sources] of Object.entries(directives)) {
70
- if (directive === 'upgradeInsecureRequests' && sources === true) {
71
- cspParts.push('upgrade-insecure-requests');
72
- } else if (directive === 'blockAllMixedContent' && sources === true) {
73
- cspParts.push('block-all-mixed-content');
74
- } else if (Array.isArray(sources)) {
75
- let sourceList = sources.join(' ');
76
-
77
- // Add nonce to script-src and style-src if enabled
78
- if (nonce && (directive === 'scriptSrc' || directive === 'styleSrc')) {
79
- sourceList += ` 'nonce-${nonce}'`;
80
- }
81
-
82
- // Convert camelCase to kebab-case
83
- const kebabDirective = directive.replace(/([A-Z])/g, '-$1').toLowerCase();
84
- cspParts.push(`${kebabDirective} ${sourceList}`);
85
- }
86
- }
87
-
88
- // Add report-uri if specified
89
- if (options.reportUri) {
90
- cspParts.push(`report-uri ${options.reportUri}`);
91
- }
92
-
93
- const cspValue = cspParts.join('; ');
94
- const headerName = options.reportOnly
95
- ? 'Content-Security-Policy-Report-Only'
96
- : 'Content-Security-Policy';
97
-
98
- res.setHeader(headerName, cspValue);
99
- });
100
- },
101
- });
@@ -1,82 +0,0 @@
1
- // CSRF Protection Middleware
2
- import crypto from 'crypto';
3
- import { MiddlewareInterface, HookContext } from '../../../types/hooks.js';
4
- import { createFrameworkLogger } from '../../logger/index.js';
5
-
6
- const logger = createFrameworkLogger('CSRFMiddleware');
7
-
8
- export const csrf = (
9
- options: {
10
- secret?: string;
11
- tokenLength?: number;
12
- cookieName?: string;
13
- headerName?: string;
14
- ignoreMethods?: string[];
15
- sameSite?: boolean;
16
- } = {}
17
- ): MiddlewareInterface => ({
18
- name: 'csrf',
19
- version: '1.0.0',
20
- metadata: {
21
- name: 'csrf',
22
- version: '1.0.0',
23
- description: 'CSRF protection middleware with token generation and validation',
24
- author: 'MoroJS Team',
25
- },
26
-
27
- install: async (hooks: any, middlewareOptions: any = {}) => {
28
- logger.debug('Installing CSRF middleware', 'Installation');
29
-
30
- const secret = options.secret || 'moro-csrf-secret';
31
- const tokenLength = options.tokenLength || 32;
32
- const cookieName = options.cookieName || '_csrf';
33
- const headerName = options.headerName || 'x-csrf-token';
34
- const ignoreMethods = options.ignoreMethods || ['GET', 'HEAD', 'OPTIONS'];
35
-
36
- const generateToken = () => {
37
- return crypto.randomBytes(tokenLength).toString('hex');
38
- };
39
-
40
- const verifyToken = (token: string, sessionToken: string) => {
41
- return token && sessionToken && token === sessionToken;
42
- };
43
-
44
- hooks.before('request', async (context: HookContext) => {
45
- const req = context.request as any;
46
- const res = context.response as any;
47
-
48
- // Add CSRF token generation method
49
- req.csrfToken = () => {
50
- if (!req._csrfToken) {
51
- req._csrfToken = generateToken();
52
- // Set token in cookie
53
- res.cookie(cookieName, req._csrfToken, {
54
- httpOnly: true,
55
- sameSite: options.sameSite !== false ? 'strict' : undefined,
56
- secure: req.headers['x-forwarded-proto'] === 'https' || (req.socket as any).encrypted,
57
- });
58
- }
59
- return req._csrfToken;
60
- };
61
-
62
- // Skip verification for safe methods
63
- if (ignoreMethods.includes(req.method!)) {
64
- return;
65
- }
66
-
67
- // Get token from header or body
68
- const token =
69
- req.headers[headerName] || (req.body && req.body._csrf) || (req.query && req.query._csrf);
70
-
71
- // Get session token from cookie
72
- const sessionToken = req.cookies?.[cookieName];
73
-
74
- if (!verifyToken(token as string, sessionToken || '')) {
75
- const error = new Error('Invalid CSRF token');
76
- (error as any).status = 403;
77
- (error as any).code = 'CSRF_TOKEN_MISMATCH';
78
- throw error;
79
- }
80
- });
81
- },
82
- });
@@ -1,16 +0,0 @@
1
- // Error tracking middleware
2
- import { createFrameworkLogger } from '../../logger/index.js';
3
-
4
- const logger = createFrameworkLogger('ErrorTracker');
5
-
6
- export const errorTracker = async (context: any): Promise<void> => {
7
- context.onError = (error: Error) => {
8
- logger.error('Request error', 'ErrorTracking', {
9
- error: error.message,
10
- stack: error.stack,
11
- url: context.request?.url,
12
- method: context.request?.method,
13
- timestamp: new Date().toISOString(),
14
- });
15
- };
16
- };
@@ -1,87 +0,0 @@
1
- // Built-in Middleware Exports
2
- export { auth } from './auth.js';
3
- export { rateLimit } from './rate-limit.js';
4
- export { cors } from './cors.js';
5
- export { validation } from './validation.js';
6
- export { requestLogger } from './request-logger.js';
7
- export { performanceMonitor } from './performance-monitor.js';
8
- export { errorTracker } from './error-tracker.js';
9
-
10
- // Advanced Security & Performance Middleware
11
- export { cookie } from './cookie.js';
12
- export { csrf } from './csrf.js';
13
- export { csp } from './csp.js';
14
- export { sse } from './sse.js';
15
- export { session } from './session.js';
16
-
17
- // Clean Architecture Middleware
18
- export { cache } from './cache.js';
19
- export { cdn } from './cdn.js';
20
-
21
- // Auth Helpers and Extended Providers
22
- export {
23
- requireAuth,
24
- requireRole,
25
- requirePermission,
26
- requireAdmin,
27
- guestOnly,
28
- optionalAuth,
29
- withAuth,
30
- protectedRoute,
31
- authUtils,
32
- authResponses,
33
- sessionHelpers,
34
- } from './auth-helpers.js';
35
-
36
- // JWT Utilities for Custom Middleware
37
- export {
38
- safeVerifyJWT,
39
- extractJWTFromHeader,
40
- createAuthErrorResponse,
41
- type JWTVerificationResult,
42
- } from './jwt-helpers.js';
43
-
44
- export {
45
- extendedProviders,
46
- enterpriseProviders,
47
- createCustomOAuthProvider,
48
- createCustomOIDCProvider,
49
- } from './auth-providers.js';
50
-
51
- // Import for collections
52
- import { auth } from './auth.js';
53
- import { rateLimit } from './rate-limit.js';
54
- import { cors } from './cors.js';
55
- import { validation } from './validation.js';
56
- import { requestLogger } from './request-logger.js';
57
- import { performanceMonitor } from './performance-monitor.js';
58
- import { errorTracker } from './error-tracker.js';
59
- import { cookie } from './cookie.js';
60
- import { csrf } from './csrf.js';
61
- import { csp } from './csp.js';
62
- import { sse } from './sse.js';
63
- import { session } from './session.js';
64
- import { cache } from './cache.js';
65
- import { cdn } from './cdn.js';
66
-
67
- export const builtInMiddleware = {
68
- auth,
69
- rateLimit,
70
- cors,
71
- validation,
72
- // Advanced middleware
73
- cookie,
74
- csrf,
75
- csp,
76
- sse,
77
- session,
78
- // Clean architecture middleware
79
- cache,
80
- cdn,
81
- };
82
-
83
- export const simpleMiddleware = {
84
- requestLogger,
85
- performanceMonitor,
86
- errorTracker,
87
- };