lukeed/clsx

"This expression is not callable." error when using TypeScript with moduleResolution "node16" or "nodenext"

wojtekmaj opened this issue · 2 comments

When using TypeScript with moduleResolution "node16" or "nodenext", importing clsx and using it:

import clsx from 'clsx';

clsx('a', 'b', 'c');

produces the following error:

src/index.tsx(3,0): error TS2349: This expression is not callable.
  Type 'typeof import("/node_modules/clsx/clsx")' has no call signatures.

It appears the problem is with the way typings are shipped with this library. Please read:
microsoft/TypeScript#49189 (comment)

The thread also mentions the same problem with classnames package, but it appears that they have dealt with it since then.

Would have been fixed by #57

lukeed commented

Closed by #57