{"id":16398113,"url":"https://github.com/hebilicious/serverless-esbuild-template","last_synced_at":"2025-03-21T02:32:35.757Z","repository":{"id":37987670,"uuid":"282697082","full_name":"Hebilicious/serverless-esbuild-template","owner":"Hebilicious","description":"This is a template repository to get you started really quickly with the serverless framework and typescript.","archived":false,"fork":false,"pushed_at":"2023-12-03T17:53:15.000Z","size":750,"stargazers_count":23,"open_issues_count":28,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-17T20:01:49.855Z","etag":null,"topics":["esbuild","serverless","serverless-framework","template","typescript"],"latest_commit_sha":null,"homepage":"https://github.com/Hebilicious/serverless-esbuild-template","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/Hebilicious.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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},"funding":{"github":["Hebilicious"]}},"created_at":"2020-07-26T17:14:22.000Z","updated_at":"2024-01-16T21:50:21.000Z","dependencies_parsed_at":"2024-10-28T09:16:12.240Z","dependency_job_id":"c24c01a1-132e-4239-b993-9ae21601f023","html_url":"https://github.com/Hebilicious/serverless-esbuild-template","commit_stats":null,"previous_names":[],"tags_count":1,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hebilicious%2Fserverless-esbuild-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hebilicious%2Fserverless-esbuild-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hebilicious%2Fserverless-esbuild-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hebilicious%2Fserverless-esbuild-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hebilicious","download_url":"https://codeload.github.com/Hebilicious/serverless-esbuild-template/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244725601,"owners_count":20499634,"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":["esbuild","serverless","serverless-framework","template","typescript"],"created_at":"2024-10-11T05:11:53.309Z","updated_at":"2025-03-21T02:32:35.336Z","avatar_url":"https://github.com/Hebilicious.png","language":"TypeScript","funding_links":["https://github.com/sponsors/Hebilicious"],"categories":[],"sub_categories":[],"readme":"[![serverless](http://public.serverless.com/badges/v3.svg)](http://www.serverless.com) ![Serverless ESBuild CI](https://github.com/Hebilicious/serverless-esbuild-template/workflows/Serverless%20ESBuild%20CI/badge.svg) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n# Serverless Esbuild Template\n\nThis is a template repository to get you started really quickly with the serverless framework and typescript, using the incredible esbuild.\nIt is slighlty opinionated.\n\n## TL:DR =\u003e How to use\n\n```bash\n# Make sure you have a modern node environment (example: node 14+, yarn)\n# Make sure you have AWS credentials https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html\n\n# Install dependencies\nyarn\n\n# Make sure everything works ™\nyarn test\n\n# Bundle your code and deploy it (This creates the needed AWS resources, Lambda, apiGw, s3...)\n# Deploy will output the URL, refer to serverless documentation to see how everything gets mapped from the serverless.yml\n# Everything is configurable, the default stage is dev, and default region is us-east-1\nyarn deploy\n\n# Example using curl to test your deployed lambda (make sure to use the correct url)\ncurl https://00000000.execute-api.us-east-1.amazonaws.com/dev/hello | jq\n\n# Remove service (Removes everything created by sls deploy)\nyarn remove\n```\n\n## Features\n\n### ⚡ serverless + esbuild = ❤\n\n-   Built on top of the incredible [esbuild](https://github.com/evanw/esbuild), mad props to [@evanw](https://github.com/evanw)\n-   Refer to [serverless-esbuild](https://github.com/floydspace/serverless-esbuild) for the plugin documentation, credits to [@floydspace](https://github.com/floydspace)\n-   Includes the amazing [esbuild-register](https://github.com/egoist/esbuild-register), thanks to [@egoist](https://github.com/egoist)\n\n```bash\nnode -r esm -r esbuild-register script.ts #Aliased to TS for your convenience\n```\n\n\u003e Enjoy lighting fast build and script execution in typescript\n\n### ⚙ Eslint / Prettier / Typescript / Yarn / dotenv\n\nWith sensible defaults because writing boilerplate takes too much time.\n\n\u003e _dotenv is intentionally a dev dependencies, if you want to use it at runtime, move it to dependencies, import it in your code then load your env file._\n\n### 🧪 Tests with Jest, GitHub Actions, Dependabot\n\nAn example of an integration test that works with the great `sls offline` and the node-fetch package.\n\nSimply run :\n\n```bash\nyarn test\n```\n\n\u003e A Github Action basic pipeline is setup with yarn caching and tests, check .github/workflows/main.yaml\n\n### 📴 Serverless-offline dev/start/stop scripts with pm2\n\npm2 is a node process manager, very handy when you're dealing with several local microservices ...\n\n```json\n{\n    \"offline:dev\": \"yarn ts scripts/offline.ts dev\",\n    \"offline:start\": \"yarn ts scripts/offline.ts start\",\n    \"offline:stop\": \"yarn ts scripts/offline.ts stop\"\n}\n```\n\n-   `offline:dev` : Start `sls offline` in the foreground.\n-   `offline:start` : Start `sls offline` in the background with pm2, log the output to pm2.log\n-   `offline:stop` : Terminate the pm2 process(es) cleanly (based on the name, check offline.ts)\n\nCheck offline.ts if you need custom behavior.\n\n### 🌀 Serverless.ts\n\nUse a serverless.ts files instead of a serverless.yml file for the configuration.\nYou can delete the serverless.ts and rename serverless.example.yml to serverless.yml if you prefer yaml.\nRefer to the [docs](https://www.serverless.com/framework/docs/providers/aws/guide/intro/).\nMore info in the [PR](https://github.com/serverless/serverless/pull/7755).\n\n\u003e View this repository on GitHub: \u003chttps://github.com/Hebilicious/serverless-esbuild-template\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhebilicious%2Fserverless-esbuild-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhebilicious%2Fserverless-esbuild-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhebilicious%2Fserverless-esbuild-template/lists"}