Skip to content

Unused Type Definitions Generated by ts-gql Leading to Linting Errors #130

@udhaya21

Description

@udhaya21

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 in schema.d.ts
  • providedFragments in schema.d.ts
  • HelloQueryVariables in Hello.ts
  • TSGQLDocuments in Hello.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.

Screenshot 2024-04-19 at 5 08 19 PM

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions