Repository navigation
Closed
Description
Overview
Comprehensive improvements to MapHandlerIncrementalGenerator to prepare dotnet-lambda-host for v1.0 release. This epic encompasses validation, performance, maintainability, and AOT compatibility enhancements.
Goals
- Ensure production-ready reliability with comprehensive validation
- Optimize performance and reduce unnecessary overhead
- Improve code maintainability and reduce technical debt
- Add full AOT (Ahead-of-Time) compilation support
- Enhance dependency injection capabilities
Success Criteria
- All parameter validation guards implemented
- Code duplication eliminated and maintainability improved
- Full AOT support with proper directives
- Edge cases (duplicate fields, serializer optimization) handled
- Enhanced DI support (service scopes, nested dependencies)
- Fast-fail validation at startup
- Configurable startup class names for AOT
Release Impact
These improvements are essential for v1.0 release readiness, focusing on:
- Reliability: Comprehensive validation prevents runtime errors
- Performance: Optimizations for production workloads
- Developer Experience: Better error messages and configuration options
- Modern .NET: Full AOT compatibility for containerized deployments
Child Issues
🔴 High Priority
- Add guards for request attributes vs ILambdaContext parameter validation #4 Add guards for request attributes vs ILambdaContext parameter validation
- Refactor generator code to reduce duplication and improve maintainability #5 Refactor generator code to reduce duplication and improve maintainability
- Add full AOT support with directives and alternative logic #6 Add full AOT support with directives and alternative logic
🟡 Medium Priority
- Implement duplicate field name detection and resolution #7 Implement duplicate field name detection and resolution
- Skip serializer injection when not needed #8 Skip serializer injection when not needed
- Implement fast-fail validation for DI at startup #9 Implement fast-fail validation for DI at startup
- Handle IServiceScope and IServiceProvider as method arguments #10 Handle IServiceScope and IServiceProvider as method arguments
- Allow user control of startup class name via annotations for AOT compatibility #11 Allow user control of startup class name via annotations for AOT compatibility
🟢 Low Priority
- Add support for dependencies inside objects (minimal APIs pattern) #12 Add support for dependencies inside objects (minimal APIs pattern)
Progress Tracking
Total Issues: 9
High Priority: 3 issues
Medium Priority: 5 issues
Low Priority: 1 issue
Metadata
Metadata
Assignees
Labels
No labels
Activity