graphqlade
v1.9.0
Published
A complete TypeScript library for GraphQL development on server- and client-side
Downloads
53
Maintainers
Readme
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
- emargollo - Stitching support
- sreedhap - Fix calling
next
in Koa/Express - jayne-mast - Allow
prettier
>= 2
Thanks!