Packages your NodeJS code to be executed on AWS Lambda.
yarn add -D @jahed/aws-lambda-package
If you're using workspaces, install it at the root package.
yarn add -W -D @jahed/aws-lambda-package
Building Single Packages
aws-lambda-package will do the following:
yarn packto create a
- Extract the
tgzto a temporary directory
yarn install --productionon the directory
- Create a ZIP of the directory's contents on your current working directory.
- You will have to upload your ZIP to AWS Lambda or S3 manually (or using your own script)
If you're using workspaces and just want to build one workspace, you can do the following:
yarn workspaces your-package-name aws-lambda-package
Building all your workspaces
You can build all of your workspaces at once by running
at the root package.
- To ensure full compatibility, you may need to run
aws-lambda-packagein an environment similar to AWS Lambda. Try out
docker-lambdaif you run into this issue.
A lot of ZIP tools assume Windows line separators (
\) are okay. AWS Lambda
however doesn't support these separators. So I made this project to work
across systems and remove as many caveats as possible.