@bifravst/package-layered-lambdas

Packages lambda functions and layers for AWS lambda

Usage no npm install needed!

<script type="module">
  import bifravstPackageLayeredLambdas from 'https://cdn.skypack.dev/@bifravst/package-layered-lambdas';
</script>

README

Package Layered Lambdas npm version

GitHub Actions Known Vulnerabilities semantic-release Renovate Mergify Status Commitizen friendly

Packages lambdas with intra-project dependencies using Webpack and a base layer with the dependencies defined in package.json.

Checksums are created for dependencies per lambda so that rebuild only happens when files are changed.

Packaged lambdas are published to S3 so they can be picked up from CloudFormation and shared also cached for other developers.

Installation

npm i --save-dev @bifravst/package-layered-lambdas

Usage

More background information on this project and usage instructions can be found in this blog post.

Also, have a look at the test stack, which uses this library to publish a lambda and especially the cdk/prepareResources.ts which shows how to package a lambda and a layer.

Use with Yarn

The lockfile name and the command used to install the dependencies of packBaseLayer are configureable. For use with Yarn use these settings:

packBaseLayer({
  lockFileName: "yarn.lock",
  installCommand: [
    "yarn",
    "install",
    "--frozen-lockfile",
    "--ignore-scripts",
    "--production",
  ],
});