0
votes

I'm using a very simple setup, but I'm using typescript. I currently compile my typescript into a /dist directory.

When trying to debug with Webstorm, I have it finding the handler no problems:

WebStorm Debug Setup

But when I run it, I get the following error:

2021-07-01T19:48:54.216Z undefined ERROR Uncaught Exception {"errorType":"Runtime.ImportModuleError","errorMessage":"Error: Cannot find module 'index'\nRequire stack:\n- /var/runtime/UserFunction.js\n- /var/runtime/index.js","stack":["Runtime.ImportModuleError: Error: Cannot find module 'index'","Require stack:","- /var/runtime/UserFunction.js","- /var/runtime/index.js"," at _loadUserApp (/var/runtime/UserFunction.js:100:13)"," at Object.load (/var/runtime/UserFunction.js:140:17)"," at Object. (/var/runtime/index.js:43:30)"," at Module._compile (internal/modules/cjs/loader.js:1060:14)"," at Object..js (internal/modules/cjs/loader.js:1092:10)"," at Module.load (internal/modules/cjs/loader.js:928:32)"," at Function._load (internal/modules/cjs/loader.js:769:14)"," at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)"," at internal/main/run_main_module.js:17:47"]}

I copy the template.yaml into the dist directory as well. The template.yaml file looks like this:

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
  my-lambda-function

  
# More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst
Globals:
  Function:
    Timeout: 3

Resources:
  HelloWorldFunction:
    Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
    Properties:
      CodeUri: .
      Handler: index.handler
      Runtime: nodejs14.x

Very basic.

The ./dist directory structure is as follows:

./dist
  |
  |- /node_modules
  |- index.js
  |- package.json
  |- template.yaml
1

1 Answers

0
votes

I ended up switching over the WebStorm Debug Configuration to Template:

WebStorm Run/Debug Configurations

I also updated this under my Resources, in template.yaml:

Resources:
  BulkImageLambdaFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: ./dist
      Handler: index.handler
      Runtime: nodejs14.x

After this, the debugger ran correctly.