These plugins generate a ready-to-use TypedDocumentNode (a combination of pre-compiled
DocumentNode and the TypeScript signature it represents).
With the typed-document-node plugin you no longer need to reconfigure, and install different
GraphQL Code Generator plugins to manage all your GraphQL client hooks. Generate a single
TypedDocumentNode and pass it to your GraphQL client of choice.
This plugin also generates less boilerplate code for your GraphQL operations.
The example about will generate TypedDocumentNode with the needed types built-in, for example:
// Represents the variables type of the operation - generated by `typescript` + `typescript-operations` pluginsexport type RatesQueryVariables = Exact<{ currency: Scalars['String'];}>;// Represents the result type of the operation - generated by `typescript` + `typescript-operations` pluginsexport type RatesQuery = ( { __typename?: 'Query' } & { rates?: Maybe<Array<Maybe<( { __typename?: 'ExchangeRate' } & Pick<ExchangeRate, 'currency' | 'rate'> )>>>} )// Generated by this plugin - creates a pre-compiled `DocumentNode` and passes result type and variables type as genericsexport const ratesQuery: TypedDocumentNode<RatesQuery, RatesQueryVariables> = { kind: 'Document', definitions: [ { kind: 'OperationDefinition', operation: 'query', name: { ... } } ]}