-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Description
While generating TypeScript types with ts-gql, we've encountered an issue where several types are defined but not used within the codebase. These unused types are being flagged by ESLint as 'defined but never used'. For reference and replication purposes, I have created a sample Turbo Repo Next.js app with GraphQL, which can be found here: https://github.com/udhaya21/Next-GQL-APP
The following are examples of the generated types that are not utilized:
TSGQLMaybeArray
inschema.d.ts
providedFragments
inschema.d.ts
HelloQueryVariables
inHello.ts
TSGQLDocuments
inHello.ts
Due to our stringent CI/CD pipeline rules, which include a zero tolerance for unused variables, these warnings from ESLint cause the pipeline to fail.
Workaround
As a temporary measure, @lukebennett88 adjusted ESLint to ignore the generated folder to prevent these warnings from causing build failures. However, this workaround is not ideal as it may overlook other important warnings.
Expected Behavior
Ideally, ts-gql
should generate only the types that are used in the codebase, or at least provide an option to exclude certain types from being generated to prevent linting issues.
Additional Context
Below is a screenshot of the terminal output that displays the warnings in question.

I would appreciate your guidance on this matter. Is there a configuration option within ts-gql to circumvent the generation of these unused types, or is there a recommended method to better handle this situation?