serverless-s3-local icon indicating copy to clipboard operation
serverless-s3-local copied to clipboard

Getting Error: Cannot find module when used with serverless-webpack s3 event lambda invokation.

Open gghukasyan opened this issue 4 years ago • 3 comments

When using serverless with typescript/webpack, all the code is being compiled into .webpack folder on my machine but the way the lambda function is being invoked, it is not looking into .webpack folder. Error: Cannot find module '/Users/garegin/Projects/myproj/src/functions/s3-event-listener' Require stack:

  • /Users/garegin/Projects/myproj/node_modules/serverless-s3-local/node_modules/serverless-offline/dist/lambda/handler-runner/in-process-runner/InProcessRunner.js
  • /Users/garegin/Projects/myproj/node_modules/serverless-s3-local/node_modules/serverless-offline/dist/lambda/handler-runner/in-process-runner/index.js
  • /Users/garegin/Projects/myproj/node_modules/serverless-s3-local/node_modules/serverless-offline/dist/lambda/handler-runner/HandlerRunner.js
  • /Users/garegin/Projects/myproj/node_modules/serverless-s3-local/node_modules/serverless-offline/dist/lambda/handler-runner/index.js
  • /Users/garegin/Projects/myproj/node_modules/serverless-s3-local/node_modules/serverless-offline/dist/lambda/LambdaFunction.js
  • /Users/garegin/Projects/myproj/node_modules/serverless-s3-local/node_modules/serverless-offline/dist/lambda/LambdaFunctionPool.js
  • /Users/garegin/Projects/myproj/node_modules/serverless-s3-local/node_modules/serverless-offline/dist/lambda/Lambda.js
  • /Users/garegin/Projects/myproj/node_modules/serverless-s3-local/node_modules/serverless-offline/dist/lambda/index.js
  • /Users/garegin/Projects/myproj/node_modules/serverless-s3-local/index.js
  • /Users/garegin/Projects/myproj/node_modules/serverless/lib/classes/PluginManager.js
  • /Users/garegin/Projects/myproj/node_modules/serverless/lib/Serverless.js
  • /Users/garegin/Projects/myproj/node_modules/serverless/scripts/serverless.js
  • /Users/garegin/Projects/myproj/node_modules/serverless/bin/serverless.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15) at Function.resolve (internal/modules/cjs/helpers.js:94:19) at InProcessRunner.run (/Users/garegin/Projects/myproj/node_modules/serverless-s3-local/node_modules/serverless-offline/dist/lambda/handler-runner/in-process-runner/InProcessRunner.js:140:18) at HandlerRunner.run (/Users/garegin/Projects/myproj/node_modules/serverless-s3-local/node_modules/serverless-offline/dist/lambda/handler-runner/HandlerRunner.js:177:64) at LambdaFunction.runHandler (/Users/garegin/Projects/myproj/node_modules/serverless-s3-local/node_modules/serverless-offline/dist/lambda/LambdaFunction.js:355:20)

gghukasyan avatar May 25 '21 16:05 gghukasyan

Having the same issue here. Did you ever figure out a solution or workaround for this?

jonnyasmar avatar Jul 24 '21 12:07 jonnyasmar

And just like that. Publicize your problem and the solution comes to mind right away 😅

Looks like you just need to ensure the serverless-webpack plugin declaration comes before serverless-s3-local, e.g.

plugins:
  - serverless-webpack
  - serverless-s3-local

jonnyasmar avatar Jul 24 '21 12:07 jonnyasmar

@gghukasyan I'm sorry for my late reply. I didn't recognize your comment.

@jonnyasmar Thank you for your great sharing of a workaround to this issue. It sounds great!

ar90n avatar Jul 26 '21 00:07 ar90n