Serverless Offline Plugin to Support Step Functions for Local Development.
Features:
- Fully Written in TypeScript
- Promise based (no process spawn)
- Completely based on AWS Docs
If the plugin is being useful in your company and/or project and want to keep the development active, consider buying me a coffee 🙂... coffee is the thing that makes me the most happy person in the world and I'd appreciate the sponsorship.
$ npm i -D @fernthedev/serverless-offline-step-functions
# or
$ yarn add -D @fernthedev/serverless-offline-step-functions
The plugin contain a couple of options to configure in custom
custom:
'@fernthedev/serverless-offline-step-functions':
port: 8014
enabled: true
debug: false
port
: Port of the Step Functions API Simulator (Default: 8014)enabled
: Enabled Step Function API Simulator (Default: true)debug
: Enable Debugger Output (Default: false)
If your project uses serverless-webpack
to compile/transpile your serverless application. Make sure is defined in your plugins before this plugin and serverless-offline
plugins:
- serverless-webpack # Defined Before
- serverless-step-functions # Defined Before
- '@fernthedev/serverless-offline-step-functions'
- serverless-offline
- The library will only start with
$npx sls offline start
and notnpx sls offline
. - If there's no input for the options it will throw an error. please copy&paste the ones provided on the top.
States | Notes |
---|---|
Task | Basic Retry/Catch now supported!, Timeout and Heartbeat are not supported yet. |
Choice | ✅ |
Wait | ✅ |
Parallel | Not Supported at all yet. |
Pass | ✅ |
Fail | ✅ |
Succeed | ✅ |
Map | Basic Support |
The plugin began as a fork of flocasts/serverless-offline-step-functions for a fix. Then I decided to do a full rewrite of it 😀
Thank you for your interest on contributing. There's a tons of ways that you can contribute!
- If you see that something is not right, open an issue!
- If you know exactly what is happening, open a PR!
- Want to improve the docs? Open a PR!
- Want to improve the code? Open a PR!
Please follow both PR and Issues template for contribution. Any Open Issue/PR that does not follow the templates will be closed