@morojs/moro 1.0.0 → 1.0.1

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 (284) hide show
  1. package/README.md +1 -1
  2. package/dist/core/config/index.d.ts +5 -5
  3. package/dist/core/config/index.js +1 -1
  4. package/dist/core/config/index.js.map +1 -1
  5. package/dist/core/config/loader.d.ts +1 -1
  6. package/dist/core/config/loader.js +58 -82
  7. package/dist/core/config/loader.js.map +1 -1
  8. package/dist/core/config/schema.d.ts +1 -1
  9. package/dist/core/config/schema.js +52 -111
  10. package/dist/core/config/schema.js.map +1 -1
  11. package/dist/core/config/utils.d.ts +2 -2
  12. package/dist/core/config/utils.js +18 -18
  13. package/dist/core/config/utils.js.map +1 -1
  14. package/dist/core/database/adapters/drizzle.d.ts +1 -1
  15. package/dist/core/database/adapters/drizzle.js +39 -55
  16. package/dist/core/database/adapters/drizzle.js.map +1 -1
  17. package/dist/core/database/adapters/index.d.ts +7 -7
  18. package/dist/core/database/adapters/index.js +11 -11
  19. package/dist/core/database/adapters/index.js.map +1 -1
  20. package/dist/core/database/adapters/mongodb.d.ts +1 -1
  21. package/dist/core/database/adapters/mongodb.js +19 -23
  22. package/dist/core/database/adapters/mongodb.js.map +1 -1
  23. package/dist/core/database/adapters/mysql.d.ts +1 -1
  24. package/dist/core/database/adapters/mysql.js +31 -27
  25. package/dist/core/database/adapters/mysql.js.map +1 -1
  26. package/dist/core/database/adapters/postgresql.d.ts +1 -1
  27. package/dist/core/database/adapters/postgresql.js +27 -35
  28. package/dist/core/database/adapters/postgresql.js.map +1 -1
  29. package/dist/core/database/adapters/redis.d.ts +1 -1
  30. package/dist/core/database/adapters/redis.js +24 -24
  31. package/dist/core/database/adapters/redis.js.map +1 -1
  32. package/dist/core/database/adapters/sqlite.d.ts +1 -1
  33. package/dist/core/database/adapters/sqlite.js +36 -36
  34. package/dist/core/database/adapters/sqlite.js.map +1 -1
  35. package/dist/core/database/index.d.ts +2 -2
  36. package/dist/core/docs/index.d.ts +7 -7
  37. package/dist/core/docs/index.js +13 -15
  38. package/dist/core/docs/index.js.map +1 -1
  39. package/dist/core/docs/openapi-generator.d.ts +5 -5
  40. package/dist/core/docs/openapi-generator.js +93 -94
  41. package/dist/core/docs/openapi-generator.js.map +1 -1
  42. package/dist/core/docs/simple-docs.d.ts +1 -1
  43. package/dist/core/docs/simple-docs.js +25 -28
  44. package/dist/core/docs/simple-docs.js.map +1 -1
  45. package/dist/core/docs/swagger-ui.d.ts +2 -2
  46. package/dist/core/docs/swagger-ui.js +46 -51
  47. package/dist/core/docs/swagger-ui.js.map +1 -1
  48. package/dist/core/docs/zod-to-openapi.d.ts +1 -1
  49. package/dist/core/docs/zod-to-openapi.js +115 -125
  50. package/dist/core/docs/zod-to-openapi.js.map +1 -1
  51. package/dist/core/events/event-bus.d.ts +1 -1
  52. package/dist/core/events/event-bus.js +15 -21
  53. package/dist/core/events/event-bus.js.map +1 -1
  54. package/dist/core/events/index.d.ts +2 -2
  55. package/dist/core/framework.d.ts +5 -5
  56. package/dist/core/framework.js +55 -60
  57. package/dist/core/framework.js.map +1 -1
  58. package/dist/core/http/http-server.d.ts +2 -2
  59. package/dist/core/http/http-server.js +228 -261
  60. package/dist/core/http/http-server.js.map +1 -1
  61. package/dist/core/http/index.d.ts +3 -3
  62. package/dist/core/http/router.d.ts +1 -1
  63. package/dist/core/http/router.js +15 -17
  64. package/dist/core/http/router.js.map +1 -1
  65. package/dist/core/logger/filters.d.ts +1 -1
  66. package/dist/core/logger/filters.js +16 -16
  67. package/dist/core/logger/filters.js.map +1 -1
  68. package/dist/core/logger/index.d.ts +3 -3
  69. package/dist/core/logger/logger.d.ts +1 -1
  70. package/dist/core/logger/logger.js +48 -59
  71. package/dist/core/logger/logger.js.map +1 -1
  72. package/dist/core/logger/outputs.d.ts +4 -4
  73. package/dist/core/logger/outputs.js +16 -20
  74. package/dist/core/logger/outputs.js.map +1 -1
  75. package/dist/core/middleware/built-in/adapters/cache/file.d.ts +1 -1
  76. package/dist/core/middleware/built-in/adapters/cache/file.js +19 -19
  77. package/dist/core/middleware/built-in/adapters/cache/file.js.map +1 -1
  78. package/dist/core/middleware/built-in/adapters/cache/index.d.ts +4 -4
  79. package/dist/core/middleware/built-in/adapters/cache/index.js +3 -3
  80. package/dist/core/middleware/built-in/adapters/cache/index.js.map +1 -1
  81. package/dist/core/middleware/built-in/adapters/cache/memory.d.ts +1 -1
  82. package/dist/core/middleware/built-in/adapters/cache/memory.js +5 -5
  83. package/dist/core/middleware/built-in/adapters/cache/memory.js.map +1 -1
  84. package/dist/core/middleware/built-in/adapters/cache/redis.d.ts +1 -1
  85. package/dist/core/middleware/built-in/adapters/cache/redis.js +18 -18
  86. package/dist/core/middleware/built-in/adapters/cache/redis.js.map +1 -1
  87. package/dist/core/middleware/built-in/adapters/cdn/azure.d.ts +1 -1
  88. package/dist/core/middleware/built-in/adapters/cdn/azure.js +8 -8
  89. package/dist/core/middleware/built-in/adapters/cdn/azure.js.map +1 -1
  90. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.d.ts +1 -1
  91. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js +14 -14
  92. package/dist/core/middleware/built-in/adapters/cdn/cloudflare.js.map +1 -1
  93. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.d.ts +1 -1
  94. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js +13 -15
  95. package/dist/core/middleware/built-in/adapters/cdn/cloudfront.js.map +1 -1
  96. package/dist/core/middleware/built-in/adapters/cdn/index.d.ts +4 -4
  97. package/dist/core/middleware/built-in/adapters/cdn/index.js +3 -3
  98. package/dist/core/middleware/built-in/adapters/index.d.ts +4 -4
  99. package/dist/core/middleware/built-in/auth.d.ts +1 -1
  100. package/dist/core/middleware/built-in/auth.js +14 -14
  101. package/dist/core/middleware/built-in/cache.d.ts +2 -2
  102. package/dist/core/middleware/built-in/cache.js +43 -45
  103. package/dist/core/middleware/built-in/cache.js.map +1 -1
  104. package/dist/core/middleware/built-in/cdn.d.ts +2 -2
  105. package/dist/core/middleware/built-in/cdn.js +27 -29
  106. package/dist/core/middleware/built-in/cdn.js.map +1 -1
  107. package/dist/core/middleware/built-in/cookie.d.ts +2 -2
  108. package/dist/core/middleware/built-in/cookie.js +17 -17
  109. package/dist/core/middleware/built-in/cookie.js.map +1 -1
  110. package/dist/core/middleware/built-in/cors.d.ts +1 -1
  111. package/dist/core/middleware/built-in/cors.js +13 -13
  112. package/dist/core/middleware/built-in/csp.d.ts +1 -1
  113. package/dist/core/middleware/built-in/csp.js +22 -25
  114. package/dist/core/middleware/built-in/csp.js.map +1 -1
  115. package/dist/core/middleware/built-in/csrf.d.ts +1 -1
  116. package/dist/core/middleware/built-in/csrf.js +21 -24
  117. package/dist/core/middleware/built-in/csrf.js.map +1 -1
  118. package/dist/core/middleware/built-in/error-tracker.js +2 -2
  119. package/dist/core/middleware/built-in/index.d.ts +14 -14
  120. package/dist/core/middleware/built-in/performance-monitor.js +2 -2
  121. package/dist/core/middleware/built-in/rate-limit.d.ts +1 -1
  122. package/dist/core/middleware/built-in/rate-limit.js +12 -12
  123. package/dist/core/middleware/built-in/request-logger.js.map +1 -1
  124. package/dist/core/middleware/built-in/session.d.ts +5 -5
  125. package/dist/core/middleware/built-in/session.js +35 -38
  126. package/dist/core/middleware/built-in/session.js.map +1 -1
  127. package/dist/core/middleware/built-in/sse.d.ts +1 -1
  128. package/dist/core/middleware/built-in/sse.js +20 -22
  129. package/dist/core/middleware/built-in/sse.js.map +1 -1
  130. package/dist/core/middleware/built-in/validation.d.ts +1 -1
  131. package/dist/core/middleware/built-in/validation.js +13 -13
  132. package/dist/core/middleware/index.d.ts +5 -5
  133. package/dist/core/middleware/index.js +16 -16
  134. package/dist/core/middleware/index.js.map +1 -1
  135. package/dist/core/modules/auto-discovery.d.ts +2 -2
  136. package/dist/core/modules/auto-discovery.js +12 -13
  137. package/dist/core/modules/auto-discovery.js.map +1 -1
  138. package/dist/core/modules/index.d.ts +2 -2
  139. package/dist/core/modules/index.js.map +1 -1
  140. package/dist/core/modules/modules.d.ts +3 -3
  141. package/dist/core/modules/modules.js +3 -6
  142. package/dist/core/modules/modules.js.map +1 -1
  143. package/dist/core/networking/index.d.ts +2 -2
  144. package/dist/core/networking/index.js.map +1 -1
  145. package/dist/core/networking/service-discovery.d.ts +2 -2
  146. package/dist/core/networking/service-discovery.js +27 -27
  147. package/dist/core/networking/service-discovery.js.map +1 -1
  148. package/dist/core/networking/websocket-manager.d.ts +3 -3
  149. package/dist/core/networking/websocket-manager.js +15 -16
  150. package/dist/core/networking/websocket-manager.js.map +1 -1
  151. package/dist/core/routing/app-integration.d.ts +2 -2
  152. package/dist/core/routing/app-integration.js +13 -13
  153. package/dist/core/routing/app-integration.js.map +1 -1
  154. package/dist/core/routing/index.d.ts +3 -3
  155. package/dist/core/routing/index.js +43 -52
  156. package/dist/core/routing/index.js.map +1 -1
  157. package/dist/core/runtime/aws-lambda-adapter.d.ts +3 -3
  158. package/dist/core/runtime/aws-lambda-adapter.js +14 -16
  159. package/dist/core/runtime/aws-lambda-adapter.js.map +1 -1
  160. package/dist/core/runtime/base-adapter.d.ts +2 -2
  161. package/dist/core/runtime/base-adapter.js +11 -12
  162. package/dist/core/runtime/base-adapter.js.map +1 -1
  163. package/dist/core/runtime/cloudflare-workers-adapter.d.ts +3 -3
  164. package/dist/core/runtime/cloudflare-workers-adapter.js +20 -21
  165. package/dist/core/runtime/cloudflare-workers-adapter.js.map +1 -1
  166. package/dist/core/runtime/index.d.ts +9 -9
  167. package/dist/core/runtime/index.js +4 -4
  168. package/dist/core/runtime/index.js.map +1 -1
  169. package/dist/core/runtime/node-adapter.d.ts +5 -5
  170. package/dist/core/runtime/node-adapter.js +35 -35
  171. package/dist/core/runtime/node-adapter.js.map +1 -1
  172. package/dist/core/runtime/vercel-edge-adapter.d.ts +3 -3
  173. package/dist/core/runtime/vercel-edge-adapter.js +12 -15
  174. package/dist/core/runtime/vercel-edge-adapter.js.map +1 -1
  175. package/dist/core/utilities/circuit-breaker.js +6 -6
  176. package/dist/core/utilities/container.d.ts +1 -1
  177. package/dist/core/utilities/container.js +17 -22
  178. package/dist/core/utilities/container.js.map +1 -1
  179. package/dist/core/utilities/hooks.d.ts +3 -3
  180. package/dist/core/utilities/hooks.js +11 -11
  181. package/dist/core/utilities/hooks.js.map +1 -1
  182. package/dist/core/utilities/index.d.ts +4 -4
  183. package/dist/core/validation/index.d.ts +3 -3
  184. package/dist/core/validation/index.js +15 -15
  185. package/dist/core/validation/index.js.map +1 -1
  186. package/dist/index.d.ts +31 -30
  187. package/dist/index.js +28 -1
  188. package/dist/index.js.map +1 -1
  189. package/dist/moro.d.ts +14 -14
  190. package/dist/moro.js +79 -88
  191. package/dist/moro.js.map +1 -1
  192. package/dist/types/cache.d.ts +1 -1
  193. package/dist/types/core.d.ts +2 -2
  194. package/dist/types/events.d.ts +19 -19
  195. package/dist/types/hooks.d.ts +1 -1
  196. package/dist/types/http.d.ts +2 -2
  197. package/dist/types/logger.d.ts +3 -3
  198. package/dist/types/module.d.ts +2 -2
  199. package/dist/types/runtime.d.ts +2 -2
  200. package/dist/types/session.d.ts +4 -4
  201. package/package.json +180 -164
  202. package/src/core/config/index.ts +7 -9
  203. package/src/core/config/loader.ts +86 -158
  204. package/src/core/config/schema.ts +59 -122
  205. package/src/core/config/utils.ts +27 -45
  206. package/src/core/database/adapters/drizzle.ts +53 -75
  207. package/src/core/database/adapters/index.ts +26 -29
  208. package/src/core/database/adapters/mongodb.ts +31 -54
  209. package/src/core/database/adapters/mysql.ts +40 -50
  210. package/src/core/database/adapters/postgresql.ts +32 -42
  211. package/src/core/database/adapters/redis.ts +31 -36
  212. package/src/core/database/adapters/sqlite.ts +43 -51
  213. package/src/core/database/index.ts +2 -2
  214. package/src/core/docs/index.ts +25 -39
  215. package/src/core/docs/openapi-generator.ts +104 -117
  216. package/src/core/docs/simple-docs.ts +29 -39
  217. package/src/core/docs/swagger-ui.ts +57 -76
  218. package/src/core/docs/zod-to-openapi.ts +121 -153
  219. package/src/core/events/event-bus.ts +22 -45
  220. package/src/core/events/index.ts +2 -2
  221. package/src/core/framework.ts +119 -197
  222. package/src/core/http/http-server.ts +260 -360
  223. package/src/core/http/index.ts +3 -8
  224. package/src/core/http/router.ts +19 -31
  225. package/src/core/logger/filters.ts +19 -22
  226. package/src/core/logger/index.ts +3 -3
  227. package/src/core/logger/logger.ts +59 -100
  228. package/src/core/logger/outputs.ts +23 -27
  229. package/src/core/middleware/built-in/adapters/cache/file.ts +21 -23
  230. package/src/core/middleware/built-in/adapters/cache/index.ts +11 -14
  231. package/src/core/middleware/built-in/adapters/cache/memory.ts +7 -7
  232. package/src/core/middleware/built-in/adapters/cache/redis.ts +21 -24
  233. package/src/core/middleware/built-in/adapters/cdn/azure.ts +10 -18
  234. package/src/core/middleware/built-in/adapters/cdn/cloudflare.ts +19 -36
  235. package/src/core/middleware/built-in/adapters/cdn/cloudfront.ts +17 -26
  236. package/src/core/middleware/built-in/adapters/cdn/index.ts +10 -10
  237. package/src/core/middleware/built-in/adapters/index.ts +4 -4
  238. package/src/core/middleware/built-in/auth.ts +16 -16
  239. package/src/core/middleware/built-in/cache.ts +50 -67
  240. package/src/core/middleware/built-in/cdn.ts +34 -61
  241. package/src/core/middleware/built-in/cookie.ts +23 -28
  242. package/src/core/middleware/built-in/cors.ts +17 -17
  243. package/src/core/middleware/built-in/csp.ts +25 -31
  244. package/src/core/middleware/built-in/csrf.ts +24 -29
  245. package/src/core/middleware/built-in/error-tracker.ts +3 -3
  246. package/src/core/middleware/built-in/index.ts +28 -28
  247. package/src/core/middleware/built-in/performance-monitor.ts +4 -4
  248. package/src/core/middleware/built-in/rate-limit.ts +15 -15
  249. package/src/core/middleware/built-in/request-logger.ts +1 -3
  250. package/src/core/middleware/built-in/session.ts +47 -70
  251. package/src/core/middleware/built-in/sse.ts +23 -28
  252. package/src/core/middleware/built-in/validation.ts +15 -15
  253. package/src/core/middleware/index.ts +26 -37
  254. package/src/core/modules/auto-discovery.ts +21 -31
  255. package/src/core/modules/index.ts +2 -5
  256. package/src/core/modules/modules.ts +11 -20
  257. package/src/core/networking/index.ts +2 -6
  258. package/src/core/networking/service-discovery.ts +41 -61
  259. package/src/core/networking/websocket-manager.ts +27 -36
  260. package/src/core/routing/app-integration.ts +19 -32
  261. package/src/core/routing/index.ts +57 -88
  262. package/src/core/runtime/aws-lambda-adapter.ts +20 -30
  263. package/src/core/runtime/base-adapter.ts +17 -27
  264. package/src/core/runtime/cloudflare-workers-adapter.ts +28 -42
  265. package/src/core/runtime/index.ts +21 -33
  266. package/src/core/runtime/node-adapter.ts +59 -73
  267. package/src/core/runtime/vercel-edge-adapter.ts +18 -29
  268. package/src/core/utilities/circuit-breaker.ts +7 -7
  269. package/src/core/utilities/container.ts +52 -89
  270. package/src/core/utilities/hooks.ts +17 -23
  271. package/src/core/utilities/index.ts +4 -4
  272. package/src/core/validation/index.ts +25 -51
  273. package/src/index.ts +58 -60
  274. package/src/moro.ts +119 -191
  275. package/src/types/cache.ts +1 -1
  276. package/src/types/core.ts +2 -2
  277. package/src/types/database.ts +2 -10
  278. package/src/types/events.ts +23 -31
  279. package/src/types/hooks.ts +1 -1
  280. package/src/types/http.ts +5 -8
  281. package/src/types/logger.ts +7 -23
  282. package/src/types/module.ts +2 -2
  283. package/src/types/runtime.ts +6 -21
  284. package/src/types/session.ts +4 -4
