- Version 0.3.0: Testing utilities and better debugging - Version 0.4.0: Advanced type inference and API documentation - Version 0.5.0: Performance improvements and observability - Version 0.6.0: WebSocket and advanced streaming support - Version 1.0.0: Enterprise features and production stability Focus on developer experience, type safety, and maintaining zero dependencies
133 lines
No EOL
3.7 KiB
Markdown
133 lines
No EOL
3.7 KiB
Markdown
# TypedFetch Roadmap
|
|
|
|
## Philosophy
|
|
TypedFetch aims to be the most developer-friendly HTTP client for TypeScript. Every feature should reduce complexity, improve type safety, or make common patterns easier.
|
|
|
|
## Version 0.3.0 - Developer Experience (Q1 2025)
|
|
|
|
### Mock & Testing Utilities
|
|
- [ ] Built-in request mocking for tests
|
|
- [ ] Record/replay functionality for API responses
|
|
- [ ] Type-safe mock generation from OpenAPI specs
|
|
- [ ] Test helpers for common scenarios
|
|
|
|
### Better Error Context
|
|
- [ ] Stack trace preservation across async boundaries
|
|
- [ ] Request/response snapshots in errors
|
|
- [ ] Automatic retry history in error objects
|
|
- [ ] Network timing breakdowns
|
|
|
|
### Developer Tools Integration
|
|
- [ ] Browser DevTools extension
|
|
- [ ] VS Code extension for request building
|
|
- [ ] Request collection management (like Postman, but in your IDE)
|
|
- [ ] Live request debugging
|
|
|
|
## Version 0.4.0 - Type System Power (Q2 2025)
|
|
|
|
### Advanced Type Inference
|
|
- [ ] OpenAPI schema import for automatic typing
|
|
- [ ] GraphQL query type inference
|
|
- [ ] JSON Schema validation at compile time
|
|
- [ ] Type-safe URL building with template literals
|
|
|
|
### API Documentation Generation
|
|
- [ ] Generate TypeScript types from live APIs
|
|
- [ ] Automatic API documentation from usage
|
|
- [ ] Type-safe API versioning support
|
|
|
|
## Version 0.5.0 - Performance & Resilience (Q2 2025)
|
|
|
|
### Connection Management
|
|
- [ ] HTTP/2 connection pooling
|
|
- [ ] Smart connection reuse
|
|
- [ ] Automatic protocol negotiation
|
|
- [ ] Connection health monitoring
|
|
|
|
### Advanced Caching
|
|
- [ ] Predictive prefetching
|
|
- [ ] Stale-while-revalidate support
|
|
- [ ] Partial response caching
|
|
- [ ] Cache warming strategies
|
|
|
|
### Observability
|
|
- [ ] OpenTelemetry integration
|
|
- [ ] Performance metrics collection
|
|
- [ ] Request tracing support
|
|
- [ ] Custom metric collectors
|
|
|
|
## Version 0.6.0 - Real-time & Streaming (Q3 2025)
|
|
|
|
### WebSocket Support
|
|
- [ ] Type-safe WebSocket client
|
|
- [ ] Automatic reconnection
|
|
- [ ] Message queuing during disconnects
|
|
- [ ] Binary protocol support
|
|
|
|
### Advanced Streaming
|
|
- [ ] Stream transformers library
|
|
- [ ] Backpressure handling
|
|
- [ ] Stream composition utilities
|
|
- [ ] Progress events for all operations
|
|
|
|
## Version 1.0.0 - Production Ready (Q4 2025)
|
|
|
|
### Security Enhancements
|
|
- [ ] Certificate pinning
|
|
- [ ] Request signing (AWS, OAuth)
|
|
- [ ] Automatic security header management
|
|
- [ ] Content Security Policy helpers
|
|
|
|
### Enterprise Features
|
|
- [ ] Proxy auto-configuration
|
|
- [ ] NTLM/Kerberos authentication
|
|
- [ ] Client certificate support
|
|
- [ ] Audit logging
|
|
|
|
### Stability
|
|
- [ ] 100% test coverage
|
|
- [ ] Performance regression suite
|
|
- [ ] Backward compatibility guarantees
|
|
- [ ] Long-term support plan
|
|
|
|
## Future Considerations
|
|
|
|
### Protocol Support
|
|
- HTTP/3 (QUIC) when browser support matures
|
|
- gRPC-Web integration
|
|
- WebTransport for bidirectional streaming
|
|
|
|
### Framework Integration
|
|
- First-class React Server Components support
|
|
- Nuxt module
|
|
- SvelteKit adapter
|
|
- Remix utils
|
|
|
|
### Standards Alignment
|
|
- Fetch API parity
|
|
- Service Worker integration
|
|
- Web Streams API throughout
|
|
- Import maps support
|
|
|
|
## Contributing
|
|
|
|
We welcome contributions! Priority areas:
|
|
1. Testing infrastructure improvements
|
|
2. Documentation and examples
|
|
3. Framework-specific adapters
|
|
4. Performance optimizations
|
|
|
|
## Principles for New Features
|
|
|
|
Before adding any feature, ask:
|
|
1. Does it make the 80% use case easier?
|
|
2. Can it be tree-shaken if not used?
|
|
3. Does it maintain our <15KB core bundle size?
|
|
4. Is it possible to implement without dependencies?
|
|
5. Does it improve developer experience?
|
|
|
|
Features we'll likely reject:
|
|
- Anything that adds required dependencies
|
|
- Features that complicate basic usage
|
|
- Protocol-specific additions that few developers need
|
|
- Anything that breaks backward compatibility |