JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 873
  • Score
    100M100P100Q104555F
  • License BSD-3-Clause-Clear

A serverless plugin that will fix the problem of AWS-Layers not working with ES Modules (ESM .mjs)

Package Exports

  • serverless-esm-layer
  • serverless-esm-layer/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-esm-layer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Serverless plugin to support AWS Layers using ES Module

serverless

In early 2022, AWS released ES Module (ESM .mjs) support for the the Node.js 14.x Lambda Runtime and surprisingly, ESM support was released without "support" for AWS Layers. This plugin fixed the problem.

Note: This plugin was based on the vibe/aws-esm-layer-support repository that details the problem and shows the implemented solution.

Requirements:

  • Serverless v2.x or higher.
  • AWS provider and nodejs14.x/16.x runtimes

Setup

Install via npm:

npm install serverless-esm-layer --save-dev
  • Add the plugin to the plugins array in your Serverless serverless.yml:
plugins:
  - serverless-esm-layer

All done! When running SLS deploy your lambdas will have the correct configuration to work layers with ES Module. No extra configuration is needed.

Contribute

Help us making this plugin better and future proof.

  • Clone the code
  • Install the dependencies with npm install
  • Create a feature branch git checkout -b new_feature
  • Lint with standard npm run lint