TypeScript framework for AWS serverless. Export handlers, deploy with one command. No YAML, no CloudFormation, no state files.
npm install effortless-awsimport { defineHttp } from "effortless-aws";
export const hello = defineHttp({
method: "GET",
path: "/hello",
onRequest: async () => {
return { status: 200, body: { message: "Hello!" } };
},
});npx eff deployOne export, one command. Lambda, API Gateway route, and IAM role created automatically.
- Infrastructure from code — export a handler, get the AWS resources. No config files.
- Typed everything —
defineTable<Order>gives you typedput(), typeddeps.orders.get(), typedrecord.new. - Direct AWS SDK deploys — no CloudFormation. Deploy in ~5-10s, not minutes.
- No state files — AWS resource tags are the source of truth.
- Cross-handler deps —
deps: { orders }auto-wires IAM and injects a typedTableClient. - SSM params —
param("stripe-key")fetches from Parameter Store at cold start. Auto IAM, auto caching. - Partial batch failures — DynamoDB stream processing reports failed records individually.
- Cold start caching —
contextfactory runs once per cold start, cached across invocations.
Full docs, examples, and API reference: effortless-aws docs
MIT