Layers with ES in node18.x

0

Is it the case that we can't use layers with ES in node18.x?

I am getting the following error upon trying to convert to ES in node18.x when my lambda tries to use layer code:

Runtime.UserCodeSyntaxError: SyntaxError: The requested module '/opt/nodejs/index.js' does not provide an export named 'MyLayerCode'"

I found this response to a question about 14.x and 16.x

ACCEPTED ANSWER Unfortunately AWS support has confirmed we can't utilize layers with ES:

importing ESM modules from layers seems to not be supported when using a module type in Lambda. [...] this is a Node feature blocking us to import ES modules from a layer as "NODE_PATH" variable is not supported by the ESM loader in node

Disappointing that AWS is making headway on supporting ES, but it means we lose the functionality of layers. Support provided a wrapper workaround that we'll be trying. It corresponds with what we found here. Hopefully this saves someone else the headache we've gone through the last week.

asked a year ago234 views
2 Answers
0
profile picture
EXPERT
answered a year ago
0

Hi,

I would recommend you to raise a GitHub issue with the AWS NodeJS team. They would be able to provide assistance over the error that you are receiving.

Have a great day ahead!

AWS
SUPPORT ENGINEER
answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions