graphql-codegen-typescript-operation-types

GraphQL codegen plugin that generates only the types used in the operations

Usage no npm install needed!

<script type="module">
  import graphqlCodegenTypescriptOperationTypes from 'https://cdn.skypack.dev/graphql-codegen-typescript-operation-types';
</script>

README

graphql-codegen-typescript-operation-types

This graphql-codegen plugin generates the base TypeScript types used in the graphql operations.

Intended as a drop in replacement for the typescript plugin but only generates the input, enums, and object types utilized in the graphql operations. Use one of @graphql-codegen/typescript or graphql-codegen-typescript-operation-types, not both. This plugin uses the underlying typescript plugin but only outputs used types.

The types generated by this plugin are simple, and refers to the exact structure of your schema.

This plugin is best used in conjunction with the typescript-operations plugin with preResolveTypes: true and setting omitObjectTypes: true. In this configuration this plugin will emit only the enum and input types used in the graphql mutations or queries.

All scalar types are always emitted.

Example

Types only

overwrite: true
schema: 'path/to/schema.gql'

generates:
  path/to/file.ts:
    documents: 'path/to/gql/**/*.graphql'
    plugins:
      - graphql-codegen-typescript-operation-types
    config:
      omitObjectTypes: true

Types and fragments

overwrite: true
schema: 'path/to/schema.gql'

generates:
  path/to/file.ts:
    documents: 'path/to/gql/**/*.graphql'
    config:
      omitObjectTypes: true
      preResolveTypes: true
    plugins:
      - graphql-codegen-typescript-operation-types
      - typescript-operations