@morojs/moro 1.5.16 → 1.6.0

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 (373) hide show
  1. package/README.md +70 -269
  2. package/dist/core/auth/morojs-adapter.js +5 -9
  3. package/dist/core/auth/morojs-adapter.js.map +1 -1
  4. package/dist/core/config/config-manager.d.ts +1 -1
  5. package/dist/core/config/config-manager.js +10 -20
  6. package/dist/core/config/config-manager.js.map +1 -1
  7. package/dist/core/config/config-sources.d.ts +2 -2
  8. package/dist/core/config/config-sources.js +17 -20
  9. package/dist/core/config/config-sources.js.map +1 -1
  10. package/dist/core/config/config-validator.d.ts +1 -1
  11. package/dist/core/config/config-validator.js +33 -10
  12. package/dist/core/config/config-validator.js.map +1 -1
  13. package/dist/core/config/file-loader.d.ts +1 -1
  14. package/dist/core/config/file-loader.js +19 -78
  15. package/dist/core/config/file-loader.js.map +1 -1
  16. package/dist/core/config/index.d.ts +8 -8
  17. package/dist/core/config/index.js +25 -51
  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 +11 -13
  21. package/dist/core/config/schema.js.map +1 -1
  22. package/dist/core/config/utils.d.ts +1 -1
  23. package/dist/core/config/utils.js +18 -32
  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 +3 -1
  32. package/dist/core/database/adapters/mongodb.js +23 -8
  33. package/dist/core/database/adapters/mongodb.js.map +1 -1
  34. package/dist/core/database/adapters/mysql.d.ts +3 -1
  35. package/dist/core/database/adapters/mysql.js +18 -9
  36. package/dist/core/database/adapters/mysql.js.map +1 -1
  37. package/dist/core/database/adapters/postgresql.d.ts +3 -1
  38. package/dist/core/database/adapters/postgresql.js +18 -8
  39. package/dist/core/database/adapters/postgresql.js.map +1 -1
  40. package/dist/core/database/adapters/redis.d.ts +3 -1
  41. package/dist/core/database/adapters/redis.js +34 -9
  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 +6 -10
  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 +16 -6
  73. package/dist/core/framework.js +182 -92
  74. package/dist/core/framework.js.map +1 -1
  75. package/dist/core/http/http-server.d.ts +1 -1
  76. package/dist/core/http/http-server.js +26 -209
  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/router.d.ts +1 -1
  82. package/dist/core/http/router.js +3 -7
  83. package/dist/core/http/router.js.map +1 -1
  84. package/dist/core/http/uws-http-server.d.ts +64 -0
  85. package/dist/core/http/uws-http-server.js +688 -0
  86. package/dist/core/http/uws-http-server.js.map +1 -0
  87. package/dist/core/logger/filters.d.ts +1 -1
  88. package/dist/core/logger/filters.js +8 -19
  89. package/dist/core/logger/filters.js.map +1 -1
  90. package/dist/core/logger/index.d.ts +3 -3
  91. package/dist/core/logger/index.js +2 -25
  92. package/dist/core/logger/index.js.map +1 -1
  93. package/dist/core/logger/logger.d.ts +1 -1
  94. package/dist/core/logger/logger.js +21 -23
  95. package/dist/core/logger/logger.js.map +1 -1
  96. package/dist/core/logger/outputs.d.ts +1 -1
  97. package/dist/core/logger/outputs.js +8 -15
  98. package/dist/core/logger/outputs.js.map +1 -1
  99. package/dist/core/middleware/built-in/adapters/cache/file.d.ts +1 -1
  100. package/dist/core/middleware/built-in/adapters/cache/file.js +10 -47
  101. package/dist/core/middleware/built-in/adapters/cache/file.js.map +1 -1
  102. package/dist/core/middleware/built-in/adapters/cache/index.d.ts +4 -4
  103. package/dist/core/middleware/built-in/adapters/cache/index.js +10 -17
  104. package/dist/core/middleware/built-in/adapters/cache/index.js.map +1 -1
  105. package/dist/core/middleware/built-in/adapters/cache/memory.d.ts +1 -1
  106. package/dist/core/middleware/built-in/adapters/cache/memory.js +3 -7
  107. package/dist/core/middleware/built-in/adapters/cache/memory.js.map +1 -1
  108. package/dist/core/middleware/built-in/adapters/cache/redis.d.ts +3 -1
  109. package/dist/core/middleware/built-in/adapters/cache/redis.js +11 -9
  110. package/dist/core/middleware/built-in/adapters/cache/redis.js.map +1 -1
  111. package/dist/core/middleware/built-in/adapters/cdn/azure.d.ts +1 -1
  112. package/dist/core/middleware/built-in/adapters/cdn/azure.js +3 -7
  113. package/dist/core/middleware/built-in/adapters/cdn/azure.js.map +1 -1
  114. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.d.ts +1 -1
  115. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js +3 -7
  116. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js.map +1 -1
  117. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.d.ts +3 -1
  118. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js +12 -10
  119. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js.map +1 -1
  120. package/dist/core/middleware/built-in/adapters/cdn/index.d.ts +4 -4
  121. package/dist/core/middleware/built-in/adapters/cdn/index.js +10 -17
  122. package/dist/core/middleware/built-in/adapters/cdn/index.js.map +1 -1
  123. package/dist/core/middleware/built-in/adapters/index.d.ts +4 -4
  124. package/dist/core/middleware/built-in/adapters/index.js +4 -23
  125. package/dist/core/middleware/built-in/adapters/index.js.map +1 -1
  126. package/dist/core/middleware/built-in/auth-helpers.js +11 -22
  127. package/dist/core/middleware/built-in/auth-helpers.js.map +1 -1
  128. package/dist/core/middleware/built-in/auth-providers.d.ts +1 -1
  129. package/dist/core/middleware/built-in/auth-providers.js +4 -9
  130. package/dist/core/middleware/built-in/auth-providers.js.map +1 -1
  131. package/dist/core/middleware/built-in/auth.d.ts +2 -2
  132. package/dist/core/middleware/built-in/auth.js +51 -44
  133. package/dist/core/middleware/built-in/auth.js.map +1 -1
  134. package/dist/core/middleware/built-in/cache.d.ts +2 -2
  135. package/dist/core/middleware/built-in/cache.js +8 -11
  136. package/dist/core/middleware/built-in/cache.js.map +1 -1
  137. package/dist/core/middleware/built-in/cdn.d.ts +2 -2
  138. package/dist/core/middleware/built-in/cdn.js +5 -9
  139. package/dist/core/middleware/built-in/cdn.js.map +1 -1
  140. package/dist/core/middleware/built-in/cookie.d.ts +1 -1
  141. package/dist/core/middleware/built-in/cookie.js +3 -7
  142. package/dist/core/middleware/built-in/cookie.js.map +1 -1
  143. package/dist/core/middleware/built-in/cors.d.ts +1 -1
  144. package/dist/core/middleware/built-in/cors.js +3 -7
  145. package/dist/core/middleware/built-in/cors.js.map +1 -1
  146. package/dist/core/middleware/built-in/csp.d.ts +1 -1
  147. package/dist/core/middleware/built-in/csp.js +5 -8
  148. package/dist/core/middleware/built-in/csp.js.map +1 -1
  149. package/dist/core/middleware/built-in/csrf.d.ts +1 -1
  150. package/dist/core/middleware/built-in/csrf.js +5 -8
  151. package/dist/core/middleware/built-in/csrf.js.map +1 -1
  152. package/dist/core/middleware/built-in/error-tracker.js +3 -7
  153. package/dist/core/middleware/built-in/error-tracker.js.map +1 -1
  154. package/dist/core/middleware/built-in/index.d.ts +28 -28
  155. package/dist/core/middleware/built-in/index.js +47 -82
  156. package/dist/core/middleware/built-in/index.js.map +1 -1
  157. package/dist/core/middleware/built-in/jwt-helpers.d.ts +27 -2
  158. package/dist/core/middleware/built-in/jwt-helpers.js +32 -10
  159. package/dist/core/middleware/built-in/jwt-helpers.js.map +1 -1
  160. package/dist/core/middleware/built-in/performance-monitor.js +3 -7
  161. package/dist/core/middleware/built-in/performance-monitor.js.map +1 -1
  162. package/dist/core/middleware/built-in/rate-limit.d.ts +1 -1
  163. package/dist/core/middleware/built-in/rate-limit.js +3 -7
  164. package/dist/core/middleware/built-in/rate-limit.js.map +1 -1
  165. package/dist/core/middleware/built-in/request-logger.js +3 -7
  166. package/dist/core/middleware/built-in/request-logger.js.map +1 -1
  167. package/dist/core/middleware/built-in/session.d.ts +2 -2
  168. package/dist/core/middleware/built-in/session.js +11 -15
  169. package/dist/core/middleware/built-in/session.js.map +1 -1
  170. package/dist/core/middleware/built-in/sse.d.ts +1 -1
  171. package/dist/core/middleware/built-in/sse.js +3 -7
  172. package/dist/core/middleware/built-in/sse.js.map +1 -1
  173. package/dist/core/middleware/built-in/validation.d.ts +1 -1
  174. package/dist/core/middleware/built-in/validation.js +3 -7
  175. package/dist/core/middleware/built-in/validation.js.map +1 -1
  176. package/dist/core/middleware/index.d.ts +4 -4
  177. package/dist/core/middleware/index.js +8 -28
  178. package/dist/core/middleware/index.js.map +1 -1
  179. package/dist/core/modules/auto-discovery.d.ts +3 -3
  180. package/dist/core/modules/auto-discovery.js +43 -81
  181. package/dist/core/modules/auto-discovery.js.map +1 -1
  182. package/dist/core/modules/index.d.ts +2 -2
  183. package/dist/core/modules/index.js +2 -9
  184. package/dist/core/modules/index.js.map +1 -1
  185. package/dist/core/modules/modules.d.ts +3 -3
  186. package/dist/core/modules/modules.js +11 -52
  187. package/dist/core/modules/modules.js.map +1 -1
  188. package/dist/core/networking/adapters/index.d.ts +4 -3
  189. package/dist/core/networking/adapters/index.js +3 -7
  190. package/dist/core/networking/adapters/index.js.map +1 -1
  191. package/dist/core/networking/adapters/socketio-adapter.d.ts +1 -1
  192. package/dist/core/networking/adapters/socketio-adapter.js +5 -40
  193. package/dist/core/networking/adapters/socketio-adapter.js.map +1 -1
  194. package/dist/core/networking/adapters/uws-adapter.d.ts +44 -0
  195. package/dist/core/networking/adapters/uws-adapter.js +513 -0
  196. package/dist/core/networking/adapters/uws-adapter.js.map +1 -0
  197. package/dist/core/networking/adapters/ws-adapter.d.ts +1 -1
  198. package/dist/core/networking/adapters/ws-adapter.js +7 -42
  199. package/dist/core/networking/adapters/ws-adapter.js.map +1 -1
  200. package/dist/core/networking/index.d.ts +3 -2
  201. package/dist/core/networking/index.js +2 -7
  202. package/dist/core/networking/index.js.map +1 -1
  203. package/dist/core/networking/service-discovery.js +3 -7
  204. package/dist/core/networking/service-discovery.js.map +1 -1
  205. package/dist/core/networking/websocket-adapter.js +1 -2
  206. package/dist/core/networking/websocket-adapter.js.map +1 -1
  207. package/dist/core/networking/websocket-manager.d.ts +3 -3
  208. package/dist/core/networking/websocket-manager.js +9 -11
  209. package/dist/core/networking/websocket-manager.js.map +1 -1
  210. package/dist/core/routing/app-integration.d.ts +2 -2
  211. package/dist/core/routing/app-integration.js +7 -12
  212. package/dist/core/routing/app-integration.js.map +1 -1
  213. package/dist/core/routing/index.d.ts +2 -2
  214. package/dist/core/routing/index.js +7 -14
  215. package/dist/core/routing/index.js.map +1 -1
  216. package/dist/core/runtime/aws-lambda-adapter.d.ts +3 -3
  217. package/dist/core/runtime/aws-lambda-adapter.js +2 -6
  218. package/dist/core/runtime/aws-lambda-adapter.js.map +1 -1
  219. package/dist/core/runtime/base-adapter.d.ts +2 -2
  220. package/dist/core/runtime/base-adapter.js +3 -7
  221. package/dist/core/runtime/base-adapter.js.map +1 -1
  222. package/dist/core/runtime/cloudflare-workers-adapter.d.ts +3 -3
  223. package/dist/core/runtime/cloudflare-workers-adapter.js +2 -6
  224. package/dist/core/runtime/cloudflare-workers-adapter.js.map +1 -1
  225. package/dist/core/runtime/index.d.ts +12 -12
  226. package/dist/core/runtime/index.js +22 -35
  227. package/dist/core/runtime/index.js.map +1 -1
  228. package/dist/core/runtime/node-adapter.d.ts +4 -4
  229. package/dist/core/runtime/node-adapter.js +6 -43
  230. package/dist/core/runtime/node-adapter.js.map +1 -1
  231. package/dist/core/runtime/vercel-edge-adapter.d.ts +3 -3
  232. package/dist/core/runtime/vercel-edge-adapter.js +2 -6
  233. package/dist/core/runtime/vercel-edge-adapter.js.map +1 -1
  234. package/dist/core/utilities/circuit-breaker.js +1 -5
  235. package/dist/core/utilities/circuit-breaker.js.map +1 -1
  236. package/dist/core/utilities/container.js +12 -22
  237. package/dist/core/utilities/container.js.map +1 -1
  238. package/dist/core/utilities/hooks.d.ts +2 -2
  239. package/dist/core/utilities/hooks.js +7 -12
  240. package/dist/core/utilities/hooks.js.map +1 -1
  241. package/dist/core/utilities/index.d.ts +5 -4
  242. package/dist/core/utilities/index.js +5 -19
  243. package/dist/core/utilities/index.js.map +1 -1
  244. package/dist/core/utilities/package-utils.d.ts +38 -0
  245. package/dist/core/utilities/package-utils.js +57 -0
  246. package/dist/core/utilities/package-utils.js.map +1 -0
  247. package/dist/core/validation/adapters.d.ts +1 -1
  248. package/dist/core/validation/adapters.js +15 -26
  249. package/dist/core/validation/adapters.js.map +1 -1
  250. package/dist/core/validation/index.d.ts +6 -4
  251. package/dist/core/validation/index.js +57 -28
  252. package/dist/core/validation/index.js.map +1 -1
  253. package/dist/core/validation/schema-interface.js +3 -9
  254. package/dist/core/validation/schema-interface.js.map +1 -1
  255. package/dist/index.d.ts +51 -52
  256. package/dist/index.js +23 -132
  257. package/dist/index.js.map +1 -1
  258. package/dist/moro.d.ts +30 -10
  259. package/dist/moro.js +262 -126
  260. package/dist/moro.js.map +1 -1
  261. package/dist/types/auth.js +3 -9
  262. package/dist/types/auth.js.map +1 -1
  263. package/dist/types/cache.js +1 -2
  264. package/dist/types/cdn.js +1 -2
  265. package/dist/types/config.d.ts +13 -1
  266. package/dist/types/config.js +1 -2
  267. package/dist/types/config.js.map +1 -1
  268. package/dist/types/core.d.ts +3 -3
  269. package/dist/types/core.js +1 -2
  270. package/dist/types/database.js +1 -2
  271. package/dist/types/discovery.js +1 -2
  272. package/dist/types/events.js +1 -2
  273. package/dist/types/hooks.d.ts +1 -1
  274. package/dist/types/hooks.js +1 -2
  275. package/dist/types/http.js +1 -2
  276. package/dist/types/logger.js +1 -2
  277. package/dist/types/module.js +1 -2
  278. package/dist/types/runtime.d.ts +1 -1
  279. package/dist/types/runtime.js +1 -2
  280. package/dist/types/session.js +1 -2
  281. package/jest.config.mjs +41 -0
  282. package/package.json +18 -51
  283. package/src/core/auth/morojs-adapter.ts +1 -1
  284. package/src/core/config/config-manager.ts +2 -2
  285. package/src/core/config/config-sources.ts +6 -6
  286. package/src/core/config/config-validator.ts +38 -3
  287. package/src/core/config/file-loader.ts +13 -40
  288. package/src/core/config/index.ts +15 -11
  289. package/src/core/config/schema.ts +3 -2
  290. package/src/core/config/utils.ts +3 -3
  291. package/src/core/database/adapters/drizzle.ts +18 -6
  292. package/src/core/database/adapters/index.ts +13 -13
  293. package/src/core/database/adapters/mongodb.ts +23 -3
  294. package/src/core/database/adapters/mysql.ts +18 -4
  295. package/src/core/database/adapters/postgresql.ts +18 -3
  296. package/src/core/database/adapters/redis.ts +34 -4
  297. package/src/core/database/adapters/sqlite.ts +19 -3
  298. package/src/core/database/index.ts +2 -2
  299. package/src/core/docs/index.ts +8 -8
  300. package/src/core/docs/openapi-generator.ts +4 -4
  301. package/src/core/docs/schema-to-openapi.ts +3 -6
  302. package/src/core/docs/simple-docs.ts +2 -2
  303. package/src/core/docs/swagger-ui.ts +19 -16
  304. package/src/core/docs/zod-to-openapi.ts +34 -34
  305. package/src/core/events/event-bus.ts +2 -2
  306. package/src/core/events/index.ts +2 -2
  307. package/src/core/framework.ts +190 -49
  308. package/src/core/http/http-server.ts +16 -159
  309. package/src/core/http/index.ts +4 -3
  310. package/src/core/http/router.ts +2 -2
  311. package/src/core/http/uws-http-server.ts +794 -0
  312. package/src/core/logger/filters.ts +1 -1
  313. package/src/core/logger/index.ts +3 -3
  314. package/src/core/logger/logger.ts +9 -1
  315. package/src/core/logger/outputs.ts +1 -1
  316. package/src/core/middleware/built-in/adapters/cache/file.ts +3 -3
  317. package/src/core/middleware/built-in/adapters/cache/index.ts +7 -7
  318. package/src/core/middleware/built-in/adapters/cache/memory.ts +2 -2
  319. package/src/core/middleware/built-in/adapters/cache/redis.ts +18 -4
  320. package/src/core/middleware/built-in/adapters/cdn/azure.ts +2 -2
  321. package/src/core/middleware/built-in/adapters/cdn/cloudflare.ts +2 -2
  322. package/src/core/middleware/built-in/adapters/cdn/cloudfront.ts +16 -5
  323. package/src/core/middleware/built-in/adapters/cdn/index.ts +7 -7
  324. package/src/core/middleware/built-in/adapters/index.ts +4 -4
  325. package/src/core/middleware/built-in/auth-helpers.ts +1 -1
  326. package/src/core/middleware/built-in/auth-providers.ts +1 -1
  327. package/src/core/middleware/built-in/auth.ts +64 -41
  328. package/src/core/middleware/built-in/cache.ts +5 -5
  329. package/src/core/middleware/built-in/cdn.ts +4 -4
  330. package/src/core/middleware/built-in/cookie.ts +2 -2
  331. package/src/core/middleware/built-in/cors.ts +2 -2
  332. package/src/core/middleware/built-in/csp.ts +3 -3
  333. package/src/core/middleware/built-in/csrf.ts +3 -3
  334. package/src/core/middleware/built-in/error-tracker.ts +1 -1
  335. package/src/core/middleware/built-in/index.ts +31 -31
  336. package/src/core/middleware/built-in/jwt-helpers.ts +32 -4
  337. package/src/core/middleware/built-in/performance-monitor.ts +1 -1
  338. package/src/core/middleware/built-in/rate-limit.ts +2 -2
  339. package/src/core/middleware/built-in/request-logger.ts +1 -1
  340. package/src/core/middleware/built-in/session.ts +7 -8
  341. package/src/core/middleware/built-in/sse.ts +2 -2
  342. package/src/core/middleware/built-in/validation.ts +2 -2
  343. package/src/core/middleware/index.ts +6 -6
  344. package/src/core/modules/auto-discovery.ts +4 -4
  345. package/src/core/modules/index.ts +2 -2
  346. package/src/core/modules/modules.ts +4 -4
  347. package/src/core/networking/adapters/index.ts +4 -3
  348. package/src/core/networking/adapters/socketio-adapter.ts +5 -3
  349. package/src/core/networking/adapters/uws-adapter.ts +619 -0
  350. package/src/core/networking/adapters/ws-adapter.ts +6 -4
  351. package/src/core/networking/index.ts +3 -2
  352. package/src/core/networking/service-discovery.ts +1 -1
  353. package/src/core/networking/websocket-manager.ts +7 -7
  354. package/src/core/routing/app-integration.ts +3 -3
  355. package/src/core/routing/index.ts +3 -3
  356. package/src/core/runtime/aws-lambda-adapter.ts +3 -3
  357. package/src/core/runtime/base-adapter.ts +2 -2
  358. package/src/core/runtime/cloudflare-workers-adapter.ts +3 -3
  359. package/src/core/runtime/index.ts +13 -13
  360. package/src/core/runtime/node-adapter.ts +4 -4
  361. package/src/core/runtime/vercel-edge-adapter.ts +3 -3
  362. package/src/core/utilities/hooks.ts +3 -3
  363. package/src/core/utilities/index.ts +5 -4
  364. package/src/core/utilities/package-utils.ts +59 -0
  365. package/src/core/validation/adapters.ts +1 -1
  366. package/src/core/validation/index.ts +68 -16
  367. package/src/index.ts +73 -66
  368. package/src/moro.ts +303 -75
  369. package/src/types/config.ts +13 -1
  370. package/src/types/core.ts +3 -3
  371. package/src/types/hooks.ts +1 -1
  372. package/src/types/runtime.ts +1 -1
  373. package/tsconfig.json +4 -2
