dotansimha/graphql-code-generator-community

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

开放

#119 创建于 2021年3月29日

 (1 条评论) (1 个反应) (0 位负责人)TypeScript (195 个派生)github user discovery
help wanted

仓库指标

星标
 (136 个星标)
PR 合并指标
 (平均合并 1天 11小时) (30 天内合并 28 个 PR)

描述

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

贡献者指南