alexreardon / tiny-invariant

A tiny invariant function
MIT License
1.66k stars 47 forks source link

Fails to import as default in serverless env. #162

Open amir-ziaei opened 1 year ago

amir-ziaei commented 1 year ago

I have a ts serverless repo with the following tsconfig.json:

{
  "compilerOptions": {
    "strict": true,
    "preserveConstEnums": true,
    "strictNullChecks": true,
    "sourceMap": true,
    "allowJs": true,
    "target": "es5",
    "outDir": ".build",
    "moduleResolution": "node",
    "lib": ["es2015"],
    "rootDir": ".",
    "baseUrl": ".",
    "paths": {
      "test-utils/*": ["tests/utils/*"],
      "~/*": ["src/*"]
    },
    "resolveJsonModule": true
  }
}

When I import tiny-invariant with its default import (import invariant from 'tiny-invariant') , my serverless crashes:

TypeError: (0 , tiny_invariant_1.default) is not a function

But if I import it using named import (import * as invariant from 'tiny-invariant'), it works fine except now my vscode starts complaining:

This expression is not callable.
  Type 'typeof import(".../node_modules/tiny-invariant/dist/tiny-invariant")' has no call signatures.ts(2349)

Is there something wrong with my configuration?

ngregrichardson commented 1 year ago

I'm having the same problem with a similar setup, is there any update on this?