This is a CLI tool to create Serverless boilerplate applications. Ready to deploy in a few seconds.
npm i -g create-full-sls-app
create-full-sls-app
or
npx create-full-sls-app
Answer the questions. It will create a directory of with the name you gave for your project.
cd your-project-name
yarn
yarn domain:create:dev
yarn deploy:dev
or run in your local:
yarn start:local
- Gitlab CI/CD setup
- or GitHub Actions setup (not fully complete)
- SonarCloud setup (optional)
- DataDog setup (optional)
- Sentry setup
- Yup validation integration
- Husky setup in place for pre-commit and pre-push
- TypeScript, Webpack 5, serverless.yml setups
- Example API endpoint (with middy package and additional middlewares)
- A regional setup and default region is
eu-central
- Multi-Region support (adding
us-east1
) (optional)
name | type | default | description |
---|---|---|---|
template | choices | serverless-full-sls-app | |
name | strict-string | required | Project name (e.g dummy-service) |
organization | strict-string | required | Organization name (e.g finn-auto) |
gitSetup | choices | GitLab | Options: GitLab, GitHub |
mainBranch | choices | main | Options: main, master |
enableSonarCloud | bool | Y | Setup SonarCloud (Y/n) |
enableMultiRegion | bool | Y | Add us-east-1 and enable multi-region (Y/n) |
enableDataDog | bool | Y | Enable DataDog in the setup (Y/n) |
dataDogArnEuCentral | string | empty | DataDog EU ARN (only if DataDog is enabled) |
dataDogArnUsEast | string | empty | DataDog US ARN (only if DataDog and multi-region is enabled) |
memorySize | number | 256 | Memory Size of Lambda in MB |
timeout | number | 10 | Timeout of API endpoints in seconds |
minimumCompressionSize | number | 1024 | Minimum Compression Size of API Gateway in MB |
maxRequestsPerSecond | number | 100 | API Gateway Throttling Maximum Requests Per Second setting |
maxConcurrentRequests | number | 50 | API Gateway Throttling Maximum Concurrent Requests setting |
developmentUrl | string | dev-service.domain.com | Development service URL |
productionUrl | string | service.domain.com | Production service URL |
Example:
npx create-full-sls-app --template=serverless-full-sls-app --name=dummy-name --organization=dummy-org --gitSetup=GitLab --mainBranch=main --enableSonarCloud --enableMultiRegion --enableDataDog --dataDogArnEuCentral=dummyArn --dataDogArnUsEast=dummyArn --memorySize=1024 --timeout=20 --minimumCompressionSize=1024 --maxRequestsPerSecond=200 --maxConcurrentRequests=50 --developmentUrl=dev-service.domain.com --productionUrl=service.domain.com
yarn build
yarn start
Feel free to create a PR to add a new feature or update the current tool. :)
Author: FINN