Skip to content

Introspection fails to load schema from server #7934

@eddy84

Description

@eddy84

Describe the bug

I have installed the latest version of graphql-codegen and used the same config from another project to generate the types.
It works on the old project, but fails in the new one.

It seems to me that cross-undici-fetch dependency is the cause of the problems, I tried to override the version but I can't get it to work.

Old project uses:

  • "cross-undici-fetch": "0.1.24"

New Project:

  • "cross-undici-fetch": "0.4.5"

I can exclude the server as the source of problem, because introspection via phpstorm or from the old project works find.

To Reproduce

1.) Create a blank nextjs project
2.) Setup graphql codegen
3.) Create a codegen.yml that loads the schema from remote
4.) Execute codegen

Steps to reproduce the behavior:

  1. My GraphQL schema:

The schema works fine its the fetch that fails.

  1. My GraphQL operations:

Doesn't load the schema from the server.

  1. My codegen.yml config file:
`
schema: 'http://127.0.0.1/service'
documents: ./src/**/*.gql
config:
  strictScalars: true
  scalars:
    Date: string
    DateTime: string
    DateTimeTz: string
    DateTimeUtc: string
    Mixed: any
    Upload: File
    JSON: any
hooks:
  afterAllFileWrite: prettier --write
generates:
  ./src/types/graphql.generated.ts:
    plugins:
      - typescript
    config:
      namingConvention: keep
  src/:
    preset: near-operation-file
    presetConfig:
      extension: .generated.ts
      folder: generated
      baseTypesPath: types/graphql.generated.ts
    plugins:
      - typescript-operations
      - typescript-urql

`

Expected behavior

It should load the schema from the server and generate the types as it did.

Environment:

  • Ubuntu 20 LTS
  • "@graphql-codegen/cli": "^2.6.1",
  • "@graphql-codegen/near-operation-file-preset": "^2.2.4",
  • "@graphql-codegen/typed-document-node": "^2.2.3",
  • "@graphql-codegen/typescript": "^2.4.3",
  • "@graphql-codegen/typescript-operations": "^2.3.0",
  • "@graphql-codegen/typescript-urql": "^3.5.1",

Additional context

  • I tried to override versions to older packages but can't get this to work
  • Switched between localhost and 127.0.0.1
Something went wrong Failed to load schema for "src/"
        Failed to load schema from http://127.0.0.1/service:

        terminated
        TypeError: terminated
    at Fetch.onAborted (/home/eduard/Projects/ecommerce/frontend/node_modules/undici/lib/fetch/index.js:1893:49)
    at Fetch.emit (node:events:390:28)
    at Fetch.terminate (/home/eduard/Projects/ecommerce/frontend/node_modules/undici/lib/fetch/index.js:77:10)
    at Object.onError (/home/eduard/Projects/ecommerce/frontend/node_modules/undici/lib/fetch/index.js:2027:34)
    at Request.onError (/home/eduard/Projects/ecommerce/frontend/node_modules/undici/lib/core/request.js:237:27)
    at errorRequest (/home/eduard/Projects/ecommerce/frontend/node_modules/undici/lib/client.js:1711:13)
    at Socket.onSocketClose (/home/eduard/Projects/ecommerce/frontend/node_modules/undici/lib/client.js:985:5)
    at Socket.emit (node:events:390:28)
    at TCP.<anonymous> (node:net:687:12)
    
        GraphQL Code Generator supports:
          - ES Modules and CommonJS exports (export as default or named export "schema")
          - Introspection JSON File
          - URL of GraphQL endpoint
          - Multiple files with type definitions (glob expression)
          - String in config file
    
        Try to use one of above options and run codegen again.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions