dotansimha/graphql-code-generator

Interfaces forcing c# 8.0, is this intended?

Open

#5,600 opened on Feb 24, 2021

View on GitHub
 (1 comment) (1 reaction) (0 assignees)TypeScript (1,295 forks)batch import
help wantedkind/enhancementplugins

Repository metrics

Stars
 (10,341 stars)
PR merge metrics
 (Avg merge 46d 1h) (11 merged PRs in 30d)

Description

Describe the bug When we have an interface in the graphl schema the generated c# interface properties will have a public prefix making them a c# 8.0 feature.

Schema

interface Product {
  articles: [Article!]!
}

C#

public interface Product {
      [JsonProperty("articles")]
      public List<Article> articles { get; set; }
}

I guess the publicpart here should probably be omitted? Or is this intended?

  1. My GraphQL schema:
# Put your schema here
  1. My GraphQL operations:
# Put your operations here
  1. My codegen.yml config file:
overwrite: true
schema: "https://somedomain/graphql"
documents: "./src/graphql/**/*.graphql"
generates:
  ./src/GraphQL/Client/GraphQLClientServices.generated.cs:
    config:
      namespaceName: SomeNameSpace
      typesafeOperation: false
    plugins:
      - c-sharp
      - c-sharp-operations

Expected behavior I expect the output to not include the public part.

Environment:

  • OS: Windows / Git Bash
"@graphql-codegen/c-sharp-operations": "^1.18.0",
"@graphql-codegen/cli": "^1.20.1",
"@graphql-codegen/typescript": "^1.20.2",
"@graphql-codegen/typescript-graphql-request": "^3.0.2",
"@graphql-codegen/typescript-operations": "^1.17.14",
  • NodeJS: v14.15.1

Contributor guide