💡Aha!

Nx 모노레포에서 Emotion을 사용할 때의 union type that is too complex 문제

TS2590: Expression produces a union type that is too complex to represent.

Nx를 사용한 모노레포에서 @nrwl/react:lib generator를 통해 라이브러리를 생성했는데, 갑자기 JSX를 사용하려고 하니 문제가 발생한다.

해결

생성된 라이브러리의 tsconfig.json 에서 jsxImportSource 항목을 제거하면 오류가 사라진다.

{
  "compilerOptions": {
    "jsx": "react-jsx",
    "allowJs": false,
    "esModuleInterop": false,
    "allowSyntheticDefaultImports": true,
    "strict": true
  },
  "files": [],
  "include": [],
  "references": [
    {
      "path": "./tsconfig.lib.json"
    }
  ],
  "extends": "../../../../tsconfig.base.json"
}

2024 Dohyun Jung.
Made with ☕️.