package/dist/moro.js CHANGED
@@ -62,7 +62,7 @@ class Moro extends events_1.EventEmitter {
62
62
  this.loadedModules = new Set();
63
63
  this.routeHandlers = {};
64
64
  // Application logger
65
- this.logger = (0, logger_1.createFrameworkLogger)("App");
65
+ this.logger = (0, logger_1.createFrameworkLogger)('App');
66
66
  // Intelligent routing system
67
67
  this.intelligentRouting = new app_integration_1.IntelligentRoutingManager();
68
68
  // Documentation system
@@ -83,10 +83,9 @@ class Moro extends events_1.EventEmitter {
83
83
  }
84
84
  this.logger.info(`Configuration system initialized: ${this.config.server.environment}:${this.config.server.port}`);
85
85
  // Initialize runtime system
86
- this.runtimeType = options.runtime?.type || "node";
87
- this.runtimeAdapter =
88
- options.runtime?.adapter || (0, runtime_1.createRuntimeAdapter)(this.runtimeType);
89
- this.logger.info(`Runtime system initialized: ${this.runtimeType}`, "Runtime");
86
+ this.runtimeType = options.runtime?.type || 'node';
87
+ this.runtimeAdapter = options.runtime?.adapter || (0, runtime_1.createRuntimeAdapter)(this.runtimeType);
88
+ this.logger.info(`Runtime system initialized: ${this.runtimeType}`, 'Runtime');
90
89
  this.coreFramework = new framework_1.Moro();
91
90
  // Access enterprise event bus from core framework
92
91
  this.eventBus = this.coreFramework.eventBus;
@@ -97,10 +96,10 @@ class Moro extends events_1.EventEmitter {
97
96
  });
