JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2291
  • Score
    100M100P100Q114884F
  • License ISC

Reduce size of lambda to its dependencies

Package Exports

  • serverless-plugin-reducer
  • serverless-plugin-reducer/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (serverless-plugin-reducer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Build status Tests coverage npm version

serverless-plugin-reducer

Reduce Node.js lambda package so it contains only lambda dependencies

Plugin for the Serverless Framework v2+

By default Serverless packages whole contents of service folder in which lambda was configured, it raises issues in projects where we maintain many functions under one service.

This plugin ensures that it is only dependencies of given lambda that are packaged and deployed to remote instance

Installation

$ npm install serverless-plugin-reducer

Configuration (within serverless.yml)

  1. Ensure individual functions packaging by setting individually: true for package group. (See Packaging functions separately)
package:
  individually: true
  1. Activate plugin in serverless.yml
plugins:
  - serverless-plugin-reducer
  1. If there ar some files that need to be included but escape automatic dependencies resolution (e.g. non Node.js module files, or modules required through dynamically resolved paths) they need to be included through include option as e.g.
functions:
  hello:
    handler: handler.hello
    package:
      include:
        - non-node-js-module.txt
        - required-through-dynamic-path.js
  1. If for some paths module files cannot be found, by default an informative error is thrown. Still if the cases are safe to ignore, you may silence those errors with:
custom:
  reducer:
    ignoreMissing: true

Tests

npm test