A JavaScript library for adding real-time live queries to any GraphQL schema with support for multiple transports.
GraphQL Live Query is a JavaScript library that adds real-time live query capabilities to GraphQL APIs. It solves the problem of manually updating client caches or refetching data by automatically pushing updates to clients when server-side data changes. This provides a more efficient and developer-friendly alternative to using GraphQL subscriptions for data synchronization.
GraphQL API developers and teams building real-time applications like collaborative tools, dashboards, or live feeds who need automatic data synchronization without complex cache management.
Developers choose GraphQL Live Query because it works with any GraphQL schema and transport, reduces client-side cache update complexity, and optimizes network usage with delta updates. Its transport-agnostic design and scalable invalidation system offer flexibility without vendor lock-in.
Realtime GraphQL Live Queries with JavaScript
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works with various transports like WebSocket (via Socket.io, graphql-ws), HTTP (graphql-helix), and Server-Sent Events, allowing flexible deployment without lock-in.
Tracks queries using identifiers like 'User:1' or schema coordinates, enabling precise invalidation and efficient updates only when relevant data changes.
Supports JSON patches and diffs through separate packages, reducing network overhead by sending only delta updates between query results.
Reference implementation integrates with PubSub systems like Redis for synchronizing live query stores across server instances, supporting high-traffic applications.
Developers must explicitly call `invalidate` methods in mutation resolvers or set up database listeners, which adds complexity and risk of missing updates.
Requires assembling multiple packages (e.g., live query store, transport layers) and configuring invalidation logic, making setup more involved than turnkey solutions.
As a reference implementation, it lacks built-in database integrations or extensive community tooling compared to established real-time GraphQL services.