"Don't build it again if someone else already open-sourced it for you." Signed, every developer ever.
In other words, if you haven't yet checked out this huge list of Serverless Framework plugins, you're missing out. Because they are slick. And useful. And ready to use right now.
Fortunately and unfortunately, there are also close to 150 of them. Yew! Where do you even begin?
HERE. That's where.
We hereby present the most popular plugins for the Serverless Framework (plus a goodie bag of our own team's favorites).
The community's most-loved Framework plugins (by GitHub stars)
1. Headless Chrome Plugin, by Marco Lüthy
The Headless Chrome Plugin bundles the serverless-chrome/lambda package and ensures that Headless Chrome is running when your function handler is invoked.
Install:
serverless plugin install -n serverless-plugin-chrome
Click here for Serverless Chrome examples.
2. Serverless Offline, by David Héralt
The Serverless Offline plugin saves you tons of dev time by emulating AWS Lambda and API Gateway on your local machine. It works by starting an HTTP server that handles the request's lifecycle (like APIG does) and invoking your handlers.
Install:
serverless plugin install -n serverless-offline
A cool walkthrough that uses it:
3. Serverless Webpack, by Serverless Heaven
If you want to use the latest Javascript, TypeScript, Elm, CoffeeScript (and more!) with Babel, then Serverless Webpack is for you. The plugin offers enhanced dependency management, and packages only the external libraries that are really used by your code.
Install:
serverless plugin install -n serverless-webpack
A cool walkthrough that uses it:
Plus: click here for an Elm demo.
4. Serverless Step Functions, by Takahiro Horike
If serverless functions are stateless, how do you manage state? AWS Step Functions! This plugin lets you use Step Functions with the Serverless Framework.
Install:
serverless plugin install -n serverless-step-functions
Click here for a full walkthrough with sample app.
5. Python Requirements Plugin, by United Income
Pythonistas, this one's for you. This plugin automatically bundles dependencies from requirements.txt
and makes them available in your PYTHONPATH.
Install:
serverless plugin install -n serverless-python-requirements
A cool walkthrough that uses it:
6. DynamoDB Local, by 99X Technology
Pretty much what it says on the tin—run DynamoDB locally. You can start DynamoDB Local with all the parameters supported (e.g port, inMemory, sharedDb), create tables and more.
Install:
serverless plugin install -n serverless-dynamodb-local
A cool walkthrough that uses it:
7. Typescript Plugin, by Graphcool
Zero-config Typescript support—yes please. Don't need to install any other compiler or plugins; it just works right out of the box.
Install:
serverless plugin install -n serverless-plugin-typescript
8. WarmUP Plugin, by Fidel
Are your Lambda starts feeling a little cold? Snuggle them in this WarmUP plugin and say goodbye to those cold starts. WarmUP invokes your Lambdas in a configured time interval, forcing your containers to stay alive.
Install:
serverless plugin install -n serverless-plugin-warmup
Here's an example on how to use WarmUP.
Top plugin for Alexa development
Test your Lambdas during development without having to deploy. The plugin generates a local server that is a attached to a proxy online so you can use that url to access the functionality from your laptop.
A cool walkthrough that uses it:
Serverless team favorites
1. AWS Pseudo Parameters, by Sander van de Graaf
This plugin makes it so, so much easier to use CloudFormation Pseudo Parameters in your serverless.yml. Use #{AWS::AccountId}, #{AWS::Region}, etc. in any of your config strings; this plugin replaces those values with the proper pseudo parameter Fn::Sub CloudFormation function.
Here's a cool walkthrough that uses it:
2. Domain Manager, by Amplify
Manage custom domains with API Gateway. Use this plugin to create custom domain names that your Lambda can deploy to. Domain Manager also supports base path mapping for deploys and domain name deletion.
TWO cool walkthroughs that use it:
- How to set up a custom domain name for Lambda & API Gateway with Serverless
- How to deploy multiple micro-services under one API domain with Serverless
3. CloudFormation Parameter Setter, by Trek10
This is a big one for security. Set your CloudFormation Parameters when deploying with the Serverless Framework.
4. Serverless WSGI, by Logan Raarup
Build your deploy Python WSGI apps using Serverless—compatible with Flask, Django, Pyramid and more. Also has a wsgi serve
command that serves your application locally during development.
5. AWS Alerts, by A Cloud Guru
Use this plugin to add CloudWatch alarms to functions. Piece of cake. 🍰
Cool walkthroughs that use it:
6. AWS Alias, by Frank Schmid
This plugin lets you use AWS aliases on Lambda functions. Each alias creates a CloudFormation stack that is dependent on the stage stack; this approach makes for easy removal of any alias deployment, and protects the aliased function versions.
Have a plugin that's missing from our repo?
Add it! Just submit it to the Community-contributed plugins repo.
Want to make your own plugin?
Please do. Every plugin is a glimmering gem in our heart-est of hearts.
Here are some resources to get you started: