Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dieproduktmacher/serverless-local-dev-server
A simple Serverless 1.x plugin that speeds up development of Alexa Skills, Chatbots and APIs.
https://github.com/dieproduktmacher/serverless-local-dev-server
alexa alexa-skill aws-lambda development facebook-messenger-bot http http-endpoint local serverless-plugin
Last synced: 2 months ago
JSON representation
A simple Serverless 1.x plugin that speeds up development of Alexa Skills, Chatbots and APIs.
- Host: GitHub
- URL: https://github.com/dieproduktmacher/serverless-local-dev-server
- Owner: DieProduktMacher
- License: mit
- Created: 2017-06-29T09:48:55.000Z (over 7 years ago)
- Default Branch: develop
- Last Pushed: 2021-08-22T17:53:39.000Z (over 3 years ago)
- Last Synced: 2024-09-14T01:34:41.395Z (5 months ago)
- Topics: alexa, alexa-skill, aws-lambda, development, facebook-messenger-bot, http, http-endpoint, local, serverless-plugin
- Language: JavaScript
- Homepage:
- Size: 96.7 KB
- Stars: 29
- Watchers: 5
- Forks: 7
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Serverless Local Dev Server Plugin (Beta)
=======[![Build Status](https://travis-ci.org/DieProduktMacher/serverless-local-dev-server.svg?branch=develop)](https://travis-ci.org/DieProduktMacher/serverless-local-dev-server)
This plugin exposes Alexa-Skill and HTTP events as local HTTP endpoints, removing the need to deploy every code change to AWS Lambda. You can connect these endpoints to Alexa, Facebook Messenger or other services via forwardhq, ngrok or any other forwarding service.
Supported features:
* Expose `alexa-skill` and `http` events as local HTTP endpoints
* Environment variables
* Basic HTTP integration
* Auto reload via nodemon (see *How To*)This package requires node >= 6.0
# How To
### 1. Install the plugin
```sh
npm install serverless-local-dev-server --save-dev
```### 2. Add the plugin to your serverless configuration file
*serverless.yml* configuration example:
```yaml
provider:
name: aws
runtime: nodejs6.10functions:
hello:
handler: handler.hello
events:
- alexaSkill
- http: GET /hello# Add serverless-local-dev-server to your plugins:
plugins:
- serverless-local-dev-server# if needed add folder for serving static files if necessary (relative to service path)
custom:
localDevStaticFolder: path/to/static/files
```### 3. Start the server
```sh
serverless local-dev-server
```On default the server listens on port 5005. You can specify another one with the *--port* argument:
```sh
serverless local-dev-server --port 5000
```To automatically restart the server when files change, you may use nodemon:
```sh
nodemon --exec "serverless local-dev-server" -e "js yml json"
```To see responses returned from Lambda and stack traces, prepend SLS_DEBUG=*
```sh
SLS_DEBUG=* serverless local-http-server
```### 4. For Alexa Skills
#### 4.1 Share localhost with the internet
For example with forwardhq:
```sh
forward 5005
```#### 4.2 Configure AWS to use your HTTPS endpoint
In the Configuration pane, select HTTPS as service endpoint type and specify the forwarded endpoint URL.
As method for SSL Certificate validation select *My development endpoint is a sub-domain of a domain that has a wildcard certificate from a certificate authority*.
# License & Credits
Licensed under the MIT license.
Created and maintained by [DieProduktMacher](http://www.dieproduktmacher.com).