@morojs/moro 1.5.5 → 1.5.6

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 (70) hide show
  1. package/dist/core/config/config-manager.d.ts +44 -0
  2. package/dist/core/config/config-manager.js +114 -0
  3. package/dist/core/config/config-manager.js.map +1 -0
  4. package/dist/core/config/config-sources.d.ts +21 -0
  5. package/dist/core/config/config-sources.js +314 -0
  6. package/dist/core/config/config-sources.js.map +1 -0
  7. package/dist/core/config/config-validator.d.ts +21 -0
  8. package/dist/core/config/config-validator.js +737 -0
  9. package/dist/core/config/config-validator.js.map +1 -0
  10. package/dist/core/config/file-loader.d.ts +0 -5
  11. package/dist/core/config/file-loader.js +0 -171
  12. package/dist/core/config/file-loader.js.map +1 -1
  13. package/dist/core/config/index.d.ts +39 -10
  14. package/dist/core/config/index.js +66 -29
  15. package/dist/core/config/index.js.map +1 -1
  16. package/dist/core/config/schema.js +22 -31
  17. package/dist/core/config/schema.js.map +1 -1
  18. package/dist/core/config/utils.d.ts +9 -2
  19. package/dist/core/config/utils.js +19 -32
  20. package/dist/core/config/utils.js.map +1 -1
  21. package/dist/core/framework.d.ts +2 -7
  22. package/dist/core/framework.js +12 -5
  23. package/dist/core/framework.js.map +1 -1
  24. package/dist/core/http/http-server.d.ts +12 -0
  25. package/dist/core/http/http-server.js +56 -0
  26. package/dist/core/http/http-server.js.map +1 -1
  27. package/dist/core/http/router.d.ts +12 -0
  28. package/dist/core/http/router.js +114 -36
  29. package/dist/core/http/router.js.map +1 -1
  30. package/dist/core/logger/index.d.ts +1 -1
  31. package/dist/core/logger/index.js +2 -1
  32. package/dist/core/logger/index.js.map +1 -1
  33. package/dist/core/logger/logger.d.ts +9 -1
  34. package/dist/core/logger/logger.js +36 -3
  35. package/dist/core/logger/logger.js.map +1 -1
  36. package/dist/core/routing/index.d.ts +20 -0
  37. package/dist/core/routing/index.js +109 -11
  38. package/dist/core/routing/index.js.map +1 -1
  39. package/dist/moro.d.ts +7 -20
  40. package/dist/moro.js +97 -192
  41. package/dist/moro.js.map +1 -1
  42. package/dist/types/config.d.ts +39 -2
  43. package/dist/types/core.d.ts +22 -39
  44. package/dist/types/logger.d.ts +4 -0
  45. package/package.json +1 -1
  46. package/src/core/config/config-manager.ts +133 -0
  47. package/src/core/config/config-sources.ts +384 -0
  48. package/src/core/config/config-validator.ts +1035 -0
  49. package/src/core/config/file-loader.ts +0 -233
  50. package/src/core/config/index.ts +77 -32
  51. package/src/core/config/schema.ts +22 -31
  52. package/src/core/config/utils.ts +22 -29
  53. package/src/core/framework.ts +18 -11
  54. package/src/core/http/http-server.ts +66 -0
  55. package/src/core/http/router.ts +127 -38
  56. package/src/core/logger/index.ts +1 -0
  57. package/src/core/logger/logger.ts +43 -4
  58. package/src/core/routing/index.ts +116 -12
  59. package/src/moro.ts +105 -225
  60. package/src/types/config.ts +40 -2
  61. package/src/types/core.ts +32 -43
  62. package/src/types/logger.ts +6 -0
  63. package/dist/core/config/loader.d.ts +0 -7
  64. package/dist/core/config/loader.js +0 -269
  65. package/dist/core/config/loader.js.map +0 -1
  66. package/dist/core/config/validation.d.ts +0 -17
  67. package/dist/core/config/validation.js +0 -131
  68. package/dist/core/config/validation.js.map +0 -1
  69. package/src/core/config/loader.ts +0 -633
  70. package/src/core/config/validation.ts +0 -140
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createFrameworkLogger = exports.logger = exports.MoroLogger = void 0;
4
4
  exports.configureGlobalLogger = configureGlobalLogger;
5
+ exports.destroyGlobalLogger = destroyGlobalLogger;
5
6
  exports.applyLoggingConfiguration = applyLoggingConfiguration;
6
7
  // Moro Logger - Beautiful, Fast, Feature-Rich
7
8
  const perf_hooks_1 = require("perf_hooks");
