@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,263 +0,0 @@
1
- // Database SQLite Adapter
2
- import { DatabaseAdapter, DatabaseTransaction } from '../../../types/database.js';
3
- import { createFrameworkLogger } from '../../logger/index.js';
4
- import { resolveUserPackage } from '../../utilities/package-utils.js';
5
-
6
- interface SQLiteConfig {
7
- filename?: string;
8
- memory?: boolean;
9
- readonly?: boolean;
10
- fileMustExist?: boolean;
11
- timeout?: number;
12
- verbose?: boolean;
13
- }
14
-
15
- export class SQLiteAdapter implements DatabaseAdapter {
16
- private db: any;
17
- private logger = createFrameworkLogger('SQLite');
18
- private initPromise: Promise<void>;
19
-
20
- constructor(config: SQLiteConfig = {}) {
21
- this.initPromise = this.initialize(config);
22
- }
23
-
24
- private async initialize(config: SQLiteConfig): Promise<void> {
25
- try {
26
- const sqlite3Path = resolveUserPackage('better-sqlite3');
27
- const betterSqlite3 = await import(sqlite3Path);
28
- const Database = betterSqlite3.default;
29
- const filename = config.memory ? ':memory:' : config.filename || 'moro_app.db';
30
- this.db = new Database(filename, {
31
- readonly: config.readonly || false,
32
- fileMustExist: config.fileMustExist || false,
33
- timeout: config.timeout || 5000,
34
- verbose: config.verbose ? this.logger.debug.bind(this.logger) : undefined,
35
- });
36
-
37
- // Enable foreign keys
38
- this.db.pragma('foreign_keys = ON');
39
-
40
- this.logger.info('SQLite connection established', 'Connection', {
41
- filename,
42
- });
43
- } catch (error) {
44
- throw new Error(
45
- 'better-sqlite3 package is required for SQLite adapter. Install it with: npm install better-sqlite3'
46
- );
47
- }
48
- }
49
-
50
- async connect(): Promise<void> {
51
- await this.initPromise;
52
- // SQLite doesn't require explicit connection - it's handled in constructor
53
- this.logger.info('SQLite adapter ready', 'Connection');
54
- }
55
-
56
- async disconnect(): Promise<void> {
57
- await this.initPromise;
58
- this.db.close();
59
- }
60
-
61
- async query<T = any>(sql: string, params?: any[]): Promise<T[]> {
62
- await this.initPromise;
63
- try {
64
- const stmt = this.db.prepare(sql);
65
- const results = stmt.all(params || []);
66
- return results as T[];
67
- } catch (error) {
68
- this.logger.error('SQLite query failed', 'Query', {
69
- sql,
70
- error: error instanceof Error ? error.message : String(error),
71
- });
72
- throw error;
73
- }
74
- }
75
-
76
- async queryOne<T = any>(sql: string, params?: any[]): Promise<T | null> {
77
- await this.initPromise;
78
- try {
79
- const stmt = this.db.prepare(sql);
80
- const result = stmt.get(params || []);
81
- return (result as T) || null;
82
- } catch (error) {
83
- this.logger.error('SQLite queryOne failed', 'Query', {
84
- sql,
85
- error: error instanceof Error ? error.message : String(error),
86
- });
87
- throw error;
88
- }
89
- }
90
-
91
- async insert<T = any>(table: string, data: Record<string, any>): Promise<T> {
92
- await this.initPromise;
93
- const keys = Object.keys(data);
94
- const values = Object.values(data);
95
- const placeholders = keys.map(() => '?').join(', ');
96
-
97
- const sql = `INSERT INTO ${table} (${keys.join(', ')}) VALUES (${placeholders})`;
98
-
99
- try {
100
- const stmt = this.db.prepare(sql);
101
- const info = stmt.run(values);
102
-
103
- // Return the inserted record
104
- const insertedRecord = await this.queryOne<T>(`SELECT * FROM ${table} WHERE rowid = ?`, [
105
- info.lastInsertRowid,
106
- ]);
107
-
108
- return insertedRecord!;
109
- } catch (error) {
110
- this.logger.error('SQLite insert failed', 'Insert', {
111
- table,
112
- error: error instanceof Error ? error.message : String(error),
113
- });
114
- throw error;
115
- }
116
- }
117
-
118
- async update<T = any>(
119
- table: string,
120
- data: Record<string, any>,
121
- where: Record<string, any>
122
- ): Promise<T> {
123
- await this.initPromise;
124
- const setClause = Object.keys(data)
125
- .map(key => `${key} = ?`)
126
- .join(', ');
127
- const whereClause = Object.keys(where)
128
- .map(key => `${key} = ?`)
129
- .join(' AND ');
130
-
131
- const sql = `UPDATE ${table} SET ${setClause} WHERE ${whereClause}`;
132
- const params = [...Object.values(data), ...Object.values(where)];
133
-
134
- try {
135
- const stmt = this.db.prepare(sql);
136
- stmt.run(params);
137
-
138
- // Return the updated record
139
- const updatedRecord = await this.queryOne<T>(
140
- `SELECT * FROM ${table} WHERE ${whereClause}`,
141
- Object.values(where)
142
- );
143
-
144
- return updatedRecord!;
145
- } catch (error) {
146
- this.logger.error('SQLite update failed', 'Update', {
147
- table,
148
- error: error instanceof Error ? error.message : String(error),
149
- });
150
- throw error;
151
- }
152
- }
153
-
154
- async delete(table: string, where: Record<string, any>): Promise<number> {
155
- await this.initPromise;
156
- const whereClause = Object.keys(where)
157
- .map(key => `${key} = ?`)
158
- .join(' AND ');
159
- const sql = `DELETE FROM ${table} WHERE ${whereClause}`;
160
-
161
- try {
162
- const stmt = this.db.prepare(sql);
163
- const info = stmt.run(Object.values(where));
164
- return info.changes;
165
- } catch (error) {
166
- this.logger.error('SQLite delete failed', 'Delete', {
167
- table,
168
- error: error instanceof Error ? error.message : String(error),
169
- });
170
- throw error;
171
- }
172
- }
173
-
174
- async transaction<T>(callback: (tx: DatabaseTransaction) => Promise<T>): Promise<T> {
175
- await this.initPromise;
176
- const transaction = this.db.transaction(async () => {
177
- const tx = new SQLiteTransaction(this.db);
178
- return await callback(tx);
179
- });
180
-
181
- return transaction();
182
- }
183
- }
184
-
185
- class SQLiteTransaction implements DatabaseTransaction {
186
- constructor(private db: any) {}
187
-
188
- async query<T = any>(sql: string, params?: any[]): Promise<T[]> {
189
- const stmt = this.db.prepare(sql);
190
- const results = stmt.all(params || []);
191
- return results as T[];
192
- }
193
-
194
- async queryOne<T = any>(sql: string, params?: any[]): Promise<T | null> {
195
- const stmt = this.db.prepare(sql);
196
- const result = stmt.get(params || []);
197
- return (result as T) || null;
198
- }
199
-
200
- async insert<T = any>(table: string, data: Record<string, any>): Promise<T> {
201
- const keys = Object.keys(data);
202
- const values = Object.values(data);
203
- const placeholders = keys.map(() => '?').join(', ');
204
-
205
- const sql = `INSERT INTO ${table} (${keys.join(', ')}) VALUES (${placeholders})`;
206
- const stmt = this.db.prepare(sql);
207
- const info = stmt.run(values);
208
-
209
- const insertedRecord = await this.queryOne<T>(`SELECT * FROM ${table} WHERE rowid = ?`, [
210
- info.lastInsertRowid,
211
- ]);
212
-
213
- return insertedRecord!;
214
- }
215
-
216
- async update<T = any>(
217
- table: string,
218
- data: Record<string, any>,
219
- where: Record<string, any>
220
- ): Promise<T> {
221
- const setClause = Object.keys(data)
222
- .map(key => `${key} = ?`)
223
- .join(', ');
224
- const whereClause = Object.keys(where)
225
- .map(key => `${key} = ?`)
226
- .join(' AND ');
227
-
228
- const sql = `UPDATE ${table} SET ${setClause} WHERE ${whereClause}`;
229
- const params = [...Object.values(data), ...Object.values(where)];
230
-
231
- const stmt = this.db.prepare(sql);
232
- stmt.run(params);
233
-
234
- const updatedRecord = await this.queryOne<T>(
235
- `SELECT * FROM ${table} WHERE ${whereClause}`,
236
- Object.values(where)
237
- );
238
-
239
- return updatedRecord!;
240
- }
241
-
242
- async delete(table: string, where: Record<string, any>): Promise<number> {
243
- const whereClause = Object.keys(where)
244
- .map(key => `${key} = ?`)
245
- .join(' AND ');
246
- const sql = `DELETE FROM ${table} WHERE ${whereClause}`;
247
-
248
- const stmt = this.db.prepare(sql);
249
- const info = stmt.run(Object.values(where));
250
- return info.changes;
251
- }
252
-
253
- async commit(): Promise<void> {
254
- // SQLite transactions are handled automatically by better-sqlite3
255
- // This is just for interface compatibility
256
- }
257
-
258
- async rollback(): Promise<void> {
259
- // SQLite transactions are handled automatically by better-sqlite3
260
- // This is just for interface compatibility
261
- throw new Error('Transaction rollback');
262
- }
263
- }
@@ -1,3 +0,0 @@
1
- // Database Module
2
- export * from './adapters/index.js';
3
- export * from '../../types/database.js';
@@ -1,231 +0,0 @@
1
- // Moro Framework Documentation System
2
- // Automatic API documentation generation from intelligent routes and Validation schemas
3
-
4
- import { CompiledRoute } from '../routing/index.js';
5
- import { IntelligentRoutingManager } from '../routing/app-integration.js';
6
- import {
7
- OpenAPIGenerator,
8
- generateOpenAPIFromRoutes,
9
- GenerationOptions,
10
- OpenAPISpec,
11
- defaultSecuritySchemes,
12
- } from './openapi-generator.js';
13
- import { SwaggerUIMiddleware, SwaggerUIOptions, createDocsMiddleware } from './swagger-ui.js';
14
- import { createFrameworkLogger } from '../logger/index.js';
15
-
16
- const logger = createFrameworkLogger('DocumentationSystem');
17
-
18
- // Documentation configuration
19
- export interface DocsConfig {
20
- title: string;
21
- version: string;
22
- description?: string;
23
- basePath?: string;
24
- servers?: Array<{ url: string; description?: string }>;
25
- contact?: {
26
- name?: string;
27
- url?: string;
28
- email?: string;
29
- };
30
- license?: {
31
- name: string;
32
- url?: string;
33
- };
34
- swaggerUI?: SwaggerUIOptions;
35
- includeExamples?: boolean;
36
- includeSchemas?: boolean;
37
- enableAuth?: boolean;
38
- }
39
-
40
- // Main documentation system class
41
- export class DocumentationSystem {
42
- private generator: OpenAPIGenerator;
43
- private swaggerUI: SwaggerUIMiddleware;
44
- private config: DocsConfig;
45
-
46
- constructor(config: DocsConfig) {
47
- this.config = {
48
- basePath: '/docs',
49
- includeExamples: true,
50
- includeSchemas: true,
51
- enableAuth: true,
52
- ...config,
53
- };
54
-
55
- // Create OpenAPI generator
56
- const generationOptions: GenerationOptions = {
57
- info: {
58
- title: this.config.title,
59
- version: this.config.version,
60
- description: this.config.description,
61
- contact: this.config.contact,
62
- license: this.config.license,
63
- },
64
- servers: this.config.servers,
65
- includeExamples: this.config.includeExamples,
66
- includeSchemas: this.config.includeSchemas,
67
- securitySchemes: this.config.enableAuth ? defaultSecuritySchemes : undefined,
68
- };
69
-
70
- this.generator = new OpenAPIGenerator(generationOptions);
71
-
72
- // Initialize with empty spec
73
- const initialSpec = this.generator.generate();
74
- this.swaggerUI = new SwaggerUIMiddleware(initialSpec, this.config.swaggerUI);
75
-
76
- logger.info('Documentation system initialized', 'Initialization', {
77
- title: this.config.title,
78
- basePath: this.config.basePath,
79
- includeExamples: this.config.includeExamples,
80
- });
81
- }
82
-
83
- // Generate documentation from intelligent routing manager
84
- generateFromRoutes(routes: CompiledRoute[]): OpenAPISpec {
85
- this.generator.addRoutes(routes);
86
- const spec = this.generator.generate();
87
-
88
- // Update Swagger UI with new spec
89
- this.swaggerUI.updateSpec(spec);
90
-
91
- logger.info('Documentation generated from routes', 'Generation', {
92
- routeCount: routes.length,
93
- pathCount: Object.keys(spec.paths).length,
94
- });
95
-
96
- return spec;
97
- }
98
-
99
- // Create middleware that serves the documentation
100
- createMiddleware() {
101
- return this.swaggerUI.createMiddleware(this.config.basePath);
102
- }
103
-
104
- // Generate OpenAPI spec as JSON
105
- getOpenAPIJSON(): string {
106
- return this.generator.generateJSON();
107
- }
108
-
109
- // Generate OpenAPI spec as YAML
110
- getOpenAPIYAML(): string {
111
- return this.generator.generateYAML();
112
- }
113
-
114
- // Get the current OpenAPI spec
115
- getSpec(): OpenAPISpec {
116
- return this.generator.generate();
117
- }
118
-
119
- // Update configuration
120
- updateConfig(newConfig: Partial<DocsConfig>): void {
121
- this.config = { ...this.config, ...newConfig };
122
- logger.debug('Documentation configuration updated', 'ConfigUpdate', {
123
- title: this.config.title,
124
- basePath: this.config.basePath,
125
- });
126
- }
127
- }
128
-
129
- // App integration mixin for documentation
130
- export interface AppWithDocs {
131
- // Enable automatic API documentation
132
- enableDocs(config: DocsConfig): void;
133
-
134
- // Get the current OpenAPI specification
135
- getOpenAPISpec(): OpenAPISpec;
136
-
137
- // Get documentation as JSON
138
- getDocsJSON(): string;
139
-
140
- // Get documentation as YAML
141
- getDocsYAML(): string;
142
- }
143
-
144
- // Documentation integration for apps
145
- export class AppDocumentationManager {
146
- private docSystem?: DocumentationSystem;
147
- private routingManager?: IntelligentRoutingManager;
148
-
149
- // Initialize documentation system
150
- enableDocs(config: DocsConfig, routingManager: IntelligentRoutingManager): void {
151
- this.routingManager = routingManager;
152
- this.docSystem = new DocumentationSystem(config);
153
-
154
- // Generate docs from current routes
155
- const routes = routingManager.getIntelligentRoutes();
156
- this.docSystem.generateFromRoutes(routes);
157
-
158
- logger.info('Documentation enabled for app', 'AppIntegration', {
159
- title: config.title,
160
- routeCount: routes.length,
161
- basePath: config.basePath,
162
- });
163
- }
164
-
165
- // Get documentation middleware
166
- getDocsMiddleware() {
167
- if (!this.docSystem) {
168
- throw new Error('Documentation not enabled. Call enableDocs() first.');
169
- }
170
- return this.docSystem.createMiddleware();
171
- }
172
-
173
- // Refresh documentation (useful after adding new routes)
174
- refreshDocs(): void {
175
- if (!this.docSystem || !this.routingManager) {
176
- throw new Error('Documentation not enabled. Call enableDocs() first.');
177
- }
178
-
179
- const routes = this.routingManager.getIntelligentRoutes();
180
- this.docSystem.generateFromRoutes(routes);
181
-
182
- logger.debug('Documentation refreshed', 'Refresh', {
183
- routeCount: routes.length,
184
- });
185
- }
186
-
187
- // Get current OpenAPI spec
188
- getOpenAPISpec(): OpenAPISpec {
189
- if (!this.docSystem) {
190
- throw new Error('Documentation not enabled. Call enableDocs() first.');
191
- }
192
- return this.docSystem.getSpec();
193
- }
194
-
195
- // Get docs as JSON
196
- getDocsJSON(): string {
197
- if (!this.docSystem) {
198
- throw new Error('Documentation not enabled. Call enableDocs() first.');
199
- }
200
- return this.docSystem.getOpenAPIJSON();
201
- }
202
-
203
- // Get docs as YAML
204
- getDocsYAML(): string {
205
- if (!this.docSystem) {
206
- throw new Error('Documentation not enabled. Call enableDocs() first.');
207
- }
208
- return this.docSystem.getOpenAPIYAML();
209
- }
210
- }
211
-
212
- // Convenience functions
213
- export function createDocumentationSystem(config: DocsConfig): DocumentationSystem {
214
- return new DocumentationSystem(config);
215
- }
216
-
217
- export function generateDocsFromIntelligentRoutes(
218
- routes: CompiledRoute[],
219
- config: DocsConfig
220
- ): { spec: OpenAPISpec; middleware: any } {
221
- const docSystem = new DocumentationSystem(config);
222
- const spec = docSystem.generateFromRoutes(routes);
223
- const middleware = docSystem.createMiddleware();
224
-
225
- return { spec, middleware };
226
- }
227
-
228
- // Export all types and functions
229
- export * from './openapi-generator.js';
230
- export * from './swagger-ui.js';
231
- export * from './zod-to-openapi.js';