serverless-bundle icon indicating copy to clipboard operation
serverless-bundle copied to clipboard

The default of forceExclude is broken from Lambda with Node.js 18 runtime

Open laurentperroteau opened this issue 1 year ago • 3 comments

What is the problem ?

Using Node.js 18 and AWS SDK v3 significantly increases lambda size with defaults of serverless-bundle

Details :

From Node.js 18, the Lambda runtime layer include aws-sdk-js-v3 and the default forceExclude: [ 'aws-sdk'] is not working any more and should be replacer by the v3 package...

... but v3 is modular, and it's not possible to list the hundreds of packages. And because serverless-webpack do not allow regex or glob pattern, there is no workaround! On the other hand, it would be possible at least to prevent (see my PR).

Note: Personally, because I didn't know who excluded the "aws-sdk", it took me more than a day to solve the problem (first I searched for hours in the docs AWS, after in the Serverless docs and I finally found out it was serverless-bundle)

laurentperroteau avatar Jul 14 '23 19:07 laurentperroteau

I see yeah. This has changed. We should remove that exclude part from the code instead. Would appreciate a PR on that!

jayair avatar Jul 14 '23 23:07 jayair

I would do a PR with pleasure, but I don't know how to solve the problem because serverless-webpack do not allow regex or glob pattern! I try only @aws-sdk but it doesn't work. You should list all the packages and they are hundreds.

laurentperroteau avatar Jul 18 '23 19:07 laurentperroteau

Any updates on this ? :)

Dmtreaqq avatar May 07 '24 13:05 Dmtreaqq