Package Exports
- sls3-legacy
- sls3-legacy/lib/sls3-legacy.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sls3-legacy) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
SLS3-Legacy – A fork of Serverless Framework v3 in order to support it a little bit longer.
It is using sls3 command instead of original sls command in order to help separate from original v3 version. Everything else should be same, so original plugins should still work.
It was created mostly to avoid AWS deprecation of older nodejs runtimes which are used for custom resources and allow newer runtimes to be used.
Contents
Features
- Hyper-Productive - Build more and manage less with serverless architectures.
- Multiple Use-Cases - Choose from tons of efficient serverless use-cases (APIs, Scheduled Tasks, Event Handlers, Streaming Data Pipelines, Web Sockets & more).
- Infra & Code - Deploys both code and infrastructure together, resulting in out-of-the-box serverless apps.
- Easy - Enjoy simple syntax to safely deploy deploy AWS Lambda functions, event sources and more without being a cloud expert.
- Multi-Language - Supports Node.js, Python, Java, Go, C#, Ruby, Swift, Kotlin, PHP, Scala, & F#
- Full Lifecycle - Manages the lifecycle of your serverless architecture (build, deploy, update, monitor, troubleshoot).
- Multi-Domains - Group domains into Serverless Services for easy management of code, resources & processes, across large projects & teams.
- Multi-Environments - Built-in support for multiple stages (e.g. development, staging, production).
- Guardrails - Loaded with automation, optimization and best practices.
- Extensible - Extend or modify the Framework and its operations via Plugins.
- Plugin Ecosystem - Extend or modify the Framework and its operations via Plugins.
- Welcoming - A passionate and welcoming community!
Quick Start
Here's how to get started quickly, as well as some recommended development workflows.
Installation
Install sls3 module via NPM:
npm install -g sls3-legacyIf you don’t already have Node.js on your machine, install it first.
Creating A Service
To create your first project (known as a Serverless Framework "Service"), run the sls3 command below, then follow the prompts.
# Create a new serverless project
serverless
# Move into the newly created directory
cd your-service-nameThe sls3 command will guide you to:
- Create a new project
- Configure your AWS credentials
- Optionally set up a free Serverless Framework account with additional features.
Your new serverless project will contain a serverless.yml file. This file features simple syntax for deploying infrastructure to AWS, such as AWS Lambda functions, infrastructure that triggers those functions with events, and additional infrastructure your AWS Lambda functions may need for various use-cases. You can learn more about this in the Core Concepts documentation.
The sls3 command will give you a variety of templates to choose from. If those do not fit your needs, check out the project examples from Serverless Inc. and our community. You can install any example by passing a GitHub URL using the --template-url option:
sls3 --template-url=https://github.com/serverless/examples/tree/v3/...Please note that you can use sls3 or sls3-legacy to run SLS3-Legacy commands.
Deploying
If you haven't done so already within the sls3 command, you can deploy the project at any time by running:
sls3 deployThe deployed AWS Lambda functions and other essential information such as API Endpoint URLs will be displayed in the command output.
More details on deploying can be found here.
Developing On The Cloud
Many Serverless Framework users choose to develop on the cloud, since it matches reality and emulating Lambda locally can be complex. To develop on the cloud quickly, without sacrificing speed, we recommend the following workflow...
To deploy code changes quickly, skip the serverless deploy command which is much slower since it triggers a full AWS CloudFormation update. Instead, deploy code and configuration changes to individual AWS Lambda functions in seconds via the deploy function command, with -f [function name in serverless.yml] set to the function you want to deploy.
sls3 deploy function -f my-apiMore details on the deploy function command can be found here.
To invoke your AWS Lambda function on the cloud, you can find URLs for your functions w/ API endpoints in the serverless deploy output, or retrieve them via serverless info. If your functions do not have API endpoints, you can use the invoke command, like this:
sls3 invoke -f hello
# Invoke and display logs:
sls3 invoke -f hello --logMore details on the invoke command can be found here.
To stream your logs while you work, use the sls logs command in a separate terminal window:
sls3 logs -f [Function name in serverless.yml] -tTarget a specific function via the -f option and enable streaming via the -t option.
Developing Locally
Many Serverless Framework users rely on local emulation to develop more quickly. Please note, emulating AWS Lambda and other cloud services is never accurate and the process can be complex. We recommend the following workflow to develop locally...
Use the invoke local command to invoke your function locally:
sls3 invoke local -f my-apiYou can also pass data to this local invocation via a variety of ways. Here's one of them:
sls3 invoke local --function functionName --data '{"a":"bar"}'More details on the invoke local command can be found here
Serverless Framework also has a great plugin that allows you to run a server locally and emulate AWS API Gateway. This is the serverless-offline command.
More details on the serverless-offline plugins command can be found here
Monitoring, Secrets & Collaboration
If you're looking for easy, out-of-the-box monitoring, secrets management and collaboration features, sign into the Serverless Framework Dashboard. It's free!
sls3 loginRemove your service
If you want to delete your service, run remove. This will delete all the AWS resources created by your project and ensure that you don't incur any unexpected charges. It will also remove the service from Serverless Dashboard.
sls3 removeMore details on the remove command can be found here.
Licensing
SLS3-Legacy is licensed under the MIT License.
All files located in the node_modules and external directories are externally maintained libraries used by this software which have their own licenses; we recommend you read them, as their terms may differ from the terms in the MIT License.