dotansimha/graphql-code-generator-community

Type-graphql doesn't support a scalar as input argument type

Open

#119 geöffnet am 29. März 2021

Auf GitHub ansehen
 (1 Kommentar) (1 Reaktion) (0 zugewiesene Personen)TypeScript (195 Forks)github user discovery
help wanted

Repository-Metriken

Stars
 (136 Stars)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

Describe the bug When a mutation argument type contains a scalar property the generated code fails to compile. The scalar is wrapped with either a FixFixture<> or Maybe<> with the error message "Cannot find name ''"

To Reproduce

  1. Create a schema that contains a mutation with with null or non-null argument scalar property (see below)
  2. Generates the following code for the argument.

@TypeGraphQL.ArgsType() export class MutationRemoveUserArgs {

@TypeGraphQL.Field(type => CustomID) id!: FixDecorator; };

Error message: "Cannot find name 'CustomID"

  1. My GraphQL schema:
scalar CustomID

interface Node {
    id: CustomID!
}

type User implements Node {
    id: CustomID!
    username: String!
    email: String!
}

type Mutation {
    removeUser(id: CustomID!): RemoveByIdEmployeePayload
}

type RemoveByIdEmployeePayload {
    id: CustomID!
}

  1. My GraphQL operations:
None
  1. My codegen.yml config file:
schema: schema.graphql
config:
    scalars:
        CustomID: String
generates:
    ./generatedTypeGraphQL.ts:
        plugins:
            - typescript-type-graphql

Expected behavior

Expecting the argument class to be:

@TypeGraphQL.ArgsType() export class MutationRemoveUserArgs {

@TypeGraphQL.Field(type => String) id!: FixDecorator<Scalars['CustomID']>; };

Environment:

  • OS: Mac OS
  • @graphql-codegen/...: "@graphql-codegen/cli": "^1.21.3", "@graphql-codegen/typescript-type-graphql": "^1.18.3"
  • NodeJS:v15.3.0

Contributor Guide