Skip to content

Amplify Gen2 Schema Model Complexity Leads to TS2590 Error in TypeScript Client #424

@sevenkkk

Description

@sevenkkk

How did you install the Amplify CLI?

npm

If applicable, what version of Node.js are you using?

v18.20.1

Amplify CLI Version

"@aws-amplify/backend": "^1.0.3",
"@aws-amplify/backend-cli": "^1.0.4",
"@aws-amplify/data-schema": "1.2.8",
"aws-amplify": "^6.3.4",
"typescript": "^5.4.5"

What operating system are you using?

mac

Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.

NO

Describe the bug

I'm currently using Amplify Gen2 to manage my backend schema models. However, when the number of schema models exceeds a certain threshold and there are numerous dependencies between them, I encounter a TypeScript error in my client-side code: TS2590: Expression produces a union type that is too complex to represent. This results in the failure of all TypeScript type derivations.
截屏2024-06-02 12 07 15
截屏2024-06-02 12 20 51

Expected behavior

The generated TypeScript types should work correctly regardless of the number of schema models or their dependencies.

Reproduction steps

Here is the repository where my schema definitions are located: https://github.com/sevenkkk/amplify-next-template.git

Project Identifier

No response

Log output

# Put your logs below this line


Additional information

No response

Before submitting, please confirm:

  • I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
  • I have removed any sensitive information from my code snippets and submission.

Metadata

Metadata

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions