@morojs/moro 1.5.17 → 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 +14 -6
  73. package/dist/core/framework.js +150 -88
  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 +24 -62
  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 +10 -14
  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 +1 -1
  158. package/dist/core/middleware/built-in/jwt-helpers.js +6 -9
  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 +13 -10
  259. package/dist/moro.js +132 -102
  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 +148 -44
  308. package/src/core/http/http-server.ts +14 -9
  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 +6 -6
  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 +6 -3
  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 +144 -51
  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
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SessionError = exports.CallbackError = exports.SignInError = void 0;
4
- class SignInError extends Error {
1
+ export class SignInError extends Error {
5
2
  type = 'SignInError';
6
3
  code;
7
4
  constructor(message, code) {
@@ -9,8 +6,7 @@ class SignInError extends Error {
9
6
  this.code = code;
10
7
  }
11
8
  }
12
- exports.SignInError = SignInError;
13
- class CallbackError extends Error {
9
+ export class CallbackError extends Error {
14
10
  type = 'CallbackError';
15
11
  code;
16
12
  constructor(message, code) {
@@ -18,8 +14,7 @@ class CallbackError extends Error {
18
14
  this.code = code;
19
15
  }
20
16
  }
21
- exports.CallbackError = CallbackError;
22
- class SessionError extends Error {
17
+ export class SessionError extends Error {
23
18
  type = 'SessionError';
24
19
  code;
25
20
  constructor(message, code) {
@@ -27,5 +22,4 @@ class SessionError extends Error {
27
22
  this.code = code;
28
23
  }
29
24
  }
30
- exports.SessionError = SessionError;
31
25
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":";;;AAoZA,MAAa,WAAY,SAAQ,KAAK;IACpC,IAAI,GAAG,aAAa,CAAC;IACrB,IAAI,CAAU;IAEd,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AARD,kCAQC;AAED,MAAa,aAAc,SAAQ,KAAK;IACtC,IAAI,GAAG,eAAe,CAAC;IACvB,IAAI,CAAU;IAEd,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AARD,sCAQC;AAED,MAAa,YAAa,SAAQ,KAAK;IACrC,IAAI,GAAG,cAAc,CAAC;IACtB,IAAI,CAAU;IAEd,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AARD,oCAQC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":"AAoZA,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,IAAI,GAAG,aAAa,CAAC;IACrB,IAAI,CAAU;IAEd,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,IAAI,GAAG,eAAe,CAAC;IACvB,IAAI,CAAU;IAEd,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,IAAI,GAAG,cAAc,CAAC;IACtB,IAAI,CAAU;IAEd,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=cache.js.map
package/dist/types/cdn.js CHANGED
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=cdn.js.map
@@ -10,6 +10,12 @@ export interface ServerConfig {
10
10
  errorBoundary: {
11
11
  enabled: boolean;
12
12
  };
13
+ useUWebSockets?: boolean;
14
+ ssl?: {
15
+ key_file_name?: string;
16
+ cert_file_name?: string;
17
+ passphrase?: string;
18
+ };
13
19
  }
14
20
  export interface ServiceDiscoveryConfig {
15
21
  enabled: boolean;
@@ -177,7 +183,7 @@ export interface PerformanceConfig {
177
183
  }
178
184
  export interface WebSocketConfig {
179
185
  enabled: boolean;
180
- adapter?: string | 'socket.io' | 'ws';
186
+ adapter?: string | 'socket.io' | 'ws' | 'uws';
181
187
  compression?: boolean;
182
188
  customIdGenerator?: () => string;
183
189
  options?: {
@@ -187,6 +193,12 @@ export interface WebSocketConfig {
187
193
  };
188
194
  path?: string;
189
195
  maxPayloadLength?: number;
196
+ idleTimeout?: number;
197
+ ssl?: {
198
+ key_file_name?: string;
199
+ cert_file_name?: string;
200
+ passphrase?: string;
201
+ };
190
202
  };
191
203
  }
192
204
  export interface AppConfig {
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  // TypeScript-based Configuration Types for Moro Framework
3
- Object.defineProperty(exports, "__esModule", { value: true });
2
+ export {};
4
3
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":";AAAA,0DAA0D"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,0DAA0D"}
@@ -1,6 +1,6 @@
1
- import { RuntimeConfig } from './runtime';
2
- import { LoggerOptions } from './logger';
3
- import { AppConfig } from './config';
1
+ import { RuntimeConfig } from './runtime.js';
2
+ import { LoggerOptions } from './logger.js';
3
+ import { AppConfig } from './config.js';
4
4
  export interface MoroOptions {
5
5
  autoDiscover?: boolean | {
6
6
  enabled?: boolean;
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=core.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=database.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=discovery.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=events.js.map
@@ -1,4 +1,4 @@
1
- import { HttpRequest, HttpResponse } from './http';
1
+ import { HttpRequest, HttpResponse } from '../core/http/index.js';
2
2
  export type HookFunction = (...args: any[]) => Promise<any> | any;
3
3
  export interface HookContext {
4
4
  request?: HttpRequest;
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=hooks.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=http.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=logger.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=module.js.map
@@ -1,4 +1,4 @@
1
- import { HttpRequest, HttpResponse } from './http';
1
+ import { HttpRequest, HttpResponse } from '../core/http/index.js';
2
2
  export type RuntimeType = 'node' | 'vercel-edge' | 'aws-lambda' | 'cloudflare-workers';
3
3
  export interface RuntimeRequest {
4
4
  method: string;
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=runtime.js.map
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=session.js.map
@@ -0,0 +1,41 @@
1
+ export default {
2
+ preset: 'ts-jest/presets/default-esm',
3
+ testEnvironment: 'node',
4
+ extensionsToTreatAsEsm: ['.ts'],
5
+ moduleNameMapper: {
6
+ '^(\\.{1,2}/.*)\\.js$': '$1',
7
+ },
8
+ transform: {
9
+ '^.+\\.ts$': [
10
+ 'ts-jest',
11
+ {
12
+ useESM: true,
13
+ tsconfig: {
14
+ module: 'ESNext',
15
+ moduleResolution: 'NodeNext',
16
+ target: 'ES2022',
17
+ esModuleInterop: true,
18
+ isolatedModules: true,
19
+ },
20
+ },
21
+ ],
22
+ },
23
+ roots: ['<rootDir>/src', '<rootDir>/tests'],
24
+ testMatch: ['**/tests/**/*.test.ts', '**/src/**/*.test.ts'],
25
+ collectCoverageFrom: [
26
+ 'src/**/*.ts',
27
+ '!src/**/*.d.ts',
28
+ '!src/**/*.test.ts',
29
+ '!src/**/index.ts',
30
+ ],
31
+ coverageDirectory: 'coverage',
32
+ coverageReporters: ['text', 'lcov', 'html'],
33
+ setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'],
34
+ testTimeout: 15000,
35
+ maxWorkers: 1,
36
+ forceExit: false,
37
+ detectOpenHandles: true,
38
+ openHandlesTimeout: 1000,
39
+ moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
40
+ };
41
+
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@morojs/moro",
3
- "version": "1.5.17",
3
+ "version": "1.6.0",
4
4
  "description": "High-performance Node.js framework with intelligent routing, automatic middleware ordering, enterprise authentication (Auth.js), type-safe validation, and functional architecture",
5
+ "type": "module",
5
6
  "main": "dist/index.js",
6
7
  "types": "dist/index.d.ts",
7
8
  "exports": {
8
9
  ".": {
9
10
  "development": "./src/index.ts",
10
11
  "import": "./dist/index.js",
11
- "require": "./dist/index.js",
12
12
  "types": "./dist/index.d.ts"
13
13
  }
14
14
  },
@@ -29,20 +29,22 @@
29
29
  "test:ci": "jest --coverage --watchAll=false --ci --forceExit",
30
30
  "test:force": "jest --forceExit",
31
31
  "test:all": "npm run test:unit && npm run test:integration && npm run test:e2e",
32
+ "test:dist": "npm run build && node scripts/validate-dist.mjs",
33
+ "test:package": "npm run build && node scripts/validate-package.mjs",
32
34
  "lint": "eslint src --ext .ts",
33
35
  "lint:fix": "eslint src --ext .ts --fix",
34
- "format": "prettier --write \"src/**/*.ts\"",
35
- "format:check": "prettier --check \"src/**/*.ts\"",
36
+ "format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
37
+ "format:check": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"",
36
38
  "lint-staged": "lint-staged",
37
39
  "docs:build": "typedoc --out docs-html src/index.ts",
38
40
  "docs:serve": "http-server docs-html -p 8080",
39
41
  "docs:json": "typedoc --json docs-json/api.json src/index.ts",
40
42
  "docs:markdown": "typedoc --plugin typedoc-plugin-markdown --out docs-md src/index.ts",
41
43
  "docs:all": "npm run docs:build && npm run docs:json && npm run docs:markdown",
42
- "prerelease": "node scripts/release.js",
43
- "prerelease:patch": "node scripts/release.js patch",
44
- "prerelease:minor": "node scripts/release.js minor",
45
- "prerelease:major": "node scripts/release.js major"
44
+ "prerelease": "npm run build && npm test && npm run test:package && node scripts/release.js",
45
+ "prerelease:patch": "npm run build && npm test && npm run test:package && node scripts/release.js patch",
46
+ "prerelease:minor": "npm run build && npm test && npm run test:package && node scripts/release.js minor",
47
+ "prerelease:major": "npm run build && npm test && npm run test:package && node scripts/release.js major"
46
48
  },
47
49
  "keywords": [
48
50
  "nodejs",
@@ -89,8 +91,9 @@
89
91
  "pg": "^8.16.3",
90
92
  "socket.io": "^4.8.1",
91
93
  "swagger-ui-dist": "^5.28.1",
94
+ "uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.52.0",
92
95
  "ws": "^8.18.0",
93
- "yup": "^1.0.0"
96
+ "yup": "^1.7.1"
94
97
  },
95
98
  "peerDependenciesMeta": {
96
99
  "@auth/core": {
@@ -120,6 +123,9 @@
120
123
  "socket.io": {
121
124
  "optional": true
122
125
  },
126
+ "uWebSockets.js": {
127
+ "optional": true
128
+ },
123
129
  "ws": {
124
130
  "optional": true
125
131
  },
@@ -165,6 +171,7 @@
165
171
  "typedoc-plugin-markdown": "^4.8.1",
166
172
  "typedoc-theme-hierarchy": "^6.0.0",
167
173
  "typescript": "^5.9.2",
174
+ "uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.52.0",
168
175
  "ws": "^8.18.3",
169
176
  "zod": "^4.1.8"
170
177
  },
@@ -174,49 +181,9 @@
174
181
  "README.md",
175
182
  "LICENSE",
176
183
  "API.md",
177
- "tsconfig.json"
184
+ "tsconfig.json",
185
+ "jest.config.mjs"
178
186
  ],
179
- "jest": {
180
- "preset": "ts-jest",
181
- "testEnvironment": "node",
182
- "roots": [
183
- "<rootDir>/src",
184
- "<rootDir>/tests"
185
- ],
186
- "testMatch": [
187
- "**/tests/**/*.test.ts",
188
- "**/src/**/*.test.ts"
189
- ],
190
- "transform": {
191
- "^.+\\.ts$": [
192
- "ts-jest",
193
- {}
194
- ]
195
- },
196
- "collectCoverageFrom": [
197
- "src/**/*.ts",
198
- "!src/**/*.d.ts",
199
- "!src/**/*.test.ts",
200
- "!src/**/index.ts"
201
- ],
202
- "coverageDirectory": "coverage",
203
- "coverageReporters": [
204
- "text",
205
- "lcov",
206
- "html"
207
- ],
208
- "setupFilesAfterEnv": [
209
- "<rootDir>/tests/setup.ts"
210
- ],
211
- "testTimeout": 15000,
212
- "maxWorkers": 1,
213
- "forceExit": false,
214
- "detectOpenHandles": true,
215
- "openHandlesTimeout": 1000,
216
- "extensionsToTreatAsEsm": [
217
- ".ts"
218
- ]
219
- },
220
187
  "lint-staged": {
221
188
  "src/**/*.ts": [
222
189
  "prettier --write",
@@ -8,7 +8,7 @@
8
8
  * @see https://github.com/nextauthjs/next-auth/tree/main/packages
9
9
  */
10
10
 
11
- import { createFrameworkLogger } from '../logger';
11
+ import { createFrameworkLogger } from '../logger/index.js';
12
12
 
13
13
  const logger = createFrameworkLogger('AuthAdapter');
14
14
 
@@ -7,8 +7,8 @@
7
7
  * Precedence: Environment Variables > createApp Options > Config File > Defaults
8
8
  */
9
9
 
10
- import { AppConfig } from '../../types/config';
11
- import { createFrameworkLogger } from '../logger';
10
+ import { AppConfig } from '../../types/config.js';
11
+ import { createFrameworkLogger } from '../logger/index.js';
12
12
 
13
13
  const logger = createFrameworkLogger('ConfigManager');
14
14
 
@@ -5,12 +5,12 @@
5
5
  * Environment Variables > createApp Options > Config File > Schema Defaults
6
6
  */
7
7
 
8
- import { AppConfig } from '../../types/config';
9
- import { MoroOptions } from '../../types/core';
10
- import { DEFAULT_CONFIG } from './schema';
11
- import { loadConfigFileSync } from './file-loader';
12
- import { createFrameworkLogger } from '../logger';
13
- import { validateConfig } from './config-validator';
8
+ import { AppConfig } from '../../types/config.js';
9
+ import { MoroOptions } from '../../types/core.js';
10
+ import { DEFAULT_CONFIG } from './schema.js';
11
+ import { loadConfigFileSync } from './file-loader.js';
12
+ import { createFrameworkLogger } from '../logger/index.js';
13
+ import { validateConfig } from './config-validator.js';
14
14
 
15
15
  const logger = createFrameworkLogger('ConfigSources');
16
16
 
@@ -5,8 +5,8 @@
5
5
  * simple TypeScript functions that match the type definitions exactly.
6
6
  */
7
7
 
8
- import { AppConfig } from '../../types/config';
9
- import { createFrameworkLogger } from '../logger';
8
+ import { AppConfig } from '../../types/config.js';
9
+ import { createFrameworkLogger } from '../logger/index.js';
10
10
 
11
11
  const logger = createFrameworkLogger('ConfigValidator');
12
12
 
@@ -75,7 +75,7 @@ function validateServerConfig(config: any, path: string) {
75
75
  );
76
76
  }
77
77
 
78
- return {
78
+ const result: any = {
79
79
  port: validatePort(config.port, `${path}.port`),
80
80
  host: validateString(config.host, `${path}.host`),
81
81
  maxConnections: validateNumber(config.maxConnections, `${path}.maxConnections`, { min: 1 }),
@@ -88,6 +88,41 @@ function validateServerConfig(config: any, path: string) {
88
88
  enabled: validateBoolean(config.errorBoundary?.enabled, `${path}.errorBoundary.enabled`),
89
89
  },
90
90
  };
91
+
92
+ // Optional uWebSockets configuration
93
+ if (config.useUWebSockets !== undefined) {
94
+ result.useUWebSockets = validateBoolean(config.useUWebSockets, `${path}.useUWebSockets`);
95
+ }
96
+
97
+ // Optional SSL configuration
98
+ if (config.ssl !== undefined) {
99
+ result.ssl = validateSSLConfig(config.ssl, `${path}.ssl`);
100
+ }
101
+
102
+ return result;
103
+ }
104
+
105
+ /**
106
+ * Validate SSL configuration
107
+ */
108
+ function validateSSLConfig(config: any, path: string) {
109
+ if (!config || typeof config !== 'object') {
110
+ throw new ConfigValidationError(path, config, 'object', 'SSL configuration must be an object');
111
+ }
112
+
113
+ const result: any = {};
114
+
115
+ if (config.key_file_name !== undefined) {
116
+ result.key_file_name = validateString(config.key_file_name, `${path}.key_file_name`);
117
+ }
118
+ if (config.cert_file_name !== undefined) {
119
+ result.cert_file_name = validateString(config.cert_file_name, `${path}.cert_file_name`);
120
+ }
121
+ if (config.passphrase !== undefined) {
122
+ result.passphrase = validateString(config.passphrase, `${path}.passphrase`);
123
+ }
124
+
125
+ return result;
91
126
  }
92
127
 
93
128
  /**
@@ -1,11 +1,16 @@
1
1
  // Configuration File Loader - Load moro.config.js/ts files
2
2
  import { existsSync } from 'fs';
3
3
  import { join } from 'path';
4
- import { AppConfig } from './schema';
5
- import { createFrameworkLogger } from '../logger';
4
+ import { createRequire } from 'module';
5
+ import { AppConfig } from './schema.js';
6
+ import { createFrameworkLogger } from '../logger/index.js';
6
7
 
7
8
  const logger = createFrameworkLogger('ConfigFile');
8
9
 
10
+ // Create require function for ESM to enable synchronous config loading
11
+ // Use process.cwd() as base since we're loading with absolute paths anyway
12
+ const moduleRequire = createRequire(join(process.cwd(), 'index.js'));
13
+
9
14
  /**
10
15
  * Supported configuration file names in order of preference
11
16
  */
@@ -23,55 +28,23 @@ export function loadConfigFileSync(cwd: string = process.cwd()): Partial<AppConf
23
28
  logger.debug('No configuration file found');
24
29
  return null;
25
30
  }
26
- // Handle TypeScript files by trying dynamic import (works with tsx/ts-node runtimes)
27
- if (configFile.endsWith('.ts')) {
28
- logger.debug('Found TypeScript config file, attempting to load with dynamic import');
29
- try {
30
- // When running under tsx/ts-node, dynamic imports work synchronously for TypeScript
31
- // We can use require() with the current environment that already has TypeScript support
32
- const config = require(configFile);
33
- const configData = config.default || config;
34
-
35
- if (!configData || typeof configData !== 'object') {
36
- logger.warn(`Configuration file ${configFile} did not export a valid configuration object`);
37
- return null;
38
- }
39
-
40
- logger.info(`TypeScript configuration loaded from: ${configFile}`);
41
- return configData;
42
- } catch (error) {
43
- logger.debug(
44
- 'TypeScript config loading failed in sync mode, this is expected if not running with tsx/ts-node'
45
- );
46
- logger.debug('Error details:', String(error));
47
- return null;
48
- }
49
- }
50
-
51
- // Only .js files use the standard synchronous loading
52
- if (!configFile.endsWith('.js')) {
53
- logger.debug(
54
- 'Found config file with unsupported extension. Only .js and .ts files are supported.'
55
- );
56
- return null;
57
- }
58
31
 
59
32
  logger.debug(`Loading configuration from: ${configFile}`);
60
33
 
61
34
  try {
62
- // Clear module cache to ensure fresh load
63
- delete require.cache[require.resolve(configFile)];
35
+ // Use createRequire to enable synchronous loading in ESM
36
+ // Clear the require cache to ensure fresh config on each load
37
+ delete moduleRequire.cache[moduleRequire.resolve(configFile)];
64
38
 
65
- const config = require(configFile);
66
- const configData = config.default || config;
39
+ const config = moduleRequire(configFile);
67
40
 
68
- if (!configData || typeof configData !== 'object') {
41
+ if (!config || typeof config !== 'object') {
69
42
  logger.warn(`Configuration file ${configFile} did not export a valid configuration object`);
70
43
  return null;
71
44
  }
72
45
 
73
46
  logger.info(`Configuration loaded from: ${configFile}`);
74
- return configData;
47
+ return config;
75
48
  } catch (error) {
76
49
  logger.error(`Failed to load configuration file ${configFile}:`, String(error));
77
50
  logger.warn('Falling back to environment variable configuration');
@@ -12,27 +12,31 @@
12
12
  */
13
13
 
14
14
  // Export types and core components
15
- export * from './schema';
16
- export * from './config-sources';
17
- export * from './config-validator';
18
- export * from './file-loader';
15
+ export * from './schema.js';
16
+ export * from './config-sources.js';
17
+ export * from './config-validator.js';
18
+ export * from './file-loader.js';
19
19
 
20
20
  // Export specific functions from config-manager to avoid conflicts
21
- export { initializeAndLockConfig, isConfigLocked, resetConfigForTesting } from './config-manager';
21
+ export {
22
+ initializeAndLockConfig,
23
+ isConfigLocked,
24
+ resetConfigForTesting,
25
+ } from './config-manager.js';
22
26
 
23
27
  // Export utilities for backward compatibility
24
- export * from './utils';
28
+ export * from './utils.js';
25
29
 
26
- import { MoroOptions } from '../../types/core';
27
- import { AppConfig } from '../../types/config';
28
- import { loadConfigFromAllSources } from './config-sources';
30
+ import { MoroOptions } from '../../types/core.js';
31
+ import { AppConfig } from '../../types/config.js';
32
+ import { loadConfigFromAllSources } from './config-sources.js';
29
33
  import {
30
34
  initializeAndLockConfig,
31
35
  getGlobalConfig as getConfig,
32
36
  isConfigLocked,
33
37
  resetConfigForTesting,
34
- } from './config-manager';
35
- import { createFrameworkLogger } from '../logger';
38
+ } from './config-manager.js';
39
+ import { createFrameworkLogger } from '../logger/index.js';
36
40
 
37
41
  const logger = createFrameworkLogger('ConfigSystem');
38
42
 
@@ -1,6 +1,6 @@
1
1
  // Core Configuration Schema for Moro Framework
2
2
 
3
- import { AppConfig } from '../../types/config';
3
+ import { AppConfig } from '../../types/config.js';
4
4
 
5
5
  // Minimal default configuration - performance-focused, most things opt-in
6
6
  export const DEFAULT_CONFIG: AppConfig = {
@@ -10,6 +10,7 @@ export const DEFAULT_CONFIG: AppConfig = {
10
10
  maxConnections: 1000,
11
11
  timeout: 30000,
12
12
  bodySizeLimit: '10mb',
13
+ useUWebSockets: false, // Opt-in for ultra-high performance
13
14
  requestTracking: {
14
15
  enabled: true, // Enable by default for debugging
15
16
  },
@@ -147,7 +148,7 @@ export type {
147
148
  SecurityConfig,
148
149
  ExternalServicesConfig,
149
150
  PerformanceConfig,
150
- } from '../../types/config';
151
+ } from '../../types/config.js';
151
152
 
152
153
  // For backward compatibility with modules that expect schema objects
153
154
  export const ServerConfigSchema = { parse: (data: any) => data };
@@ -1,7 +1,7 @@
1
1
  // Configuration Utilities for Modules and Environment Handling
2
- import { AppConfig } from './schema';
3
- import { createFrameworkLogger } from '../logger';
4
- import { getGlobalConfig } from './config-manager';
2
+ import { AppConfig } from './schema.js';
3
+ import { createFrameworkLogger } from '../logger/index.js';
4
+ import { getGlobalConfig } from './config-manager.js';
5
5
 
6
6
  const logger = createFrameworkLogger('ConfigUtils');
7
7