GraphQL CodeGen Enum Deprecation Not Generating in TypeScript
I have a GraphQL schema with deprecated enum values generated by GraphQL Codegen, but the generated TypeScript types don’t include the deprecation annotations
The enum is used to generate the GraphQL schema below. i use @nestjs/graphql
export enum PaymentType {
/**
* @deprecated Cash payments are no longer supported.
*/
Cash="Cash",
CreditCard = 'CreditCard',
/**
* @deprecated Use `DigitalWallet` instead.
*/
PayPal="PayPal",
DigitalWallet="DigitalWallet",
}
registerEnumType(PaymentMethod, {
name: 'PaymentMethod',
valuesMap: {
PayPal: {
deprecationReason: 'Use `DigitalWallet` instead',
},
Cash: {
deprecationReason: 'Cash payments are no longer supported.',
},
},
});
GraphQL Schema generated from the above enum
enum PaymentType {
CASH @deprecated(reason: "Cash payments are no longer supported")
CREDIT_CARD
DIGITAL_WALLET @deprecated(reason: "Use MOBILE_PAYMENT instead")
MOBILE_PAYMENT
}
Generated TypeScript type that generated from above grapqQL type
this doesn’t include the deprecated fields
export enum PaymentType {
CASH = 'CASH',
CREDIT_CARD = 'CREDIT_CARD',
DIGITAL_WALLET = 'DIGITAL_WALLET',
MOBILE_PAYMENT = 'MOBILE_PAYMENT'
}
Expected TypeScript output
export enum PaymentType {
/** @deprecated Cash payments are no longer supported */
CASH = 'CASH',
CREDIT_CARD = 'CREDIT_CARD',
/** @deprecated Use MOBILE_PAYMENT instead */
DIGITAL_WALLET = 'DIGITAL_WALLET',
MOBILE_PAYMENT = 'MOBILE_PAYMENT'
}
Read more here: Source link