98
97
  // Auto-discover modules if enabled
99
98
  if (options.autoDiscover !== false) {
100
- this.autoDiscoverModules(options.modulesPath || "./modules");
99
+ this.autoDiscoverModules(options.modulesPath || './modules');
101
100
  }
102
101
  // Emit initialization event through enterprise event bus
103
- this.eventBus.emit("framework:initialized", {
102
+ this.eventBus.emit('framework:initialized', {
104
103
  options,
105
104
  config: this.config,
106
105
  runtime: this.runtimeType,
@@ -137,7 +136,7 @@ class Moro extends events_1.EventEmitter {
137
136
  get(path, handler, options) {
138
137
  if (handler) {
139
138
  // Direct route registration
140
- return this.addRoute("GET", path, handler, options);
139
+ return this.addRoute('GET', path, handler, options);
141
140
  }
142
141
  // Chainable route builder
143
142
  return this.intelligentRouting.get(path);
@@ -145,7 +144,7 @@ class Moro extends events_1.EventEmitter {
145
144
  post(path, handler, options) {
146
145
  if (handler) {
147
146
  // Direct route registration
148
- return this.addRoute("POST", path, handler, options);
147
+ return this.addRoute('POST', path, handler, options);
149
148
  }
150
149
  // Chainable route builder
151
150
  return this.intelligentRouting.post(path);
@@ -153,7 +152,7 @@ class Moro extends events_1.EventEmitter {
153
152
  put(path, handler, options) {
154
153
  if (handler) {
155
154
  // Direct route registration
156
- return this.addRoute("PUT", path, handler, options);
155
+ return this.addRoute('PUT', path, handler, options);
157
156
  }
158
157
  // Chainable route builder
159
158
  return this.intelligentRouting.put(path);
@@ -161,7 +160,7 @@ class Moro extends events_1.EventEmitter {
161
160
  delete(path, handler, options) {
162
161
  if (handler) {
163
162
  // Direct route registration
164
- return this.addRoute("DELETE", path, handler, options);
163
+ return this.addRoute('DELETE', path, handler, options);
165
164
  }
166
165
  // Chainable route builder
167
166
  return this.intelligentRouting.delete(path);
@@ -169,7 +168,7 @@ class Moro extends events_1.EventEmitter {
169
168
  patch(path, handler, options) {
170
169
  if (handler) {
171
170
  // Direct route registration
172
- return this.addRoute("PATCH", path, handler, options);
171
+ return this.addRoute('PATCH', path, handler, options);
173
172
  }
174
173
  // Chainable route builder
175
174
  return this.intelligentRouting.patch(path);
@@ -181,8 +180,8 @@ class Moro extends events_1.EventEmitter {
181
180
  // Enable automatic API documentation
182
181
  enableDocs(config) {
183
182
  this.documentation.enableDocs(config, this.intelligentRouting);
184
- this.logger.info(`API Documentation enabled at ${config.basePath || "/docs"}`, "Documentation");
185
- this.eventBus.emit("docs:enabled", { config });
183
+ this.logger.info(`API Documentation enabled at ${config.basePath || '/docs'}`, 'Documentation');
184
+ this.eventBus.emit('docs:enabled', { config });
186
185
  }
187
186
  // Get OpenAPI specification
188
187
  getOpenAPISpec() {
@@ -203,31 +202,29 @@ class Moro extends events_1.EventEmitter {
203
202
  // Universal middleware system - seamlessly handles standard and advanced middleware
204
203
  async use(middlewareOrFunction, config) {
205
204
  // Standard middleware integration (req, res, next pattern)
206
- if (typeof middlewareOrFunction === "function" &&
207
- middlewareOrFunction.length >= 3) {
205
+ if (typeof middlewareOrFunction === 'function' && middlewareOrFunction.length >= 3) {
208
206
  this.coreFramework.addMiddleware(middlewareOrFunction);
209
- this.eventBus.emit("middleware:registered", {
210
- type: "standard",
207
+ this.eventBus.emit('middleware:registered', {
208
+ type: 'standard',
211
209
  middleware: middlewareOrFunction,
212
210
  });
213
211
  return this;
214
212
  }
215
213
  // Function-style middleware execution
216
- if (typeof middlewareOrFunction === "function" &&
217
- middlewareOrFunction.length <= 1) {
214
+ if (typeof middlewareOrFunction === 'function' && middlewareOrFunction.length <= 1) {
218
215
  await middlewareOrFunction(this);
219
- this.eventBus.emit("middleware:executed", {
220
- type: "function",
216
+ this.eventBus.emit('middleware:executed', {
217
+ type: 'function',
221
218
  middleware: middlewareOrFunction,
222
219
  });
223
220
  return this;
224
221
  }
225
222
  // Advanced middleware pipeline integration
226
- this.eventBus.emit("middleware:advanced", {
223
+ this.eventBus.emit('middleware:advanced', {
227
224
  middleware: middlewareOrFunction,
228
225
  config,
229
226
  });
230
- this.logger.debug("Advanced middleware integration - enhanced capabilities loading...", "Middleware");
227
+ this.logger.debug('Advanced middleware integration - enhanced capabilities loading...', 'Middleware');
231
228
  return this;
232
229
  }
233
230
  // Plugin compatibility layer - unified middleware interface
@@ -236,89 +233,89 @@ class Moro extends events_1.EventEmitter {
236
233
  }
237
234
  // Module loading with events
238
235
  async loadModule(moduleOrPath) {
239
- this.eventBus.emit("module:loading", {
240
- moduleId: typeof moduleOrPath === "string" ? moduleOrPath : moduleOrPath.name,
236
+ this.eventBus.emit('module:loading', {
237
+ moduleId: typeof moduleOrPath === 'string' ? moduleOrPath : moduleOrPath.name,
241
238
  });
242
- if (typeof moduleOrPath === "string") {
239
+ if (typeof moduleOrPath === 'string') {
243
240
  const module = await this.importModule(moduleOrPath);
244
241
  await this.coreFramework.loadModule(module);
245
242
  this.loadedModules.add(moduleOrPath);
246
- this.eventBus.emit("module:loaded", {
243
+ this.eventBus.emit('module:loaded', {
247
244
  moduleId: module.name,
248
- version: module.version || "1.0.0",
245
+ version: module.version || '1.0.0',
249
246
  });
250
247
  }
251
248
  else {
252
249
  await this.coreFramework.loadModule(moduleOrPath);
253
250
  this.loadedModules.add(moduleOrPath.name);
254
- this.eventBus.emit("module:loaded", {
251
+ this.eventBus.emit('module:loaded', {
255
252
  moduleId: moduleOrPath.name,
256
- version: moduleOrPath.version || "1.0.0",
253
+ version: moduleOrPath.version || '1.0.0',
257
254
  });
258
255
  }
259
256
  return this;
260
257
  }
261
258
  // Database helper with events
262
259
  database(adapter) {
263
- this.eventBus.emit("database:connected", {
260
+ this.eventBus.emit('database:connected', {
264
261
  adapter: adapter.constructor.name,
265
- config: "hidden",
262
+ config: 'hidden',
266
263
  });
267
264
  this.coreFramework.registerDatabase(adapter);
268
265
  return this;
269
266
  }
270
267
  // WebSocket helper with events
271
268
  websocket(namespace, handlers) {
272
- this.emit("websocket:registering", { namespace, handlers });
269
+ this.emit('websocket:registering', { namespace, handlers });
273
270
  const io = this.coreFramework.getIOServer();
274
271
  const ns = io.of(namespace);
275
272
  Object.entries(handlers).forEach(([event, handler]) => {
276
- ns.on("connection", (socket) => {
277
- this.emit("websocket:connection", { namespace, event, socket });
273
+ ns.on('connection', socket => {
274
+ this.emit('websocket:connection', { namespace, event, socket });
278
275
  socket.on(event, (data, callback) => {
279
- this.emit("websocket:event", { namespace, event, data });
276
+ this.emit('websocket:event', { namespace, event, data });
280
277
  Promise.resolve(handler(socket, data))
281
- .then((result) => {
282
- this.emit("websocket:response", { namespace, event, result });
278
+ .then(result => {
279
+ this.emit('websocket:response', { namespace, event, result });
283
280
  if (callback)
284
281
  callback(result);
285
282
  else if (result)
286
283
  socket.emit(`${event}:response`, result);
287
284
  })
288
- .catch((error) => {
289
- this.emit("websocket:error", { namespace, event, error });
285
+ .catch(error => {
286
+ this.emit('websocket:error', { namespace, event, error });
290
287
  const errorResponse = { success: false, error: error.message };
291
288
  if (callback)
292
289
  callback(errorResponse);
293
290
  else
294
- socket.emit("error", errorResponse);
291
+ socket.emit('error', errorResponse);
295
292
  });
296
293
  });
297
294
  });
298
295
  });
299
- this.emit("websocket:registered", { namespace, handlers });
296
+ this.emit('websocket:registered', { namespace, handlers });
300
297
  return this;
301
298
  }
302
299
  listen(port, host, callback) {
303
300
  // Only available for Node.js runtime
304
- if (this.runtimeType !== "node") {
301
+ if (this.runtimeType !== 'node') {
305
302
  throw new Error(`listen() is only available for Node.js runtime. Current runtime: ${this.runtimeType}. Use getHandler() for other runtimes.`);
306
303
  }
307
304
  // Handle overloaded parameters (port, callback) or (port, host, callback)
308
- if (typeof host === "function") {
305
+ if (typeof host === 'function') {
309
306
  callback = host;
310
307
  host = undefined;
311
308
  }
312
- this.eventBus.emit("server:starting", { port, runtime: this.runtimeType });
309
+ this.eventBus.emit('server:starting', { port, runtime: this.runtimeType });
313
310
  // Add documentation middleware first (if enabled)
314
311
  try {
315
312
  const docsMiddleware = this.documentation.getDocsMiddleware();
316
313
  this.coreFramework.addMiddleware(docsMiddleware);
317
- this.logger.debug("Documentation middleware added", "Documentation");
314
+ this.logger.debug('Documentation middleware added', 'Documentation');
318
315
  }
319
316
  catch (error) {
320
317
  // Documentation not enabled, that's fine
321
- this.logger.debug("Documentation not enabled", "Documentation");
318
+ this.logger.debug('Documentation not enabled', 'Documentation');
322
319
  }
323
320
  // Add intelligent routing middleware to handle chainable routes
324
321
  this.coreFramework.addMiddleware(async (req, res, next) => {
@@ -333,23 +330,23 @@ class Moro extends events_1.EventEmitter {
333
330
  this.registerDirectRoutes();
334
331
  }
335
332
  const actualCallback = () => {
336
- const displayHost = host || "localhost";
337
- this.logger.info("Moro Server Started", "Server");
338
- this.logger.info(`Runtime: ${this.runtimeType}`, "Server");
339
- this.logger.info(`HTTP API: http://${displayHost}:${port}`, "Server");
340
- this.logger.info(`WebSocket: ws://${displayHost}:${port}`, "Server");
341
- this.logger.info("Native Node.js HTTP • Zero Dependencies • Maximum Performance", "Server");
342
- this.logger.info("Learn more at https://morojs.com", "Server");
333
+ const displayHost = host || 'localhost';
334
+ this.logger.info('Moro Server Started', 'Server');
335
+ this.logger.info(`Runtime: ${this.runtimeType}`, 'Server');
336
+ this.logger.info(`HTTP API: http://${displayHost}:${port}`, 'Server');
337
+ this.logger.info(`WebSocket: ws://${displayHost}:${port}`, 'Server');
338
+ this.logger.info('Native Node.js HTTP • Zero Dependencies • Maximum Performance', 'Server');
339
+ this.logger.info('Learn more at https://morojs.com', 'Server');
343
340
  // Log intelligent routes info
344
341
  const intelligentRoutes = this.intelligentRouting.getIntelligentRoutes();
345
342
  if (intelligentRoutes.length > 0) {
346
- this.logger.info(`Intelligent Routes: ${intelligentRoutes.length} registered`, "Server");
343
+ this.logger.info(`Intelligent Routes: ${intelligentRoutes.length} registered`, 'Server');
347
344
  }
348
- this.eventBus.emit("server:started", { port, runtime: this.runtimeType });
345
+ this.eventBus.emit('server:started', { port, runtime: this.runtimeType });
349
346
  if (callback)
350
347
  callback();
351
348
  };
352
- if (host && typeof host === "string") {
349
+ if (host && typeof host === 'string') {
353
350
  this.coreFramework.listen(port, host, actualCallback);
354
351
  }
355
352
  else {
@@ -387,7 +384,7 @@ class Moro extends events_1.EventEmitter {
387
384
  // Find matching route
388
385
  const route = this.findMatchingRoute(req.method, req.path);
389
386
  if (!route) {
390
- res.status(404).json({ success: false, error: "Not found" });
387
+ res.status(404).json({ success: false, error: 'Not found' });
391
388
  return;
392
389
  }
393
390
  try {
@@ -402,9 +399,7 @@ class Moro extends events_1.EventEmitter {
402
399
  // Get handler function
403
400
  const handler = this.routeHandlers[route.handler];
404
401
  if (!handler) {
405
- res
406
- .status(500)
407
- .json({ success: false, error: "Handler not found" });
402
+ res.status(500).json({ success: false, error: 'Handler not found' });
408
403
  return;
409
404
  }
410
405
  // Execute validation if present
@@ -417,9 +412,9 @@ class Moro extends events_1.EventEmitter {
417
412
  if (error.issues) {
418
413
  res.status(400).json({
419
414
  success: false,
420
- error: "Validation failed",
415
+ error: 'Validation failed',
421
416
  details: error.issues.map((issue) => ({
422
- field: issue.path.length > 0 ? issue.path.join(".") : "body",
417
+ field: issue.path.length > 0 ? issue.path.join('.') : 'body',
423
418
  message: issue.message,
424
419
  code: issue.code,
425
420
  })),
@@ -431,12 +426,12 @@ class Moro extends events_1.EventEmitter {
431
426
  }
432
427
  // Execute rate limiting if present
433
428
  if (route.rateLimit) {
434
- const clientId = req.ip || "unknown";
429
+ const clientId = req.ip || 'unknown';
435
430
  const key = `${route.method}:${route.path}:${clientId}`;
436
431
  if (!this.checkRateLimit(key, route.rateLimit)) {
437
432
  res.status(429).json({
438
433
  success: false,
439
- error: "Rate limit exceeded",
434
+ error: 'Rate limit exceeded',
440
435
  retryAfter: Math.ceil(route.rateLimit.window / 1000),
441
436
  });
442
437
  return;
@@ -452,7 +447,7 @@ class Moro extends events_1.EventEmitter {
452
447
  if (!res.headersSent) {
453
448
  res.status(500).json({
454
449
  success: false,
455
- error: error instanceof Error ? error.message : "Internal server error",
450
+ error: error instanceof Error ? error.message : 'Internal server error',
456
451
  });
457
452
  }
458
453
  }
@@ -476,11 +471,9 @@ class Moro extends events_1.EventEmitter {
476
471
  // Convert path to regex (simplified version)
477
472
  pathToRegex(path) {
478
473
  const paramNames = [];
479
- const regexPath = path
480
- .replace(/\//g, "\\/")
481
- .replace(/:([^/]+)/g, (match, paramName) => {
474
+ const regexPath = path.replace(/\//g, '\\/').replace(/:([^/]+)/g, (match, paramName) => {
482
475
  paramNames.push(paramName);
483
- return "([^/]+)";
476
+ return '([^/]+)';
484
477
  });
485
478
  return {
486
479
  pattern: new RegExp(`^${regexPath}$`),
@@ -533,9 +526,9 @@ class Moro extends events_1.EventEmitter {
533
526
  if (error.issues) {
534
527
  res.status(400).json({
535
528
  success: false,
536
- error: "Validation failed",
529
+ error: 'Validation failed',
537
530
  details: error.issues.map((issue) => ({
538
- field: issue.path.length > 0 ? issue.path.join(".") : "body",
531
+ field: issue.path.length > 0 ? issue.path.join('.') : 'body',
539
532
  message: issue.message,
540
533
  code: issue.code,
541
534
  })),
@@ -547,12 +540,12 @@ class Moro extends events_1.EventEmitter {
547
540
  }
548
541
  // Rate limiting middleware
549
542
  if (route.rateLimit) {
550
- const clientId = req.ip || req.connection.remoteAddress || "unknown";
543
+ const clientId = req.ip || req.connection.remoteAddress || 'unknown';
551
544
  const key = `${route.method}:${route.path}:${clientId}`;
552
545
  if (!this.checkRateLimit(key, route.rateLimit)) {
553
546
  res.status(429).json({
554
547
  success: false,
555
- error: "Rate limit exceeded",
548
+ error: 'Rate limit exceeded',
556
549
  retryAfter: Math.ceil(route.rateLimit.window / 1000),
557
550
  });
558
551
  return;
@@ -568,9 +561,7 @@ class Moro extends events_1.EventEmitter {
568
561
  if (!res.headersSent) {
569
562
  res.status(500).json({
570
563
  success: false,
571
- error: error instanceof Error
572
- ? error.message
573
- : "Internal server error",
564
+ error: error instanceof Error ? error.message : 'Internal server error',
574
565
  });
575
566
  }
576
567
  }
@@ -602,7 +593,7 @@ class Moro extends events_1.EventEmitter {
602
593
  setupDefaultMiddleware(options) {
603
594
  // CORS
604
595
  if (options.cors !== false) {
605
- const corsOptions = typeof options.cors === "object" ? options.cors : {};
596
+ const corsOptions = typeof options.cors === 'object' ? options.cors : {};
606
597
  this.use(http_1.middleware.cors(corsOptions));
607
598
  }
608
599
  // Helmet
@@ -611,25 +602,25 @@ class Moro extends events_1.EventEmitter {
611
602
  }
612
603
  // Compression
613
604
  if (options.compression !== false) {
614
- const compressionOptions = typeof options.compression === "object" ? options.compression : {};
605
+ const compressionOptions = typeof options.compression === 'object' ? options.compression : {};
615
606
  this.use(http_1.middleware.compression(compressionOptions));
616
607
  }
617
608
  // Body size limiting
618
- this.use(http_1.middleware.bodySize({ limit: "10mb" }));
609
+ this.use(http_1.middleware.bodySize({ limit: '10mb' }));
619
610
  }
620
611
  autoDiscoverModules(modulesPath) {
621
612
  try {
622
613
  if (!(0, fs_1.statSync)(modulesPath).isDirectory())
623
614
  return;
624
615
  const items = (0, fs_1.readdirSync)(modulesPath);
625
- items.forEach((item) => {
616
+ items.forEach(item => {
626
617
  const fullPath = (0, path_1.join)(modulesPath, item);
627
618
  if ((0, fs_1.statSync)(fullPath).isDirectory()) {
628
- const indexPath = (0, path_1.join)(fullPath, "index.ts");
619
+ const indexPath = (0, path_1.join)(fullPath, 'index.ts');
629
620
  try {
630
621
  (0, fs_1.statSync)(indexPath);
631
622
  // Module directory found, will be loaded later
632
- this.logger.debug(`Discovered module: ${item}`, "ModuleDiscovery");
623
+ this.logger.debug(`Discovered module: ${item}`, 'ModuleDiscovery');
633
624
  }
634
625
  catch {
635
626
  // No index.ts, skip
@@ -655,25 +646,25 @@ function createApp(options) {
655
646
  function createAppNode(options) {
656
647
  return new Moro({
657
648
  ...options,
658
- runtime: { type: "node" },
649
+ runtime: { type: 'node' },
659
650
  });
660
651
  }
661
652
  function createAppEdge(options) {
662
653
  return new Moro({
663
654
  ...options,
664
- runtime: { type: "vercel-edge" },
655
+ runtime: { type: 'vercel-edge' },
665
656
  });
666
657
  }
667
658
  function createAppLambda(options) {
668
659
  return new Moro({
669
660
  ...options,
670
- runtime: { type: "aws-lambda" },
661
+ runtime: { type: 'aws-lambda' },
671
662
  });
672
663
  }
673
664
  function createAppWorker(options) {
674
665
  return new Moro({
675
666
  ...options,
676
- runtime: { type: "cloudflare-workers" },
667
+ runtime: { type: 'cloudflare-workers' },
677
668
  });
678
669
  }
679
670
  //# sourceMappingURL=moro.js.map
package/dist/moro.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"moro.js","sourceRoot":"","sources":["../src/moro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"moro.js","sourceRoot":"","sources":["../src/moro.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export interface CacheOptions {
23
23
  maxAge?: number;
24
24
  staleWhileRevalidate?: number;
25
25
  vary?: string[];
26
- etag?: boolean | "weak" | "strong";
26
+ etag?: boolean | 'weak' | 'strong';
27
27
  }
28
28
  export interface CachedResponse {
29
29
  body: any;
@@ -1,5 +1,5 @@
1
- import { RuntimeConfig } from "./runtime";
2
- import { LoggerOptions } from "./logger";
1
+ import { RuntimeConfig } from './runtime';
2
+ import { LoggerOptions } from './logger';
3
3
  export interface MoroOptions {
4
4
  autoDiscover?: boolean;
5
5
  modulesPath?: string;