@stacksjs/bun-router 0.0.16 → 0.0.18

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 (176) hide show
  1. package/dist/auth.d.ts +22 -8
  2. package/dist/chunk-1ahs68ys.js +18 -0
  3. package/dist/{chunk-0145g1me.js → chunk-cgptvjdf.js} +147 -75
  4. package/dist/chunk-g3ybefhg.js +1923 -0
  5. package/dist/cli.js +3 -2
  6. package/dist/container/container.d.ts +1 -0
  7. package/dist/container/contextual-binding.d.ts +0 -1
  8. package/dist/container/decorators.d.ts +2 -5
  9. package/dist/container/index.d.ts +16 -0
  10. package/dist/container/index.js +322 -0
  11. package/dist/container/service-provider.d.ts +3 -3
  12. package/dist/development/performance-profiler.d.ts +3 -3
  13. package/dist/development/route-debugger.d.ts +1 -1
  14. package/dist/development/route-inspector.d.ts +2 -2
  15. package/dist/file-serving/static-files.d.ts +16 -0
  16. package/dist/index.d.ts +17 -1
  17. package/dist/index.js +1159 -1380
  18. package/dist/middleware/cors.d.ts +9 -0
  19. package/dist/middleware/csrf.d.ts +7 -0
  20. package/dist/middleware/ddos_protection.d.ts +16 -1
  21. package/dist/middleware/rate_limit.d.ts +7 -1
  22. package/dist/middleware/request_tracer.d.ts +15 -9
  23. package/dist/middleware/response_cache.d.ts +2 -1
  24. package/dist/observability/integration.d.ts +1 -1
  25. package/dist/request/context.d.ts +12 -1
  26. package/dist/request/macros.d.ts +40 -2
  27. package/dist/response/macros.d.ts +4 -4
  28. package/dist/router/fluent-routing.d.ts +50 -13
  29. package/dist/router/handler-resolver.d.ts +8 -0
  30. package/dist/router/index.d.ts +9 -7
  31. package/dist/router/route-compiler.d.ts +8 -10
  32. package/dist/router/route-trie.d.ts +7 -1
  33. package/dist/router/router.d.ts +13 -34
  34. package/dist/router/validation-integration.d.ts +10 -4
  35. package/dist/testing/performance-testing.d.ts +2 -2
  36. package/dist/testing/test-client.d.ts +1 -1
  37. package/dist/testing/websocket-testing.d.ts +1 -1
  38. package/dist/types/middleware-types.d.ts +1 -1
  39. package/dist/types/route-inference.d.ts +9 -2
  40. package/dist/types.d.ts +62 -9
  41. package/dist/utils.d.ts +1 -1
  42. package/package.json +12 -3
  43. package/dist/router/fluent-router.d.ts +0 -315
  44. package/src/auth.ts +0 -469
  45. package/src/cache/lru-cache.ts +0 -457
  46. package/src/cache/middleware-memoization.ts +0 -531
  47. package/src/cache/route-cache-warmer.ts +0 -486
  48. package/src/cache/sqlite-cache.ts +0 -783
  49. package/src/cache/streaming-cache.ts +0 -572
  50. package/src/cli/colors.ts +0 -29
  51. package/src/cli/index.ts +0 -287
  52. package/src/cli/middleware.ts +0 -291
  53. package/src/cli/openapi.ts +0 -407
  54. package/src/cli/router.ts +0 -188
  55. package/src/cli/routes.ts +0 -265
  56. package/src/cli/utils.ts +0 -531
  57. package/src/cli.ts +0 -5
  58. package/src/config.ts +0 -322
  59. package/src/container/container.ts +0 -740
  60. package/src/container/contextual-binding.ts +0 -603
  61. package/src/container/decorators.ts +0 -359
  62. package/src/container/service-provider.ts +0 -596
  63. package/src/development/hot-reload.ts +0 -673
  64. package/src/development/index.ts +0 -499
  65. package/src/development/performance-profiler.ts +0 -717
  66. package/src/development/route-debugger.ts +0 -527
  67. package/src/development/route-inspector.ts +0 -749
  68. package/src/development/typescript-utilities.ts +0 -682
  69. package/src/docs.ts +0 -397
  70. package/src/errors/circuit-breaker.ts +0 -732
  71. package/src/errors/error-handler.ts +0 -569
  72. package/src/errors/error-reporting.ts +0 -672
  73. package/src/errors/exceptions.ts +0 -536
  74. package/src/errors/graceful-degradation.ts +0 -621
  75. package/src/errors/index.ts +0 -21
  76. package/src/errors/router-errors.ts +0 -632
  77. package/src/file-serving/static-files.ts +0 -581
  78. package/src/index.ts +0 -14
  79. package/src/middleware/auth.ts +0 -220
  80. package/src/middleware/content_security_policy.ts +0 -215
  81. package/src/middleware/cors.ts +0 -74
  82. package/src/middleware/csrf.ts +0 -118
  83. package/src/middleware/ddos_protection.ts +0 -255
  84. package/src/middleware/file_security.ts +0 -191
  85. package/src/middleware/file_upload.ts +0 -275
  86. package/src/middleware/helmet.ts +0 -268
  87. package/src/middleware/index.ts +0 -117
  88. package/src/middleware/input_validation.ts +0 -449
  89. package/src/middleware/json_body.ts +0 -37
  90. package/src/middleware/performance_alerting.ts +0 -538
  91. package/src/middleware/performance_dashboard.ts +0 -661
  92. package/src/middleware/performance_monitor.ts +0 -943
  93. package/src/middleware/pipeline.ts +0 -489
  94. package/src/middleware/rate_limit.ts +0 -245
  95. package/src/middleware/request_id.ts +0 -36
  96. package/src/middleware/request_signing.ts +0 -636
  97. package/src/middleware/request_tracer.ts +0 -636
  98. package/src/middleware/response_cache.ts +0 -743
  99. package/src/middleware/security.ts +0 -482
  100. package/src/middleware/security_suite.ts +0 -257
  101. package/src/middleware/session.ts +0 -91
  102. package/src/model-binding/index.ts +0 -18
  103. package/src/model-binding/model-middleware.ts +0 -425
  104. package/src/model-binding/model-registry.ts +0 -550
  105. package/src/model-binding.ts +0 -370
  106. package/src/model-resolver-factory.ts +0 -106
  107. package/src/observability/correlation.ts +0 -691
  108. package/src/observability/health-checks.ts +0 -729
  109. package/src/observability/index.ts +0 -184
  110. package/src/observability/integration.ts +0 -548
  111. package/src/observability/metrics.ts +0 -753
  112. package/src/observability/tracing.ts +0 -638
  113. package/src/optimization/bun-utilities.ts +0 -778
  114. package/src/query-builder-integration.ts +0 -137
  115. package/src/request/context.ts +0 -62
  116. package/src/request/enhanced-request.ts +0 -857
  117. package/src/request/macros.ts +0 -688
  118. package/src/response/macros.ts +0 -665
  119. package/src/response/response-factory.ts +0 -596
  120. package/src/router/api-routes.ts +0 -243
  121. package/src/router/file-based-routing.ts +0 -690
  122. package/src/router/file-streaming.ts +0 -383
  123. package/src/router/fluent-router.ts +0 -927
  124. package/src/router/fluent-routing.ts +0 -797
  125. package/src/router/group-organization.ts +0 -213
  126. package/src/router/handler-resolver.ts +0 -291
  127. package/src/router/http-methods.ts +0 -377
  128. package/src/router/index.ts +0 -187
  129. package/src/router/middleware-groups.ts +0 -222
  130. package/src/router/middleware-integration.ts +0 -399
  131. package/src/router/middleware.ts +0 -231
  132. package/src/router/model-binding.ts +0 -215
  133. package/src/router/optimized-route-matching.ts +0 -253
  134. package/src/router/route-building.ts +0 -221
  135. package/src/router/route-compiler.ts +0 -702
  136. package/src/router/route-matching.ts +0 -349
  137. package/src/router/route-trie.ts +0 -464
  138. package/src/router/router.ts +0 -1604
  139. package/src/router/server.ts +0 -462
  140. package/src/router/validation-integration.ts +0 -443
  141. package/src/router/view-rendering.ts +0 -233
  142. package/src/router/websocket.ts +0 -100
  143. package/src/routing/route-caching.ts +0 -402
  144. package/src/routing/route-throttling.ts +0 -469
  145. package/src/routing/subdomain-routing.ts +0 -492
  146. package/src/session/database-store.ts +0 -109
  147. package/src/session/file-store.ts +0 -148
  148. package/src/session/index.ts +0 -244
  149. package/src/session/memory-store.ts +0 -88
  150. package/src/session/redis-store.ts +0 -93
  151. package/src/streaming/index.ts +0 -17
  152. package/src/streaming/sse-handler.ts +0 -482
  153. package/src/streaming/stream-handler.ts +0 -552
  154. package/src/testing/auth-testing.ts +0 -446
  155. package/src/testing/file-upload-testing.ts +0 -543
  156. package/src/testing/index.ts +0 -10
  157. package/src/testing/middleware-testing.ts +0 -322
  158. package/src/testing/model-binding-testing.ts +0 -645
  159. package/src/testing/performance-testing.ts +0 -738
  160. package/src/testing/test-client.ts +0 -310
  161. package/src/testing/test-request.ts +0 -315
  162. package/src/testing/test-response.ts +0 -332
  163. package/src/testing/types.ts +0 -224
  164. package/src/testing/websocket-testing.ts +0 -590
  165. package/src/types/controller-types.ts +0 -385
  166. package/src/types/core.ts +0 -683
  167. package/src/types/middleware-types.ts +0 -419
  168. package/src/types/request-response-augmentation.ts +0 -489
  169. package/src/types/route-inference.ts +0 -357
  170. package/src/types.ts +0 -2067
  171. package/src/url.ts +0 -126
  172. package/src/utils/index.ts +0 -1
  173. package/src/utils/query-preservation.ts +0 -201
  174. package/src/utils.ts +0 -392
  175. package/src/validation/validator.ts +0 -685
  176. package/src/websocket/clustering.ts +0 -762
