Local API Gateway-lambda runner.
Runs your lambda locally with hot reloading through an API-gateway mock.
- Is able to listen to your source code and react to changes. Is also able to compile your code when that happens.
- Starts a web server at 127.0.0.1:8080 and will through various adapters run your code and return it the HTTP client.
Due to esbuild having difficult bundling
nodemon, it’s required to have in your node environment before running.
sam has a CLI tool has a command
sam local start-api, that will take a yaml file and start an API gateway mock HTTP server. The problem with this is that there no support to hot reload your code from a built
asset folder, you manually need to run
sam build to build your lambda and then run it. If you’re using aws-cdk to deploy your code, it doesn’t really make sense to build your lambda with
yarn add --dev @funnel-io/lalr
$ yarn lalr --lambda-path dist/index.js --lambda-handler lambdaHandler --build-language ts --build "yarn tsc"
$ yarn lalr --lambda-path dist/index.js --lambda-handler lambdaHandler --build-language js
$ yarn lalr --lambda-path handler.py --lambda-handler handler --build-language python
Run example lambda
$ yarn lalr --lambda-path example-dist/index.js --lambda-handler myHandler --build-language js
$ curl -H "x-hello: test" "http://localhost:8080?queryParam=hello"