@@ -48,6 +49,7 @@ class MoroLogger {
48
49
  // Buffer overflow protection
49
50
  bufferOverflowThreshold;
50
51
  emergencyFlushInProgress = false;
52
+ isDestroyed = false;
51
53
  // High-performance output methods
52
54
  static LEVELS = {
53
55
  debug: 0,
@@ -188,7 +190,9 @@ class MoroLogger {
188
190
  }
189
191
  }
190
192
  child(context, metadata) {
191
- const childLogger = new MoroLogger(this.options);
193
+ // Create child logger with current parent level (not original options level)
194
+ const childOptions = { ...this.options, level: this.level };
195
+ const childLogger = new MoroLogger(childOptions);
192
196
  childLogger.contextPrefix = this.contextPrefix ? `${this.contextPrefix}:${context}` : context;
193
197
  childLogger.contextMetadata = { ...this.contextMetadata, ...metadata };
194
198
  childLogger.outputs = this.outputs;
@@ -200,6 +204,9 @@ class MoroLogger {
200
204
  setLevel(level) {
201
205
  this.level = level;
202
206
  }
207
+ getLevel() {
208
+ return this.level;
209
+ }
203
210
  addOutput(output) {
204
211
  this.outputs.set(output.name, output);
205
212
  }
@@ -610,8 +617,8 @@ class MoroLogger {
610
617
  }
611
618
  }
612
619
  scheduleFlush() {
613
- if (this.flushTimeout) {
614
- return; // Already scheduled
620
+ if (this.flushTimeout || this.isDestroyed) {
621
+ return; // Already scheduled or destroyed
615
622
  }
616
623
  this.flushTimeout = setTimeout(() => {
617
624
  this.flushBuffer();
@@ -786,6 +793,25 @@ class MoroLogger {
786
793
  // Ignore flush errors
787
794
  }
788
795
  }
796
+ // Destroy logger and clean up all resources (for testing)
797
+ destroy() {
798
+ // Mark as destroyed to prevent new timeouts
799
+ this.isDestroyed = true;
800
+ // Clear any remaining timeouts
801
+ if (this.flushTimeout) {
802
+ clearTimeout(this.flushTimeout);
803
+ this.flushTimeout = null;
804
+ }
805
+ // Flush any remaining buffer
806
+ this.flushBuffer();
807
+ // Clear outputs and filters
808
+ this.outputs.clear();
809
+ this.filters.clear();
810
+ // Clear history
811
+ this.history.length = 0;
812
+ this.historyIndex = 0;
813
+ this.historySize = 0;
814
+ }
789
815
  }
790
816
  exports.MoroLogger = MoroLogger;
791
817
  // Global logger instance
@@ -808,6 +834,13 @@ function configureGlobalLogger(options) {
808
834
  // Additional configuration options can be added here as needed
809
835
  // For now, focusing on level which is the most critical
810
836
  }
837
+ /**
838
+ * Destroy the global logger and clean up resources (for testing)
839
+ * @internal
840
+ */
841
+ function destroyGlobalLogger() {
842
+ exports.logger.destroy();
843
+ }
811
844
  /**
812
845
  * Apply logging configuration from the config system and/or createApp options
813
846
  */
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/core/logger/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/core/logger/logger.ts"],"names":[],"mappings":"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"}
@@ -92,6 +92,14 @@ export declare class IntelligentRouteBuilder implements RouteBuilder {
92
92
  }
93
93
  export declare class ExecutableRoute implements CompiledRoute {
94
94
  readonly schema: RouteSchema;
95
+ private readonly requiresAuth;
96
+ private readonly requiresValidation;
97
+ private readonly requiresRateLimit;
98
+ private readonly requiresCache;
99
+ private readonly hasBeforeMiddleware;
100
+ private readonly hasAfterMiddleware;
101
+ private readonly hasTransformMiddleware;
102
+ private readonly isFastPath;
95
103
  constructor(schema: RouteSchema);
96
104
  execute(req: HttpRequest, res: HttpResponse): Promise<void>;
97
105
  private executePhase;
@@ -101,6 +109,18 @@ export declare class ExecutableRoute implements CompiledRoute {
101
109
  private executeValidation;
102
110
  private sendValidationError;
103
111
  private executeCache;
112
+ getPerformanceInfo(): {
113
+ path: string;
114
+ method: HttpMethod;
115
+ isFastPath: boolean;
116
+ requiresAuth: boolean;
117
+ requiresValidation: boolean;
118
+ requiresRateLimit: boolean;
119
+ requiresCache: boolean;
120
+ hasBeforeMiddleware: boolean;
121
+ hasAfterMiddleware: boolean;
122
+ hasTransformMiddleware: boolean;
123
+ };
104
124
  }
105
125
  export declare function createRoute(method: HttpMethod, path: string): RouteBuilder;
106
126
  export declare function defineRoute(schema: RouteSchema): CompiledRoute;
@@ -131,20 +131,87 @@ exports.IntelligentRouteBuilder = IntelligentRouteBuilder;
131
131
  // Executable route with intelligent middleware ordering
132
132
  class ExecutableRoute {
133
133
  schema;
134
+ // PERFORMANCE OPTIMIZATION: Pre-analyze route requirements
135
+ requiresAuth;
136
+ requiresValidation;
137
+ requiresRateLimit;
138
+ requiresCache;
139
+ hasBeforeMiddleware;
140
+ hasAfterMiddleware;
141
+ hasTransformMiddleware;
142
+ isFastPath;
134
143
  constructor(schema) {
135
144
  this.schema = schema;
145
+ // Pre-calculate what this route actually needs
146
+ this.requiresAuth = !!this.schema.auth;
147
+ this.requiresValidation = !!this.schema.validation;
148
+ this.requiresRateLimit = !!this.schema.rateLimit;
149
+ this.requiresCache = !!this.schema.cache;
150
+ this.hasBeforeMiddleware = !!this.schema.middleware?.before?.length;
151
+ this.hasAfterMiddleware = !!this.schema.middleware?.after?.length;
152
+ this.hasTransformMiddleware = !!this.schema.middleware?.transform?.length;
153
+ // Fast path: no middleware, no auth, no validation, no rate limiting
154
+ this.isFastPath =
155
+ !this.requiresAuth &&
156
+ !this.requiresValidation &&
157
+ !this.requiresRateLimit &&
158
+ !this.requiresCache &&
159
+ !this.hasBeforeMiddleware &&
160
+ !this.hasAfterMiddleware &&
161
+ !this.hasTransformMiddleware;
162
+ // Log fast path routes for monitoring
163
+ if (this.isFastPath) {
164
+ logger.debug(`Fast path route: ${this.schema.method} ${this.schema.path}`, 'FastPath');
165
+ }
136
166
  }
137
167
  async execute(req, res) {
138
168
  const validatedReq = req;
139
169
  try {
140
- // Execute middleware in intelligent order
141
- await this.executePhase('before', validatedReq, res);
142
- await this.executePhase('rateLimit', validatedReq, res);
143
- await this.executePhase('auth', validatedReq, res);
144
- await this.executePhase('validation', validatedReq, res);
145
- await this.executePhase('transform', validatedReq, res);
146
- await this.executePhase('cache', validatedReq, res);
147
- await this.executePhase('after', validatedReq, res);
170
+ // PERFORMANCE OPTIMIZATION: Fast path for simple routes
171
+ if (this.isFastPath) {
172
+ // Skip all middleware - execute handler directly
173
+ const result = await this.schema.handler(validatedReq, res);
174
+ if (result !== undefined && !res.headersSent) {
175
+ res.json(result);
176
+ }
177
+ return;
178
+ }
179
+ // Optimized middleware execution - only run what's needed
180
+ if (this.hasBeforeMiddleware) {
181
+ await this.executePhase('before', validatedReq, res);
182
+ if (res.headersSent)
183
+ return;
184
+ }
185
+ if (this.requiresRateLimit) {
186
+ await this.executePhase('rateLimit', validatedReq, res);
187
+ if (res.headersSent)
188
+ return;
189
+ }
190
+ if (this.requiresAuth) {
191
+ await this.executePhase('auth', validatedReq, res);
192
+ if (res.headersSent)
193
+ return;
194
+ }
195
+ if (this.requiresValidation) {
196
+ await this.executePhase('validation', validatedReq, res);
197
+ if (res.headersSent)
198
+ return;
199
+ }
200
+ if (this.hasTransformMiddleware) {
201
+ await this.executePhase('transform', validatedReq, res);
202
+ if (res.headersSent)
203
+ return;
204
+ }
205
+ if (this.requiresCache) {
206
+ await this.executePhase('cache', validatedReq, res);
207
+ if (res.headersSent)
208
+ return;
209
+ }
210
+ if (this.hasAfterMiddleware) {
211
+ await this.executePhase('after', validatedReq, res);
212
+ if (res.headersSent)
213
+ return;
214
+ }
148
215
  // Execute handler last
149
216
  if (!res.headersSent) {
150
217
  await this.executePhase('handler', validatedReq, res);
@@ -218,16 +285,32 @@ class ExecutableRoute {
218
285
  }
219
286
  }
220
287
  async executeMiddleware(middleware, req, res) {
288
+ // PERFORMANCE OPTIMIZATION: Reduce Promise overhead
221
289
  return new Promise((resolve, reject) => {
290
+ let resolved = false;
291
+ const next = () => {
292
+ if (!resolved) {
293
+ resolved = true;
294
+ resolve();
295
+ }
296
+ };
222
297
  try {
223
- const next = () => resolve();
224
298
  const result = middleware(req, res, next);
225
299
  if (result instanceof Promise) {
226
- result.then(() => resolve()).catch(reject);
300
+ result.then(() => !resolved && next()).catch(reject);
301
+ }
302
+ else {
303
+ // Synchronous middleware - call next immediately if not called
304
+ if (!resolved) {
305
+ next();
306
+ }
227
307
  }
228
308
  }
229
309
  catch (error) {
230
- reject(error);
310
+ if (!resolved) {
311
+ resolved = true;
312
+ reject(error);
313
+ }
231
314
  }
232
315
  });
233
316
  }
@@ -323,6 +406,21 @@ class ExecutableRoute {
323
406
  config: this.schema.cache,
324
407
  });
325
408
  }
409
+ // Performance monitoring
410
+ getPerformanceInfo() {
411
+ return {
412
+ path: this.schema.path,
413
+ method: this.schema.method,
414
+ isFastPath: this.isFastPath,
415
+ requiresAuth: this.requiresAuth,
416
+ requiresValidation: this.requiresValidation,
417
+ requiresRateLimit: this.requiresRateLimit,
418
+ requiresCache: this.requiresCache,
419
+ hasBeforeMiddleware: this.hasBeforeMiddleware,
420
+ hasAfterMiddleware: this.hasAfterMiddleware,
421
+ hasTransformMiddleware: this.hasTransformMiddleware,
422
+ };
423
+ }
326
424
  }
327
425
  exports.ExecutableRoute = ExecutableRoute;
328
426
  // Factory functions for creating routes
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/routing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/routing/index.ts"],"names":[],"mappings":"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"}
package/dist/moro.d.ts CHANGED
@@ -82,14 +82,8 @@ export declare class Moro extends EventEmitter {
82
82
  private autoDiscoverModules;
83
83
  private importModule;
84
84
  /**
85
- * Node.js Clustering Implementation with Empirical Optimizations
86
- *
87
- * This clustering algorithm is based on empirical testing and Node.js best practices.
88
- * Key findings from research and testing:
89
- *
90
- * Performance Benefits:
91
- * - Clustering can improve performance by up to 66% (Source: Medium - Danish Siddiq)
92
- * - Enables utilization of multiple CPU cores in Node.js applications
85
+ * Node.js Clustering Implementation
86
+ * This clustering algorithm is based on published research and Node.js best practices.
93
87
  *
94
88
  * IPC (Inter-Process Communication) Considerations:
95
89
  * - Excessive workers create IPC bottlenecks (Source: BetterStack Node.js Guide)
@@ -100,25 +94,18 @@ export declare class Moro extends EventEmitter {
100
94
  * - ~2GB per worker prevents memory pressure and GC overhead
101
95
  * - Conservative heap limits reduce memory fragmentation
102
96
  *
103
- * Empirical Findings (MoroJS Testing):
104
- * - 4-worker cap provides optimal performance regardless of core count
105
- * - IPC becomes the primary bottleneck on high-core machines (16+ cores)
106
- * - Memory allocation per worker more important than CPU utilization
107
- *
108
97
  * References:
109
98
  * - Node.js Cluster Documentation: https://nodejs.org/api/cluster.html
110
99
  * - BetterStack Node.js Clustering: https://betterstack.com/community/guides/scaling-nodejs/node-clustering/
111
100
  */
112
101
  private clusterWorkers;
113
- private workerStats;
114
- private adaptiveScalingEnabled;
115
- private lastScalingCheck;
116
- private readonly SCALING_INTERVAL;
117
102
  private startWithClustering;
118
103
  private handleWorkerMessage;
119
- private forkWorkerWithMonitoring;
120
- private evaluateWorkerPerformance;
121
- private startAdaptiveScaling;
104
+ /**
105
+ * Gracefully close the application and clean up resources
106
+ * This should be called in tests and during shutdown
107
+ */
108
+ close(): Promise<void>;
122
109
  }
123
110
  export declare function createApp(options?: MoroOptions): Moro;
124
111
  export declare function createAppNode(options?: Omit<MoroOptions, 'runtime'>): Moro;