This is part of the @ng-toolkit project. Check main page for more tools
Add serverless support (AWS Lambda; Google Cloud Functions & Firebase) to your Angular project. Supports as well client-side-only projects as Angular Universal projects (server side rendering). Check deep overview article on Medium
@ng-toolkit is being sponsored by the following tool; please help to support us by taking a look and signing up to a free trial
Angular Universal PWA on AWS Lambda + API Gateway
Create or navigate into your project:
ng new myApp
cd myApp
ng add @ng-toolkit/serverless --provider aws
Deploy to "maintenance link" (non customized - ie: https://123456.execute-api.eu-central-1.amazonaws.com/production)
npm run build:serverless:deploy
Deploy to customized link (example.com):
npm run build:prod:deploy
You can read more about using custom domain in AWS Lambda in this Medium post or in the official AWS documentation.
ng add @ng-toolkit/serverless --provider firebase --firebaseProject [your_project_ID]
npm run build:prod:deploy
Project ID, can be found in project settings:
You can chain this package with:
This schematic supports several options in order to fit your needs.
name | type | default | description |
---|---|---|---|
provider | string | 'aws' | Specify serverless provider. |
skipInstall | boolean | false | Skip installation of dependencies. |
directory | string | '.' | The directory name to create the workspace in. |
firebaseProject | string | Firebase project id. | |
lambdaTS | boolean | false | Generate lambda files using Typescript instead of Javascript. |
offline | boolean | false | Include serverless-offline package for local development. |
Feel free to create issue with your feature request
You can support development of this project via:
If you want, you can be listed on the List of donors on the demo page.
Support this project with a monthly donation and help us continue our activities. [Become a backer]
Become a sponsor and get your logo on our README on GitHub with a link to your site. [Become a sponsor]
- Checkout my home page and find out more about me