@@ -1,499 +0,0 @@
1
- /**
2
- * Development Tools - Main Integration
3
- *
4
- * Unified development tools with router integration and middleware
5
- */
6
-
7
- import type { EnhancedRequest } from '../types'
8
- import { createPerformanceProfilingMiddleware, initializePerformanceProfiler, PerformanceProfiler, PerformanceProfilingHelpers } from './performance-profiler'
9
- import { createRouteDebugMiddleware, initializeRouteDebugger, RouteDebugger, RouteDebugHelpers } from './route-debugger'
10
- import { initializeRouteInspector, RouteInspectionHelpers, RouteInspector } from './route-inspector'
11
- import { initializeTypeScriptUtilities, TypeScriptHelpers, TypeScriptUtilities } from './typescript-utilities'
12
-
13
- export interface DevelopmentConfig {
14
- debug?: {
15
- enabled?: boolean
16
- logLevel?: 'debug' | 'info' | 'warn' | 'error'
17
- includeHeaders?: boolean
18
- includeBody?: boolean
19
- colorOutput?: boolean
20
- }
21
- profiling?: {
22
- enabled?: boolean
23
- sampleRate?: number
24
- includeMemory?: boolean
25
- includeCpu?: boolean
26
- }
27
- inspection?: {
28
- enabled?: boolean
29
- trackStats?: boolean
30
- generateReports?: boolean
31
- }
32
- typescript?: {
33
- generateTypes?: boolean
34
- validateTypes?: boolean
35
- generateSchemas?: boolean
36
- }
37
- }
38
-
39
- /**
40
- * Development tools manager
41
- */
42
- export class DevelopmentTools {
43
- private debugger: RouteDebugger
44
- private inspector: RouteInspector
45
- private profiler: PerformanceProfiler
46
- private tsUtils: TypeScriptUtilities
47
- private config: DevelopmentConfig
48
-
49
- constructor(config: DevelopmentConfig = {}) {
50
- this.config = {
51
- debug: { enabled: true, ...config.debug },
52
- profiling: { enabled: true, sampleRate: 0.1, ...config.profiling },
53
- inspection: { enabled: true, trackStats: true, ...config.inspection },
54
- typescript: { generateTypes: true, ...config.typescript },
55
- ...config,
56
- }
57
-
58
- // Initialize components
59
- this.debugger = initializeRouteDebugger(this.config.debug)
60
- this.inspector = initializeRouteInspector()
61
- this.profiler = initializePerformanceProfiler(this.config.profiling)
62
- this.tsUtils = initializeTypeScriptUtilities(this.config.typescript)
63
- }
64
-
65
- /**
66
- * Create development middleware stack
67
- */
68
- createMiddleware(): Array<(req: EnhancedRequest, next: () => Promise<Response>) => Promise<Response>> {
69
- const middleware: Array<(req: EnhancedRequest, next: () => Promise<Response>) => Promise<Response>> = []
70
-
71
- // Add debugging middleware
72
- if (this.config.debug?.enabled) {
73
- middleware.push(createRouteDebugMiddleware(this.config.debug))
74
- }
75
-
76
- // Add profiling middleware
77
- if (this.config.profiling?.enabled) {
78
- middleware.push(createPerformanceProfilingMiddleware(this.config.profiling))
79
- }
80
-
81
- // Add inspection middleware
82
- if (this.config.inspection?.enabled) {
83
- middleware.push(this.createInspectionMiddleware())
84
- }
85
-
86
- return middleware
87
- }
88
-
89
- /**
90
- * Register route with all development tools
91
- */
92
- registerRoute(
93
- method: string,
94
- pattern: string,
95
- handler: (...args: any[]) => any,
96
- middleware: ((..._args: any[]) => any)[] = [],
97
- options: any = {},
98
- ): string {
99
- // Register with debugger
100
- this.debugger.registerRoute(method, pattern, handler, middleware)
101
-
102
- // Register with inspector
103
- const routeId = this.inspector.registerRoute(method, pattern, handler, middleware, options)
104
-
105
- // Register with TypeScript utilities
106
- this.tsUtils.registerRouteTypes(method, pattern, options.types || {})
107
-
108
- return routeId
109
- }
110
-
111
- /**
112
- * Get route debugging information
113
- */
114
- debug(): {
115
- listRoutes: typeof RouteInspectionHelpers.listRoutes
116
- analyzeRoutes: typeof RouteInspectionHelpers.analyzeRoutes
117
- exportRoutes: typeof RouteInspectionHelpers.exportRoutes
118
- getDebugSession: (requestId: string) => import('./route-debugger').RouteDebugInfo | undefined
119
- clearSessions: () => void
120
- } {
121
- const debuggerInstance = this.debugger
122
- return {
123
- listRoutes: RouteInspectionHelpers.listRoutes,
124
- analyzeRoutes: RouteInspectionHelpers.analyzeRoutes,
125
- exportRoutes: RouteInspectionHelpers.exportRoutes,
126
- getDebugSession: (requestId: string): import('./route-debugger').RouteDebugInfo | undefined => debuggerInstance.getDebugSession(requestId),
127
- clearSessions: (): void => debuggerInstance.clearSessions(),
128
- }
129
- }
130
-
131
- /**
132
- * Get route listing and analysis
133
- */
134
- routes(): {
135
- list: (filter?: any) => import('./route-inspector').RouteMetadata[]
136
- analyze: () => import('./route-inspector').RouteAnalysis
137
- export: (format?: 'json' | 'csv' | 'markdown' | 'openapi') => string
138
- groups: () => import('./route-inspector').RouteGroup[]
139
- find: (method: string, path: string) => import('./route-inspector').RouteMetadata[]
140
- } {
141
- const inspectorInstance = this.inspector
142
- return {
143
- list: (filter?: any): import('./route-inspector').RouteMetadata[] => inspectorInstance.getRoutes(filter),
144
- analyze: (): import('./route-inspector').RouteAnalysis => inspectorInstance.analyzeRoutes(),
145
- export: (format?: 'json' | 'csv' | 'markdown' | 'openapi'): string => inspectorInstance.exportRoutes(format),
146
- groups: (): import('./route-inspector').RouteGroup[] => inspectorInstance.getGroups(),
147
- find: (method: string, path: string): import('./route-inspector').RouteMetadata[] => inspectorInstance.findMatchingRoutes(method, path),
148
- }
149
- }
150
-
151
- /**
152
- * Get performance profiling information
153
- */
154
- profile(): {
155
- getMetrics: () => import('./performance-profiler').PerformanceMetrics
156
- getProfiles: (filter?: any) => import('./performance-profiler').RouteProfile[]
157
- generateReport: () => string
158
- clear: () => void
159
- } {
160
- const profilerInstance = this.profiler
161
- return {
162
- getMetrics: (): import('./performance-profiler').PerformanceMetrics => profilerInstance.getMetrics(),
163
- getProfiles: (filter?: any): import('./performance-profiler').RouteProfile[] => profilerInstance.getProfiles(filter),
164
- generateReport: (): string => profilerInstance.generateReport(),
165
- clear: (): void => profilerInstance.clear(),
166
- }
167
- }
168
-
169
- /**
170
- * Get TypeScript utilities
171
- */
172
- typescript(): {
173
- generateTypes: () => string
174
- generateSchemas: () => Record<string, import('./typescript-utilities').ValidationSchema>
175
- generateOpenAPI: () => any
176
- generateRouteBuilder: () => string
177
- validateRequest: (req: EnhancedRequest, routeKey: string) => { valid: boolean, errors: string[], warnings: string[] }
178
- } {
179
- const tsUtilsInstance = this.tsUtils
180
- return {
181
- generateTypes: (): string => tsUtilsInstance.generateRouteTypes(),
182
- generateSchemas: (): Record<string, import('./typescript-utilities').ValidationSchema> => tsUtilsInstance.generateValidationSchemas(),
183
- generateOpenAPI: (): any => tsUtilsInstance.generateOpenAPISchema(),
184
- generateRouteBuilder: (): string => tsUtilsInstance.generateRouteBuilder(),
185
- validateRequest: (req: EnhancedRequest, routeKey: string): { valid: boolean, errors: string[], warnings: string[] } => tsUtilsInstance.validateRequest(req, routeKey),
186
- }
187
- }
188
-
189
- /**
190
- * Generate comprehensive development report
191
- */
192
- generateReport(): string {
193
- let report = '# Development Tools Report\n\n'
194
-
195
- // Route analysis
196
- const analysis = this.inspector.analyzeRoutes()
197
- report += '## Route Analysis\n'
198
- report += `- Total Routes: ${analysis.totalRoutes}\n`
199
- report += `- Routes by Method: ${JSON.stringify(analysis.routesByMethod)}\n`
200
- report += `- Unused Routes: ${analysis.unusedRoutes.length}\n`
201
- report += `- Slow Routes: ${analysis.slowRoutes.length}\n`
202
- report += `- Error-prone Routes: ${analysis.errorProneRoutes.length}\n\n`
203
-
204
- // Performance metrics
205
- const metrics = this.profiler.getMetrics()
206
- report += '## Performance Metrics\n'
207
- report += `- Average Response Time: ${metrics.averageResponseTime.toFixed(2)}ms\n`
208
- report += `- P95 Response Time: ${metrics.p95ResponseTime.toFixed(2)}ms\n`
209
- report += `- P99 Response Time: ${metrics.p99ResponseTime.toFixed(2)}ms\n`
210
- report += `- Memory Usage (Avg): ${(metrics.memoryUsageAverage / 1024 / 1024).toFixed(2)}MB\n`
211
- report += `- Memory Usage (Peak): ${(metrics.memoryUsagePeak / 1024 / 1024).toFixed(2)}MB\n\n`
212
-
213
- // Recommendations
214
- if (analysis.recommendations.length > 0) {
215
- report += '## Recommendations\n'
216
- analysis.recommendations.forEach((rec, index) => {
217
- report += `${index + 1}. ${rec}\n`
218
- })
219
- report += '\n'
220
- }
221
-
222
- // TypeScript information
223
- const routeTypes = this.tsUtils.getRouteTypes()
224
- report += '## TypeScript Information\n'
225
- report += `- Routes with Type Information: ${routeTypes.length}\n`
226
- report += `- Generated Type Definitions: Available\n`
227
- report += `- Validation Schemas: Available\n\n`
228
-
229
- return report
230
- }
231
-
232
- /**
233
- * Clear all development data
234
- */
235
- clear(): void {
236
- this.debugger.clearSessions()
237
- this.inspector.clear()
238
- this.profiler.clear()
239
- this.tsUtils.clear()
240
- }
241
-
242
- /**
243
- * Create inspection middleware
244
- */
245
- private createInspectionMiddleware() {
246
- return async (req: EnhancedRequest, next: () => Promise<Response>): Promise<Response> => {
247
- const startTime = performance.now()
248
- const _pattern = (req as any).route?.pattern || req.url
249
- const routeId = (req as any).route?.id
250
-
251
- try {
252
- const response = await next()
253
-
254
- if (routeId && this.config.inspection?.trackStats) {
255
- const duration = performance.now() - startTime
256
- this.inspector.recordRouteAccess(routeId, duration, false)
257
- }
258
-
259
- return response
260
- }
261
- catch (error) {
262
- if (routeId && this.config.inspection?.trackStats) {
263
- const duration = performance.now() - startTime
264
- this.inspector.recordRouteAccess(routeId, duration, true)
265
- }
266
- throw error
267
- }
268
- }
269
- }
270
- }
271
-
272
- /**
273
- * Router extension for development tools
274
- */
275
- export class DevelopmentRouter {
276
- private devTools: DevelopmentTools
277
- private routes = new Map<string, any>()
278
-
279
- constructor(config?: DevelopmentConfig) {
280
- this.devTools = new DevelopmentTools(config)
281
- }
282
-
283
- /**
284
- * Enable debugging for next route
285
- */
286
- debug(): {
287
- get: (pattern: string, handler: (...args: any[]) => any) => any
288
- post: (pattern: string, handler: (...args: any[]) => any) => any
289
- put: (pattern: string, handler: (...args: any[]) => any) => any
290
- patch: (pattern: string, handler: (...args: any[]) => any) => any
291
- delete: (pattern: string, handler: (...args: any[]) => any) => any
292
- } {
293
- return {
294
- get: (pattern: string, handler: (...args: any[]) => any): any => this.registerRoute('GET', pattern, handler, { debug: true }),
295
- post: (pattern: string, handler: (...args: any[]) => any): any => this.registerRoute('POST', pattern, handler, { debug: true }),
296
- put: (pattern: string, handler: (...args: any[]) => any): any => this.registerRoute('PUT', pattern, handler, { debug: true }),
297
- patch: (pattern: string, handler: (...args: any[]) => any): any => this.registerRoute('PATCH', pattern, handler, { debug: true }),
298
- delete: (pattern: string, handler: (...args: any[]) => any): any => this.registerRoute('DELETE', pattern, handler, { debug: true }),
299
- }
300
- }
301
-
302
- /**
303
- * Enable profiling for route group
304
- */
305
- profile(): {
306
- group: (callback: () => void) => void
307
- } {
308
- return {
309
- group: (callback: () => void): void => {
310
- // Enable profiling for routes registered in callback
311
- const originalRegister = this.registerRoute.bind(this)
312
- this.registerRoute = (method: string, pattern: string, handler: (...args: any[]) => any, options: any = {}): any => {
313
- return originalRegister(method, pattern, handler, { ...options, profile: true })
314
- }
315
-
316
- callback()
317
-
318
- // Restore original register function
319
- this.registerRoute = originalRegister
320
- },
321
- }
322
- }
323
-
324
- /**
325
- * Get all registered routes
326
- */
327
- getRoutes(): import('./route-inspector').RouteMetadata[] {
328
- return this.devTools.routes().list()
329
- }
330
-
331
- /**
332
- * Register route with development tools
333
- */
334
- private registerRoute(method: string, pattern: string, handler: (...args: any[]) => any, options: any = {}) {
335
- const routeId = this.devTools.registerRoute(method, pattern, handler, [], options)
336
-
337
- const route = {
338
- id: routeId,
339
- method,
340
- pattern,
341
- handler,
342
- options,
343
- }
344
-
345
- this.routes.set(`${method}:${pattern}`, route)
346
-
347
- console.log(`🔧 Registered ${method} ${pattern} with development tools`)
348
-
349
- return route
350
- }
351
- }
352
-
353
- /**
354
- * Development presets for common configurations
355
- */
356
- export const DevelopmentPresets = {
357
- /**
358
- * Full development mode with all features enabled
359
- */
360
- development: (): DevelopmentConfig => ({
361
- debug: {
362
- enabled: true,
363
- logLevel: 'debug',
364
- includeHeaders: true,
365
- includeBody: true,
366
- colorOutput: true,
367
- },
368
- profiling: {
369
- enabled: true,
370
- sampleRate: 1.0, // Profile all requests in development
371
- includeMemory: true,
372
- includeCpu: true,
373
- },
374
- inspection: {
375
- enabled: true,
376
- trackStats: true,
377
- generateReports: true,
378
- },
379
- typescript: {
380
- generateTypes: true,
381
- validateTypes: true,
382
- generateSchemas: true,
383
- },
384
- }),
385
-
386
- /**
387
- * Production debugging with minimal overhead
388
- */
389
- production: (): DevelopmentConfig => ({
390
- debug: {
391
- enabled: true,
392
- logLevel: 'warn',
393
- includeHeaders: false,
394
- includeBody: false,
395
- colorOutput: false,
396
- },
397
- profiling: {
398
- enabled: true,
399
- sampleRate: 0.01, // 1% sampling in production
400
- includeMemory: false,
401
- includeCpu: false,
402
- },
403
- inspection: {
404
- enabled: true,
405
- trackStats: true,
406
- generateReports: false,
407
- },
408
- typescript: {
409
- generateTypes: false,
410
- validateTypes: false,
411
- generateSchemas: false,
412
- },
413
- }),
414
-
415
- /**
416
- * Performance testing configuration
417
- */
418
- performance: (): DevelopmentConfig => ({
419
- debug: {
420
- enabled: false,
421
- },
422
- profiling: {
423
- enabled: true,
424
- sampleRate: 1.0,
425
- includeMemory: true,
426
- includeCpu: true,
427
- },
428
- inspection: {
429
- enabled: true,
430
- trackStats: true,
431
- generateReports: true,
432
- },
433
- typescript: {
434
- generateTypes: false,
435
- validateTypes: false,
436
- generateSchemas: false,
437
- },
438
- }),
439
-
440
- /**
441
- * TypeScript development configuration
442
- */
443
- typescript: (): DevelopmentConfig => ({
444
- debug: {
445
- enabled: true,
446
- logLevel: 'info',
447
- },
448
- profiling: {
449
- enabled: false,
450
- },
451
- inspection: {
452
- enabled: true,
453
- trackStats: false,
454
- generateReports: false,
455
- },
456
- typescript: {
457
- generateTypes: true,
458
- validateTypes: true,
459
- generateSchemas: true,
460
- },
461
- }),
462
- }
463
-
464
- // Export all components
465
- export {
466
- PerformanceProfiler,
467
- PerformanceProfilingHelpers,
468
- RouteDebugger,
469
- RouteDebugHelpers,
470
- RouteInspectionHelpers,
471
- RouteInspector,
472
- TypeScriptHelpers,
473
- TypeScriptUtilities,
474
- }
475
-
476
- export type {
477
- ProfileConfig as ProfilerConfig,
478
- PerformanceMetrics as ProfilerMetrics,
479
- RouteProfile as ProfilerRouteProfile,
480
- } from './performance-profiler'
481
-
482
- // Export types
483
- export type {
484
- RouteDebugConfig,
485
- RouteDebugInfo,
486
- } from './route-debugger'
487
-
488
- export type {
489
- RouteAnalysis as InspectorRouteAnalysis,
490
- RouteMetadata as InspectorRouteMetadata,
491
- RouteGroup,
492
- } from './route-inspector'
493
-
494
- export type {
495
- TypeScriptConfig as TSConfig,
496
- RouteTypeInfo as TSRouteTypeInfo,
497
- TypeDefinition as TSTypeDefinition,
498
- ValidationSchema as TSValidationSchema,
499
- } from './typescript-utilities'