@bubuntux/lambda-pack

Run npm pack to generate a .zip archive file

Usage no npm install needed!

<script type="module">
  import bubuntuxLambdaPack from 'https://cdn.skypack.dev/@bubuntux/lambda-pack';
</script>

README

This tool will create an archive of your package similar to npm pack, but will generate a zip file instead of a tarball.

It is designed to help you deploy NPM packages to AWS Lambda.

This project uses the npm-packlist project to build up the list of files to include and all bundle dependencies. Check out their documentation on how to exclude files from the archive.

Installation

npm install --save-dev @bubuntux/lambda-pack

Example

my-lambda is an npm package I want to run as an AWS Lambda Function.

Install pack-zip locally in my-lambda

npm install --save-dev @bubuntux/lambda-pack

Install any runtime dependencies of my-lambda.

npm install

Modify my-lambda/package.json:

"scripts": {
    "pack": "lambda-pack"
    ...
}

Create the .zip file containing my-lambda and its dependencies, ready to upload to AWS Lambda

npm run pack

Creating a layer

Using the argument --layer the zip will have the following structure

 package.zip 
    - nodejs
        -node_modules
            ... (bundledDependencies)
            package/
                index.js
                package.json
                ...