2

I am a long time user of serverless, but only started using this offline plugin on my current project. The current project is a Node GQL server using Apollo and TypeORM that will eventually be deployed to AWS Lambda, but is only local for now while it is being built.

My issue is I cannot run the function due to the following error that occurs every time I try to run the handler in a browser:

offline: Failure: Cannot use import statement outside a module
/Users/bduffey2/projects/movies/movies-be/src/entity/CaseType.ts:1
import { registerEnumType } from 'type-graphql';
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at wrapSafe (internal/modules/cjs/loader.js:1070:16)
    at Module._compile (internal/modules/cjs/loader.js:1120:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)
    at Module.load (internal/modules/cjs/loader.js:1000:32)
    at Function.Module._load (internal/modules/cjs/loader.js:899:14)
    at Module.require (internal/modules/cjs/loader.js:1042:19)
    at require (internal/modules/cjs/helpers.js:77:18)
    at Function.PlatformTools.load (/Users/bduffey2/projects/movies/movies-be/src/platform/PlatformTools.ts:137:28)
    at /Users/bduffey2/projects/movies/movies-be/src/util/DirectoryExportedClassesLoader.ts:40:36
    at Array.map (<anonymous>)
    at Object.importClassesFromDirectories (/Users/bduffey2/projects/movies/movies-be/src/util/DirectoryExportedClassesLoader.ts:40:10)
    at ConnectionMetadataBuilder.buildEntityMetadatas (/Users/bduffey2/projects/movies/movies-be/src/connection/ConnectionMetadataBuilder.ts:59:56)
    at Connection.buildMetadatas (/Users/bduffey2/projects/movies/movies-be/src/connection/Connection.ts:512:59)
    at Connection.<anonymous> (/Users/bduffey2/projects/movies/movies-be/src/connection/Connection.ts:191:18)
    at step (/Users/bduffey2/projects/movies/movies-be/node_modules/tslib/tslib.js:139:27)
    at Object.next (/Users/bduffey2/projects/movies/movies-be/node_modules/tslib/tslib.js:120:57)
    at fulfilled (/Users/bduffey2/projects/movies/movies-be/node_modules/tslib/tslib.js:110:62)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

I looked at the .build directory and it all looks good (no imports) so unsure if this is somehow trying to load the raw ts file or if that is a red herring. I am also not sure if this is an offline issue or typescript or what, just at a loss as to what to look at next after looking at this for the past couple hours. I do have several other projects using serverless and typescript that deploy correctly and run correctly with a local handler, just have not used serverless-offline before so unsure if I have misconfigured something or am doing something else wrong.

My env is macOS Catalina on Node 12.16.2. I am currently running serverless 1.67.3, serverless-offline 6.1.4, serverless-plugin-typescript 1.1.9 and typescript 3.8.3. Happy to provide any more details needed as I am unsure what to even try next. Thanks!

Duffmaster33
  • 1,160
  • 9
  • 16

0 Answers0