@@ -8,9 +8,9 @@ import {
8
8
  createRoute,
9
9
  defineRoute,
10
10
  HttpMethod,
11
- } from './index';
12
- import { HttpRequest, HttpResponse } from '../http';
13
- import { createFrameworkLogger } from '../logger';
11
+ } from './index.js';
12
+ import { HttpRequest, HttpResponse } from '../http/index.js';
13
+ import { createFrameworkLogger } from '../logger/index.js';
14
14
 
15
15
  const logger = createFrameworkLogger('AppIntegration');
16
16
 
@@ -1,9 +1,9 @@
1
1
  // Intelligent Routing System for Moro Framework
2
2
  // Schema-first with automatic middleware ordering and chainable API
3
3
 
4
- import { ValidationSchema } from '../validation/schema-interface';
5
- import { HttpRequest, HttpResponse } from '../http';
6
- import { createFrameworkLogger } from '../logger';
4
+ import { ValidationSchema } from '../validation/schema-interface.js';
5
+ import { HttpRequest, HttpResponse } from '../http/index.js';
6
+ import { createFrameworkLogger } from '../logger/index.js';
7
7
 
8
8
  const logger = createFrameworkLogger('IntelligentRouting');
9
9
 
@@ -1,7 +1,7 @@
1
1
  // AWS Lambda runtime adapter
