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 install
thennpm run config
npm run local
will run the function directly without serverless framework for fast test on your local machinenpm run invoke
will invoke the function locally and pass the data intest-data.json
to your function as bodynpm run api
will run api gateway locally in your machine on port3000
so you can test the function as it on AWS api gateway
npm run deploy
will deploy on production and load your .env.production environment variablesnpm run deploy-develop
will deploy on develop and load your .env.production environment variablesnpm run deploy-staging
will 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