@morojs/moro 1.5.17 → 1.6.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 (138) hide show
  1. package/README.md +48 -65
  2. package/dist/core/auth/morojs-adapter.js +12 -16
  3. package/dist/core/auth/morojs-adapter.js.map +1 -1
  4. package/dist/core/config/file-loader.d.ts +5 -0
  5. package/dist/core/config/file-loader.js +171 -0
  6. package/dist/core/config/file-loader.js.map +1 -1
  7. package/dist/core/config/index.d.ts +10 -39
  8. package/dist/core/config/index.js +29 -66
  9. package/dist/core/config/index.js.map +1 -1
  10. package/dist/core/config/loader.d.ts +7 -0
  11. package/dist/core/config/loader.js +269 -0
  12. package/dist/core/config/loader.js.map +1 -0
  13. package/dist/core/config/schema.js +31 -41
  14. package/dist/core/config/schema.js.map +1 -1
  15. package/dist/core/config/utils.d.ts +2 -9
  16. package/dist/core/config/utils.js +32 -19
  17. package/dist/core/config/utils.js.map +1 -1
  18. package/dist/core/config/validation.d.ts +17 -0
  19. package/dist/core/config/validation.js +131 -0
  20. package/dist/core/config/validation.js.map +1 -0
  21. package/dist/core/database/adapters/mongodb.d.ts +0 -10
  22. package/dist/core/database/adapters/mongodb.js +2 -23
  23. package/dist/core/database/adapters/mongodb.js.map +1 -1
  24. package/dist/core/database/adapters/mysql.d.ts +0 -11
  25. package/dist/core/database/adapters/mysql.js +0 -1
  26. package/dist/core/database/adapters/mysql.js.map +1 -1
  27. package/dist/core/database/adapters/postgresql.d.ts +1 -9
  28. package/dist/core/database/adapters/postgresql.js +1 -1
  29. package/dist/core/database/adapters/postgresql.js.map +1 -1
  30. package/dist/core/database/adapters/redis.d.ts +0 -9
  31. package/dist/core/database/adapters/redis.js +4 -14
  32. package/dist/core/database/adapters/redis.js.map +1 -1
  33. package/dist/core/framework.d.ts +7 -6
  34. package/dist/core/framework.js +16 -131
  35. package/dist/core/framework.js.map +1 -1
  36. package/dist/core/http/http-server.d.ts +0 -12
  37. package/dist/core/http/http-server.js +23 -151
  38. package/dist/core/http/http-server.js.map +1 -1
  39. package/dist/core/http/router.d.ts +0 -12
  40. package/dist/core/http/router.js +36 -114
  41. package/dist/core/http/router.js.map +1 -1
  42. package/dist/core/logger/filters.js +4 -12
  43. package/dist/core/logger/filters.js.map +1 -1
  44. package/dist/core/logger/index.d.ts +1 -1
  45. package/dist/core/logger/index.js +1 -2
  46. package/dist/core/logger/index.js.map +1 -1
  47. package/dist/core/logger/logger.d.ts +13 -29
  48. package/dist/core/logger/logger.js +203 -380
  49. package/dist/core/logger/logger.js.map +1 -1
  50. package/dist/core/logger/outputs.js +2 -0
  51. package/dist/core/logger/outputs.js.map +1 -1
  52. package/dist/core/middleware/built-in/auth.js +17 -88
  53. package/dist/core/middleware/built-in/auth.js.map +1 -1
  54. package/dist/core/middleware/built-in/cache.js +1 -3
  55. package/dist/core/middleware/built-in/cache.js.map +1 -1
  56. package/dist/core/middleware/built-in/index.d.ts +0 -1
  57. package/dist/core/middleware/built-in/index.js +1 -6
  58. package/dist/core/middleware/built-in/index.js.map +1 -1
  59. package/dist/core/middleware/built-in/request-logger.js +2 -3
  60. package/dist/core/middleware/built-in/request-logger.js.map +1 -1
  61. package/dist/core/middleware/built-in/sse.js +7 -9
  62. package/dist/core/middleware/built-in/sse.js.map +1 -1
  63. package/dist/core/modules/auto-discovery.d.ts +0 -17
  64. package/dist/core/modules/auto-discovery.js +12 -367
  65. package/dist/core/modules/auto-discovery.js.map +1 -1
  66. package/dist/core/modules/modules.js +2 -12
  67. package/dist/core/modules/modules.js.map +1 -1
  68. package/dist/core/networking/adapters/ws-adapter.d.ts +1 -1
  69. package/dist/core/networking/adapters/ws-adapter.js +2 -2
  70. package/dist/core/networking/adapters/ws-adapter.js.map +1 -1
  71. package/dist/core/networking/service-discovery.js +7 -7
  72. package/dist/core/networking/service-discovery.js.map +1 -1
  73. package/dist/core/routing/index.d.ts +0 -20
  74. package/dist/core/routing/index.js +13 -178
  75. package/dist/core/routing/index.js.map +1 -1
  76. package/dist/core/runtime/node-adapter.js +6 -12
  77. package/dist/core/runtime/node-adapter.js.map +1 -1
  78. package/dist/moro.d.ts +0 -48
  79. package/dist/moro.js +148 -456
  80. package/dist/moro.js.map +1 -1
  81. package/dist/types/config.d.ts +2 -58
  82. package/dist/types/core.d.ts +40 -34
  83. package/dist/types/http.d.ts +1 -16
  84. package/dist/types/logger.d.ts +0 -7
  85. package/dist/types/module.d.ts +0 -11
  86. package/package.json +2 -2
  87. package/src/core/auth/morojs-adapter.ts +13 -18
  88. package/src/core/config/file-loader.ts +233 -0
  89. package/src/core/config/index.ts +32 -77
  90. package/src/core/config/loader.ts +633 -0
  91. package/src/core/config/schema.ts +31 -41
  92. package/src/core/config/utils.ts +29 -22
  93. package/src/core/config/validation.ts +140 -0
  94. package/src/core/database/README.md +16 -26
  95. package/src/core/database/adapters/mongodb.ts +2 -30
  96. package/src/core/database/adapters/mysql.ts +0 -14
  97. package/src/core/database/adapters/postgresql.ts +2 -12
  98. package/src/core/database/adapters/redis.ts +4 -27
  99. package/src/core/framework.ts +23 -163
  100. package/src/core/http/http-server.ts +36 -176
  101. package/src/core/http/router.ts +38 -127
  102. package/src/core/logger/filters.ts +4 -12
  103. package/src/core/logger/index.ts +0 -1
  104. package/src/core/logger/logger.ts +216 -427
  105. package/src/core/logger/outputs.ts +2 -0
  106. package/src/core/middleware/built-in/auth.ts +17 -98
  107. package/src/core/middleware/built-in/cache.ts +1 -3
  108. package/src/core/middleware/built-in/index.ts +0 -8
  109. package/src/core/middleware/built-in/request-logger.ts +1 -3
  110. package/src/core/middleware/built-in/sse.ts +7 -9
  111. package/src/core/modules/auto-discovery.ts +13 -476
  112. package/src/core/modules/modules.ts +9 -20
  113. package/src/core/networking/adapters/ws-adapter.ts +5 -2
  114. package/src/core/networking/service-discovery.ts +7 -6
  115. package/src/core/routing/index.ts +14 -198
  116. package/src/core/runtime/node-adapter.ts +6 -12
  117. package/src/moro.ts +166 -554
  118. package/src/types/config.ts +2 -59
  119. package/src/types/core.ts +45 -47
  120. package/src/types/http.ts +1 -23
  121. package/src/types/logger.ts +0 -9
  122. package/src/types/module.ts +0 -12
  123. package/dist/core/config/config-manager.d.ts +0 -44
  124. package/dist/core/config/config-manager.js +0 -114
  125. package/dist/core/config/config-manager.js.map +0 -1
  126. package/dist/core/config/config-sources.d.ts +0 -21
  127. package/dist/core/config/config-sources.js +0 -502
  128. package/dist/core/config/config-sources.js.map +0 -1
  129. package/dist/core/config/config-validator.d.ts +0 -21
  130. package/dist/core/config/config-validator.js +0 -765
  131. package/dist/core/config/config-validator.js.map +0 -1
  132. package/dist/core/middleware/built-in/jwt-helpers.d.ts +0 -118
  133. package/dist/core/middleware/built-in/jwt-helpers.js +0 -221
  134. package/dist/core/middleware/built-in/jwt-helpers.js.map +0 -1
  135. package/src/core/config/config-manager.ts +0 -133
  136. package/src/core/config/config-sources.ts +0 -596
  137. package/src/core/config/config-validator.ts +0 -1078
  138. package/src/core/middleware/built-in/jwt-helpers.ts +0 -240
