'How to transform GQL schema on its generating? [NestJS]
I want to apply prefixes to all types, mutations, etc. in GQL schema generated. Here is my config factory:
useFactory: (configService: ConfigService) => ({
autoSchemaFile: 'schema.graphql',
sortSchema: true,
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
transformSchema: schema => wrapSchema({
schema,
transforms: [
new RenameTypes(name => `New${name}`),
new RenameObjectFields((_, fieldName) => `new_${fieldName}`),
new RenameInterfaceFields((_, fieldName) => `new_${fieldName}`),
new RenameInputObjectFields((_, fieldName) => `new_${fieldName}`),
],
}),
playground: configService.get<string>('NODE_ENV') === 'development',
context: ({ req, res }): { req: Request; res: Response } => ({
req,
res,
}),
tracing: configService.get<string>('NODE_ENV') === 'development',
}),
wrapSchema
works fine but as a result I'm still getting old schema... It seems like transformSchema
is not working at all. How to fix it?
Solution 1:[1]
So, after exploring the source code of @nestjs/graphql I found out that in order to make transformSchema
option work I have to set transformAutoSchemaFile: true
because I use autoSchemaFile
.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Denis Rybkin |