GraphQLade is a lightweight but complete TypeScript library for
GraphQL development on server- and client-side.
It emphasizes a GraphQL first approach with maximum type-safety through
type generation from GraphQL schemas and GraphQL client operations.
With a rich feature set and zero dependencies besides
GraphQL.js, it provides a highly
integrated foundation for GraphQL servers and clients at around
5000 lines of readable, tested code—all in one place.
Documentation
Design principles
GraphQL first
GraphQL schemas and operations are defined through spec-compliant,
plain GraphQL files.
Type-safety through code generation
GraphQLade generates a complete set of TypeScript types and interfaces from
GraphQL sources, both for schemas and operations, including type tables mapping
operation names to their variable and result interfaces.
Enhance and integrate with GraphQL.js
GraphQLade provides a rich, type-safe runtime library for building HTTP
and WebSocket servers, resolvers and clients. It transparently integrates with
GraphQL.js, introducing very few
additional concepts and staying close to the "language" used by GraphQL.js.
Why?
Existing stacks (e.g. Apollo, GraphQL Tools, TypeGraphQL) are obtrusive in
some ways (high lock-in, missing features) and over-engineered in others,
while type-safety is often a secondary concern rather than a design principle.
Additionally, most stacks suffer from
significant fragmentation.
Issues are spread across many packages and maintainers, making it hard to reason
about fitness of a particular combination of dependencies and stalling
improvements to the ecosystem.
Contributors
Thanks!