dotansimha/graphql-code-generator-community

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

Open

#119 aberto em 29 de mar. de 2021

Ver no GitHub
 (1 comment) (1 reaction) (0 assignees)TypeScript (195 forks)github user discovery
help wanted

Métricas do repositório

Stars
 (136 stars)
Métricas de merge de PR
 (Métricas PR pendentes)

Description

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

Guia do colaborador