- 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 
- Follow the instructions at serverless-domain-manager for registering and setting up a domain name
- Create 
test-api.whatever.comcertificate - Create 
api.whatever.comcertificate 
 - Create 
 - Change the base 
custom.baseDomainNameproperty inserverless.ymlto the zone name, egwhatever.com - Then run:
npx serverless create_domain --stage test 
Use serverless to run the server locally:
npx serverless invoke local -f graphql -p examples/invoke-data/query.json
AWS_SDK_LOAD_CONFIG=true npx serverless offline
Use serverless to run the server against the test environment:
npx serverless invoke --stage test -f graphql -p examples/invoke-data/query.json
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
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
npx serverless logs --stage test -t -f graphql
npm run deploy:prod
npx serverless logs --stage prod -t -f graphql
If there are errors when deploying, check the Cloudformation logs for the stack.