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 and will through various adapters run your code and return it the HTTP client.

Language support:

  • JavaScript
  • TypeScript
  • Python


Due to esbuild having difficult bundling nodemon, it’s required to have in your node environment before running.


AWS’ 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 sam build.


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 --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"


View Github