- Install
nvm(Node Version Manager) cdto the project directory and execute the following:nvm install nvm use npm install
This project uses EditorConfig for IDE configuration.
See .editorconfig for settings.
Many popular IDEs and editors support this out of the box or with a plugin.
- Install AWS CLI for your computer
- Setup AWS CLI with your credentials
- Add a configuration for
serverlessin your AWS config files
This project uses [Serverless] to deploy. Install serverless as a global:
npm install -g serverless
Change the bucket to be used for logs in the custom.logs.bucket property in serverless.yml.
- Register a domain name in AWS Route53
- Change the base
custom.baseDomainNameproperty inserverless.ymlto the zone name, egwhatever.com
npm run server:development
The server runs at http://localhost:5001/.
The port can be changed by setting the environment variable WEBPACK_SERVER_PORT to an open port.
This project uses Prettier, so please run it before checking in:
npm run pretty
See .prettierrc for settings.
Some IDEs and editors have plugins for running Prettier.
This project uses ESLint. Check linting before checking in:
npm run lint
See tslint.json for settings.
Many IDEs and editors support TSLint.
This project uses Jest for testing. Run tests before checking in.
npm test
npm run build:development
npm run build
NOTE: AWS Certificate validation requires a manual step during the first deployment.
When the following is displayed, go to the AWS Certificate Manager console for the new domain name and create the record in Route 53:
CloudFormation - CREATE_IN_PROGRESS - AWS::CertificateManager::Certificate - WebAppCertificate
npm run deploy:test
npm run deploy
If there are errors when deploying, check the Cloudformation logs for the stack.