@morojs/moro 1.6.1 → 1.6.2

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 (404) hide show
  1. package/README.md +74 -256
  2. package/dist/core/auth/morojs-adapter.js +20 -20
  3. package/dist/core/auth/morojs-adapter.js.map +1 -1
  4. package/dist/core/config/config-manager.d.ts +44 -0
  5. package/dist/core/config/config-manager.js +104 -0
  6. package/dist/core/config/config-manager.js.map +1 -0
  7. package/dist/core/config/config-sources.d.ts +21 -0
  8. package/dist/core/config/config-sources.js +503 -0
  9. package/dist/core/config/config-sources.js.map +1 -0
  10. package/dist/core/config/config-validator.d.ts +21 -0
  11. package/dist/core/config/config-validator.js +791 -0
  12. package/dist/core/config/config-validator.js.map +1 -0
  13. package/dist/core/config/file-loader.d.ts +1 -6
  14. package/dist/core/config/file-loader.js +21 -249
  15. package/dist/core/config/file-loader.js.map +1 -1
  16. package/dist/core/config/index.d.ts +41 -12
  17. package/dist/core/config/index.js +65 -54
  18. package/dist/core/config/index.js.map +1 -1
  19. package/dist/core/config/schema.d.ts +2 -2
  20. package/dist/core/config/schema.js +55 -44
  21. package/dist/core/config/schema.js.map +1 -1
  22. package/dist/core/config/utils.d.ts +10 -3
  23. package/dist/core/config/utils.js +31 -58
  24. package/dist/core/config/utils.js.map +1 -1
  25. package/dist/core/database/adapters/drizzle.d.ts +1 -1
  26. package/dist/core/database/adapters/drizzle.js +18 -11
  27. package/dist/core/database/adapters/drizzle.js.map +1 -1
  28. package/dist/core/database/adapters/index.d.ts +7 -7
  29. package/dist/core/database/adapters/index.js +19 -29
  30. package/dist/core/database/adapters/index.js.map +1 -1
  31. package/dist/core/database/adapters/mongodb.d.ts +13 -1
  32. package/dist/core/database/adapters/mongodb.js +46 -10
  33. package/dist/core/database/adapters/mongodb.js.map +1 -1
  34. package/dist/core/database/adapters/mysql.d.ts +14 -1
  35. package/dist/core/database/adapters/mysql.js +19 -9
  36. package/dist/core/database/adapters/mysql.js.map +1 -1
  37. package/dist/core/database/adapters/postgresql.d.ts +12 -2
  38. package/dist/core/database/adapters/postgresql.js +19 -9
  39. package/dist/core/database/adapters/postgresql.js.map +1 -1
  40. package/dist/core/database/adapters/redis.d.ts +12 -1
  41. package/dist/core/database/adapters/redis.js +48 -13
  42. package/dist/core/database/adapters/redis.js.map +1 -1
  43. package/dist/core/database/adapters/sqlite.d.ts +3 -1
  44. package/dist/core/database/adapters/sqlite.js +19 -8
  45. package/dist/core/database/adapters/sqlite.js.map +1 -1
  46. package/dist/core/database/index.d.ts +2 -2
  47. package/dist/core/database/index.js +2 -18
  48. package/dist/core/database/index.js.map +1 -1
  49. package/dist/core/docs/index.d.ts +9 -9
  50. package/dist/core/docs/index.js +14 -35
  51. package/dist/core/docs/index.js.map +1 -1
  52. package/dist/core/docs/openapi-generator.d.ts +2 -2
  53. package/dist/core/docs/openapi-generator.js +11 -16
  54. package/dist/core/docs/openapi-generator.js.map +1 -1
  55. package/dist/core/docs/schema-to-openapi.d.ts +2 -2
  56. package/dist/core/docs/schema-to-openapi.js +5 -11
  57. package/dist/core/docs/schema-to-openapi.js.map +1 -1
  58. package/dist/core/docs/simple-docs.d.ts +1 -1
  59. package/dist/core/docs/simple-docs.js +4 -9
  60. package/dist/core/docs/simple-docs.js.map +1 -1
  61. package/dist/core/docs/swagger-ui.d.ts +2 -2
  62. package/dist/core/docs/swagger-ui.js +26 -29
  63. package/dist/core/docs/swagger-ui.js.map +1 -1
  64. package/dist/core/docs/zod-to-openapi.js +31 -28
  65. package/dist/core/docs/zod-to-openapi.js.map +1 -1
  66. package/dist/core/events/event-bus.d.ts +1 -1
  67. package/dist/core/events/event-bus.js +7 -11
  68. package/dist/core/events/event-bus.js.map +1 -1
  69. package/dist/core/events/index.d.ts +2 -2
  70. package/dist/core/events/index.js +1 -5
  71. package/dist/core/events/index.js.map +1 -1
  72. package/dist/core/framework.d.ts +20 -13
  73. package/dist/core/framework.js +285 -102
  74. package/dist/core/framework.js.map +1 -1
  75. package/dist/core/http/http-server.d.ts +59 -7
  76. package/dist/core/http/http-server.js +190 -176
  77. package/dist/core/http/http-server.js.map +1 -1
  78. package/dist/core/http/index.d.ts +4 -3
  79. package/dist/core/http/index.js +3 -8
  80. package/dist/core/http/index.js.map +1 -1
  81. package/dist/core/http/uws-http-server.d.ts +46 -0
  82. package/dist/core/http/uws-http-server.js +523 -0
  83. package/dist/core/http/uws-http-server.js.map +1 -0
  84. package/dist/core/logger/filters.d.ts +1 -1
  85. package/dist/core/logger/filters.js +20 -23
  86. package/dist/core/logger/filters.js.map +1 -1
  87. package/dist/core/logger/index.d.ts +3 -3
  88. package/dist/core/logger/index.js +2 -24
  89. package/dist/core/logger/index.js.map +1 -1
  90. package/dist/core/logger/logger.d.ts +30 -14
  91. package/dist/core/logger/logger.js +398 -223
  92. package/dist/core/logger/logger.js.map +1 -1
  93. package/dist/core/logger/outputs.d.ts +1 -1
  94. package/dist/core/logger/outputs.js +8 -17
  95. package/dist/core/logger/outputs.js.map +1 -1
  96. package/dist/core/middleware/built-in/adapters/cache/file.d.ts +1 -1
  97. package/dist/core/middleware/built-in/adapters/cache/file.js +10 -47
  98. package/dist/core/middleware/built-in/adapters/cache/file.js.map +1 -1
  99. package/dist/core/middleware/built-in/adapters/cache/index.d.ts +4 -4
  100. package/dist/core/middleware/built-in/adapters/cache/index.js +10 -17
  101. package/dist/core/middleware/built-in/adapters/cache/index.js.map +1 -1
  102. package/dist/core/middleware/built-in/adapters/cache/memory.d.ts +1 -1
  103. package/dist/core/middleware/built-in/adapters/cache/memory.js +3 -7
  104. package/dist/core/middleware/built-in/adapters/cache/memory.js.map +1 -1
  105. package/dist/core/middleware/built-in/adapters/cache/redis.d.ts +3 -1
  106. package/dist/core/middleware/built-in/adapters/cache/redis.js +11 -9
  107. package/dist/core/middleware/built-in/adapters/cache/redis.js.map +1 -1
  108. package/dist/core/middleware/built-in/adapters/cdn/azure.d.ts +1 -1
  109. package/dist/core/middleware/built-in/adapters/cdn/azure.js +3 -7
  110. package/dist/core/middleware/built-in/adapters/cdn/azure.js.map +1 -1
  111. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.d.ts +1 -1
  112. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js +3 -7
  113. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js.map +1 -1
  114. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.d.ts +3 -1
  115. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js +12 -10
  116. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js.map +1 -1
  117. package/dist/core/middleware/built-in/adapters/cdn/index.d.ts +4 -4
  118. package/dist/core/middleware/built-in/adapters/cdn/index.js +10 -17
  119. package/dist/core/middleware/built-in/adapters/cdn/index.js.map +1 -1
  120. package/dist/core/middleware/built-in/adapters/index.d.ts +4 -4
  121. package/dist/core/middleware/built-in/adapters/index.js +4 -23
  122. package/dist/core/middleware/built-in/adapters/index.js.map +1 -1
  123. package/dist/core/middleware/built-in/auth-helpers.js +11 -22
  124. package/dist/core/middleware/built-in/auth-helpers.js.map +1 -1
  125. package/dist/core/middleware/built-in/auth-providers.d.ts +1 -1
  126. package/dist/core/middleware/built-in/auth-providers.js +4 -9
  127. package/dist/core/middleware/built-in/auth-providers.js.map +1 -1
  128. package/dist/core/middleware/built-in/auth.d.ts +2 -2
  129. package/dist/core/middleware/built-in/auth.js +93 -26
  130. package/dist/core/middleware/built-in/auth.js.map +1 -1
  131. package/dist/core/middleware/built-in/cache.d.ts +2 -2
  132. package/dist/core/middleware/built-in/cache.js +11 -12
  133. package/dist/core/middleware/built-in/cache.js.map +1 -1
  134. package/dist/core/middleware/built-in/cdn.d.ts +2 -2
  135. package/dist/core/middleware/built-in/cdn.js +5 -9
  136. package/dist/core/middleware/built-in/cdn.js.map +1 -1
  137. package/dist/core/middleware/built-in/cookie.d.ts +1 -1
  138. package/dist/core/middleware/built-in/cookie.js +3 -7
  139. package/dist/core/middleware/built-in/cookie.js.map +1 -1
  140. package/dist/core/middleware/built-in/cors.d.ts +1 -1
  141. package/dist/core/middleware/built-in/cors.js +3 -7
  142. package/dist/core/middleware/built-in/cors.js.map +1 -1
  143. package/dist/core/middleware/built-in/csp.d.ts +1 -1
  144. package/dist/core/middleware/built-in/csp.js +5 -8
  145. package/dist/core/middleware/built-in/csp.js.map +1 -1
  146. package/dist/core/middleware/built-in/csrf.d.ts +1 -1
  147. package/dist/core/middleware/built-in/csrf.js +5 -8
  148. package/dist/core/middleware/built-in/csrf.js.map +1 -1
  149. package/dist/core/middleware/built-in/error-tracker.js +3 -7
  150. package/dist/core/middleware/built-in/error-tracker.js.map +1 -1
  151. package/dist/core/middleware/built-in/index.d.ts +28 -27
  152. package/dist/core/middleware/built-in/index.js +48 -78
  153. package/dist/core/middleware/built-in/index.js.map +1 -1
  154. package/dist/core/middleware/built-in/jwt-helpers.d.ts +118 -0
  155. package/dist/core/middleware/built-in/jwt-helpers.js +218 -0
  156. package/dist/core/middleware/built-in/jwt-helpers.js.map +1 -0
  157. package/dist/core/middleware/built-in/performance-monitor.js +3 -7
  158. package/dist/core/middleware/built-in/performance-monitor.js.map +1 -1
  159. package/dist/core/middleware/built-in/rate-limit.d.ts +1 -1
  160. package/dist/core/middleware/built-in/rate-limit.js +3 -7
  161. package/dist/core/middleware/built-in/rate-limit.js.map +1 -1
  162. package/dist/core/middleware/built-in/request-logger.js +5 -8
  163. package/dist/core/middleware/built-in/request-logger.js.map +1 -1
  164. package/dist/core/middleware/built-in/session.d.ts +2 -2
  165. package/dist/core/middleware/built-in/session.js +11 -15
  166. package/dist/core/middleware/built-in/session.js.map +1 -1
  167. package/dist/core/middleware/built-in/sse.d.ts +1 -1
  168. package/dist/core/middleware/built-in/sse.js +12 -14
  169. package/dist/core/middleware/built-in/sse.js.map +1 -1
  170. package/dist/core/middleware/built-in/validation.d.ts +1 -1
  171. package/dist/core/middleware/built-in/validation.js +3 -7
  172. package/dist/core/middleware/built-in/validation.js.map +1 -1
  173. package/dist/core/middleware/index.d.ts +4 -4
  174. package/dist/core/middleware/index.js +8 -28
  175. package/dist/core/middleware/index.js.map +1 -1
  176. package/dist/core/modules/auto-discovery.d.ts +19 -2
  177. package/dist/core/modules/auto-discovery.js +391 -74
  178. package/dist/core/modules/auto-discovery.js.map +1 -1
  179. package/dist/core/modules/index.d.ts +2 -2
  180. package/dist/core/modules/index.js +2 -9
  181. package/dist/core/modules/index.js.map +1 -1
  182. package/dist/core/modules/modules.d.ts +3 -3
  183. package/dist/core/modules/modules.js +23 -54
  184. package/dist/core/modules/modules.js.map +1 -1
  185. package/dist/core/networking/adapters/index.d.ts +4 -3
  186. package/dist/core/networking/adapters/index.js +3 -7
  187. package/dist/core/networking/adapters/index.js.map +1 -1
  188. package/dist/core/networking/adapters/socketio-adapter.d.ts +1 -1
  189. package/dist/core/networking/adapters/socketio-adapter.js +5 -40
  190. package/dist/core/networking/adapters/socketio-adapter.js.map +1 -1
  191. package/dist/core/networking/adapters/uws-adapter.d.ts +44 -0
  192. package/dist/core/networking/adapters/uws-adapter.js +513 -0
  193. package/dist/core/networking/adapters/uws-adapter.js.map +1 -0
  194. package/dist/core/networking/adapters/ws-adapter.d.ts +2 -2
  195. package/dist/core/networking/adapters/ws-adapter.js +8 -43
  196. package/dist/core/networking/adapters/ws-adapter.js.map +1 -1
  197. package/dist/core/networking/index.d.ts +3 -2
  198. package/dist/core/networking/index.js +2 -7
  199. package/dist/core/networking/index.js.map +1 -1
  200. package/dist/core/networking/service-discovery.js +8 -12
  201. package/dist/core/networking/service-discovery.js.map +1 -1
  202. package/dist/core/networking/websocket-adapter.js +1 -2
  203. package/dist/core/networking/websocket-adapter.js.map +1 -1
  204. package/dist/core/networking/websocket-manager.d.ts +3 -3
  205. package/dist/core/networking/websocket-manager.js +9 -11
  206. package/dist/core/networking/websocket-manager.js.map +1 -1
  207. package/dist/core/pooling/object-pool-manager.d.ts +140 -0
  208. package/dist/core/pooling/object-pool-manager.js +502 -0
  209. package/dist/core/pooling/object-pool-manager.js.map +1 -0
  210. package/dist/core/routing/app-integration.d.ts +14 -12
  211. package/dist/core/routing/app-integration.js +49 -85
  212. package/dist/core/routing/app-integration.js.map +1 -1
  213. package/dist/core/routing/index.d.ts +17 -11
  214. package/dist/core/routing/index.js +48 -237
  215. package/dist/core/routing/index.js.map +1 -1
  216. package/dist/core/routing/path-matcher.d.ts +67 -0
  217. package/dist/core/routing/path-matcher.js +182 -0
  218. package/dist/core/routing/path-matcher.js.map +1 -0
  219. package/dist/core/routing/router.d.ts +38 -0
  220. package/dist/core/routing/router.js +68 -0
  221. package/dist/core/routing/router.js.map +1 -0
  222. package/dist/core/routing/unified-router.d.ts +148 -0
  223. package/dist/core/routing/unified-router.js +684 -0
  224. package/dist/core/routing/unified-router.js.map +1 -0
  225. package/dist/core/runtime/aws-lambda-adapter.d.ts +3 -3
  226. package/dist/core/runtime/aws-lambda-adapter.js +2 -6
  227. package/dist/core/runtime/aws-lambda-adapter.js.map +1 -1
  228. package/dist/core/runtime/base-adapter.d.ts +2 -2
  229. package/dist/core/runtime/base-adapter.js +3 -7
  230. package/dist/core/runtime/base-adapter.js.map +1 -1
  231. package/dist/core/runtime/cloudflare-workers-adapter.d.ts +3 -3
  232. package/dist/core/runtime/cloudflare-workers-adapter.js +2 -6
  233. package/dist/core/runtime/cloudflare-workers-adapter.js.map +1 -1
  234. package/dist/core/runtime/index.d.ts +12 -12
  235. package/dist/core/runtime/index.js +22 -35
  236. package/dist/core/runtime/index.js.map +1 -1
  237. package/dist/core/runtime/node-adapter.d.ts +4 -4
  238. package/dist/core/runtime/node-adapter.js +18 -49
  239. package/dist/core/runtime/node-adapter.js.map +1 -1
  240. package/dist/core/runtime/vercel-edge-adapter.d.ts +3 -3
  241. package/dist/core/runtime/vercel-edge-adapter.js +2 -6
  242. package/dist/core/runtime/vercel-edge-adapter.js.map +1 -1
  243. package/dist/core/utilities/circuit-breaker.js +1 -5
  244. package/dist/core/utilities/circuit-breaker.js.map +1 -1
  245. package/dist/core/utilities/container.js +12 -22
  246. package/dist/core/utilities/container.js.map +1 -1
  247. package/dist/core/utilities/hooks.d.ts +2 -2
  248. package/dist/core/utilities/hooks.js +7 -12
  249. package/dist/core/utilities/hooks.js.map +1 -1
  250. package/dist/core/utilities/index.d.ts +5 -4
  251. package/dist/core/utilities/index.js +5 -19
  252. package/dist/core/utilities/index.js.map +1 -1
  253. package/dist/core/utilities/package-utils.d.ts +38 -0
  254. package/dist/core/utilities/package-utils.js +57 -0
  255. package/dist/core/utilities/package-utils.js.map +1 -0
  256. package/dist/core/validation/adapters.d.ts +1 -1
  257. package/dist/core/validation/adapters.js +15 -26
  258. package/dist/core/validation/adapters.js.map +1 -1
  259. package/dist/core/validation/index.d.ts +6 -4
  260. package/dist/core/validation/index.js +57 -28
  261. package/dist/core/validation/index.js.map +1 -1
  262. package/dist/core/validation/schema-interface.js +3 -9
  263. package/dist/core/validation/schema-interface.js.map +1 -1
  264. package/dist/index.d.ts +51 -52
  265. package/dist/index.js +23 -132
  266. package/dist/index.js.map +1 -1
  267. package/dist/moro.d.ts +70 -16
  268. package/dist/moro.js +658 -271
  269. package/dist/moro.js.map +1 -1
  270. package/dist/types/auth.js +3 -9
  271. package/dist/types/auth.js.map +1 -1
  272. package/dist/types/cache.js +1 -2
  273. package/dist/types/cdn.js +1 -2
  274. package/dist/types/config.d.ts +73 -2
  275. package/dist/types/config.js +1 -2
  276. package/dist/types/config.js.map +1 -1
  277. package/dist/types/core.d.ts +36 -42
  278. package/dist/types/core.js +1 -2
  279. package/dist/types/database.js +1 -2
  280. package/dist/types/discovery.js +1 -2
  281. package/dist/types/events.js +1 -2
  282. package/dist/types/hooks.d.ts +1 -1
  283. package/dist/types/hooks.js +1 -2
  284. package/dist/types/http.d.ts +16 -1
  285. package/dist/types/http.js +1 -2
  286. package/dist/types/logger.d.ts +7 -0
  287. package/dist/types/logger.js +1 -2
  288. package/dist/types/module.d.ts +11 -0
  289. package/dist/types/module.js +1 -2
  290. package/dist/types/runtime.d.ts +1 -1
  291. package/dist/types/runtime.js +1 -2
  292. package/dist/types/session.js +1 -2
  293. package/jest.config.mjs +41 -0
  294. package/package.json +19 -52
  295. package/src/core/auth/morojs-adapter.ts +18 -13
  296. package/src/core/config/config-manager.ts +133 -0
  297. package/src/core/config/config-sources.ts +600 -0
  298. package/src/core/config/config-validator.ts +1116 -0
  299. package/src/core/config/file-loader.ts +16 -273
  300. package/src/core/config/index.ts +83 -34
  301. package/src/core/config/schema.ts +47 -33
  302. package/src/core/config/utils.ts +24 -31
  303. package/src/core/database/README.md +26 -16
  304. package/src/core/database/adapters/drizzle.ts +18 -6
  305. package/src/core/database/adapters/index.ts +13 -13
  306. package/src/core/database/adapters/mongodb.ts +53 -5
  307. package/src/core/database/adapters/mysql.ts +32 -4
  308. package/src/core/database/adapters/postgresql.ts +30 -5
  309. package/src/core/database/adapters/redis.ts +61 -8
  310. package/src/core/database/adapters/sqlite.ts +19 -3
  311. package/src/core/database/index.ts +2 -2
  312. package/src/core/docs/index.ts +8 -8
  313. package/src/core/docs/openapi-generator.ts +4 -4
  314. package/src/core/docs/schema-to-openapi.ts +3 -6
  315. package/src/core/docs/simple-docs.ts +2 -2
  316. package/src/core/docs/swagger-ui.ts +19 -16
  317. package/src/core/docs/zod-to-openapi.ts +34 -34
  318. package/src/core/events/event-bus.ts +3 -3
  319. package/src/core/events/index.ts +2 -2
  320. package/src/core/framework.ts +320 -71
  321. package/src/core/http/http-server.ts +203 -143
  322. package/src/core/http/index.ts +4 -3
  323. package/src/core/http/uws-http-server.ts +591 -0
  324. package/src/core/logger/filters.ts +13 -5
  325. package/src/core/logger/index.ts +4 -3
  326. package/src/core/logger/logger.ts +435 -216
  327. package/src/core/logger/outputs.ts +1 -3
  328. package/src/core/middleware/built-in/adapters/cache/file.ts +3 -3
  329. package/src/core/middleware/built-in/adapters/cache/index.ts +7 -7
  330. package/src/core/middleware/built-in/adapters/cache/memory.ts +2 -2
  331. package/src/core/middleware/built-in/adapters/cache/redis.ts +18 -4
  332. package/src/core/middleware/built-in/adapters/cdn/azure.ts +2 -2
  333. package/src/core/middleware/built-in/adapters/cdn/cloudflare.ts +2 -2
  334. package/src/core/middleware/built-in/adapters/cdn/cloudfront.ts +16 -5
  335. package/src/core/middleware/built-in/adapters/cdn/index.ts +7 -7
  336. package/src/core/middleware/built-in/adapters/index.ts +4 -4
  337. package/src/core/middleware/built-in/auth-helpers.ts +1 -1
  338. package/src/core/middleware/built-in/auth-providers.ts +1 -1
  339. package/src/core/middleware/built-in/auth.ts +102 -21
  340. package/src/core/middleware/built-in/cache.ts +8 -6
  341. package/src/core/middleware/built-in/cdn.ts +4 -4
  342. package/src/core/middleware/built-in/cookie.ts +2 -2
  343. package/src/core/middleware/built-in/cors.ts +2 -2
  344. package/src/core/middleware/built-in/csp.ts +3 -3
  345. package/src/core/middleware/built-in/csrf.ts +3 -3
  346. package/src/core/middleware/built-in/error-tracker.ts +1 -1
  347. package/src/core/middleware/built-in/index.ts +38 -30
  348. package/src/core/middleware/built-in/jwt-helpers.ts +243 -0
  349. package/src/core/middleware/built-in/performance-monitor.ts +1 -1
  350. package/src/core/middleware/built-in/rate-limit.ts +2 -2
  351. package/src/core/middleware/built-in/request-logger.ts +3 -1
  352. package/src/core/middleware/built-in/session.ts +7 -8
  353. package/src/core/middleware/built-in/sse.ts +11 -9
  354. package/src/core/middleware/built-in/validation.ts +2 -2
  355. package/src/core/middleware/index.ts +6 -6
  356. package/src/core/modules/auto-discovery.ts +478 -15
  357. package/src/core/modules/index.ts +2 -2
  358. package/src/core/modules/modules.ts +23 -12
  359. package/src/core/networking/adapters/index.ts +4 -3
  360. package/src/core/networking/adapters/socketio-adapter.ts +5 -3
  361. package/src/core/networking/adapters/uws-adapter.ts +619 -0
  362. package/src/core/networking/adapters/ws-adapter.ts +8 -9
  363. package/src/core/networking/index.ts +3 -2
  364. package/src/core/networking/service-discovery.ts +6 -7
  365. package/src/core/networking/websocket-manager.ts +7 -7
  366. package/src/core/pooling/object-pool-manager.ts +630 -0
  367. package/src/core/routing/app-integration.ts +60 -112
  368. package/src/core/routing/index.ts +66 -293
  369. package/src/core/routing/path-matcher.ts +222 -0
  370. package/src/core/routing/router.ts +97 -0
  371. package/src/core/routing/unified-router.ts +870 -0
  372. package/src/core/runtime/aws-lambda-adapter.ts +3 -3
  373. package/src/core/runtime/base-adapter.ts +2 -2
  374. package/src/core/runtime/cloudflare-workers-adapter.ts +3 -3
  375. package/src/core/runtime/index.ts +13 -13
  376. package/src/core/runtime/node-adapter.ts +16 -10
  377. package/src/core/runtime/vercel-edge-adapter.ts +3 -3
  378. package/src/core/utilities/hooks.ts +3 -3
  379. package/src/core/utilities/index.ts +5 -4
  380. package/src/core/utilities/package-utils.ts +59 -0
  381. package/src/core/validation/adapters.ts +1 -1
  382. package/src/core/validation/index.ts +68 -16
  383. package/src/index.ts +73 -66
  384. package/src/moro.ts +784 -253
  385. package/src/types/config.ts +74 -2
  386. package/src/types/core.ts +49 -47
  387. package/src/types/hooks.ts +1 -1
  388. package/src/types/http.ts +23 -1
  389. package/src/types/logger.ts +9 -0
  390. package/src/types/module.ts +12 -0
  391. package/src/types/runtime.ts +1 -1
  392. package/tsconfig.json +4 -2
  393. package/dist/core/config/loader.d.ts +0 -7
  394. package/dist/core/config/loader.js +0 -269
  395. package/dist/core/config/loader.js.map +0 -1
  396. package/dist/core/config/validation.d.ts +0 -17
  397. package/dist/core/config/validation.js +0 -131
  398. package/dist/core/config/validation.js.map +0 -1
  399. package/dist/core/http/router.d.ts +0 -14
  400. package/dist/core/http/router.js +0 -109
  401. package/dist/core/http/router.js.map +0 -1
  402. package/src/core/config/loader.ts +0 -633
  403. package/src/core/config/validation.ts +0 -140
  404. package/src/core/http/router.ts +0 -141
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/core/config/loader.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- export declare class ConfigValidationError extends Error {
2
- field: string;
3
- value: unknown;
4
- constructor(field: string, value: unknown, message: string);
5
- }
6
- export declare function validatePort(value: unknown, field?: string): number;
7
- export declare function validateBoolean(value: unknown, field?: string): boolean;
8
- export declare function validateNumber(value: unknown, field?: string, options?: {
9
- min?: number;
10
- max?: number;
11
- }): number;
12
- export declare function validateString(value: unknown, field?: string): string;
13
- export declare function validateUrl(value: unknown, field?: string): string;
14
- export declare function validateEnum<T extends string>(value: unknown, validValues: readonly T[], field?: string): T;
15
- export declare function validateStringArray(value: unknown, field?: string): string[];
16
- export declare function validateOptional<T>(value: unknown, validator: (value: unknown, field: string) => T, field: string): T | undefined;
17
- export declare function coerceEnvValue(value: string): unknown;
@@ -1,131 +0,0 @@
1
- "use strict";
2
- // Configuration Validation Functions
3
- // Validation for config system with simple TypeScript functions
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.ConfigValidationError = void 0;
6
- exports.validatePort = validatePort;
7
- exports.validateBoolean = validateBoolean;
8
- exports.validateNumber = validateNumber;
9
- exports.validateString = validateString;
10
- exports.validateUrl = validateUrl;
11
- exports.validateEnum = validateEnum;
12
- exports.validateStringArray = validateStringArray;
13
- exports.validateOptional = validateOptional;
14
- exports.coerceEnvValue = coerceEnvValue;
15
- class ConfigValidationError extends Error {
16
- field;
17
- value;
18
- constructor(field, value, message) {
19
- super(`Configuration validation failed for '${field}': ${message}`);
20
- this.field = field;
21
- this.value = value;
22
- this.name = 'ConfigValidationError';
23
- }
24
- }
25
- exports.ConfigValidationError = ConfigValidationError;
26
- // Type-safe validation functions for configuration
27
- function validatePort(value, field = 'port') {
28
- const num = Number(value);
29
- if (isNaN(num) || num < 1 || num > 65535) {
30
- throw new ConfigValidationError(field, value, 'Must be a number between 1 and 65535');
31
- }
32
- return num;
33
- }
34
- function validateBoolean(value, field = 'boolean') {
35
- if (value === 'true' || value === true)
36
- return true;
37
- if (value === 'false' || value === false)
38
- return false;
39
- if (value === '1' || value === 1)
40
- return true;
41
- if (value === '0' || value === 0)
42
- return false;
43
- throw new ConfigValidationError(field, value, 'Must be a boolean (true/false) or numeric (1/0)');
44
- }
45
- function validateNumber(value, field = 'number', options = {}) {
46
- const num = Number(value);
47
- if (isNaN(num)) {
48
- throw new ConfigValidationError(field, value, 'Must be a valid number');
49
- }
50
- if (options.min !== undefined && num < options.min) {
51
- throw new ConfigValidationError(field, value, `Must be at least ${options.min}`);
52
- }
53
- if (options.max !== undefined && num > options.max) {
54
- throw new ConfigValidationError(field, value, `Must be at most ${options.max}`);
55
- }
56
- return num;
57
- }
58
- function validateString(value, field = 'string') {
59
- if (typeof value !== 'string') {
60
- throw new ConfigValidationError(field, value, 'Must be a string');
61
- }
62
- return value;
63
- }
64
- function validateUrl(value, field = 'url') {
65
- const str = validateString(value, field);
66
- try {
67
- new URL(str);
68
- return str;
69
- }
70
- catch {
71
- throw new ConfigValidationError(field, value, 'Must be a valid URL');
72
- }
73
- }
74
- function validateEnum(value, validValues, field = 'enum') {
75
- const str = validateString(value, field);
76
- if (!validValues.includes(str)) {
77
- throw new ConfigValidationError(field, value, `Must be one of: ${validValues.join(', ')}`);
78
- }
79
- return str;
80
- }
81
- function validateStringArray(value, field = 'string array') {
82
- if (!Array.isArray(value)) {
83
- // Try to parse comma-separated string
84
- if (typeof value === 'string') {
85
- return value
86
- .split(',')
87
- .map(s => s.trim())
88
- .filter(s => s.length > 0);
89
- }
90
- throw new ConfigValidationError(field, value, 'Must be an array or comma-separated string');
91
- }
92
- return value.map((item, index) => validateString(item, `${field}[${index}]`));
93
- }
94
- function validateOptional(value, validator, field) {
95
- if (value === undefined || value === null || value === '') {
96
- return undefined;
97
- }
98
- return validator(value, field);
99
- }
100
- // Coercion helpers for environment variables
101
- function coerceEnvValue(value) {
102
- // Handle common patterns in environment variables
103
- // Null/undefined
104
- if (value === '' || value === 'null' || value === 'undefined') {
105
- return undefined;
106
- }
107
- // Boolean
108
- if (value === 'true' || value === 'false') {
109
- return value === 'true';
110
- }
111
- // Number (but not if it starts with 0 - could be port, zip code, etc.)
112
- if (/^-?\d+(\.\d+)?$/.test(value) && !value.startsWith('0')) {
113
- const num = Number(value);
114
- if (!isNaN(num)) {
115
- return num;
116
- }
117
- }
118
- // JSON (for complex objects/arrays)
119
- if ((value.startsWith('{') && value.endsWith('}')) ||
120
- (value.startsWith('[') && value.endsWith(']'))) {
121
- try {
122
- return JSON.parse(value);
123
- }
124
- catch {
125
- // Not valid JSON, treat as string
126
- }
127
- }
128
- // Return as string for all other cases
129
- return value;
130
- }
131
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/core/config/validation.ts"],"names":[],"mappings":";AAAA,qCAAqC;AACrC,gEAAgE;;;AAchE,oCAMC;AAED,0CAMC;AAED,wCAgBC;AAED,wCAKC;AAED,kCAQC;AAED,oCAUC;AAED,kDAYC;AAED,4CASC;AAGD,wCAmCC;AAxID,MAAa,qBAAsB,SAAQ,KAAK;IAErC;IACA;IAFT,YACS,KAAa,EACb,KAAc,EACrB,OAAe;QAEf,KAAK,CAAC,wCAAwC,KAAK,MAAM,OAAO,EAAE,CAAC,CAAC;QAJ7D,UAAK,GAAL,KAAK,CAAQ;QACb,UAAK,GAAL,KAAK,CAAS;QAIrB,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AATD,sDASC;AAED,mDAAmD;AACnD,SAAgB,YAAY,CAAC,KAAc,EAAE,KAAK,GAAG,MAAM;IACzD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;QACzC,MAAM,IAAI,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,sCAAsC,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,eAAe,CAAC,KAAc,EAAE,KAAK,GAAG,SAAS;IAC/D,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,IAAI,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,iDAAiD,CAAC,CAAC;AACnG,CAAC;AAED,SAAgB,cAAc,CAC5B,KAAc,EACd,KAAK,GAAG,QAAQ,EAChB,UAA0C,EAAE;IAE5C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,wBAAwB,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACnD,MAAM,IAAI,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,oBAAoB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACnD,MAAM,IAAI,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,mBAAmB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,cAAc,CAAC,KAAc,EAAE,KAAK,GAAG,QAAQ;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,WAAW,CAAC,KAAc,EAAE,KAAK,GAAG,KAAK;IACvD,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,SAAgB,YAAY,CAC1B,KAAc,EACd,WAAyB,EACzB,KAAK,GAAG,MAAM;IAEd,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAQ,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,GAAQ,CAAC;AAClB,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAAc,EAAE,KAAK,GAAG,cAAc;IACxE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,sCAAsC;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK;iBACT,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,4CAA4C,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAgB,gBAAgB,CAC9B,KAAc,EACd,SAA+C,EAC/C,KAAa;IAEb,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,6CAA6C;AAC7C,SAAgB,cAAc,CAAC,KAAa;IAC1C,kDAAkD;IAElD,iBAAiB;IACjB,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC9D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,UAAU;IACV,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QAC1C,OAAO,KAAK,KAAK,MAAM,CAAC;IAC1B,CAAC;IAED,uEAAuE;IACvE,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAChB,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,IACE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC9C,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,14 +0,0 @@
1
- import { HttpRequest, HttpResponse, HttpHandler, Middleware, RouteDefinition } from '../../types/http';
2
- export declare class Router {
3
- private routes;
4
- private logger;
5
- get(path: string, ...handlers: (Middleware | HttpHandler)[]): void;
6
- post(path: string, ...handlers: (Middleware | HttpHandler)[]): void;
7
- put(path: string, ...handlers: (Middleware | HttpHandler)[]): void;
8
- delete(path: string, ...handlers: (Middleware | HttpHandler)[]): void;
9
- patch(path: string, ...handlers: (Middleware | HttpHandler)[]): void;
10
- private addRoute;
11
- private pathToRegex;
12
- handle(req: HttpRequest, res: HttpResponse, basePath?: string): Promise<boolean>;
13
- getRoutes(): RouteDefinition[];
14
- }
@@ -1,109 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Router = void 0;
4
- const logger_1 = require("../logger");
5
- class Router {
6
- routes = [];
7
- logger = (0, logger_1.createFrameworkLogger)('Router');
8
- get(path, ...handlers) {
9
- this.addRoute('GET', path, handlers);
10
- }
11
- post(path, ...handlers) {
12
- this.addRoute('POST', path, handlers);
13
- }
14
- put(path, ...handlers) {
15
- this.addRoute('PUT', path, handlers);
16
- }
17
- delete(path, ...handlers) {
18
- this.addRoute('DELETE', path, handlers);
19
- }
20
- patch(path, ...handlers) {
21
- this.addRoute('PATCH', path, handlers);
22
- }
23
- addRoute(method, path, handlers) {
24
- const { pattern, paramNames } = this.pathToRegex(path);
25
- const handler = handlers.pop();
26
- const middleware = handlers;
27
- this.routes.push({
28
- method,
29
- path,
30
- pattern,
31
- paramNames,
32
- handler,
33
- middleware,
34
- });
35
- }
36
- pathToRegex(path) {
37
- const paramNames = [];
38
- // Convert parameterized routes to regex
39
- const regexPattern = path
40
- .replace(/\/:([^/]+)/g, (match, paramName) => {
41
- paramNames.push(paramName);
42
- return '/([^/]+)';
43
- })
44
- .replace(/\//g, '\\/');
45
- return {
46
- pattern: new RegExp(`^${regexPattern}$`),
47
- paramNames,
48
- };
49
- }
50
- async handle(req, res, basePath = '') {
51
- let path = req.path.startsWith(basePath) ? req.path.substring(basePath.length) : req.path;
52
- // If removing basePath results in empty string, default to '/'
53
- if (path === '' || path === undefined) {
54
- path = '/';
55
- }
56
- this.logger.debug(`Router processing: originalPath="${req.path}", basePath="${basePath}", processedPath="${path}"`, 'Processing');
57
- const route = this.routes.find(r => r.method === req.method && r.pattern.test(path));
58
- this.logger.debug(`Found route: ${!!route}${route ? ` ${route.method} ${route.path}` : ' none'}`, 'RouteMatch');
59
- if (!route) {
60
- return false; // Route not found
61
- }
62
- // Extract path parameters
63
- const matches = path.match(route.pattern);
64
- if (matches) {
65
- req.params = {};
66
- route.paramNames.forEach((name, index) => {
67
- req.params[name] = matches[index + 1];
68
- });
69
- }
70
- // Execute middleware
71
- for (const mw of route.middleware) {
72
- await new Promise((resolve, reject) => {
73
- let nextCalled = false;
74
- const next = () => {
75
- if (nextCalled)
76
- return;
77
- nextCalled = true;
78
- resolve();
79
- };
80
- try {
81
- const result = mw(req, res, next);
82
- if (result instanceof Promise) {
83
- result
84
- .then(() => {
85
- if (!nextCalled)
86
- next();
87
- })
88
- .catch(reject);
89
- }
90
- }
91
- catch (error) {
92
- reject(error);
93
- }
94
- });
95
- }
96
- // Execute handler
97
- const result = await route.handler(req, res);
98
- // If handler returns data and response hasn't been sent, send it
99
- if (result !== undefined && result !== null && !res.headersSent) {
100
- res.json(result);
101
- }
102
- return true;
103
- }
104
- getRoutes() {
105
- return [...this.routes];
106
- }
107
- }
108
- exports.Router = Router;
109
- //# sourceMappingURL=router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/core/http/router.ts"],"names":[],"mappings":"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"}