{"id":22452625,"url":"https://github.com/totaltechgeek/elysia-lambda","last_synced_at":"2025-08-02T00:33:05.294Z","repository":{"id":158899165,"uuid":"634317773","full_name":"TotalTechGeek/elysia-lambda","owner":"TotalTechGeek","description":"A plugin for Elysia to deploy to AWS Lambda","archived":false,"fork":false,"pushed_at":"2024-02-14T07:21:40.000Z","size":95,"stargazers_count":31,"open_issues_count":4,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-11-07T23:56:32.057Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/TotalTechGeek.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}},"created_at":"2023-04-29T18:27:00.000Z","updated_at":"2024-11-04T13:45:38.000Z","dependencies_parsed_at":"2024-08-02T13:17:37.801Z","dependency_job_id":"696bb793-f056-406b-b7ad-1f33c8bae149","html_url":"https://github.com/TotalTechGeek/elysia-lambda","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TotalTechGeek%2Felysia-lambda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TotalTechGeek%2Felysia-lambda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TotalTechGeek%2Felysia-lambda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TotalTechGeek%2Felysia-lambda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TotalTechGeek","download_url":"https://codeload.github.com/TotalTechGeek/elysia-lambda/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228419506,"owners_count":17916772,"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","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":[],"created_at":"2024-12-06T06:11:55.465Z","updated_at":"2024-12-06T06:11:56.208Z","avatar_url":"https://github.com/TotalTechGeek.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# elysia-lambda\n\nThis plugin for Elysia attempts to make it easier to deploy your Elysia project to AWS Lambda.\n\n## Installation\n\n```bash\nbun install elysia-lambda\n```\n\nIn your application, you will add the following to your code:\n\n```typescript\nimport { Elysia } from 'elysia'\nimport { lambda } from 'elysia-lambda'\n\nconst app = new Elysia()\n    .use(lambda())\n```\n\nThis is all you need to do to install the plugin into your codebase.\n\n## Usage\n\nWe strongly recommend running the init command,\n\n```bash\nbunx elysia-lambda --init\n```\n\nThis will guide you through the process of setting up your project for deployment to AWS Lambda, and setting up the official Bun layer.\n\nThis application expects that you are configured with sufficient AWS CLI Permissions.\n\nAfter the init command has been performed, you will have a yaml file for your lambda deployment and a `deploy` script added to your `package.json`.\n\n\nThe configuration file will look like the following:\n\n```yaml\ndeploy: src/index.ts\nname: ElysiaLambda\nregion: us-east-1\narch: arm64\ndescription: An Elysia Lambda app.\nrole: arn:aws:iam::672112969134:role/TestLambda\nlayers:\n  - arn:aws:lambda:us-east-1:672112969134:layer:bun:8\nenvironment: \n  SomeEnvVariable: SomeValue\nmemory: 256\n```\n\nAlternatively, it is possible to run the tool exclusively from the CLI:\n\n```txt\nUsage: elysia-lambda [options]\n\nOptions:\n  --init                  Begin the setup to deploy to Lambda.\n  --deploy \u003csrc\u003e          Deploy to AWS\n  --build \u003csrc\u003e           Build for AWS\n  -o, --out \u003cdest\u003e        Where to output the build zip.\n  -r, --region \u003cregion\u003e   AWS region to deploy to.\n  --role \u003crole\u003e           AWS role to attach to the lambda.\n  --name \u003cname\u003e           Name of the lambda.\n  --layers \u003clayers...\u003e    AWS layers to attach to the lambda.\n  -c , --config \u003cconfig\u003e  Path to a yaml/json config file.\n  --description \u003cdesc\u003e    Description of the lambda.\n  --memory \u003cMiB\u003e          Memory to allocate to the lambda, in MiB. (default: \"128\")\n  --arch \u003carchitecture\u003e   AWS architecture to deploy to. (choices: \"arm64\", \"x64\")\n  -h, --help              display help for command\n  ```\n\nAfter adding a deploy script to your `package.json`, you can run the following command to deploy your application:\n\n```bash\nbun run deploy\n```\n\nThis will build your application and deploy it to AWS Lambda.\n\n### Demo\n\nhttps://user-images.githubusercontent.com/2261916/235324906-17f1fdcf-d61a-487e-b498-595e7f94c836.mp4\n \n### Notes \n\nThe deployment script requires Bun versions newer than `0.6.0`.\n\nI may add support for ESBuild \u0026 the Elysia Node.js Polyfills in the future.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftotaltechgeek%2Felysia-lambda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftotaltechgeek%2Felysia-lambda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftotaltechgeek%2Felysia-lambda/lists"}