graphql-codegen-hasura-client-config
v4.10.0
Published
GraphQL Code Generator plugin for generating a CRUD TypeScript Config for Hasura from Documents
Downloads
292
Readme
graphql-codegen-hasura-client-config
Summary
When used in conjunction with graphql-code-generator, this plugin will automatically generate TypeScript TypePolicies and Resolver Types for tables related to GQL fragments found in the targeted documents (code). The TypePolicies associate the Hasura single and multiple entity types to optimize client caching.
graphql-codegen-hasura-client-config-documents is a code generator plugin for graphql-code-generator designed to automate some coding tasks around the development of a strongly typed Hasura backend with an Apollo GraphQL React client.
Instructions
See the associated graphql-codegen-hasura GitHub repo for usage and configuration information.
Motivation
Hasura is a fantastic tool for the rapid development of a GraphQL backend. Apollo GraphQL is a suite of GraphQL tooling, including a great Client. graphql-code-generator is a fantastic code generation tool and library, to automate the generation of much of the boilerplate code required to use GraphQL. However, there still remained quite a bit of boiler plate code to be written.
The consistency and predictability of the Hasura](https://hasura.io/) GQL backend implementation, provided an opportunity to automate much of the remaining code for standard single-table mutations and queries, and multi-table helper code. This plugin is an attempt to do some of that.
Disclaimers
This code was initially developed for use in a single separate commercial project. It is being shared in case useful to others, and as a contribution to the development community and the great GraphQL tools that already exist. The original implementation did just enough to meet the goals and needs of the initial project. There are many refinements and enhancements that would be beneficial - and contributions to that end are encouraged. See the associated graphql-codegen-hasura GitHub repo for additional information.
Note
This is development is not affiliated with either the graphql-code-generator team, the Hasura team, or the Apollo GraphQL team.