effortless-aws
v0.33.0
Published
Code-first AWS Lambda framework. Export handlers, deploy with one command.
Downloads
2,735
Maintainers
Readme
effortless-aws
Code-first AWS Lambda framework. Export handlers, deploy with one command. No YAML, no CloudFormation, no state files.
npm install effortless-awsWhat it looks like
import { defineApi } from "effortless-aws";
export const hello = defineApi({ basePath: "/hello" })
.get("/", async ({ ok }) => ok({ message: "Hello!" }));Handlers
| Handler | Description |
|---------|-------------|
| defineApi | HTTP API with typed GET/POST routes via Lambda Function URL |
| defineApp | SSR framework deployment (Nuxt, Next.js) via CloudFront |
| defineTable | DynamoDB table with stream processing |
| defineFifoQueue | SQS FIFO queue consumer |
| defineBucket | S3 bucket with event triggers |
| defineMailer | SES email sending |
| defineStaticSite | CloudFront + S3 static site with optional middleware |
Features
- Infrastructure from code — export a handler, get the AWS resources
- Typed everything —
defineTable<Order>()gives you typedput(), typeddeps.orders.get(), typedrecord.new - Cross-handler deps —
.deps(() => ({ orders }))auto-wires IAM and injects a typedTableClient - SSM params —
.config(({ defineSecret }) => ...)fetches secrets from Parameter Store at cold start - Static files —
static: ["templates/*.ejs"]bundles files into the Lambda ZIP - Cold start caching —
setupfactory runs once per cold start, cached across invocations
Deploy with @effortless-aws/cli.
Documentation
Full docs, examples, and API reference: effortless-aws.website
License
MIT
