{"repo":"sikanhe/gqtx","free":true,"listed":false,"github":"https://github.com/sikanhe/gqtx","clone":"git clone https://github.com/sikanhe/gqtx.git","description":"Code-first Typescript GraphQL Server without codegen or metaprogramming","language":"TypeScript","stars":461,"topics":["typescript","graphql","graphql-server"],"license":null,"category":"api-integrations-sdks","readme_excerpt":"Why another GraphqQL Server? Note: 0.9.x contains breaking API changes. Go here for previous readme. Getting Started yarn add gqtx Type-safety without manual work gqtx is a thin layer on top of graphql-js for writing a type-safe GraphQL server in TypeScript. It provides you with a set of helper functions to create an intermediate representation of a GraphQL schema, and then converts that schema to a raw graphql-js schema. So you get to use everything from the reference implementation of GraphQL, but with way more type safety. If a schema compiles, the following holds: - The type of a field agrees with the return type of the resolver. - The arguments of a field agrees with the accepted arguments of the resolver. - The source of a field agrees with the type of the object to which it belongs. - The return type of the resolver will not be input types (InputObject) - The arguments of a field will not be abstract types (Interface, Union) - The context argument for all resolver functions in a schema agree. Most importantly, we achieve all this without having to: - Set up code generation tools - Write SDL and having your schema partially defined in code and in a DSL file - Require special compiler magic such as reflect-metadata and decorators What does it look like? Use your favorite server option to serve the schema! gqtx works best with TypeScript strict mode We recommend using TypeScript strict mode in order to have the best developer experience. tsconfig.json To Recap - We create","default_branch":null,"files":null,"tree":[],"storefront":"/r/sikanhe","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/sikanhe/gqtx/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}