A type-safe TypeScript query builder for GraphQL APIs with auto-completion and validation.
Genql is a type-safe GraphQL query builder for TypeScript that generates a client from a GraphQL schema. It provides auto-completion and compile-time validation to prevent runtime errors and streamline GraphQL API interactions.
TypeScript developers building applications with GraphQL APIs who want improved type safety and developer experience.
Developers choose Genql for its zero-dependency, type-safe approach that integrates with any GraphQL client and supports advanced features like batching and subscriptions without runtime overhead.
Type safe TypeScript client for any GraphQL API
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides full TypeScript support with compile-time validation, ensuring queries are always valid against the schema and offering intelligent auto-completion, as highlighted in the README's emphasis on eliminating runtime errors.
Eliminates the need for the 'graphql' package, reducing bundle size and avoiding runtime parsing overhead, which is a key feature noted in the README for performance optimization.
Works with any GraphQL client like Apollo or Relay, allowing seamless integration into existing projects without vendor lock-in, as demonstrated in the documentation for client agnosticism.
Includes built-in support for subscriptions and query batching, enabling complex GraphQL operations with type safety, as detailed in the README's features list.
Requires regenerating the client after every schema change, adding a build step that can slow down development and complicate workflows, especially in fast-iterating projects.
Uses an object-based syntax that differs from standard GraphQL strings, requiring developers to adapt to a new way of writing queries, which might increase initial learning time.
Designed specifically for TypeScript, offering no benefits for teams using plain JavaScript or other languages, limiting its applicability in mixed or non-TypeScript environments.