@stacksjs/bun-router 0.0.14 → 0.0.15
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.
- package/README.md +261 -584
- package/bin/cli.ts +9 -0
- package/dist/auth.d.ts +134 -0
- package/dist/cache/lru-cache.d.ts +139 -0
- package/dist/cache/middleware-memoization.d.ts +151 -0
- package/dist/cache/route-cache-warmer.d.ts +161 -0
- package/dist/cache/sqlite-cache.d.ts +209 -0
- package/dist/cache/streaming-cache.d.ts +132 -0
- package/dist/chunk-j0e7z7hd.js +18053 -0
- package/dist/cli/colors.d.ts +15 -0
- package/dist/cli/index.d.ts +10 -0
- package/dist/cli/middleware.d.ts +31 -0
- package/dist/cli/openapi.d.ts +17 -0
- package/dist/cli/router.d.ts +15 -0
- package/dist/cli/routes.d.ts +29 -0
- package/dist/cli/utils.d.ts +74 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +3360 -0
- package/dist/config.d.ts +7 -0
- package/dist/container/container.d.ts +273 -0
- package/dist/container/contextual-binding.d.ts +240 -0
- package/dist/container/decorators.d.ts +141 -0
- package/dist/container/service-provider.d.ts +285 -0
- package/dist/development/hot-reload.d.ts +187 -0
- package/dist/development/index.d.ts +167 -0
- package/dist/development/performance-profiler.d.ts +217 -0
- package/dist/development/route-debugger.d.ts +154 -0
- package/dist/development/route-inspector.d.ts +211 -0
- package/dist/development/typescript-utilities.d.ts +209 -0
- package/dist/docs.d.ts +11 -0
- package/dist/errors/circuit-breaker.d.ts +195 -0
- package/dist/errors/error-handler.d.ts +88 -0
- package/dist/errors/error-reporting.d.ts +144 -0
- package/dist/errors/exceptions.d.ts +184 -0
- package/dist/errors/graceful-degradation.d.ts +154 -0
- package/dist/errors/index.d.ts +9 -0
- package/dist/errors/router-errors.d.ts +110 -0
- package/dist/file-serving/static-files.d.ts +143 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +13968 -0
- package/dist/middleware/auth.d.ts +63 -0
- package/dist/middleware/content_security_policy.d.ts +53 -0
- package/dist/middleware/cors.d.ts +5 -0
- package/dist/middleware/csrf.d.ts +7 -0
- package/dist/middleware/ddos_protection.d.ts +39 -0
- package/dist/middleware/file_security.d.ts +26 -0
- package/dist/middleware/file_upload.d.ts +38 -0
- package/dist/middleware/helmet.d.ts +54 -0
- package/dist/middleware/index.d.ts +44 -0
- package/dist/middleware/input_validation.d.ts +45 -0
- package/dist/middleware/json_body.d.ts +4 -0
- package/dist/middleware/performance_alerting.d.ts +87 -0
- package/dist/middleware/performance_dashboard.d.ts +87 -0
- package/dist/middleware/performance_monitor.d.ts +209 -0
- package/dist/middleware/pipeline.d.ts +131 -0
- package/dist/middleware/rate_limit.d.ts +36 -0
- package/dist/middleware/request_id.d.ts +4 -0
- package/dist/middleware/request_signing.d.ts +153 -0
- package/dist/middleware/request_tracer.d.ts +72 -0
- package/dist/middleware/response_cache.d.ts +97 -0
- package/dist/middleware/security.d.ts +69 -0
- package/dist/middleware/security_suite.d.ts +46 -0
- package/dist/middleware/session.d.ts +23 -0
- package/dist/model-binding/index.d.ts +2 -0
- package/dist/model-binding/model-middleware.d.ts +118 -0
- package/dist/model-binding/model-registry.d.ts +164 -0
- package/dist/model-binding.d.ts +185 -0
- package/dist/model-resolver-factory.d.ts +31 -0
- package/dist/observability/correlation.d.ts +187 -0
- package/dist/observability/health-checks.d.ts +186 -0
- package/dist/observability/index.d.ts +60 -0
- package/dist/observability/integration.d.ts +147 -0
- package/dist/observability/metrics.d.ts +184 -0
- package/dist/observability/tracing.d.ts +187 -0
- package/dist/optimization/bun-utilities.d.ts +224 -0
- package/dist/query-builder-integration.d.ts +36 -0
- package/dist/request/context.d.ts +34 -0
- package/dist/request/enhanced-request.d.ts +213 -0
- package/dist/request/macros.d.ts +300 -0
- package/dist/response/macros.d.ts +256 -0
- package/dist/response/response-factory.d.ts +133 -0
- package/dist/router/api-routes.d.ts +5 -0
- package/dist/router/file-based-routing.d.ts +118 -0
- package/dist/router/file-streaming.d.ts +5 -0
- package/dist/router/fluent-router.d.ts +315 -0
- package/dist/router/fluent-routing.d.ts +271 -0
- package/dist/router/group-organization.d.ts +5 -0
- package/dist/router/handler-resolver.d.ts +24 -0
- package/dist/router/http-methods.d.ts +10 -0
- package/dist/router/index.d.ts +114 -0
- package/dist/router/middleware-groups.d.ts +94 -0
- package/dist/router/middleware-integration.d.ts +112 -0
- package/dist/router/middleware.d.ts +5 -0
- package/dist/router/model-binding.d.ts +5 -0
- package/dist/router/optimized-route-matching.d.ts +6 -0
- package/dist/router/route-building.d.ts +5 -0
- package/dist/router/route-compiler.d.ts +153 -0
- package/dist/router/route-matching.d.ts +5 -0
- package/dist/router/route-trie.d.ts +114 -0
- package/dist/router/router.d.ts +317 -0
- package/dist/router/server.d.ts +5 -0
- package/dist/router/validation-integration.d.ts +170 -0
- package/dist/router/view-rendering.d.ts +5 -0
- package/dist/router/websocket.d.ts +5 -0
- package/dist/routing/route-caching.d.ts +129 -0
- package/dist/routing/route-throttling.d.ts +150 -0
- package/dist/routing/subdomain-routing.d.ts +206 -0
- package/dist/session/database-store.d.ts +51 -0
- package/dist/session/file-store.d.ts +22 -0
- package/dist/session/index.d.ts +106 -0
- package/dist/session/memory-store.d.ts +21 -0
- package/dist/session/redis-store.d.ts +31 -0
- package/dist/streaming/index.d.ts +3 -0
- package/dist/streaming/sse-handler.d.ts +138 -0
- package/dist/streaming/stream-handler.d.ts +114 -0
- package/dist/testing/auth-testing.d.ts +156 -0
- package/dist/testing/file-upload-testing.d.ts +190 -0
- package/dist/testing/index.d.ts +10 -0
- package/dist/testing/middleware-testing.d.ts +138 -0
- package/dist/testing/model-binding-testing.d.ts +186 -0
- package/dist/testing/performance-testing.d.ts +235 -0
- package/dist/testing/test-client.d.ts +117 -0
- package/dist/testing/test-request.d.ts +85 -0
- package/dist/testing/test-response.d.ts +90 -0
- package/dist/testing/types.d.ts +207 -0
- package/dist/testing/websocket-testing.d.ts +227 -0
- package/dist/types/controller-types.d.ts +208 -0
- package/dist/types/core.d.ts +543 -0
- package/dist/types/middleware-types.d.ts +227 -0
- package/dist/types/request-response-augmentation.d.ts +261 -0
- package/dist/types/route-inference.d.ts +168 -0
- package/dist/types.d.ts +1794 -0
- package/dist/url.d.ts +56 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/query-preservation.d.ts +48 -0
- package/dist/utils.d.ts +69 -0
- package/dist/validation/validator.d.ts +140 -0
- package/dist/websocket/clustering.d.ts +185 -0
- package/package.json +45 -44
- package/src/auth.ts +469 -0
- package/src/cache/lru-cache.ts +457 -0
- package/src/cache/middleware-memoization.ts +531 -0
- package/src/cache/route-cache-warmer.ts +486 -0
- package/src/cache/sqlite-cache.ts +783 -0
- package/src/cache/streaming-cache.ts +572 -0
- package/src/cli/colors.ts +29 -0
- package/src/cli/index.ts +287 -0
- package/src/cli/middleware.ts +291 -0
- package/src/cli/openapi.ts +407 -0
- package/src/cli/router.ts +188 -0
- package/src/cli/routes.ts +265 -0
- package/src/cli/utils.ts +531 -0
- package/src/cli.ts +5 -0
- package/src/config.ts +322 -0
- package/src/container/container.ts +740 -0
- package/src/container/contextual-binding.ts +603 -0
- package/src/container/decorators.ts +359 -0
- package/src/container/service-provider.ts +596 -0
- package/src/development/hot-reload.ts +673 -0
- package/src/development/index.ts +499 -0
- package/src/development/performance-profiler.ts +717 -0
- package/src/development/route-debugger.ts +527 -0
- package/src/development/route-inspector.ts +749 -0
- package/src/development/typescript-utilities.ts +682 -0
- package/src/docs.ts +397 -0
- package/src/errors/circuit-breaker.ts +732 -0
- package/src/errors/error-handler.ts +569 -0
- package/src/errors/error-reporting.ts +672 -0
- package/src/errors/exceptions.ts +536 -0
- package/src/errors/graceful-degradation.ts +621 -0
- package/src/errors/index.ts +21 -0
- package/src/errors/router-errors.ts +632 -0
- package/src/file-serving/static-files.ts +581 -0
- package/src/index.ts +14 -0
- package/src/middleware/auth.ts +220 -0
- package/src/middleware/content_security_policy.ts +215 -0
- package/src/middleware/cors.ts +74 -0
- package/src/middleware/csrf.ts +108 -0
- package/src/middleware/ddos_protection.ts +255 -0
- package/src/middleware/file_security.ts +191 -0
- package/src/middleware/file_upload.ts +275 -0
- package/src/middleware/helmet.ts +268 -0
- package/src/middleware/index.ts +117 -0
- package/src/middleware/input_validation.ts +449 -0
- package/src/middleware/json_body.ts +37 -0
- package/src/middleware/performance_alerting.ts +538 -0
- package/src/middleware/performance_dashboard.ts +661 -0
- package/src/middleware/performance_monitor.ts +943 -0
- package/src/middleware/pipeline.ts +489 -0
- package/src/middleware/rate_limit.ts +245 -0
- package/src/middleware/request_id.ts +36 -0
- package/src/middleware/request_signing.ts +636 -0
- package/src/middleware/request_tracer.ts +636 -0
- package/src/middleware/response_cache.ts +743 -0
- package/src/middleware/security.ts +482 -0
- package/src/middleware/security_suite.ts +257 -0
- package/src/middleware/session.ts +91 -0
- package/src/model-binding/index.ts +18 -0
- package/src/model-binding/model-middleware.ts +425 -0
- package/src/model-binding/model-registry.ts +550 -0
- package/src/model-binding.ts +370 -0
- package/src/model-resolver-factory.ts +106 -0
- package/src/observability/correlation.ts +691 -0
- package/src/observability/health-checks.ts +729 -0
- package/src/observability/index.ts +184 -0
- package/src/observability/integration.ts +548 -0
- package/src/observability/metrics.ts +753 -0
- package/src/observability/tracing.ts +638 -0
- package/src/optimization/bun-utilities.ts +778 -0
- package/src/query-builder-integration.ts +137 -0
- package/src/request/context.ts +62 -0
- package/src/request/enhanced-request.ts +857 -0
- package/src/request/macros.ts +688 -0
- package/src/response/macros.ts +665 -0
- package/src/response/response-factory.ts +596 -0
- package/src/router/api-routes.ts +243 -0
- package/src/router/file-based-routing.ts +690 -0
- package/src/router/file-streaming.ts +383 -0
- package/src/router/fluent-router.ts +927 -0
- package/src/router/fluent-routing.ts +797 -0
- package/src/router/group-organization.ts +213 -0
- package/src/router/handler-resolver.ts +291 -0
- package/src/router/http-methods.ts +377 -0
- package/src/router/index.ts +187 -0
- package/src/router/middleware-groups.ts +222 -0
- package/src/router/middleware-integration.ts +399 -0
- package/src/router/middleware.ts +231 -0
- package/src/router/model-binding.ts +215 -0
- package/src/router/optimized-route-matching.ts +253 -0
- package/src/router/route-building.ts +221 -0
- package/src/router/route-compiler.ts +702 -0
- package/src/router/route-matching.ts +349 -0
- package/src/router/route-trie.ts +464 -0
- package/src/router/router.ts +1604 -0
- package/src/router/server.ts +462 -0
- package/src/router/validation-integration.ts +443 -0
- package/src/router/view-rendering.ts +233 -0
- package/src/router/websocket.ts +100 -0
- package/src/routing/route-caching.ts +402 -0
- package/src/routing/route-throttling.ts +469 -0
- package/src/routing/subdomain-routing.ts +492 -0
- package/src/session/database-store.ts +109 -0
- package/src/session/file-store.ts +148 -0
- package/src/session/index.ts +244 -0
- package/src/session/memory-store.ts +88 -0
- package/src/session/redis-store.ts +93 -0
- package/src/streaming/index.ts +17 -0
- package/src/streaming/sse-handler.ts +482 -0
- package/src/streaming/stream-handler.ts +552 -0
- package/src/testing/auth-testing.ts +446 -0
- package/src/testing/file-upload-testing.ts +543 -0
- package/src/testing/index.ts +10 -0
- package/src/testing/middleware-testing.ts +322 -0
- package/src/testing/model-binding-testing.ts +645 -0
- package/src/testing/performance-testing.ts +738 -0
- package/src/testing/test-client.ts +310 -0
- package/src/testing/test-request.ts +315 -0
- package/src/testing/test-response.ts +332 -0
- package/src/testing/types.ts +224 -0
- package/src/testing/websocket-testing.ts +590 -0
- package/src/types/controller-types.ts +385 -0
- package/src/types/core.ts +683 -0
- package/src/types/middleware-types.ts +419 -0
- package/src/types/request-response-augmentation.ts +489 -0
- package/src/types/route-inference.ts +357 -0
- package/src/types.ts +2067 -0
- package/src/url.ts +126 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/query-preservation.ts +201 -0
- package/src/utils.ts +327 -0
- package/src/validation/validator.ts +685 -0
- package/src/websocket/clustering.ts +762 -0
- package/CHANGELOG.md +0 -770
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Observability & Monitoring - Main Exports
|
|
3
|
+
*
|
|
4
|
+
* Enterprise-grade observability features for distributed systems
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { EnhancedRequest } from '../types'
|
|
8
|
+
import type { ObservabilityConfig, ObservabilityManager } from './integration'
|
|
9
|
+
|
|
10
|
+
// Request Correlation
|
|
11
|
+
export {
|
|
12
|
+
type CorrelationConfig,
|
|
13
|
+
type CorrelationContext,
|
|
14
|
+
CorrelationEndpoints,
|
|
15
|
+
CorrelationHelpers,
|
|
16
|
+
CorrelationManager,
|
|
17
|
+
createCorrelationMiddleware,
|
|
18
|
+
getCorrelationManager,
|
|
19
|
+
initializeCorrelation,
|
|
20
|
+
type ServiceCall,
|
|
21
|
+
} from './correlation'
|
|
22
|
+
|
|
23
|
+
// Health Checks
|
|
24
|
+
export {
|
|
25
|
+
type CustomHealthCheck,
|
|
26
|
+
DependencyChecks,
|
|
27
|
+
type DependencyConfig,
|
|
28
|
+
getHealthManager,
|
|
29
|
+
type HealthCheckConfig,
|
|
30
|
+
HealthCheckManager,
|
|
31
|
+
type HealthCheckResult,
|
|
32
|
+
HealthEndpoints,
|
|
33
|
+
type HealthStatus,
|
|
34
|
+
initializeHealthChecks,
|
|
35
|
+
} from './health-checks'
|
|
36
|
+
|
|
37
|
+
// Integration Layer
|
|
38
|
+
export {
|
|
39
|
+
getObservabilityManager,
|
|
40
|
+
initializeObservability,
|
|
41
|
+
type ObservabilityConfig,
|
|
42
|
+
ObservabilityIntegration,
|
|
43
|
+
ObservabilityManager,
|
|
44
|
+
ObservabilityPresets,
|
|
45
|
+
ObservabilityUtils,
|
|
46
|
+
} from './integration'
|
|
47
|
+
|
|
48
|
+
// Metrics Collection
|
|
49
|
+
export {
|
|
50
|
+
Counter,
|
|
51
|
+
createMetricsHandler,
|
|
52
|
+
createMetricsMiddleware,
|
|
53
|
+
Gauge,
|
|
54
|
+
getMetricsRegistry,
|
|
55
|
+
Histogram,
|
|
56
|
+
type HistogramBucket,
|
|
57
|
+
initializeMetrics,
|
|
58
|
+
type MetricConfig,
|
|
59
|
+
type MetricLabels,
|
|
60
|
+
MetricsRegistry,
|
|
61
|
+
Summary,
|
|
62
|
+
type SummaryQuantile,
|
|
63
|
+
} from './metrics'
|
|
64
|
+
|
|
65
|
+
// Distributed Tracing
|
|
66
|
+
export {
|
|
67
|
+
createTracingMiddleware,
|
|
68
|
+
DistributedTracer,
|
|
69
|
+
getTracer,
|
|
70
|
+
initializeTracer,
|
|
71
|
+
type Span,
|
|
72
|
+
type SpanContext,
|
|
73
|
+
type TraceConfig,
|
|
74
|
+
type TraceData,
|
|
75
|
+
TraceHelpers,
|
|
76
|
+
} from './tracing'
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Quick setup functions for common use cases
|
|
80
|
+
*/
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Initialize observability with development preset
|
|
84
|
+
*/
|
|
85
|
+
export async function setupDevelopmentObservability(): Promise<ObservabilityManager> {
|
|
86
|
+
const { initializeObservability: init, ObservabilityPresets } = await import('./integration')
|
|
87
|
+
return init(ObservabilityPresets.development())
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Initialize observability with production preset
|
|
92
|
+
*/
|
|
93
|
+
export async function setupProductionObservability(): Promise<ObservabilityManager> {
|
|
94
|
+
const { initializeObservability: init, ObservabilityPresets } = await import('./integration')
|
|
95
|
+
return init(ObservabilityPresets.production())
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Initialize observability with Kubernetes preset
|
|
100
|
+
*/
|
|
101
|
+
export async function setupKubernetesObservability(): Promise<ObservabilityManager> {
|
|
102
|
+
const { initializeObservability: init, ObservabilityPresets } = await import('./integration')
|
|
103
|
+
return init(ObservabilityPresets.kubernetes())
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Initialize observability with microservices preset
|
|
108
|
+
*/
|
|
109
|
+
export async function setupMicroservicesObservability(): Promise<ObservabilityManager> {
|
|
110
|
+
const { initializeObservability: init, ObservabilityPresets } = await import('./integration')
|
|
111
|
+
return init(ObservabilityPresets.microservices())
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Initialize observability from environment variables
|
|
116
|
+
*/
|
|
117
|
+
export async function setupObservabilityFromEnv(): Promise<ObservabilityManager> {
|
|
118
|
+
const { initializeObservability: init, ObservabilityUtils } = await import('./integration')
|
|
119
|
+
return init(ObservabilityUtils.fromEnvironment())
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Create a complete observability middleware stack
|
|
124
|
+
*/
|
|
125
|
+
// eslint-disable-next-line pickier/no-unused-vars
|
|
126
|
+
export async function createObservabilityStack(config?: ObservabilityConfig): Promise<{
|
|
127
|
+
middleware: (req: EnhancedRequest, next: () => Promise<Response>) => Promise<Response>
|
|
128
|
+
endpoints: Record<string, (req: EnhancedRequest) => Promise<Response>>
|
|
129
|
+
manager: ObservabilityManager
|
|
130
|
+
}> {
|
|
131
|
+
const { initializeObservability: init } = await import('./integration')
|
|
132
|
+
const manager = init(config)
|
|
133
|
+
return {
|
|
134
|
+
middleware: manager.createMiddleware(),
|
|
135
|
+
endpoints: manager.createRouteHandlers(),
|
|
136
|
+
manager,
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Default export for convenience
|
|
142
|
+
*/
|
|
143
|
+
const observabilityDefault: {
|
|
144
|
+
setupDevelopmentObservability: typeof setupDevelopmentObservability
|
|
145
|
+
setupProductionObservability: typeof setupProductionObservability
|
|
146
|
+
setupKubernetesObservability: typeof setupKubernetesObservability
|
|
147
|
+
setupMicroservicesObservability: typeof setupMicroservicesObservability
|
|
148
|
+
setupObservabilityFromEnv: typeof setupObservabilityFromEnv
|
|
149
|
+
createObservabilityStack: typeof createObservabilityStack
|
|
150
|
+
initializeObservability: Promise<any>
|
|
151
|
+
getObservabilityManager: Promise<any>
|
|
152
|
+
ObservabilityPresets: Promise<any>
|
|
153
|
+
ObservabilityIntegration: Promise<any>
|
|
154
|
+
ObservabilityUtils: Promise<any>
|
|
155
|
+
} = {
|
|
156
|
+
// Setup functions
|
|
157
|
+
setupDevelopmentObservability,
|
|
158
|
+
setupProductionObservability,
|
|
159
|
+
setupKubernetesObservability,
|
|
160
|
+
setupMicroservicesObservability,
|
|
161
|
+
setupObservabilityFromEnv,
|
|
162
|
+
createObservabilityStack,
|
|
163
|
+
|
|
164
|
+
// Core managers - use dynamic imports to avoid circular dependencies
|
|
165
|
+
get initializeObservability(): Promise<any> {
|
|
166
|
+
return import('./integration').then(m => m.initializeObservability)
|
|
167
|
+
},
|
|
168
|
+
get getObservabilityManager(): Promise<any> {
|
|
169
|
+
return import('./integration').then(m => m.getObservabilityManager)
|
|
170
|
+
},
|
|
171
|
+
|
|
172
|
+
// Presets and utilities
|
|
173
|
+
get ObservabilityPresets(): Promise<any> {
|
|
174
|
+
return import('./integration').then(m => m.ObservabilityPresets)
|
|
175
|
+
},
|
|
176
|
+
get ObservabilityIntegration(): Promise<any> {
|
|
177
|
+
return import('./integration').then(m => m.ObservabilityIntegration)
|
|
178
|
+
},
|
|
179
|
+
get ObservabilityUtils(): Promise<any> {
|
|
180
|
+
return import('./integration').then(m => m.ObservabilityUtils)
|
|
181
|
+
},
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
export default observabilityDefault
|