diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..49dafa5e2 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,10 @@ +root = true ; top-most EditorConfig file + +; Unix-style newlines with a newline ending every file +[*] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.eslintignore b/.eslintignore index c14374115..412a51062 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,3 +1,4 @@ coverage node_modules tmp +tmpdirs-serverless diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 92171cc87..4c321d3fd 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,8 +1,7 @@ ## What did you implement: @@ -23,8 +22,14 @@ If this is a nontrivial change please briefly describe your implementation so it @@ -35,4 +40,7 @@ or AWS CLI commands to trigger something. - [ ] Fix linting errors - [ ] Make sure code coverage hasn't dropped - [ ] Provide verification config/commands/resources -- [ ] Leave a comment that this is ready for review once you've finished the implementation +- [ ] Change ready for review message below + + +***Is this ready for review?:*** NO diff --git a/.gitignore b/.gitignore index 9e1a89e4c..168ae1112 100755 --- a/.gitignore +++ b/.gitignore @@ -27,15 +27,17 @@ build/Release # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git node_modules -#IDE Stuff +# IDE stuff **/.idea -#OS STUFF +# OS stuff .DS_Store .tmp -#SERVERLESS STUFF +# Serverless stuff admin.env .env tmp .coveralls.yml +tracking-id +tmpdirs-serverless diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 08c2f8a9d..6f90de2d6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -30,7 +30,7 @@ Please follow these Issue guidelines for opening Issues: * Make sure your Issue is for a *feature request*, *bug report*, or *a discussion about a relevant topic*. For everything else, please use our [Discourse Forum](http://forum.serverless.com) ### Code Style -We aim for clean, consistent code style. We're using ESlint to check for codestyle issues using the Airbnb preset. If ESlint issues are found our build will fail and we can't merge the PR. +We aim for clean, consistent code style. We're using ESlint to check for codestyle issues using the Airbnb preset. If ESlint issues are found our build will fail and we can't merge the PR. To help reduce the effort of creating contributions with this style, an [.editorconfig file](http://editorconfig.org/) is provided that your editor may use to override any conflicting global defaults and automate a subset of the style settings. You may need to enable EditorConfig's use by changing a setting or installing a plugin. Using it is not compulsory. Please follow these Code Style guidelines when writing your unit tests: * In the root of our repo, use this command to check for styling issues: `npm run lint` diff --git a/LICENSE.txt b/LICENSE.txt index af47480d4..c63fb03f7 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2015 Serverless, Inc. http://www.serverless.com +Copyright (c) 2016 Serverless, Inc. http://www.serverless.com The following license applies to all parts of this software except as documented below: diff --git a/README.md b/README.md index b6e23beb2..175e63856 100755 --- a/README.md +++ b/README.md @@ -10,8 +10,6 @@ Serverless is an MIT open-source project, actively maintained by a full-time, ve ## Links - - * [Guide to Serverless](./docs/01-guide/README.md) * [Features](#features) * [Documentation v.1](./docs/README.md) / [v.0](http://serverless.readme.io) @@ -54,6 +52,31 @@ Check out our in-depth [Guide to Serverless](./docs/01-guide/README.md) for more * An ecosystem of serverless services and plugins. * A passionate and welcoming community! +## Plugins (V1.0) + +Use these plugins to overwrite or extend the Framework's functionality... + +* [serverless-webpack](https://github.com/elastic-coders/serverless-webpack) - Bundle your lambdas with Webpack +* [serverless-alexa-plugin](https://github.com/rajington/serverless-alexa-plugin) - Support Alexa Lambda events +* [serverless-run-function](https://github.com/lithin/serverless-run-function-plugin) - Run functions locally +* [serverless-plugin-write-env-vars](https://github.com/silvermine/serverless-plugin-write-env-vars) +* [serverless-plugin-multiple-responses](https://github.com/silvermine/serverless-plugin-multiple-responses) +* [serverless-build](https://github.com/nfour/serverless-build-plugin) +* [serverless-scriptable](https://github.com/wei-xu-myob/serverless-scriptable-plugin) +* [serverless-plugin-stage-variables](https://github.com/svdgraaf/serverless-plugin-stage-variables) + +## Services & Projects (V1.0) + +Pre-written functions you can use instantly and example implementations... + +* [serverless-examples](https://github.com/andymac4182/serverless_example) +* [serverless-npm-registry](https://github.com/craftship/yith) +* [serverless-pokego](https://github.com/jch254/pokego-serverless) +* [serverless-pocket-app](https://github.com/s0enke/weekly2pocket) +* [serverless-quotebot](https://github.com/pmuens/quotebot) +* [serverless-slackbot](https://github.com/conveyal/trevorbot) +* [serverless-garden-aid](https://github.com/garden-aid/web-bff) + ## Contributing We love our contributors! Please read our [Contributing Document](CONTRIBUTING.md) to learn how you can start working on the Framework yourself. @@ -121,7 +144,7 @@ Below are projects and plugins relating to version 0.5 and below. Note that thes You can read the v0.5.x documentation at [readme.io](https://serverless.readme.io/v0.5.0/docs). -## v0.5.x Projects +## Projects (v0.5.x) Serverless Projects are shareable and installable. You can publish them to npm and install them via the Serverless Framework CLI by using `$ serverless project install ` * [serverless-graphql](https://github.com/serverless/serverless-graphql) - Official Serverless boilerplate to kick start your project * [serverless-starter](https://github.com/serverless/serverless-starter) - A simple boilerplate for new projects (JavaScript) with a few architectural options @@ -131,7 +154,7 @@ Serverless Projects are shareable and installable. You can publish them to npm * [sc5-serverless-boilerplate](https://github.com/SC5/sc5-serverless-boilerplate) - A boilerplate for test driven development of REST endpoints * [MoonMail] (https://github.com/microapps/MoonMail) - Build your own email marketing infrastructure using Lambda + SES -## v0.5.x Plugins +## Plugins (v0.5.x) Serverless is composed of Plugins. A group of default Plugins ship with the Framework, and here are some others you can add to improve/help your workflow: * [Meta Sync](https://github.com/serverless/serverless-meta-sync) - Securely sync your the variables in your project's `_meta/variables` across your team. * [Offline](https://github.com/dherault/serverless-offline) - Emulate AWS Lambda and Api Gateway locally to speed up your development cycles. diff --git a/docker-compose.yml b/docker-compose.yml index 57fb343d4..8bc80df0e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ version: '2' services: serverless-node: - image: node:5.11.1 + image: node:latest working_dir: /app volumes: - .:/app @@ -28,3 +28,7 @@ services: image: qlik/gradle volumes: - ./tmp/serverless-integration-test-aws-java-gradle:/app + aws-scala-sbt: + image: hseeberger/scala-sbt + volumes: + - ./tmp/serverless-integration-test-aws-scala-sbt:/app diff --git a/docs/01-guide/02-creating-services.md b/docs/01-guide/02-creating-services.md index 9ea066723..eca5a3b16 100644 --- a/docs/01-guide/02-creating-services.md +++ b/docs/01-guide/02-creating-services.md @@ -12,10 +12,10 @@ You can create a service based on a specific template that specifies which provi To create a service with a `nodejs` runtime running on `aws` just pass the `aws-nodejs` template to the create command: ``` -serverless create --template aws-nodejs +serverless create --template aws-nodejs --name my-special-service ``` -This will create a service and generate `serverless.yml` and `handler.js` files in the current working directory. +This will create a service and generate `serverless.yml`, `handler.js` and `event.json` files in the current working directory and set the name of the service to `my-special-service` in `serverless.yml`. You can also check out the [create command docs](../03-cli-reference/01-create.md) for all the details and options. diff --git a/docs/01-guide/05-event-sources.md b/docs/01-guide/05-event-sources.md index 0c6800d3a..5d4922b7b 100644 --- a/docs/01-guide/05-event-sources.md +++ b/docs/01-guide/05-event-sources.md @@ -68,7 +68,7 @@ You've successfully executed the function through the HTTP endpoint! Serverless provides more than just a HTTP event source. You can find the full list of all available event sources with corresponding examples in the provider specific docs: -* [AWS event documentation](../02-providers/aws/events/README.md). +* [AWS event documentation](../02-providers/aws/events/). ## Conclusion diff --git a/docs/01-guide/07-removing-services.md b/docs/01-guide/07-removing-services.md index 8995ec38d..18aee6d95 100644 --- a/docs/01-guide/07-removing-services.md +++ b/docs/01-guide/07-removing-services.md @@ -21,8 +21,8 @@ We've just removed the whole service from our provider with a simple `serverless ## What's next? -You can either dive deeper into our [Advanced Guides](./README.md#advanced-guides) or read through the provider specific documentation we provide: +You can either dive deeper into our [Advanced Guides](./#advanced-guides) or read through the provider specific documentation we provide: -* [AWS Documentation](../02-providers/aws/README.md) +* [AWS Documentation](../02-providers/aws/) Have fun with building your Serverless services and if you have feedback on the please let us know in [our Forum](forum.serverless.com) or [open an Issue in our Github repository](https://github.com/serverless/serverless/issues/new) for any bugs you might encounter or if you have an idea for a new feature. diff --git a/docs/01-guide/09-installing-plugins.md b/docs/01-guide/09-installing-plugins.md index d6ecd98be..f7372c91e 100644 --- a/docs/01-guide/09-installing-plugins.md +++ b/docs/01-guide/09-installing-plugins.md @@ -52,5 +52,3 @@ plugins: ``` In this case `plugin1` is loaded before `plugin2`. - -[Next step > Removing your service](removing-a-service.md) diff --git a/docs/02-providers/aws/04-resource-names-reference.md b/docs/02-providers/aws/04-resource-names-reference.md index c2ff1f148..efa6d6f05 100644 --- a/docs/02-providers/aws/04-resource-names-reference.md +++ b/docs/02-providers/aws/04-resource-names-reference.md @@ -28,7 +28,7 @@ We're also using the term `normalizedName` or similar terms in this guide. This |Lambda::Permission |