dotansimha/graphql-code-generator-community

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

Open

#119 创建于 2021年3月29日

在 GitHub 查看
 (1 评论) (1 反应) (0 负责人)TypeScript (195 fork)github user discovery
help wanted

仓库指标

Star
 (136 star)
PR 合并指标
 (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

贡献者指南