aws-powertools / powertools-lambda-typescript

Powertools is a developer toolkit to implement Serverless best practices and increase developer velocity.
https://docs.powertools.aws.dev/lambda/typescript/latest/
MIT No Attribution
1.57k stars 138 forks source link

Feature request: API Gateway Event Handler router #3251

Open gosantos opened 2 hours ago

gosantos commented 2 hours ago

Use case

Hi everyone,

I’m writing on behalf of Banxware, a strong advocate for AWS Powertools. We use both the Python and TypeScript versions in our serverless services, and we would love to have the same experience with our TypeScript stack as we do with Python.

We recently reviewed the RFC for an Event Handler Router (https://github.com/aws-powertools/powertools-lambda-typescript/issues/2409) and wanted to ask more info about its development progress. This feature is critical for our team, as it would significantly improve our developer experience.

Our Context:

Banxware is a small team managing a product built entirely on serverless technologies: AWS Lambdas, API Gateway, DynamoDB, etc. Currently, the lack of a built-in router within Powertools for TypeScript presents a significant challenge. Without this functionality, we face difficulties running services locally and relying on excessive infrastructure work to test simple changes.

The router will provide us the follow benefits:

At the moment we are strongly considering the use of Hono as our go-to solution for this particular case. Hono has most of the features requried by us combined with a super small overhead. We understand Hono wasn't built exclusively for this use case and still misses some feature but for sure can provide most of the DX we are looking for. We consider yet other options as well such as NestJS because we ideally would like to have full fledge solution that combines routing, open api generation, validations etc.

We understand that development priorities may shift, but we believe a router would be a valuable addition to Powertools for TypeScript. Is there any update on when this feature will be addressed?

We'd be happy to contribute to the discussion or assist in any way possible.

Solution/User Experience

We envision a router that's as streamlined and user-friendly as Hono, but with the added benefit of supporting EventBridge. We're seeking a solution that eliminates the need for type casting to match Gateway V1, V2, ELB, and other services. Additionally, built-in helpers would significantly simplify testing, enabling us to write comprehensive integration tests that simulate real-world request scenarios.

We're also excited about the potential for future extensions, particularly the integration of Zod for schema validation and OpenAPI generation. This would drastically reduce boilerplate code, streamline development, and provide a robust error handling mechanism.

Alternative solutions

No response

Acknowledgment

Future readers

Please react with 👍 and your use case to help us understand customer demand.

boring-cyborg[bot] commented 2 hours ago

Thanks for opening your first issue here! We'll come back to you as soon as we can. In the meantime, check out the #typescript channel on our Powertools for AWS Lambda Discord: Invite link