@@ -5,12 +5,6 @@ const logger_1 = require("../logger");
5
5
  class Router {
6
6
  routes = [];
7
7
  logger = (0, logger_1.createFrameworkLogger)('Router');
8
- // Performance optimizations - O(1) static route lookup
9
- staticRoutes = new Map(); // "GET:/api/users" -> route
10
- dynamicRoutes = []; // Routes with parameters
11
- // Object pooling for parameters to reduce GC pressure
12
- paramObjectPool = [];
13
- maxPoolSize = 50;
14
8
  get(path, ...handlers) {
15
9
  this.addRoute('GET', path, handlers);
16
10
  }
@@ -30,35 +24,14 @@ class Router {
30
24
  const { pattern, paramNames } = this.pathToRegex(path);
31
25
  const handler = handlers.pop();
32
26
  const middleware = handlers;
33
- const route = {
27
+ this.routes.push({
34
28
  method,
35
29
  path,
36
30
  pattern,
37
31
  paramNames,
38
32
  handler,
39
33
  middleware,
40
- };
41
- // Add to routes array (maintain compatibility)
42
- this.routes.push(route);
43
- // Performance optimization: separate static and dynamic routes
44
- const isStatic = !path.includes(':') && !path.includes('*');
45
- if (isStatic && middleware.length === 0) {
46
- // Static route with no middleware - use O(1) lookup
47
- const routeKey = `${method}:${path}`;
48
- this.staticRoutes.set(routeKey, route);
49
- this.logger.debug(`Added static route: ${routeKey}`, 'FastRoute');
50
- }
51
- else {
52
- // Dynamic route or has middleware - needs regex matching
53
- this.dynamicRoutes.push(route);
54
- this.logger.debug(`Added dynamic route: ${method} ${path}`, 'DynamicRoute');
55
- }
56
- // Initialize object pool on first route
57
- if (this.paramObjectPool.length === 0) {
58
- for (let i = 0; i < this.maxPoolSize; i++) {
59
- this.paramObjectPool.push({});
60
- }
61
- }
34
+ });
62
35
  }
63
36
  pathToRegex(path) {
64
37
  const paramNames = [];
@@ -81,107 +54,56 @@ class Router {
81
54
  path = '/';
82
55
  }
83
56
  this.logger.debug(`Router processing: originalPath="${req.path}", basePath="${basePath}", processedPath="${path}"`, 'Processing');
84
- // PERFORMANCE OPTIMIZATION: Fast path - O(1) static route lookup first
85
- const routeKey = `${req.method}:${path}`;
86
- const staticRoute = this.staticRoutes.get(routeKey);
87
- if (staticRoute) {
88
- this.logger.debug(`Fast route match: ${routeKey}`, 'FastRoute');
89
- // Static route with no middleware - execute handler directly
90
- req.params = {}; // No params for static routes
91
- const result = await staticRoute.handler(req, res);
92
- // If handler returns data and response hasn't been sent, send it
93
- if (result !== undefined && result !== null && !res.headersSent) {
94
- res.json(result);
95
- }
96
- return true;
97
- }
98
- // Fallback: Dynamic route matching (with middleware support)
99
- const route = this.dynamicRoutes.find(r => r.method === req.method && r.pattern.test(path));
100
- this.logger.debug(`Found dynamic route: ${!!route}${route ? ` ${route.method} ${route.path}` : ' none'}`, 'RouteMatch');
57
+ const route = this.routes.find(r => r.method === req.method && r.pattern.test(path));
58
+ this.logger.debug(`Found route: ${!!route}${route ? ` ${route.method} ${route.path}` : ' none'}`, 'RouteMatch');
101
59
  if (!route) {
102
60
  return false; // Route not found
103
61
  }
104
- // Extract path parameters using object pooling
62
+ // Extract path parameters
105
63
  const matches = path.match(route.pattern);
106
64
  if (matches) {
107
- req.params = this.acquireParamObject();
65
+ req.params = {};
108
66
  route.paramNames.forEach((name, index) => {
109
67
  req.params[name] = matches[index + 1];
110
68
  });
111
69
  }
112
- try {
113
- // Execute middleware
114
- for (const mw of route.middleware) {
115
- await new Promise((resolve, reject) => {
116
- let nextCalled = false;
117
- const next = () => {
118
- if (nextCalled)
119
- return;
120
- nextCalled = true;
121
- resolve();
122
- };
123
- try {
124
- const result = mw(req, res, next);
125
- if (result instanceof Promise) {
126
- result
127
- .then(() => {
128
- if (!nextCalled)
129
- next();
130
- })
131
- .catch(reject);
132
- }
133
- }
134
- catch (error) {
135
- reject(error);
70
+ // Execute middleware
71
+ for (const mw of route.middleware) {
72
+ await new Promise((resolve, reject) => {
73
+ let nextCalled = false;
74
+ const next = () => {
75
+ if (nextCalled)
76
+ return;
77
+ nextCalled = true;
78
+ resolve();
79
+ };
80
+ try {
81
+ const result = mw(req, res, next);
82
+ if (result instanceof Promise) {
83
+ result
84
+ .then(() => {
85
+ if (!nextCalled)
86
+ next();
87
+ })
88
+ .catch(reject);
136
89
  }
137
- });
138
- if (res.headersSent)
139
- break; // Early exit if response sent
140
- }
141
- // Execute handler
142
- const result = await route.handler(req, res);
143
- // If handler returns data and response hasn't been sent, send it
144
- if (result !== undefined && result !== null && !res.headersSent) {
145
- res.json(result);
146
- }
147
- return true;
90
+ }
91
+ catch (error) {
92
+ reject(error);
93
+ }
94
+ });
148
95
  }
149
- finally {
150
- // Release parameter object back to pool
151
- if (req.params && matches) {
152
- this.releaseParamObject(req.params);
153
- }
96
+ // Execute handler
97
+ const result = await route.handler(req, res);
98
+ // If handler returns data and response hasn't been sent, send it
99
+ if (result !== undefined && result !== null && !res.headersSent) {
100
+ res.json(result);
154
101
  }
102
+ return true;
155
103
  }
156
104
  getRoutes() {
157
105
  return [...this.routes];
158
106
  }
159
- // Object pooling methods for performance optimization
160
- acquireParamObject() {
161
- const obj = this.paramObjectPool.pop();
162
- if (obj) {
163
- // Clear the object
164
- for (const key in obj) {
165
- delete obj[key];
166
- }
167
- return obj;
168
- }
169
- return {};
170
- }
171
- releaseParamObject(obj) {
172
- if (this.paramObjectPool.length < this.maxPoolSize) {
173
- this.paramObjectPool.push(obj);
174
- }
175
- }
176
- // Performance statistics for monitoring
177
- getPerformanceStats() {
178
- return {
179
- totalRoutes: this.routes.length,
180
- staticRoutes: this.staticRoutes.size,
181
- dynamicRoutes: this.dynamicRoutes.length,
182
- paramObjectPoolSize: this.paramObjectPool.length,
183
- };
184
- }
185
107
  }
186
108
  exports.Router = Router;
187
109
  //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/core/http/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/core/http/router.ts"],"names":[],"mappings":"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"}
@@ -23,22 +23,14 @@ exports.contextFilter = contextFilter;
23
23
  // Rate limiting filter
24
24
  const rateLimitFilter = (maxPerSecond) => {
25
25
  const timestamps = [];
26
- let lastCleanup = 0;
27
26
  return {
28
27
  name: 'rate-limit',
29
28
  filter: (entry) => {
30
29
  const now = Date.now();
31
- // Batch cleanup for better performance and thread safety
32
- if (now - lastCleanup > 1000) {
33
- const cutoff = now - 1000;
34
- let keepIndex = 0;
35
- for (let i = 0; i < timestamps.length; i++) {
36
- if (timestamps[i] >= cutoff) {
37
- timestamps[keepIndex++] = timestamps[i];
38
- }
39
- }
40
- timestamps.length = keepIndex;
41
- lastCleanup = now;
30
+ const oneSecondAgo = now - 1000;
31
+ // Remove old timestamps
32
+ while (timestamps.length > 0 && timestamps[0] < oneSecondAgo) {
33
+ timestamps.shift();
42
34
  }
43
35
  // Check rate limit
44
36
  if (timestamps.length >= maxPerSecond) {
@@ -1 +1 @@
1
- {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../src/core/logger/filters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../src/core/logger/filters.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { MoroLogger, logger, createFrameworkLogger, configureGlobalLogger, applyLoggingConfiguration, destroyGlobalLogger, } from './logger';
1
+ export { MoroLogger, logger, createFrameworkLogger, configureGlobalLogger, applyLoggingConfiguration, } from './logger';
2
2
  export * from './filters';
3
3
  export type { LogLevel, LogEntry, LoggerOptions, Logger, LogOutput, LogFilter, LogMetrics, ColorScheme, } from '../../types/logger';
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.destroyGlobalLogger = exports.applyLoggingConfiguration = exports.configureGlobalLogger = exports.createFrameworkLogger = exports.logger = exports.MoroLogger = void 0;
17
+ exports.applyLoggingConfiguration = exports.configureGlobalLogger = exports.createFrameworkLogger = exports.logger = exports.MoroLogger = void 0;
18
18
  // Logger System - Main Exports
19
19
  var logger_1 = require("./logger");
20
20
  Object.defineProperty(exports, "MoroLogger", { enumerable: true, get: function () { return logger_1.MoroLogger; } });
@@ -22,6 +22,5 @@ Object.defineProperty(exports, "logger", { enumerable: true, get: function () {
22
22
  Object.defineProperty(exports, "createFrameworkLogger", { enumerable: true, get: function () { return logger_1.createFrameworkLogger; } });
23
23
  Object.defineProperty(exports, "configureGlobalLogger", { enumerable: true, get: function () { return logger_1.configureGlobalLogger; } });
24
24
  Object.defineProperty(exports, "applyLoggingConfiguration", { enumerable: true, get: function () { return logger_1.applyLoggingConfiguration; } });
25
- Object.defineProperty(exports, "destroyGlobalLogger", { enumerable: true, get: function () { return logger_1.destroyGlobalLogger; } });
26
25
  __exportStar(require("./filters"), exports);
27
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/logger/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+BAA+B;AAC/B,mCAOkB;AANhB,oGAAA,UAAU,OAAA;AACV,gGAAA,MAAM,OAAA;AACN,+GAAA,qBAAqB,OAAA;AACrB,+GAAA,qBAAqB,OAAA;AACrB,mHAAA,yBAAyB,OAAA;AACzB,6GAAA,mBAAmB,OAAA;AAErB,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/logger/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+BAA+B;AAC/B,mCAMkB;AALhB,oGAAA,UAAU,OAAA;AACV,gGAAA,MAAM,OAAA;AACN,+GAAA,qBAAqB,OAAA;AACrB,+GAAA,qBAAqB,OAAA;AACrB,mHAAA,yBAAyB,OAAA;AAE3B,4CAA0B"}
@@ -18,31 +18,28 @@ export declare class MoroLogger implements Logger {
18
18
  private cachedTimestamp;
19
19
  private lastTimestamp;
20
20
  private timestampCacheInterval;
21
- private static readonly ENTRY_POOL;
22
- private static readonly MAX_POOL_SIZE;
23
- private static poolIndex;
24
- private static stringBuilder;
25
- private static stringBuilderIndex;
26
21
  private outputBuffer;
27
22
  private bufferSize;
28
23
  private maxBufferSize;
29
24
  private flushTimeout;
30
25
  private flushInterval;
31
- private bufferOverflowThreshold;
32
- private emergencyFlushInProgress;
33
- private isDestroyed;
34
26
  private static readonly LEVELS;
35
- private static readonly COLORS;
36
- private static readonly RESET;
37
- private static readonly BOLD;
38
27
  private static readonly LEVEL_STRINGS;
39
- constructor(options?: LoggerOptions);
28
+ private static readonly ANSI_COLORS;
29
+ private static readonly ENTRY_POOL;
30
+ private static readonly MAX_POOL_SIZE;
31
+ private static poolIndex;
40
32
  private static getPooledEntry;
41
- private static createFreshEntry;
42
33
  private static returnPooledEntry;
34
+ private static stringBuilder;
35
+ private static stringBuilderIndex;
43
36
  private static resetStringBuilder;
44
37
  private static appendToBuilder;
45
38
  private static buildString;
39
+ private static readonly COLORS;
40
+ private static readonly RESET;
41
+ private static readonly BOLD;
42
+ constructor(options?: LoggerOptions);
46
43
  debug(message: string, context?: string, metadata?: Record<string, any>): void;
47
44
  info(message: string, context?: string, metadata?: Record<string, any>): void;
48
45
  warn(message: string, context?: string, metadata?: Record<string, any>): void;
@@ -52,20 +49,16 @@ export declare class MoroLogger implements Logger {
52
49
  timeEnd(label: string, context?: string, metadata?: Record<string, any>): void;
53
50
  child(context: string, metadata?: Record<string, any>): Logger;
54
51
  setLevel(level: LogLevel): void;
55
- getLevel(): LogLevel;
56
52
  addOutput(output: LogOutput): void;
57
53
  removeOutput(name: string): void;
58
54
  addFilter(filter: LogFilter): void;
59
55
  removeFilter(name: string): void;
60
56
  getHistory(count?: number): LogEntry[];
61
57
  private getCachedTimestamp;
62
- private getFastCachedTimestamp;
63
58
  getMetrics(): LogMetrics;
64
59
  clear(): void;
65
60
  private log;
66
61
  private fullLog;
67
- private complexLog;
68
- private writeSimpleLog;
69
62
  private updateMetrics;
70
63
  private createMetadata;
71
64
  private getPerformanceData;
@@ -74,16 +67,12 @@ export declare class MoroLogger implements Logger {
74
67
  private writeToConsole;
75
68
  private writePrettyLog;
76
69
  private cleanMetadata;
70
+ private stringify;
77
71
  private output;
78
72
  private scheduleFlush;
79
- flushBuffer(): void;
80
- private forceFlushBuffer;
81
- private safeStringify;
82
- private validateOptions;
83
- private handleOutputError;
84
- private emergencyConsoleWrite;
73
+ private flushBuffer;
85
74
  flush(): void;
86
- destroy(): void;
75
+ cleanup(): void;
87
76
  }
88
77
  export declare const logger: MoroLogger;
89
78
  /**
@@ -91,11 +80,6 @@ export declare const logger: MoroLogger;
91
80
  * This allows runtime configuration of the logger
92
81
  */
93
82
  export declare function configureGlobalLogger(options: Partial<LoggerOptions>): void;
94
- /**
95
- * Destroy the global logger and clean up resources (for testing)
96
- * @internal
97
- */
98
- export declare function destroyGlobalLogger(): void;
99
83
  /**
100
84
  * Apply logging configuration from the config system and/or createApp options
101
85
  */