A boilerplate for new Serverless Nodejs projects with tests and basic configurations
Simple hello function take name and return with hello
const hello = require('./lib/hello');
const response = require('./lib/response');
const helloFn = async (event) => {
let body = event.body ? JSON.parse(event.body) : event; //api gateway (event.body) vs invoke (event)
let result = hello(body);
return response(result);
}
module.exports.hello = helloFn- Ready to use default configuration for serverless framework
- Environment variables ready with develop, staging and production
- Works with both invoke and api
- Serverless offline to test the api gateway localy
-
Install & Configure serverless framework, Guide here
-
Clone this repo and run
npm installthennpm run config
npm run localwill run the function directly without serverless framework for fast test on your local machinenpm run invokewill invoke the function locally and pass the data intest-data.jsonto your function as bodynpm run apiwill run api gateway locally in your machine on port3000so you can test the function as it on AWS api gateway
npm run deploywill deploy on production and load your .env.production environment variablesnpm run deploy-developwill deploy on develop and load your .env.production environment variablesnpm run deploy-stagingwill deploy on staging and load your .env.production environment variables
Feel free to fork, commit and submit pull request if you find a bug, or you want to add support to a new environment. Contributions are very welcome.
MIT