2
- import { BaseRuntimeAdapter } from './base-adapter';
3
- import { HttpRequest, HttpResponse } from '../../types/http';
4
- import { RuntimeHttpResponse } from '../../types/runtime';
2
+ import { BaseRuntimeAdapter } from './base-adapter.js';
3
+ import { HttpRequest, HttpResponse } from '../../types/http.js';
4
+ import { RuntimeHttpResponse } from '../../types/runtime.js';
5
5
 
6
6
  export interface LambdaEvent {
7
7
  httpMethod: string;
@@ -1,6 +1,6 @@
1
1
  // Base runtime adapter with common functionality
2
- import { RuntimeAdapter, RuntimeType, RuntimeHttpResponse } from '../../types/runtime';
3
- import { HttpRequest, HttpResponse } from '../../types/http';
2
+ import { RuntimeAdapter, RuntimeType, RuntimeHttpResponse } from '../../types/runtime.js';
3
+ import { HttpRequest, HttpResponse } from '../../types/http.js';
4
4
  import { randomBytes } from 'crypto';
5
5
 
6
6
  export abstract class BaseRuntimeAdapter implements RuntimeAdapter {
@@ -1,7 +1,7 @@
1
1
  // Cloudflare Workers runtime adapter
2
- import { BaseRuntimeAdapter } from './base-adapter';
3
- import { HttpRequest, HttpResponse } from '../../types/http';
4
- import { RuntimeHttpResponse } from '../../types/runtime';
2
+ import { BaseRuntimeAdapter } from './base-adapter.js';
3
+ import { HttpRequest, HttpResponse } from '../../types/http.js';
4
+ import { RuntimeHttpResponse } from '../../types/runtime.js';
5
5
 
6
6
  export interface WorkersEnv {
7
7
  [key: string]: any;
@@ -1,9 +1,9 @@
1
1
  // Runtime adapters export
2
- export { BaseRuntimeAdapter } from './base-adapter';
3
- export { NodeRuntimeAdapter } from './node-adapter';
4
- export { VercelEdgeAdapter } from './vercel-edge-adapter';
5
- export { AWSLambdaAdapter } from './aws-lambda-adapter';
6
- export { CloudflareWorkersAdapter } from './cloudflare-workers-adapter';
2
+ export { BaseRuntimeAdapter } from './base-adapter.js';
3
+ export { NodeRuntimeAdapter } from './node-adapter.js';
4
+ export { VercelEdgeAdapter } from './vercel-edge-adapter.js';
5
+ export { AWSLambdaAdapter } from './aws-lambda-adapter.js';
6
+ export { CloudflareWorkersAdapter } from './cloudflare-workers-adapter.js';
7
7
 
8
8
  // Re-export types
9
9
  export type {
@@ -12,18 +12,18 @@ export type {
12
12
  RuntimeConfig,
13
13
  RuntimeMoroOptions,
14
14
  RuntimeHttpResponse,
15
- } from '../../types/runtime';
15
+ } from '../../types/runtime.js';
16
16
 
17
17
  // Re-export specific runtime types
18
- export type { LambdaEvent, LambdaContext, LambdaResponse } from './aws-lambda-adapter';
19
- export type { WorkersEnv, WorkersContext } from './cloudflare-workers-adapter';
18
+ export type { LambdaEvent, LambdaContext, LambdaResponse } from './aws-lambda-adapter.js';
19
+ export type { WorkersEnv, WorkersContext } from './cloudflare-workers-adapter.js';
20
20
 
21
21
  // Runtime factory functions
22
- import { NodeRuntimeAdapter } from './node-adapter';
23
- import { VercelEdgeAdapter } from './vercel-edge-adapter';
24
- import { AWSLambdaAdapter } from './aws-lambda-adapter';
25
- import { CloudflareWorkersAdapter } from './cloudflare-workers-adapter';
26
- import { RuntimeType, RuntimeAdapter } from '../../types/runtime';
22
+ import { NodeRuntimeAdapter } from './node-adapter.js';
23
+ import { VercelEdgeAdapter } from './vercel-edge-adapter.js';
24
+ import { AWSLambdaAdapter } from './aws-lambda-adapter.js';
25
+ import { CloudflareWorkersAdapter } from './cloudflare-workers-adapter.js';
26
+ import { RuntimeType, RuntimeAdapter } from '../../types/runtime.js';
27
27
 
28
28
  export function createRuntimeAdapter(type: RuntimeType): RuntimeAdapter {
29
29
  switch (type) {
@@ -1,9 +1,9 @@
1
1
  // Node.js runtime adapter
2
2
  import { IncomingMessage, ServerResponse } from 'http';
3
- import { BaseRuntimeAdapter } from './base-adapter';
4
- import { HttpRequest, HttpResponse } from '../../types/http';
5
- import { RuntimeHttpResponse } from '../../types/runtime';
6
- import { MoroHttpServer } from '../http/http-server';
3
+ import { BaseRuntimeAdapter } from './base-adapter.js';
4
+ import { HttpRequest, HttpResponse } from '../../types/http.js';
5
+ import { RuntimeHttpResponse } from '../../types/runtime.js';
6
+ import { MoroHttpServer } from '../http/http-server.js';
7
7
 
8
8
  export class NodeRuntimeAdapter extends BaseRuntimeAdapter {
9
9
  readonly type = 'node' as const;
@@ -1,7 +1,7 @@
1
1
  // Vercel Edge runtime adapter
2
- import { BaseRuntimeAdapter } from './base-adapter';
3
- import { HttpRequest, HttpResponse } from '../../types/http';
4
- import { RuntimeHttpResponse } from '../../types/runtime';
2
+ import { BaseRuntimeAdapter } from './base-adapter.js';
3
+ import { HttpRequest, HttpResponse } from '../../types/http.js';
4
+ import { RuntimeHttpResponse } from '../../types/runtime.js';
5
5
 
6
6
  export class VercelEdgeAdapter extends BaseRuntimeAdapter {
7
7
  readonly type = 'vercel-edge' as const;
@@ -1,7 +1,7 @@
1
1
  // Hook System for Moro
2
2
  import { EventEmitter } from 'events';
3
- import { HookFunction, HookContext, MoroMiddleware } from '../../types/hooks';
4
- import { createFrameworkLogger } from '../logger';
3
+ import { HookFunction, HookContext, MoroMiddleware } from '../../types/hooks.js';
4
+ import { createFrameworkLogger } from '../logger/index.js';
5
5
 
6
6
  export const HOOK_EVENTS = {
7
7
  BEFORE_REQUEST: 'before:request',
@@ -139,4 +139,4 @@ export class HookManager extends EventEmitter {
139
139
  }
140
140
 
141
141
  // Built-in middleware - now organized in individual files
142
- export { simpleMiddleware as middleware } from '../middleware/index';
142
+ export { simpleMiddleware as middleware } from '../middleware/index.js';
@@ -8,9 +8,10 @@ export {
8
8
  withCaching,
9
9
  withRetry,
10
10
  withTimeout,
11
- } from './container';
12
- export { CircuitBreaker } from './circuit-breaker';
13
- export { HookManager, HOOK_EVENTS } from './hooks';
11
+ } from './container.js';
12
+ export { CircuitBreaker } from './circuit-breaker.js';
13
+ export { HookManager, HOOK_EVENTS } from './hooks.js';
14
+ export { isPackageAvailable, resolveUserPackage, createUserRequire } from './package-utils.js';
14
15
 
15
16
  // Re-export middleware from hooks
16
- export { middleware } from './hooks';
17
+ export { middleware } from './hooks.js';
@@ -0,0 +1,59 @@
1
+ // Package and Module Resolution Utilities
2
+ // ESM-compatible helpers for detecting and resolving optional dependencies
3
+
4
+ import { createRequire } from 'module';
5
+ import { join } from 'path';
6
+
7
+ /**
8
+ * Check if a package is available in the user's node_modules
9
+ * Uses ESM-compatible module resolution from the user's working directory
10
+ *
11
+ * @param packageName - The name of the package to check (e.g., 'socket.io', 'zod')
12
+ * @returns true if the package is installed, false otherwise
13
+ *
14
+ * @example
15
+ * if (isPackageAvailable('socket.io')) {
16
+ * // socket.io is installed, safe to import
17
+ * const { Server } = await import('socket.io');
18
+ * }
19
+ */
20
+ export function isPackageAvailable(packageName: string): boolean {
21
+ try {
22
+ const userRequire = createRequire(join(process.cwd(), 'package.json'));
23
+ userRequire.resolve(packageName);
24
+ return true;
25
+ } catch {
26
+ return false;
27
+ }
28
+ }
29
+
30
+ /**
31
+ * Resolve a package path from the user's node_modules
32
+ * Uses ESM-compatible module resolution from the user's working directory
33
+ *
34
+ * @param packageName - The name of the package to resolve
35
+ * @returns The resolved package path
36
+ * @throws Error if the package is not found
37
+ *
38
+ * @example
39
+ * const socketIOPath = resolveUserPackage('socket.io');
40
+ * const { Server } = await import(socketIOPath);
41
+ */
42
+ export function resolveUserPackage(packageName: string): string {
43
+ const userRequire = createRequire(join(process.cwd(), 'package.json'));
44
+ return userRequire.resolve(packageName);
45
+ }
46
+
47
+ /**
48
+ * Create a require function for the user's working directory
49
+ * Useful for resolving packages installed by the user, not in Moro's dependencies
50
+ *
51
+ * @returns A require function scoped to the user's working directory
52
+ *
53
+ * @example
54
+ * const userRequire = createUserRequire();
55
+ * const packagePath = userRequire.resolve('some-package');
56
+ */
57
+ export function createUserRequire() {
58
+ return createRequire(join(process.cwd(), 'package.json'));
59
+ }
@@ -1,7 +1,7 @@
1
1
  // Validation Library Adapters for Moro Framework
2
2
  // Makes Joi, Yup, and other libraries compatible with ValidationSchema interface
3
3
 
4
- import { ValidationSchema, ValidationError, normalizeValidationError } from './schema-interface';
4
+ import { ValidationSchema, ValidationError, normalizeValidationError } from './schema-interface.js';
5
5
 
6
6
  /**
7
7
  * Zod Compatibility Check
@@ -1,20 +1,78 @@
1
1
  // Universal Validation System for Moro Framework
2
2
  // Works with Zod, Joi, Yup, and any validation library via adapters
3
3
 
4
- import { HttpRequest, HttpResponse } from '../http';
5
- import { createFrameworkLogger } from '../logger';
4
+ import { HttpRequest, HttpResponse } from '../http/index.js';
5
+ import { createFrameworkLogger } from '../logger/index.js';
6
+ import { createUserRequire, isPackageAvailable } from '../utilities/package-utils.js';
6
7
  import {
7
8
  ValidationSchema,
8
- ValidationError,
9
9
  normalizeValidationError,
10
10
  InferSchemaType,
11
- } from './schema-interface';
12
-
13
- // Re-export zod if available (for backward compatibility)
14
- // The dynamic import is handled in the main index.ts
11
+ ValidationError,
12
+ } from './schema-interface.js';
15
13
 
16
14
  const logger = createFrameworkLogger('Validation');
17
15
 
16
+ // Convenience re-export of Zod (optional - only works if zod is installed)
17
+ // Lazy-loads Zod synchronously on first access
18
+ // If zod is not installed, z will throw a helpful error
19
+ let zodModule: any = null;
20
+ let zodLoadAttempted = false;
21
+
22
+ function loadZodSync() {
23
+ if (zodLoadAttempted) {
24
+ return zodModule;
25
+ }
26
+
27
+ zodLoadAttempted = true;
28
+
29
+ try {
30
+ if (!isPackageAvailable('zod')) {
31
+ zodModule = null;
32
+ return zodModule;
33
+ }
34
+
35
+ // Use synchronous require for immediate availability
36
+ const userRequire = createUserRequire();
37
+ zodModule = userRequire('zod');
38
+ } catch {
39
+ // Zod not installed or failed to load
40
+ zodModule = null;
41
+ }
42
+
43
+ return zodModule;
44
+ }
45
+
46
+ export const z = new Proxy({} as any, {
47
+ get(_target, prop) {
48
+ const zod = loadZodSync();
49
+
50
+ if (!zod) {
51
+ throw new Error(
52
+ 'Zod is not installed. Please install it with: npm install zod\n' +
53
+ 'Or use an alternative validation library (joi, yup, class-validator) via adapters.'
54
+ );
55
+ }
56
+
57
+ if (!zod.z) {
58
+ throw new Error(
59
+ 'Zod module loaded but z export not found. This may be a version compatibility issue.'
60
+ );
61
+ }
62
+
63
+ return zod.z[prop];
64
+ },
65
+ apply(_target, thisArg, args) {
66
+ const zod = loadZodSync();
67
+
68
+ if (!zod?.z) {
69
+ throw new Error('Zod is not installed. Please install it with: npm install zod');
70
+ }
71
+
72
+ return zod.z.apply(thisArg, args);
73
+ },
74
+ });
75
+
18
76
  // Universal validation configuration interface
19
77
  export interface ValidationConfig {
20
78
  body?: ValidationSchema;
@@ -195,12 +253,6 @@ export function combineSchemas(schemas: ValidationConfig): ValidationConfig {
195
253
  }
196
254
 
197
255
  // Re-export common validation tools
198
- export {
199
- ValidationSchema,
200
- ValidationError,
201
- normalizeValidationError,
202
- InferSchemaType,
203
- } from './schema-interface';
204
- export { joi, yup, fn as customValidator, classValidator } from './adapters';
205
-
206
- // Note: z is re-exported from main index.ts with dynamic import
256
+ export { ValidationError, normalizeValidationError } from './schema-interface.js';
257
+ export type { ValidationSchema, InferSchemaType } from './schema-interface.js';
258
+ export { joi, yup, fn as customValidator, classValidator } from './adapters.js';
package/src/index.ts CHANGED
@@ -7,9 +7,9 @@ export {
7
7
  createAppEdge,
8
8
  createAppLambda,
9
9
  createAppWorker,
10
- } from './moro';
10
+ } from './moro.js';
11
11
 
12
- export type { MoroOptions } from './core/framework';
12
+ export type { MoroOptions } from './core/framework.js';
13
13
 
14
14
  // Export auth types and middleware
15
15
  export type {
@@ -29,13 +29,13 @@ export type {
29
29
  EmailProvider,
30
30
  SignInOptions,
31
31
  SignOutOptions,
32
- } from './types/auth';
32
+ } from './types/auth.js';
33
33
 
34
34
  // Export native @auth/morojs adapter
35
- export { createAuthMiddleware, MoroJSAuth } from './core/auth/morojs-adapter';
35
+ export { createAuthMiddleware, MoroJSAuth } from './core/auth/morojs-adapter.js';
36
36
 
37
37
  // Export Auth.js middleware and providers
38
- export { auth, providers } from './core/middleware/built-in/auth';
38
+ export { auth, providers } from './core/middleware/built-in/auth.js';
39
39
 
40
40
  // Runtime system exports
41
41
  export type {
@@ -43,7 +43,7 @@ export type {
43
43
  RuntimeAdapter,
44
44
  RuntimeConfig,
45
45
  RuntimeHttpResponse,
46
- } from './types/runtime';
46
+ } from './types/runtime.js';
47
47
 
48
48
  export {
49
49
  NodeRuntimeAdapter,
@@ -55,23 +55,27 @@ export {
55
55
  createEdgeHandler,
56
56
  createLambdaHandler,
57
57
  createWorkerHandler,
58
- } from './core/runtime';
58
+ } from './core/runtime/index.js';
59
59
 
60
60
  // Runtime-specific types
61
- export type { LambdaEvent, LambdaContext, LambdaResponse } from './core/runtime/aws-lambda-adapter';
62
- export type { WorkersEnv, WorkersContext } from './core/runtime/cloudflare-workers-adapter';
61
+ export type {
62
+ LambdaEvent,
63
+ LambdaContext,
64
+ LambdaResponse,
65
+ } from './core/runtime/aws-lambda-adapter.js';
66
+ export type { WorkersEnv, WorkersContext } from './core/runtime/cloudflare-workers-adapter.js';
63
67
 
64
68
  // Core exports
65
- export { MoroHttpServer, middleware as httpMiddleware } from './core/http';
66
- export { builtInMiddleware, simpleMiddleware } from './core/middleware/built-in';
69
+ export {
70
+ MoroHttpServer,
71
+ UWebSocketsHttpServer,
72
+ middleware as httpMiddleware,
73
+ } from './core/http/index.js';
74
+ export { builtInMiddleware, simpleMiddleware } from './core/middleware/built-in/index.js';
67
75
 
68
76
  // Networking System
69
- export {
70
- WebSocketManager,
71
- ServiceRegistry,
72
- ServiceInfo,
73
- ServiceDiscoveryOptions,
74
- } from './core/networking';
77
+ export { WebSocketManager, ServiceRegistry } from './core/networking/index.js';
78
+ export type { ServiceInfo, ServiceDiscoveryOptions } from './core/networking/service-discovery.js';
75
79
 
76
80
  // Utilities and Container System
77
81
  export {
@@ -87,10 +91,13 @@ export {
87
91
  HookManager,
88
92
  HOOK_EVENTS,
89
93
  middleware,
90
- } from './core/utilities';
94
+ isPackageAvailable,
95
+ resolveUserPackage,
96
+ createUserRequire,
97
+ } from './core/utilities/index.js';
91
98
 
92
99
  // Event System
93
- export { MoroEventBus } from './core/events';
100
+ export { MoroEventBus } from './core/events/index.js';
94
101
  export type {
95
102
  EventContext,
96
103
  EventPayload,
@@ -100,38 +107,29 @@ export type {
100
107
  EventMetrics,
101
108
  SystemEvents,
102
109
  EventHandler,
103
- } from './types/events';
110
+ } from './types/events.js';
104
111
 
105
112
  // Logger System
106
- export { createFrameworkLogger, logger } from './core/logger';
113
+ export { createFrameworkLogger, logger } from './core/logger/index.js';
107
114
 
108
115
  // Universal Validation System
109
- export { validate, body, query, params, combineSchemas } from './core/validation';
110
-
111
- // Dynamic Zod export (optional dependency)
112
- let z: any;
113
- try {
114
- z = require('zod').z;
115
- } catch {
116
- // Zod not available - that's fine!
117
- z = undefined;
118
- }
119
- export { z };
116
+ export { validate, body, query, params, combineSchemas, z } from './core/validation/index.js';
117
+
120
118
  export type {
121
119
  ValidationConfig,
122
120
  ValidationResult,
123
121
  ValidationErrorDetail,
124
122
  ValidatedRequest,
125
- } from './core/validation';
123
+ } from './core/validation/index.js';
126
124
 
127
- // Universal Validation Interfaces and Adapters
125
+ // Validation Interfaces and Adapters
128
126
  export type {
129
127
  ValidationSchema,
130
128
  ValidationError,
131
129
  InferSchemaType,
132
- } from './core/validation/schema-interface';
133
- export { normalizeValidationError } from './core/validation/schema-interface';
134
- export { joi, yup, fn as customValidator, classValidator } from './core/validation/adapters';
130
+ } from './core/validation/schema-interface.js';
131
+ export { normalizeValidationError } from './core/validation/schema-interface.js';
132
+ export { joi, yup, fn as customValidator, classValidator } from './core/validation/adapters.js';
135
133
 
136
134
  // Module System
137
135
  export {
@@ -139,8 +137,8 @@ export {
139
137
  ModuleLoader,
140
138
  ModuleDiscovery,
141
139
  autoDiscoverModuleDirectories,
142
- } from './core/modules';
143
- export type { ModuleDefinition, ModuleRoute, ModuleSocket, ModuleConfig } from './types/module';
140
+ } from './core/modules/index.js';
141
+ export type { ModuleDefinition, ModuleRoute, ModuleSocket, ModuleConfig } from './types/module.js';
144
142
 
145
143
  // WebSocket Adapter System
146
144
  export type {
@@ -151,14 +149,18 @@ export type {
151
149
  WebSocketEmitter,
152
150
  WebSocketMiddleware,
153
151
  WebSocketEventHandler,
154
- } from './core/networking/websocket-adapter';
152
+ } from './core/networking/websocket-adapter.js';
155
153
 
156
154
  // Built-in WebSocket Adapters
157
- export { SocketIOAdapter, WSAdapter } from './core/networking/adapters';
155
+ export {
156
+ SocketIOAdapter,
157
+ WSAdapter,
158
+ UWebSocketsAdapter,
159
+ } from './core/networking/adapters/index.js';
158
160
 
159
161
  // Intelligent Routing System
160
- export { createRoute, defineRoute, EXECUTION_PHASES } from './core/routing';
161
- export { IntelligentRoutingManager, RouteRegistry } from './core/routing/app-integration';
162
+ export { createRoute, defineRoute, EXECUTION_PHASES } from './core/routing/index.js';
163
+ export { IntelligentRoutingManager, RouteRegistry } from './core/routing/app-integration.js';
162
164
  export type {
163
165
  RouteBuilder,
164
166
  RouteSchema,
@@ -169,7 +171,7 @@ export type {
169
171
  CacheConfig,
170
172
  MiddlewarePhases,
171
173
  ExecutionPhase,
172
- } from './core/routing';
174
+ } from './core/routing/index.js';
173
175
 
174
176
  // Documentation System
175
177
  export {
@@ -177,8 +179,8 @@ export {
177
179
  AppDocumentationManager,
178
180
  createDocumentationSystem,
179
181
  generateDocsFromIntelligentRoutes,
180
- } from './core/docs';
181
- export type { DocsConfig } from './core/docs';
182
+ } from './core/docs/index.js';
183
+ export type { DocsConfig } from './core/docs/index.js';
182
184
 
183
185
  // Configuration utilities
184
186
  export {
@@ -193,34 +195,39 @@ export {
193
195
  requireEnvVars,
194
196
  envVar,
195
197
  getConfigValue,
196
- } from './core/config/utils';
198
+ } from './core/config/utils.js';
197
199
 
198
- export { initializeConfig, getGlobalConfig, isConfigInitialized, resetConfig } from './core/config';
200
+ export {
201
+ initializeConfig,
202
+ getGlobalConfig,
203
+ isConfigInitialized,
204
+ resetConfig,
205
+ } from './core/config/index.js';
199
206
 
200
207
  // Export configuration types for TypeScript users
201
- export type { AppConfig } from './core/config';
208
+ export type { AppConfig } from './core/config/index.js';
202
209
 
203
210
  // Middleware System
204
- export { MiddlewareManager } from './core/middleware';
205
- export type { MiddlewareInterface, MoroMiddleware } from './core/middleware';
211
+ export { MiddlewareManager } from './core/middleware/index.js';
212
+ export type { MiddlewareInterface, MoroMiddleware } from './core/middleware/index.js';
206
213
 
207
214
  // Types
208
- export type * from './types/core';
209
- export type * from './types/http';
210
- export type * from './types/hooks';
211
- export type * from './types/cache';
212
- export type * from './types/cdn';
213
- export type * from './types/database';
214
- export type * from './types/logger';
215
- export type * from './types/session';
216
- export type * from './types/discovery';
215
+ export type * from './types/core.js';
216
+ export type * from './types/http.js';
217
+ export type * from './types/hooks.js';
218
+ export type * from './types/cache.js';
219
+ export type * from './types/cdn.js';
220
+ export type * from './types/database.js';
221
+ export type * from './types/logger.js';
222
+ export type * from './types/session.js';
223
+ export type * from './types/discovery.js';
217
224
 
218
225
  // Adapters
219
- export * from './core/middleware/built-in/adapters';
220
- export * from './core/database/adapters';
226
+ export * from './core/middleware/built-in/adapters/index.js';
227
+ export * from './core/database/adapters/index.js';
221
228
 
222
229
  // Re-export commonly used types for convenience
223
- export type { CacheAdapter, CacheOptions, CacheStrategy } from './types/cache';
224
- export type { CDNAdapter, CDNOptions } from './types/cdn';
225
- export type { DatabaseAdapter, DatabaseTransaction, DatabaseConfig } from './types/database';
226
- export type { CookieOptions } from './types/http';
230
+ export type { CacheAdapter, CacheOptions, CacheStrategy } from './types/cache.js';
231
+ export type { CDNAdapter, CDNOptions } from './types/cdn.js';
232
+ export type { DatabaseAdapter, DatabaseTransaction, DatabaseConfig } from './types/database.js';
233
+ export type { CookieOptions } from './types/http.js';