Socket
Socket
Sign inDemoInstall

build-lambda-layer

Package Overview
Dependencies
92
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    build-lambda-layer

Build node awesome lambda layers with controls 🕹


Version published
Maintainers
1
Install size
4.43 MB
Created

Readme

Source

Build Lambda Layer

Typed with TypeScript ci npm Github

Builds Awesome Node Lambda Layers with Control! 🕹

Build Lambda Layer is a utility CLI for building AWS Lambda Layers with control for AWS Node Lambda projects.


Why is this written?

Build Lambda Layer takes complexity out of building lambda layers!


+ Monorepo support
+ The ability to ignore and add dependencies at run time
+ Easy json configuration!


How does it does it work?

By running:

build-layer <your-lambda-layer>

Build Lambda Layer will:

  • install all package.json dependencies to <your-lambda-layer>, and
  • zip it up to be uploaded to AWS 🚀

Additionally, Build Lambda Layer works with monorepos!

A key additional feature that Build Lambda Layer provides is that it works with monorepos!

By running:

build-layer my-lambda-layer --files 'packages/**/package.json'

Build Lambda Layer will:

  • install all package/**/package.json dependencies to your lambda layer, and
  • zip it up to be uploaded to AWS

Ignore and include the dependencies you want!

Build Lambda Layer supports specificity with ignore and include options.

By adding a "lambdaLayer" object to a package.json file you're building from, you can specify packages to ignore and include:

{
  "buildLambda": {
    "ignore": ["@types/aws-lambda"],
    "include": {
      "aws-lambda": "latest"
    }
  }
}

You can also add a lambdaLayerrc file to your project root if you want to preserve your package.json file.

{
  "ignore": ["@types/aws-lambda"],
  "include": {
    "aws-lambda": "latest"
  }
}

Be really selective with your installs

There is nothing stopping you from creating your own dependency object to install.

Add a <your-dependencies>.json file to your project root:

{
  "dependencies": {
    "aws-lambda": "latest"
  }
}

And run:

build-layer my-lambda-layer --files '<your-dependencies>.json'

That's it! 🎉

Save yourself the time and effort of building Lambda Layers and let Build Lambda Layer do it for you!


Install

pnpm install build-lambda-layer

CLI API

Usage: build-layer [options] <dir>

Build Lambda Layer, Build node awesome lambda layers with controls 🕹

Arguments:
  dir                                 lambda layer directory to build to

Options:
  --architectures [architectures...]  architectures for deployment to AWS
  --bucket <bucket>                   bucket to deploy to using AWS
  -c, --config <config>               path to a config file
  --deploy                            deploy your lambda layer
  -n, --name <name>                   lambda layer name
  --debug                             enable debugging
  -f, --files [files...]              file glob pattern
  -i, --ignore [ignore...]            ignore glob pattern
  --isTesting                         enable running fn tests w/o overwriting
  --noZip                             don't zip lambda layer
  -o, --output <output>               output path
  -r, --rootDir <rootDir>             root directory to start search
  --runner <runner>                   npm, pnpm, or yarn
  --runtimes [runtimes...]            runtimes for deployment to AWS
  -t, --isTestingCLI                  enable CLI only testing
  -h, --help                          display help for command

Recipes

Debugging

Gets you logging in your terminal

build-layer <dir> --debug
No Zip

Just build you a directory

build-layer <dir> --noZip
Custom runner

Build everything with a runner besides npm. Options are npm, pnpm, or yarn

build-layer <dir> --runner 'pnpm'
AWS Deploy

Assumes you're authenticated, have the AWS CLI, and have already deployed the layer to S3. AKA, implemented but not actively guaranteed to work!

build-layer <dir> --bucket <bucket> --runtimes [runtimes...] --architectures [architectures...]

Made by @yowainwright for fun with passion! MIT, 2022

Keywords

FAQs

Last updated on 13 Feb 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc