https://github.com/morris/graphqlade
A complete library for GraphQL + TypeScript development on server- and client-side
https://github.com/morris/graphqlade
graphql typescript websockets
Last synced: 9 months ago
JSON representation
A complete library for GraphQL + TypeScript development on server- and client-side
- Host: GitHub
- URL: https://github.com/morris/graphqlade
- Owner: morris
- License: isc
- Created: 2020-12-26T19:15:48.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-07-01T15:52:51.000Z (about 2 years ago)
- Last Synced: 2025-02-06T20:43:06.683Z (over 1 year ago)
- Topics: graphql, typescript, websockets
- Language: TypeScript
- Homepage: https://morris.github.io/graphqlade/
- Size: 2.73 MB
- Stars: 8
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README

[](https://www.npmjs.com/package/graphqlade)
[](https://app.codecov.io/gh/morris/graphqlade)
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](https://github.com/graphql/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
- **[Getting started →](https://morris.github.io/graphqlade)**
- **[API reference →](https://morris.github.io/graphqlade/reference)**
## 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](https://github.com/graphql/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](https://httptoolkit.tech/blog/simple-graphql-server-without-apollo/).
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](https://github.com/emargollo) - Stitching support
- [sreedhap](https://github.com/sreedhap) - Fix calling `next` in Koa/Express
- [jayne-mast](https://github.com/jayne-mast) - Allow `prettier` >= 2
Thanks!