Generate & scaffold type-safe resolvers based on your GraphQL Schema in TypeScript, Flow & Reason
graphqlgen has been officially deprecated in favor of the The Guild's project GraphQL Code Generator. Learn more about the collaboration of Prisma and the Guild in this blog post.
- Schema-first Design in SDL to derive ideal types
- Type-safety Resolvers with precise signatures including
parent,argsand return type - DX Precise resolver types puts your editor intellisense to work
- Ecosystem Interop codegen suitable for Yoga 1 or Apollo Server and supports prettier and graphql-import out of the box
Programming in type-safe environments can contribute toward great confidence in your code's integrity. graphqlgen aims to leverage the GraphQL type system to make your resolvers completely type-safe. This is important because resolvers are the heart of any graphql service and yet the hardest to statically type due to their dynaminism.
TypeScriptFlow
Others under discussion:
-
Run initializer
yarn create graphqlgen my-app # npm init graphqlgen my-app cd my-app yarn start # npm run start
-
Edit
./my-app/src/schema.graphqlto your heart's content. -
Generate types:
yarn graphqlgen
yarn add --dev graphqlgen # npm install --save-dev graphqlgenThen you will have access to the cli (gg or graphqlgen):
yarn -s gg --help # npm run gg --helpUsage: graphqlgen or gg
Options:
-i, --init Initialize a graphqlgen.yml file
-v, --version Show version number [boolean]
-h, --help Show help [boolean]
gg depends on the presence of a graphqlgen.yml config located in the directory where gg is invoked. Here is an example:
language: typescript
schema: ./src/schema.graphql
context: ./src/context.ts:Context
output: ./src/generated/graphqlgen.ts
models:
files:
- ./src/generated/prisma-client/index.tshttps://oss.prisma.io/graphqlgen
Join us at #graphqlgen in our Slack group and if you have more fleshed out ideas, bug reports etc. create a Github issue:
graphqlgen is still in early stage development where breaking changes and tool design are a fluid matter. Feedback is deeply appreciated. You may feel comfortable giving it a try on production systems since there is no runtime aspect and hence quite safe to do so (save for a few optional default resolvers).
- gqlgen is the Golang equivalent of
graphqlgenand served as a source of inspiration - graphql-code-generator is a similar tool based on templates support both frontend & backend

