UNPKG

@deliverr/serverless-offline-step-functions

Version:

Serverless Offline Plugin to Support Step Functions for Local Development

107 lines (73 loc) 4.41 kB
# Serverless Offline Step Functions **(STATUS: ALPHA)** [![serverless](http://public.serverless.com/badges/v3.svg)](http://www.serverless.com) ![npm](https://img.shields.io/npm/v/@fernthedev/serverless-offline-step-functions) ![node-lts](https://img.shields.io/node/v-lts/@fernthedev/serverless-offline-step-functions) ![GitHub](https://img.shields.io/github/license/jefer590/serverless-offline-step-functions) ![GitHub issues](https://img.shields.io/github/issues-raw/jefer590/serverless-offline-step-functions) ![GitHub pull requests](https://img.shields.io/github/issues-pr/jefer590/serverless-offline-step-functions) 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 ## Sponsor 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. [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/Y8Y42C4E9) ## Requirements - [serverless](https://github.com/serverless/serverless) - [serverless-offline](https://github.com/dherault/serverless-offline) - [serverless-step-functions plugin](https://github.com/serverless-operations/serverless-step-functions) - [serverless-webpack (optional)](https://github.com/serverless-heaven/serverless-webpack) ## Installation ```shell $ npm i -D @fernthedev/serverless-offline-step-functions # or $ yarn add -D @fernthedev/serverless-offline-step-functions ``` ## Options The plugin contain a couple of options to configure in `custom` ```yml 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) ## Using it with Webpack 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`** ### Example ```yml plugins: - serverless-webpack # Defined Before - serverless-step-functions # Defined Before - '@fernthedev/serverless-offline-step-functions' - serverless-offline ``` ## Known Issues - The library will only start with `$npx sls offline start` and not `npx sls offline`. - If there's no input for the options it will throw an error. please copy&paste the ones provided on the top. ## State Types Supported | 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 | ## Credits and inspiration The plugin began as a fork of [flocasts/serverless-offline-step-functions](https://github.com/flocasts/serverless-offline-step-functions) for a fix. Then I decided to do a full rewrite of it 😀 ## License [MIT](./LICENSE) ## How to Contribute 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**