graphql-ws
graphql-spec
Our great sponsors
graphql-ws | graphql-spec | |
---|---|---|
17 | 28 | |
1,103 | 13,750 | |
- | 0.5% | |
9.0 | 5.1 | |
11 days ago | 3 days ago | |
TypeScript | Shell | |
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.
graphql-ws
-
GraphQL Subscriptions: Why we use SSE/Fetch over Websockets
There is already a JavaScript implementation for server + client with support for multiplexing from the same maintainer of graphql-ws: graphql-sse
-
how it subscription work on the apollo server?
Actually WebSocket is not the only protocol for executing GraphQL subscriptions. There is also a graphql-over-sse protocol, which is much more lightweight, and uses Server Sent Events. A popular implementation of it is the graphql-sse library, which is maintained by the same person as graphql-ws. The setup and API of both libraries is pretty similar.
-
Advice on using graphql-ws with Apollo/React
That said, I feel so close to success that I can't quite give up. I am using graphql-ws as I understand this to be the new standard implementation of GraphQL Subscriptions. However, of course, Apollo subscriptions have not been updated to implement this. So, looking at the Recipes over on the graphql-ws documentation I have found the guide for using Apollo client. However as I am new to Apollo, it is using a lot of terms I am unfamiliar with.
-
GraphQL Subscriptions and Mikro-Orm in 2021
Okay but seriously, if you've fallen down the rabbit hole of Apollo docs pointing you towards one library (subscription-transport-ws) which then points you to another (graphql-ws) , and so on and so forth, then hopefully this helps pull you out.
-
How does a client know if the server managing its subscription goes offline? (Multiple instances)
The most common protocol used today for subscriptions is the Apollo websocket protocol.
-
Graphql Subscriptions w/o apollo
GraphQL subscriptions are just web sockets. You can check graphql-ws package if you want something without Apollo dependency. Though I don't understand why you want to not depend on it in the first place.
-
GraphQL Tools V8 - Stitch Federation Services
New GraphQL-WS ✔️
-
Subscriptions and Live Queries - Real Time with GraphQL
The interesting thing is that we can use any transport for delivering the results to client. The most popular implementation (as mentioned before) is subscriptions-transport-ws. Unfortunately, since it is poorly maintained, the GraphQL Working Group came up with a new implementation over WebSockets, graphql-ws.
-
GraphQL over WebSockets
Okay, so, how do I use WebSockets to add support for the GraphQL subscription operation? Doing a basic Google search, you’d be faced with a single solution, namely subscriptions-transport-ws. Looking through the repository, checking recent comments, reading through the issues and open PRs - might have you notice the abundance of bugs and their security implications. A summary can be found here.
-
I need a little help implementing user online status tracking with Apollo/GraphQL.
Have you thought about using graphql-ws instead? It uses the new graphql-transport-ws protocol which also has an open RFC that is discussed in the GraphQL working Groups.
graphql-spec
-
GraphQL error handling to the max with Typescript, codegen and fp-ts
:::note GraphQL Union is available for Types only, not for Inputs. However, the oneOf directive will bridge the gap in the future.
-
Why We Combined GraphQL and a Serverless Distributed Ledger
GraphQL is a query language for APIs and a runtime for fulfilling those queries with existing data. GraphQL is a open specification; it is not controlled or managed by a single vendor. GraphQL clients and servers can be written in a number of programming languages. There is no requirement to use particular data stores to persist data.
-
Consuming GraphQL APIs for REST-minded Developers
And with that, while there are definitely more advanced things one can learn about GraphQL, you should be armed with enough knowledge about the GraphQL spec to understand how to use and consume most GraphQL APIs.
- GraphQL tutorial: How to get started
-
Join multiple GraphQL APIs without Schema Stitching or Federation
Here's an idea: you can use the flat chain syntax. Then you can write the query like this:
-
Asking for feedback on "joining" disjoint GraphQL APIs
What about using @export, as proposed here: https://github.com/graphql/graphql-spec/issues/583?
-
Aliasing a nested field as a parent field
So check if your server supports the @export functionality, which was also proposed for the spec but not yet approved (unfortunately! this should really be in GraphQL, imo).
What you're requesting is a feature that was proposed for the GraphQL spec: the flat chain syntax. With it, you could possibly do this:
-
The Best Collected Details on the GraphQL Specification – Overview & Language
Reference https://spec.graphql.org
-
GraphQL Introduction
GraphQL is a specification that describes: a query language and schema definition language. It's not a programming language capable of arbitrary computation, but is instead a language used to make requests to application services that have capabilities defined in this specification. GraphQL does not mandate a particular programming language or storage system for application services that implement it. Instead, application services take their capabilities and map them to a uniform language, type system, and philosophy that GraphQL encodes. This provides a unified interface friendly to product development and a powerful platform for tool-building.
What are some alternatives?
subscriptions-transport-ws - :arrows_clockwise: A WebSocket client + server for GraphQL subscriptions
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 Kotlin - Libraries for running GraphQL in Kotlin
graphql-helix - A highly evolved GraphQL HTTP Server 🧬
ws - Simple to use, blazing fast and thoroughly tested WebSocket client and server for Node.js
graphql-sse - Zero-dependency, HTTP/1 safe, simple, GraphQL over Server-Sent Events Protocol server and client.
react-relay - Relay is a JavaScript framework for building data-driven React applications.
better-sqlite3 - The fastest and simplest library for SQLite3 in Node.js.
fastify-websocket - basic websocket support for fastify
graphql-tools - :wrench: Build, mock, and stitch a GraphQL schema using the schema language
Hasura - Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.