Skip to content

typescript-resolver adds an extra property for my custom scalars #9769

@davidgtu

Description

@davidgtu

Which packages are impacted by your issue?

"@graphql-codegen/typescript-resolvers"

Describe the bug

I just recently added the typescript-resolvers plugin to my codegen config, and while it does what I need, it seems to also add my custom scalars to the ResolversTypes.

The issue is that it seems to add an extra ['output'] property to these scalars. For example; I end up getting an error:

Property 'output' does not exist on type 'X'

Example:

// generated.ts
/** All built-in and custom scalars, mapped to their actual values */
export type Scalars = {
  ID: string;
  String: string;
  Boolean: boolean;
  Int: number;
  Float: number;
  DataURL: any;
  Date: any;
  DateTime: any;
  Email: any;
  JSON: any;
  PhoneNumber: any;
};

// ....

/** Mapping between all available schema types and the resolvers types */
export type ResolversTypes = {
  Boolean: ResolverTypeWrapper<Scalars['Boolean']['output']>;
  ID: ResolverTypeWrapper<Scalars['ID']['output']>;
  Float: ResolverTypeWrapper<Scalars['Float']['output']>;
  Int: ResolverTypeWrapper<Scalars['Int']['output']>;
  PhoneNumber: ResolverTypeWrapper<Scalars['PhoneNumber']['output']>; // <-- this one weirdly doesn't throw an error?
  String: ResolverTypeWrapper<Scalars['String']['output']>;

/** Mapping between all available schema types and the resolvers parents */
export type ResolversParentTypes = {
  Boolean: Scalars['Boolean']['output'];
  DataURL: Scalars['DataURL']['output']; // <-- this one also doesn't throw an error
  Date: Scalars['Date']['output']; // <-- this one also doesn't throw an error
  DateTime: Scalars['DateTime']['output']; // <-- this one also doesn't throw an error
  Float: Scalars['Float']['output'];
  ID: Scalars['ID']['output'];
  Int: Scalars['Int']['output'];
  String: Scalars['String']['output'];

Am I missing something from my config? Ideally I want to remove this weird ['output'] property

Your Example Website or App

N/A

Steps to Reproduce the Bug or Issue

N/A

Expected behavior

Ideally, I want to not have this ['output'] generated

Screenshots or Videos

No response

Platform

  • OS: OSX 13.2
  • NodeJS: v18.16.1
  • graphql version: "^16.7.1"
  • "@graphql-codegen/cli": "^3.3.1",
  • "@graphql-codegen/typescript": "^3.0.4",
  • "@graphql-codegen/typescript-graphql-request": "^5.0.0",
  • "@graphql-codegen/typescript-operations": "^3.0.4",
  • "@graphql-codegen/typescript-react-apollo": "^3.3.7",
  • "@graphql-codegen/typescript-resolvers": "^4.0.1",

Codegen Config File

generates:
  ./src/generated/generated-mock.ts:
    plugins:
      - typescript-mock-data:
          typesFile: ./graphql.ts
          typeNames: pascal-case#pascalCase
  ./src/generated/graphql.ts:
    plugins:
      - typescript
      - typescript-operations
      - typescript-react-apollo
      - typescript-resolvers

Additional context

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions