schema: 'graphql.schema.json'
documents:
  - 'src/**/!(*.d).{ts,tsx}'
  - '!src/types/graphql.ts'
generates:
  src/types/graphql.ts:
    config:
      skipTypename: false
      avoidOptionals:
        field: true
        inputValue: false
        object: false
        defaultValue: false
      maybeValue: T | null
      preResolveTypes: true
      onlyOperationTypes: true
      scalars:
        AWSDate: string
        AWSDateTime: string
        AWSJSON: string
        AWSURL: string
      namingConvention:
        # typeNames: change-case-all#camelCase
        transformUnderscore: true
    plugins:
      - 'typescript'
      - 'typescript-operations'
  ./graphql.schema.json:
    plugins:
      - 'introspection'
overwrite: true
