When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
This is a serverless
project, meant to be run inside of AWS Lambda.
$ nvm use # use the designated version of node - currently 6.10.2.
$ npm install # install all runtime and development dependencies
Now you have the correct version of node and the serverless framework installed. Here are some useful commands to use while making your changes.
$ npm test # run unit tests and generate coverage report,
# fails if there is insufficient coverage.
$ npm run local # execute the function locally
$ npm run remote # execute the function remotely in aws
# (it must already be deployed)
$ npm run deploy # deploy the function to AWS
$ npm run lint # run the linter for style and formatting
$ npm run depcheck # check for unused, out-of-date, or insecure dependencies
$ npm run climate # run clodeclimate checks locally
$ npm run preflight # lint, check dependencies, and test
Note that running the function (even locally) will actually rotate your keys!
- Open an issue stating your intention to make a change. This will give past contributors and users time to offer suggestions and feedback before you get too far into things.
- Make your change in the code. This includes implementing your intended change, linting your code, ensuring all current tests pass, and that you have provided new tests for your changes where appropriate.
- Update the README.md or other documentation with details of changes to the project - new options, configuration, features, etc.
- The owners of this repository will review your change and may make suggestions or decline your pull request. After they have finished reviewing, they may approve the request. Once all relevant parties have signed off. Someone will merge and release your change.