federation
graphql-live-query
Our great sponsors
federation | graphql-live-query | |
---|---|---|
3 | 7 | |
646 | 434 | |
0.8% | - | |
9.4 | 3.1 | |
2 days ago | 14 days ago | |
TypeScript | TypeScript | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
federation
-
Apollo Federation Custom Scalars
I feel like we ran into this recently at work but not with custom scalars etc. My colleague raised an issue for it. Hope this helps in some way.
-
Apollo Federation Input type union merge
as per the Github issue here. However I have trouble understanding this statement. Why can't the gateway pick and choose which input fields are routed to each subgraph? Isn't it the responsibility of the supergraph SDL and the gateway to do exactly this, this same way it does for entities? What limitations are there that make merging input types using the union strategy not viable?
-
The Stack #3
Federation comes with its own specification and directives as part of it which helps people to define all of the relations between multiple GraphQL entities so that the Apollo Gateway can combine them all together without having to modify the GraphQL gateway and also functions like __resolveReference which helps in resolving an entity with its reference as specified by the directives.
graphql-live-query
-
GraphQL Live Queries with live directive
There are even more implementations of live queries available by now. e.g. https://github.com/samsarahq/thunder (go) or https://github.com/n1ru4l/graphql-live-query (JavaScript).
- Websocket with socket.io or GraphQL subscriptions
-
The fastest object diff library in JavaScript
Please compare with modern competitor: json-patch-plus https://github.com/n1ru4l/graphql-live-query/blob/main/packa...
-
The Stack #3
Also note that subscriptions are not the only way to do real time communications in GraphQL. There are also things like Live Queries with great libraries like this from Laurin which you can use
-
Need guidance on apollo subscription fallback
Last but not least, I also created a GraphQL over Socket.io (https://github.com/n1ru4l/graphql-live-query/tree/main/packages/socket-io-graphql-server) transport. I am using this in two smaller apps with a maximum of 10 concurrent users and did not encounter any issues with stale data yet. Maybe this might be somethign you are looking for.
-
How to maintain subsription websockets with authentication, while retaining the stateless nature that an API should have?
So after having tried to answer you questions (instead of just telling you to not use WebSockets, although that wasn't your question 🙃). I also wanted to point you to a "new" way of handling real-time data with GraphQL that I am experimenting one. https://github.com/n1ru4l/graphql-live-query
-
What is the performance loss with GraphQL mutations vs sending data over websockets in real-time apps?
There will always be an overhead for sending the mutations via a Post http request vs sending them over the already established WebSocket connection. graphql-ws is not only a subscription transport but can be used for any GraphQL operation including queries and mutations. In real-time applications I tend to use my own GraphQL over Socket.io transport (https://github.com/n1ru4l/graphql-live-query/tree/main/packages/socket-io-graphql-server)
What are some alternatives?
jaeger - CNCF Jaeger, a Distributed Tracing Platform
laravel-echo-server - Socket.io server for Laravel Echo
mercurius - Implement GraphQL servers and gateways with Fastify
graphiql - GraphiQL & the GraphQL LSP Reference Ecosystem for building browser & IDE tools.
supergraph-demo - 🍿 Compose subgraphs into a Federation v1 supergraph at build-time with static composition to power a federated graph router at runtime.
apollo-server - 🌍 Spec-compliant and production ready JavaScript GraphQL server that lets you develop in a schema-first way. Built for Express, Connect, Hapi, Koa, and more.
graphql-editor - 📺 Visual Editor & GraphQL IDE.
subscriptions-transport-ws - :arrows_clockwise: A WebSocket client + server for GraphQL subscriptions
microdiff - A fast, zero dependency object and array comparison library. Significantly faster than most other deep comparison libraries and has full TypeScript support.
insomnia - The open-source, cross-platform API client for GraphQL, REST, WebSockets, SSE and gRPC. With Cloud, Local and Git storage.
graphql-multipart-request-spec - A spec for GraphQL multipart form requests (file uploads).