// the find
CodeGenieApp/serverless-express
Run Express and other Node.js frameworks on AWS Serverless technologies such as Lambda, API Gateway, Lambda@Edge, and more.
A library that wraps an existing Express (or Koa/Hapi/Sails) app so it runs behind API Gateway, ALB, Lambda@Edge, VPC Lattice, or Azure Functions without rewriting route handlers into separate Lambda functions. It's aimed at teams porting an existing Node HTTP app to Lambda rather than people building serverless-native from scratch.
Broad event source coverage in one handler - API Gateway v1/v2, ALB, Lambda@Edge, VPC Lattice, plus non-HTTP triggers (SNS, SQS, DynamoDB Streams, EventBridge, Kinesis) via eventSourceRoutes. Uses mock request/response objects instead of spinning up a real listening server per invocation, avoiding socket overhead on cold starts. Actively maintained - v5.0.0 just landed with Node 24 support and a real UPGRADE.md, backed by unit and integration tests per event source. getCurrentInvoke() gives clean access to the raw Lambda event/context without threading it through middleware or req properties.
Connection reuse across warm invocations (DB connections, etc.) is left entirely to the user via a manual singleton pattern shown in one example - easy to get wrong and no built-in helper for it. Routing SNS/SQS/DynamoDB-stream events through the same Express app as HTTP routes is a questionable design; it conflates web routing with queue/event processing and the recommended Host-header check for those routes is opt-in, not enforced. No mention of Lambda response streaming despite a Function URL example existing, which matters for SSE or large responses on current Lambda runtimes. Cold start time is still bounded by however heavy your Express middleware stack is - the library doesn't help there, it just avoids adding its own overhead on top.