Introduction to GraphQL Code Generator

GraphQL Code Generator is a plugin-based tool that helps you get the best out of your GraphQL stack.

From back-end to front-end, GraphQL Code Generator automates the generation of:

  • Typed Queries, Mutations and, Subscriptions for React, Vue, Angular, Next.js, Svelte, whether you are using Apollo Client, URQL or, React Query.
  • Typed GraphQL resolvers, for any Node.js (GraphQL Yoga, GraphQL Modules, TypeGraphQL or Apollo) or Java GraphQL server.
  • Fully-typed Node.js SDKs, Apollo Android support, and more!

The perfect GraphQL Developer Experience

To illustrate how GraphQL Code Generator improves your developer experience, let’s take a look at the front-end and back-end usage of the following schema:

The following sections showcase why GraphQL Code Generator is a game-changer for your GraphQL Stack.

From the Frontend

Most client-side implementations without GraphQL Code Generator would query the API as showcased in the following examples:

Manually maintaining the GraphQL operation types or the complete absence of types can lead to many issues:

  • outdated typing (regarding the current Schema)

  • typos

  • partial typing of data (not all Schema’s fields has a corresponding type)

The strength of your frontend application types is based on your data types. Any mistake on your manually maintained data types ripples in many of your components.

For this reason, automating and generating the typing of your GraphQL operations will both improve the developer experience and stability of your stack.

After installing GraphQL Code Generator:

and providing a simple configuration:

You will no longer need to maintain TypeScript types:

Now, with simple configuration and an npm/yarn script, a front-end developer benefits from:

  • up-to-date typings

  • autocompletion on all queries, mutations and, subscription variables and results

  • less boilerplate (thanks to full code generation such as React hooks generation)

To the Backend

Most GraphQL API resolvers remain untyped or wrongly typed which, leads to multiple issues:

  • resolvers are not compliant with the schema definition

  • typos in the resolvers’ function type signature

For this reason, GraphQL Code Generator provides multiple plugins that help you automate the generation of resolvers’ typings.

Here are an example of a GraphQL API leveraging GraphQL Code Generator resolvers typings (based on the above):

What’s next?

After unstanding the basic concepts of GraphQL Code Generator, you can start setting it up within your project. If your stack is not listed below, please refer to our plugin overview.

Client-Side GraphQL

Choose your existing setup or preference to get started.

Server-Side GraphQL

Troubleshooting

If you are experiencing any issues, you can reach us via the following channels:

Installation