Skip to content

A complete library for GraphQL + TypeScript development on server- and client-side

License

Notifications You must be signed in to change notification settings

morris/graphqlade

Repository files navigation

GraphQLade

NPM version Coverage

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!

About

A complete library for GraphQL + TypeScript development on server- and client-side

Topics

Resources

License

Stars

Watchers

Forks

Languages