{"id":31213722,"url":"https://github.com/atty303/aws-lambda-runtime-deno","last_synced_at":"2026-05-04T11:37:49.968Z","repository":{"id":313284527,"uuid":"1050795479","full_name":"atty303/aws-lambda-runtime-deno","owner":"atty303","description":"A lightweight, zero-dependency Deno library for AWS Lambda that implements the AWS Lambda Runtime API.","archived":false,"fork":false,"pushed_at":"2025-09-05T06:25:37.000Z","size":20,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-19T18:59:58.807Z","etag":null,"topics":["aws","aws-lambda","deno"],"latest_commit_sha":null,"homepage":"https://jsr.io/@atty303/aws-lambda-runtime","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atty303.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-05T00:35:39.000Z","updated_at":"2025-09-07T06:20:25.000Z","dependencies_parsed_at":"2025-09-05T03:26:01.177Z","dependency_job_id":"40e709f3-b97e-4955-b1dd-a3699317d6d4","html_url":"https://github.com/atty303/aws-lambda-runtime-deno","commit_stats":null,"previous_names":["atty303/aws-lambda-runtime-deno"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/atty303/aws-lambda-runtime-deno","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atty303%2Faws-lambda-runtime-deno","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atty303%2Faws-lambda-runtime-deno/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atty303%2Faws-lambda-runtime-deno/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atty303%2Faws-lambda-runtime-deno/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atty303","download_url":"https://codeload.github.com/atty303/aws-lambda-runtime-deno/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atty303%2Faws-lambda-runtime-deno/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276210448,"owners_count":25603724,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-21T02:00:07.055Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-lambda","deno"],"created_at":"2025-09-21T08:16:31.898Z","updated_at":"2025-09-21T08:16:34.784Z","avatar_url":"https://github.com/atty303.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS Lambda Runtime for Deno\n\nA lightweight, zero-dependency Deno library for AWS Lambda that implements the\n[AWS Lambda Runtime API](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html).\n\nDesigned for use with `deno compile` to create binaries deployable to AWS Lambda\nusing the\n[provided.al2023](https://docs.aws.amazon.com/linux/al2023/ug/lambda.html)\nruntime.\n\nWhile\n[aws-lambda-web-adapter](https://github.com/awslabs/aws-lambda-web-adapter) is\nofficially recommended by Deno for web applications, it requires an HTTP server.\nThis project enables you to create general-purpose Lambda functions in Deno for\nservices like EventBridge, SQS, and other non-HTTP event sources without the\noverhead of an HTTP server.\n\n## Installation\n\n```typescript\nimport { start } from \"jsr:@atty303/aws-lambda-runtime\";\n```\n\n## Quick Start\n\nCreate a simple Lambda function:\n\n```typescript\nimport { Context, Handler, start } from \"jsr:@atty303/aws-lambda-runtime\";\n\ninterface Event {\n  name: string;\n}\n\nconst handler: Handler\u003cEvent\u003e = async (event, context) =\u003e {\n  return {\n    statusCode: 200,\n    body: JSON.stringify({\n      message: `Hello, ${event.name}!`,\n      requestId: context.awsRequestId,\n    }),\n  };\n};\n\nstart(handler);\n```\n\n## API Reference\n\n### Types\n\n#### `Handler\u003cA\u003e`\n\n```typescript\ntype Handler\u003cA\u003e = (\n  event: A,\n  context: Context,\n) =\u003e unknown | Promise\u003cunknown\u003e;\n```\n\nThe main handler function type that processes Lambda events.\n\n#### `Context`\n\n```typescript\ntype Context = {\n  awsRequestId: string;\n  invokedFunctionArn?: string;\n  deadlineMs: number;\n  functionName?: string;\n  functionVersion?: string;\n  memoryLimitInMB?: string;\n  logGroupName?: string;\n  logStreamName?: string;\n  clientContext?: unknown;\n  identity?: unknown;\n  getRemainingTimeInMillis(): number;\n};\n```\n\nThe Lambda context object containing runtime information.\n\n### Functions\n\n#### `start\u003cA\u003e(handler: Handler\u003cA\u003e): Promise\u003cnever\u003e`\n\nStarts the Lambda runtime with the provided handler function. This function runs\nindefinitely, processing incoming Lambda invocations.\n\n**Parameters:**\n\n- `handler`: The function to handle Lambda events\n\n**Example:**\n\n```typescript\nimport { start } from \"jsr:@atty303/aws-lambda-runtime\";\n\nconst myHandler = async (event, context) =\u003e {\n  // Your handler logic here\n  return { success: true };\n};\n\nstart(myHandler);\n```\n\n## Deployment\n\n### Using AWS SAM\n\nCreate a `template.yaml`:\n\n```yaml\nAWSTemplateFormatVersion: \"2010-09-09\"\nTransform: AWS::Serverless-2016-10-31\n\nResources:\n  MyFunction:\n    Type: AWS::Serverless::Function\n    Metadata:\n      BuildMethod: makefile\n    Properties:\n      CodeUri: .\n      Handler: bootstrap\n      Runtime: provided.al2023\n      Architectures:\n        - arm64\n      Environment:\n        Variables:\n          DENO_DIR: /tmp\n```\n\nCreate a `Makefile`:\n\n```Makefile\n.PHONY: build-MyFunction\n\nbuild-MyFunction:\n\tdeno compile -A --target aarch64-unknown-linux-gnu -o $(ARTIFACTS_DIR)/bootstrap src/main.ts\n```\n\nBuild and deploy with SAM:\n\n```bash\nsam deploy\n```\n\n### Using Terraform\n\nYou can use\n[terraform-aws-modules/lambda/aws](https://registry.terraform.io/modules/terraform-aws-modules/lambda/aws/latest)\nto build and deploy your function:\n\n```hcl\nmodule \"my_lambda\" {\n  source  = \"terraform-aws-modules/lambda/aws\"\n  version = \"~\u003e 8\"\n\n  function_name         = \"my-function\"\n  handler               = \"bootstrap\"\n  runtime               = \"provided.al2023\"\n  architectures         = [\"arm64\"]\n  environment_variables = {\n    DENO_DIR = \"/tmp\"\n  }\n\n  source_path = [{\n    path = \"function_dir\"\n    commands = [\n      \"set -e\",\n      \"deno compile -A --target aarch64-unknown-linux-gnu --output dist/bootstrap src/main.ts\",\n      \":zip dist\",\n    ]\n  }]\n}\n```\n\n## Development\n\n### Prerequisites\n\n- [mise](https://mise.jdx.dev/) installed\n\n```\nmise install\nhk install --mise\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatty303%2Faws-lambda-runtime-deno","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatty303%2Faws-lambda-runtime-deno","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatty303%2Faws-lambda-runtime-deno/lists"}