dotansimha/graphql-code-generator

Automatically exclude schema from documents

Open

#5409 opened on Jan 16, 2021

View on GitHub
 (1 comment) (2 reactions) (0 assignees)TypeScript (10,341 stars) (1,295 forks)batch import
corehelp wantedkind/enhancement

Description

Describe the bug

My codegen configuration looks like this:

schema: ./src/graphql/schema/schema.graphql
documents: "**/*.graphql"

Running graphql-codegen causes the following error:

      Unable to find any GraphQL type definitions for the following pointers:
        
          - src/graphql/schema/schema.graphql

After quite a bit of playing around I realised why this is happening: graphql-codegen is trying to read either a query or mutation from src/graphql/schema/schema.graphql! 🤦

I have fixed this by changing my config to the following:

schema: ./src/graphql/schema/schema.graphql
documents:
  - "**/*.graphql"
  - "!src/graphql/schema/schema.graphql"

However, it seems really backwards that graphql-codegen would even attempt to parse the schema. It knows it's a schema! Let's just not parse it?!

Expected behavior

Don't fail if the documents glob includes the schema file.

Contributor guide