Open
Description
Describe the bug
I made types with prefix "T". but when I generated resolver types, It doesn't have "T" prefix.
codegen
overwrite: true
schema: "src/schema/**/*.type.gql"
documents: "src/schema/**/*.document.gql"
config:
typesPrefix: T
enumPrefix: false
namingConvention:
enumValues: keep
generates:
src/generated/type.ts:
plugins:
- "typescript"
- "typescript-operations"
src/generated/resolver.ts:
preset: "import-types"
presetConfig:
typesPath: "generated/type"
plugins:
- "typescript-resolvers"
config:
useIndexSignature: true
gql files
test.document.gql
type User {
id: String!
name: String!
}
type Query {
getUser: User
}
test.type.gql
type User {
id: String!
name: String!
}
type Query {
getUser: User
}
generated files
type.ts
export type Maybe<T> = T | null;
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
/** All built-in and custom scalars, mapped to their actual values */
export type Scalars = {
ID: string;
String: string;
Boolean: boolean;
Int: number;
Float: number;
};
export type TUser = {
__typename?: 'User';
id: Scalars['String'];
name: Scalars['String'];
};
export type TQuery = {
__typename?: 'Query';
getUser?: Maybe<TUser>;
};
export type TGetUserQueryVariables = Exact<{ [key: string]: never; }>;
export type TGetUserQuery = (
{ __typename?: 'Query' }
& { getUser?: Maybe<(
{ __typename?: 'User' }
& Pick<TUser, 'id' | 'name'>
)> }
);
resolver.ts
import * as Types from 'generated/type';
import { GraphQLResolveInfo } from 'graphql';
export type WithIndex<TObject> = TObject & Record<string, any>;
export type ResolversObject<TObject> = WithIndex<TObject>;
export type ResolverTypeWrapper<T> = Promise<T> | T;
export type LegacyStitchingResolver<TResult, TParent, TContext, TArgs> = {
fragment: string;
resolve: ResolverFn<TResult, TParent, TContext, TArgs>;
};
export type NewStitchingResolver<TResult, TParent, TContext, TArgs> = {
selectionSet: string;
resolve: ResolverFn<TResult, TParent, TContext, TArgs>;
};
export type StitchingResolver<TResult, TParent, TContext, TArgs> = LegacyStitchingResolver<TResult, TParent, TContext, TArgs> | NewStitchingResolver<TResult, TParent, TContext, TArgs>;
export type Resolver<TResult, TParent = {}, TContext = {}, TArgs = {}> =
| ResolverFn<TResult, TParent, TContext, TArgs>
| StitchingResolver<TResult, TParent, TContext, TArgs>;
export type ResolverFn<TResult, TParent, TContext, TArgs> = (
parent: TParent,
args: TArgs,
context: TContext,
info: GraphQLResolveInfo
) => Promise<TResult> | TResult;
export type SubscriptionSubscribeFn<TResult, TParent, TContext, TArgs> = (
parent: TParent,
args: TArgs,
context: TContext,
info: GraphQLResolveInfo
) => AsyncIterator<TResult> | Promise<AsyncIterator<TResult>>;
export type SubscriptionResolveFn<TResult, TParent, TContext, TArgs> = (
parent: TParent,
args: TArgs,
context: TContext,
info: GraphQLResolveInfo
) => TResult | Promise<TResult>;
export interface SubscriptionSubscriberObject<TResult, TKey extends string, TParent, TContext, TArgs> {
subscribe: SubscriptionSubscribeFn<{ [key in TKey]: TResult }, TParent, TContext, TArgs>;
resolve?: SubscriptionResolveFn<TResult, { [key in TKey]: TResult }, TContext, TArgs>;
}
export interface SubscriptionResolverObject<TResult, TParent, TContext, TArgs> {
subscribe: SubscriptionSubscribeFn<any, TParent, TContext, TArgs>;
resolve: SubscriptionResolveFn<TResult, any, TContext, TArgs>;
}
export type SubscriptionObject<TResult, TKey extends string, TParent, TContext, TArgs> =
| SubscriptionSubscriberObject<TResult, TKey, TParent, TContext, TArgs>
| SubscriptionResolverObject<TResult, TParent, TContext, TArgs>;
export type SubscriptionResolver<TResult, TKey extends string, TParent = {}, TContext = {}, TArgs = {}> =
| ((...args: any[]) => SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>)
| SubscriptionObject<TResult, TKey, TParent, TContext, TArgs>;
export type TypeResolveFn<TTypes, TParent = {}, TContext = {}> = (
parent: TParent,
context: TContext,
info: GraphQLResolveInfo
) => Types.Maybe<TTypes> | Promise<Types.Maybe<TTypes>>;
export type IsTypeOfResolverFn<T = {}, TContext = {}> = (obj: T, context: TContext, info: GraphQLResolveInfo) => boolean | Promise<boolean>;
export type NextResolverFn<T> = () => Promise<T>;
export type DirectiveResolverFn<TResult = {}, TParent = {}, TContext = {}, TArgs = {}> = (
next: NextResolverFn<TResult>,
parent: TParent,
args: TArgs,
context: TContext,
info: GraphQLResolveInfo
) => TResult | Promise<TResult>;
/** Mapping between all available schema types and the resolvers types */
export type TResolversTypes = ResolversObject<{
User: ResolverTypeWrapper<Types.User>; // <=========== this should be a `TUser`
String: ResolverTypeWrapper<Types.Scalars['String']>;
Query: ResolverTypeWrapper<{}>;
Boolean: ResolverTypeWrapper<Types.Scalars['Boolean']>;
}>;
/** Mapping between all available schema types and the resolvers parents */
export type TResolversParentTypes = ResolversObject<{
User: Types.User; // <=========== this should be a `TUser`
String: Types.Scalars['String'];
Query: {};
Boolean: Types.Scalars['Boolean'];
}>;
export type TUserResolvers<ContextType = any, ParentType extends TResolversParentTypes['User'] = TResolversParentTypes['User']> = ResolversObject<{
id?: Resolver<TResolversTypes['String'], ParentType, ContextType>;
name?: Resolver<TResolversTypes['String'], ParentType, ContextType>;
__isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
}>;
export type TQueryResolvers<ContextType = any, ParentType extends TResolversParentTypes['Query'] = TResolversParentTypes['Query']> = ResolversObject<{
getUser?: Resolver<Types.Maybe<TResolversTypes['User']>, ParentType, ContextType>;
}>;
export type TResolvers<ContextType = any> = ResolversObject<{
User?: TUserResolvers<ContextType>;
Query?: TQueryResolvers<ContextType>;
}>;
To Reproduce
Steps to reproduce the behavior:
https://github.com/Jonir227/graphql-codegen-import-type-bug
npm run grqphql
Metadata
Metadata
Assignees
Labels
No labels