create-full-sls-app
v1.8.0
Published
Serverless boilerplate CLI tool: GitLab and GitHub CI/CD, DataDog, Multi-Region, and many more setups. Ready-to-deploy in a few seconds!
Downloads
5
Maintainers
Readme
Serverless Full Boilerplate
This is a CLI tool to create Serverless boilerplate applications. Ready to deploy in a few seconds.
Usage
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
What's included?
- 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)
Command Options List
| 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
Development
yarn build
yarn start
Contribution
Feel free to create a PR to add a new feature or update the current tool. :)
Author: Emin Bugra Saral <3