Skip to content
This repository has been archived by the owner on Feb 2, 2021. It is now read-only.

Packages lambda functions and layers for AWS lambda

License

Notifications You must be signed in to change notification settings

bifravst/package-layered-lambdas

Folders and files

NameName
Last commit message
Last commit date
Dec 16, 2020
Jan 25, 2021
Jan 25, 2021
Jan 5, 2021
May 25, 2020
May 25, 2020
Aug 26, 2020
Sep 22, 2019
Oct 6, 2020
Mar 4, 2020
Jan 4, 2021
Jan 25, 2021
Mar 16, 2019
Feb 1, 2021
Feb 1, 2021
Aug 26, 2020
Sep 22, 2019

Repository files navigation

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",
  ],
});