graphql-code-generator README

The project's README from github.com/dotansimha/graphql-code-generator. As one markdown file: README.md.

GraphQL Code Generator logo Created by The Guild

npm version

https://the-guild.dev/graphql/codegen

GraphQL Code Generator is a tool that generates code out of your GraphQL schema. Whether you are developing a frontend or backend, you can utilize GraphQL Code Generator to generate output from your GraphQL Schema and GraphQL Documents (query/mutation/subscription/fragment).

By analyzing the schema and documents and parsing it, GraphQL Code Generator can output code at a wide variety of formats, based on pre-defined templates or based on custom user-defined ones. Regardless of the language that you're using, GraphQL Code Generator has you covered.

GraphQL Code Generator lets you choose the output that you need, based on plugins, which are very flexible and customizable. You can also write your plugins to generate custom outputs that match your needs.

You can try this tool live on your browser and see some useful examples. Check out GraphQL Code Generator Live Examples.

We currently support and maintain these plugins (TypeScript, Flow, React, Angular, MongoDB, Stencil, Reason, and some more), and there is an active community that writes and maintains custom plugins.

Quick Start

You can find the complete instructions in GraphQL Code Generator website.

Start by installing the basic deps of GraphQL Codegen:

pnpm add graphql
pnpm add -D @graphql-codegen/cli

GraphQL Code Generator lets you setup everything by simply running the following command:

pnpm graphql-codegen init

Question by question, it will guide you through the whole process of setting up a schema, selecting plugins, picking a destination of a generated file, and a lot more.

If you wish to manually setup codegen, follow these instructions.

Besides our docs page, feel free to go through our published Medium articles to get a better grasp of what GraphQL Code Generator is all about:

Contributing

If this is your first time contributing to this project, please do read our Contributor Workflow Guide before you get started off.

Feel free to open issues and pull requests. We're always welcome support from the community.

For a contribution guide specific to this project, please refer to: http://the-guild.dev/graphql/codegen/docs/custom-codegen/contributing.

Code of Conduct

Help us keep GraphQL Code Generator open and inclusive. Please read and follow our Code of Conduct as adopted from Contributor Covenant

License

GitHub license

MIT

graphql-code-generator (dotansimha/graphql-code-generator)

Searching Database…

What is this?GraphQL Code Generator is a tool that generates code from your GraphQL schema and operations (queries, mutations, subscriptions, fragments), producing typed output in whatever language or framework you configure via plugins.
Is this a CLI tool or a library I import into my code?It is mainly a CLI you run against your schema and GraphQL documents; the actual output comes from a plugin system (TypeScript, Flow, React, Angular, Stencil, and more) rather than code you write by hand.
How do I get it running on my project?Install the base GraphQL Codegen dependencies, then run the setup command; it walks you question-by-question through picking your schema, choosing plugins, and setting the output destination. Manual configuration is also supported.
What do I need before running it?A Node.js environment (16 or newer) plus an existing GraphQL schema and your query/mutation/subscription/fragment documents to generate code against.
Do I need to write my own plugin to get the output I want?Usually not: there are maintained plugins for TypeScript, Flow, React, Angular, MongoDB, Stencil and Reason, plus many community plugins. If none fit your case, you can still write a custom plugin.
Which languages and frameworks does it support out of the box?Officially maintained plugins cover TypeScript, Flow, React, Angular, MongoDB, Stencil, and Reason, with many community plugins extending to other languages like Java and C#.
Can I try it before setting anything up?Yes, the project offers live browser examples on its website so you can see generated output before adding the tool to a project.
Can it be used on both frontend and backend?Yes, the README states you can use it whether you're building a frontend or a backend, generating code from the same GraphQL schema either way.
Creator
dotansimha
Size
94.9 MB
Stars
11.3K
Age
9y
Commits · 90 Days