@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,415 +0,0 @@
1
- /**
2
- * Auth.js Adapter for MoroJS
3
- *
4
- * This adapter allows Auth.js to work seamlessly with MoroJS framework.
5
- * It can be contributed to the Auth.js project as @auth/morojs
6
- *
7
- * @see https://authjs.dev/guides/adapters/creating-a-custom-adapter
8
- * @see https://github.com/nextauthjs/next-auth/tree/main/packages
9
- */
10
-
11
- import { createFrameworkLogger } from '../logger/index.js';
12
-
13
- const logger = createFrameworkLogger('AuthAdapter');
14
-
15
- // Mock Auth.js types until we have the actual package
16
- // These would come from @auth/core in a real implementation
17
- export interface AuthConfig {
18
- providers: any[];
19
- secret?: string;
20
- session?: any;
21
- callbacks?: any;
22
- events?: any;
23
- pages?: any;
24
- adapter?: any;
25
- debug?: boolean;
26
- basePath?: string;
27
- [key: string]: any;
28
- }
29
-
30
- export interface Session {
31
- user: {
32
- id: string;
33
- name?: string | null;
34
- email?: string | null;
35
- image?: string | null;
36
- [key: string]: any;
37
- };
38
- expires: string;
39
- [key: string]: any;
40
- }
41
-
42
- export type AuthAction = 'signin' | 'signout' | 'callback' | 'session' | 'providers' | 'csrf';
43
-
44
- // Mock Auth function - would be imported from @auth/core
45
- const Auth = async (request: Request, config: any): Promise<Response> => {
46
- // This is a placeholder implementation
47
- // In the real version, this would be the actual Auth.js core function
48
- const url = new URL(request.url);
49
- const pathname = url.pathname;
50
-
51
- if (pathname === '/session') {
52
- return new Response(JSON.stringify({ user: null }), {
53
- status: 200,
54
- headers: { 'content-type': 'application/json' },
55
- });
56
- }
57
-
58
- return new Response('Not implemented', { status: 501 });
59
- };
60
-
61
- // MoroJS-specific types
62
- export interface MoroJSAuthConfig extends Omit<AuthConfig, 'raw'> {
63
- /**
64
- * Base path for auth routes in MoroJS
65
- * @default "/api/auth"
66
- */
67
- basePath?: string;
68
-
69
- /**
70
- * MoroJS-specific options
71
- */
72
- morojs?: {
73
- /**
74
- * Enable MoroJS-specific logging
75
- * @default false
76
- */
77
- debug?: boolean;
78
-
79
- /**
80
- * Custom request/response transformers
81
- */
82
- transformers?: {
83
- request?: (req: any) => any;
84
- response?: (res: any) => any;
85
- };
86
- };
87
- }
88
-
89
- export interface MoroJSRequest {
90
- url?: string;
91
- method?: string;
92
- headers?: Record<string, string>;
93
- body?: any;
94
- query?: Record<string, string>;
95
- cookies?: Record<string, string>;
96
- }
97
-
98
- export interface MoroJSResponse {
99
- status(code: number): MoroJSResponse;
100
- json(data: any): Promise<void>;
101
- redirect(url: string): void;
102
- setHeader(name: string, value: string): void;
103
- cookie(name: string, value: string, options?: any): void;
104
- send(data: any): void;
105
- end(data?: any): void;
106
- headersSent: boolean;
107
- }
108
-
109
- /**
110
- * Convert MoroJS request to Auth.js Web API Request
111
- */
112
- function toWebRequest(req: MoroJSRequest, basePath: string): Request {
113
- const url = new URL(req.url || '/', 'http://localhost:3000');
114
-
115
- // Handle auth routes
116
- if (url.pathname.startsWith(basePath)) {
117
- url.pathname = url.pathname.replace(basePath, '');
118
- }
119
-
120
- const headers = new Headers();
121
- if (req.headers) {
122
- Object.entries(req.headers).forEach(([key, value]) => {
123
- headers.set(key, value);
124
- });
125
- }
126
-
127
- // Add cookies to headers if not present
128
- if (req.cookies && Object.keys(req.cookies).length > 0) {
129
- const cookieHeader = Object.entries(req.cookies)
130
- .map(([name, value]) => `${name}=${value}`)
131
- .join('; ');
132
-
133
- if (!headers.has('cookie')) {
134
- headers.set('cookie', cookieHeader);
135
- }
136
- }
137
-
138
- const body = req.body ? JSON.stringify(req.body) : undefined;
139
-
140
- return new Request(url.toString(), {
141
- method: req.method || 'GET',
142
- headers,
143
- body,
144
- });
145
- }
146
-
147
- /**
148
- * Convert Auth.js Web API Response to MoroJS response
149
- */
150
- async function fromWebResponse(webResponse: Response, moroResponse: MoroJSResponse): Promise<void> {
151
- // Set status
152
- moroResponse.status(webResponse.status);
153
-
154
- // Set headers
155
- webResponse.headers.forEach((value, key) => {
156
- if (key.toLowerCase() === 'set-cookie') {
157
- // Handle cookies specially for MoroJS
158
- const cookies = value.split(', ');
159
- cookies.forEach(cookie => {
160
- const [nameValue, ...options] = cookie.split('; ');
161
- const [name, cookieValue] = nameValue.split('=');
162
-
163
- // Parse cookie options
164
- const cookieOptions: any = {};
165
- options.forEach(option => {
166
- const [optKey, optValue] = option.split('=');
167
- switch (optKey.toLowerCase()) {
168
- case 'max-age':
169
- cookieOptions.maxAge = parseInt(optValue, 10);
170
- break;
171
- case 'expires':
172
- cookieOptions.expires = new Date(optValue);
173
- break;
174
- case 'httponly':
175
- cookieOptions.httpOnly = true;
176
- break;
177
- case 'secure':
178
- cookieOptions.secure = true;
179
- break;
180
- case 'samesite':
181
- cookieOptions.sameSite = optValue;
182
- break;
183
- case 'path':
184
- cookieOptions.path = optValue;
185
- break;
186
- case 'domain':
187
- cookieOptions.domain = optValue;
188
- break;
189
- }
190
- });
191
-
192
- moroResponse.cookie(name, cookieValue, cookieOptions);
193
- });
194
- } else if (key.toLowerCase() === 'location') {
195
- // Handle redirects
196
- moroResponse.redirect(value);
197
- return;
198
- } else {
199
- moroResponse.setHeader(key, value);
200
- }
201
- });
202
-
203
- // Handle response body
204
- const contentType = webResponse.headers.get('content-type');
205
-
206
- if (webResponse.status >= 300 && webResponse.status < 400) {
207
- // Redirect - already handled above
208
- return;
209
- } else if (contentType?.includes('application/json')) {
210
- const data = await webResponse.json();
211
- await moroResponse.json(data);
212
- } else {
213
- const text = await webResponse.text();
214
- moroResponse.send(text);
215
- }
216
- }
217
-
218
- /**
219
- * Main MoroJS Auth.js handler
220
- *
221
- * This is the core function that integrates Auth.js with MoroJS
222
- */
223
- export async function MoroJSAuth(config: MoroJSAuthConfig): Promise<{
224
- handler: (req: MoroJSRequest, res: MoroJSResponse) => Promise<void>;
225
- auth: (req: MoroJSRequest) => Promise<Session | null>;
226
- }> {
227
- const basePath = config.basePath || '/api/auth';
228
-
229
- return {
230
- /**
231
- * Main request handler for auth routes
232
- */
233
- handler: async (req: MoroJSRequest, res: MoroJSResponse) => {
234
- try {
235
- // Convert MoroJS request to Web API request
236
- const webRequest = toWebRequest(req, basePath);
237
-
238
- // Determine the auth action from the URL
239
- const url = new URL(webRequest.url);
240
- const action = (url.pathname.split('/')[1] as AuthAction) || 'session';
241
-
242
- // Apply request transformer if provided
243
- let transformedRequest = webRequest;
244
- if (config.morojs?.transformers?.request) {
245
- transformedRequest = config.morojs.transformers.request(webRequest);
246
- }
247
-
248
- // Call Auth.js core
249
- const authResponse = await Auth(transformedRequest, {
250
- ...config,
251
- basePath,
252
- raw: (code: any, ...message: any[]) => {
253
- if (config.morojs?.debug) {
254
- logger.debug(`[MoroJS Auth] ${code}:`, 'AuthAdapter', { message });
255
- }
256
- },
257
- });
258
-
259
- // Apply response transformer if provided
260
- let finalResponse = authResponse;
261
- if (config.morojs?.transformers?.response) {
262
- finalResponse = config.morojs.transformers.response(authResponse);
263
- }
264
-
265
- // Convert Web API response to MoroJS response
266
- await fromWebResponse(finalResponse, res);
267
- } catch (error) {
268
- logger.error('[MoroJS Auth] Error', 'AuthAdapter', {
269
- error: error instanceof Error ? error.message : String(error),
270
- });
271
- // Robust error handling - check if response methods exist
272
- if (typeof (res as any).status === 'function' && typeof (res as any).json === 'function') {
273
- (res as any).status(500).json({
274
- error: 'Internal server error',
275
- message: config.morojs?.debug ? (error as Error).message : 'Authentication error',
276
- });
277
- } else {
278
- // Fallback to basic Node.js response methods
279
- (res as any).statusCode = 500;
280
- (res as any).setHeader('Content-Type', 'application/json');
281
- (res as any).end(
282
- JSON.stringify({
283
- error: 'Internal server error',
284
- message: config.morojs?.debug ? (error as Error).message : 'Authentication error',
285
- })
286
- );
287
- }
288
- }
289
- },
290
-
291
- /**
292
- * Get session for the current request
293
- */
294
- auth: async (req: MoroJSRequest): Promise<Session | null> => {
295
- try {
296
- // Create a session request
297
- const sessionUrl = new URL('/session', 'http://localhost:3000');
298
- const sessionRequest = new Request(sessionUrl.toString(), {
299
- method: 'GET',
300
- headers: req.headers ? new Headers(req.headers) : new Headers(),
301
- });
302
-
303
- // Get session from Auth.js
304
- const response = await Auth(sessionRequest, {
305
- ...config,
306
- basePath,
307
- });
308
-
309
- if (response.status === 200) {
310
- const session = await response.json();
311
- return session as Session;
312
- }
313
-
314
- return null;
315
- } catch (error) {
316
- if (config.morojs?.debug) {
317
- logger.error('[MoroJS Auth] Session error', 'AuthAdapter', {
318
- error: error instanceof Error ? error.message : String(error),
319
- });
320
- }
321
- return null;
322
- }
323
- },
324
- };
325
- }
326
-
327
- /**
328
- * MoroJS Auth middleware factory
329
- *
330
- * This creates a MoroJS-compatible middleware for authentication
331
- */
332
- export function createAuthMiddleware(config: MoroJSAuthConfig) {
333
- logger.info('createAuthMiddleware called - creating middleware function', 'AuthAdapter');
334
- // Return a function that MoroJS can call directly
335
- return async (app: any) => {
336
- logger.info('Installing Auth.js middleware...', 'AuthAdapter');
337
- logger.debug('App object received', 'AuthAdapter', {
338
- appType: typeof app,
339
- appConstructor: app.constructor.name,
340
- });
341
-
342
- // Get the hooks from the app's middleware system
343
- const hooks =
344
- (app as any).coreFramework?.middlewareManager?.hooks || (app as any).middlewareManager?.hooks;
345
-
346
- if (!hooks) {
347
- logger.error('Could not access MoroJS hooks system', 'AuthAdapter');
348
- return;
349
- }
350
-
351
- const options = {};
352
- const mergedConfig = { ...config, ...options };
353
- const { handler, auth } = await MoroJSAuth(mergedConfig);
354
- const basePath = mergedConfig.basePath || '/api/auth';
355
-
356
- // Register request hook
357
- hooks.before('request', async (context: any) => {
358
- logger.debug('Native adapter hook starting', 'AuthAdapter');
359
- const req = context.request;
360
- logger.debug('Request path', 'AuthAdapter', { path: req.path || req.url });
361
-
362
- try {
363
- // Just add auth object to request - don't touch response
364
- req.auth = {
365
- session: null,
366
- user: null,
367
- isAuthenticated: false,
368
-
369
- // Helper methods
370
- getSession: () => Promise.resolve(null),
371
- getUser: () => null,
372
-
373
- // Sign in/out helpers (redirect to auth routes)
374
- signIn: (provider?: string, options?: any) => {
375
- const params = new URLSearchParams();
376
- if (provider) params.set('provider', provider);
377
- if (options?.callbackUrl) params.set('callbackUrl', options.callbackUrl);
378
-
379
- const signInUrl = `${basePath}/signin${provider ? `/${provider}` : ''}${
380
- params.toString() ? `?${params.toString()}` : ''
381
- }`;
382
-
383
- return { url: signInUrl };
384
- },
385
-
386
- signOut: (options?: any) => {
387
- const params = new URLSearchParams();
388
- if (options?.callbackUrl) params.set('callbackUrl', options.callbackUrl);
389
-
390
- const signOutUrl = `${basePath}/signout${
391
- params.toString() ? `?${params.toString()}` : ''
392
- }`;
393
-
394
- return { url: signOutUrl };
395
- },
396
- };
397
- logger.debug('Native adapter hook completed successfully', 'AuthAdapter');
398
- } catch (error) {
399
- logger.error('Error in native adapter hook', 'AuthAdapter', {
400
- error: error instanceof Error ? error.message : String(error),
401
- });
402
- throw error;
403
- }
404
- });
405
-
406
- logger.info('Auth.js middleware installed successfully!', 'AuthAdapter');
407
- };
408
- }
409
-
410
- // Types are already exported above, no need to re-export
411
-
412
- /**
413
- * Default export for convenience
414
- */
415
- export default MoroJSAuth;
@@ -1,133 +0,0 @@
1
- /**
2
- * Configuration Manager - Immutable Single Source of Truth
3
- *
4
- * This module provides centralized, immutable configuration state management.
5
- * Configuration is locked at createApp() initialization and cannot be changed afterward.
6
- *
7
- * Precedence: Environment Variables > createApp Options > Config File > Defaults
8
- */
9
-
10
- import { AppConfig } from '../../types/config.js';
11
- import { createFrameworkLogger } from '../logger/index.js';
12
-
13
- const logger = createFrameworkLogger('ConfigManager');
14
-
15
- /**
16
- * Global configuration state - immutable after initialization
17
- */
18
- let globalConfig: Readonly<AppConfig> | null = null;
19
- let isLocked = false;
20
-
21
- /**
22
- * Initialize and lock global configuration state
23
- * This should only be called once during createApp() initialization
24
- */
25
- export function initializeAndLockConfig(config: AppConfig): void {
26
- if (isLocked) {
27
- throw new Error(
28
- 'Configuration is already locked and cannot be changed. ' +
29
- 'Configuration can only be set once during createApp() initialization.'
30
- );
31
- }
32
-
33
- // Deep freeze the configuration to make it truly immutable
34
- globalConfig = deepFreeze(config);
35
- isLocked = true;
36
-
37
- logger.info(
38
- `Configuration locked and initialized: ${process.env.NODE_ENV || 'development'}:${config.server.port}`
39
- );
40
- }
41
-
42
- /**
43
- * Get the current global configuration
44
- * Throws if configuration hasn't been initialized
45
- */
46
- export function getGlobalConfig(): Readonly<AppConfig> {
47
- if (!globalConfig || !isLocked) {
48
- throw new Error(
49
- 'Configuration not initialized. Call createApp() to initialize the configuration system.'
50
- );
51
- }
52
- return globalConfig;
53
- }
54
-
55
- /**
56
- * Check if configuration has been initialized and locked
57
- */
58
- export function isConfigLocked(): boolean {
59
- return isLocked && globalConfig !== null;
60
- }
61
-
62
- /**
63
- * Reset configuration state (for testing only)
64
- * @internal - This should only be used in tests
65
- */
66
- export function resetConfigForTesting(): void {
67
- if (
68
- process.env.NODE_ENV !== 'test' &&
69
- !process.env.MORO_ALLOW_CONFIG_RESET &&
70
- !process.env.JEST_WORKER_ID
71
- ) {
72
- throw new Error(
73
- 'Configuration reset is only allowed in test environments. ' +
74
- 'Set MORO_ALLOW_CONFIG_RESET=true to override this check.'
75
- );
76
- }
77
-
78
- globalConfig = null;
79
- isLocked = false;
80
- logger.debug('Configuration state reset for testing');
81
- }
82
-
83
- /**
84
- * Deep freeze an object to make it truly immutable
85
- * This prevents any accidental mutations to the configuration
86
- */
87
- function deepFreeze<T>(obj: T): Readonly<T> {
88
- // Get property names
89
- const propNames = Object.getOwnPropertyNames(obj);
90
-
91
- // Freeze properties before freezing self
92
- for (const name of propNames) {
93
- const value = (obj as any)[name];
94
-
95
- if (value && typeof value === 'object') {
96
- deepFreeze(value);
97
- }
98
- }
99
-
100
- return Object.freeze(obj);
101
- }
102
-
103
- /**
104
- * Get a specific configuration value using dot notation
105
- * This provides a safe way to access nested config values
106
- *
107
- * @example
108
- * getConfigValue('server.port') // Returns the server port
109
- * getConfigValue('database.redis.url') // Returns the Redis URL
110
- */
111
- export function getConfigValue<T = any>(path: string): T | undefined {
112
- const config = getGlobalConfig();
113
-
114
- return path.split('.').reduce((obj: any, key: string) => {
115
- return obj && obj[key] !== undefined ? obj[key] : undefined;
116
- }, config);
117
- }
118
-
119
- /**
120
- * Utility functions for common environment checks
121
- * These now read NODE_ENV directly for consistency with Node.js ecosystem
122
- */
123
- export function isDevelopment(): boolean {
124
- return process.env.NODE_ENV === 'development';
125
- }
126
-
127
- export function isProduction(): boolean {
128
- return process.env.NODE_ENV === 'production';
129
- }
130
-
131
- export function isStaging(): boolean {
132
- return process.env.NODE_ENV === 'staging';
133
- }