# enisdenjo/graphql-ws

Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client.

Repository: https://github.com/enisdenjo/graphql-ws
Canonical: https://ross.abutalabs.com/products/graphql-ws
Homepage: https://the-guild.dev/graphql/ws
Language: TypeScript
License: MIT
License Family: permissive
Topics: subscriptions, relay, apollo, protocol, transport, graphql, websockets, server, client, express, observables, fastify, uwebsockets, the-guild
Last push: 2026-08-06T09:05:20+00:00

## Health v2 (maintenance only)
Score: 97/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 96, release rhythm 96, longevity 100
- inputs: {"age_days": 2226, "days_push": 27, "days_rel": 27, "gap_med": 11.5, "n_releases_24m": 15}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1871, forks 176 (observed 2026-08-28T04:05:46.881042+00:00)

## What it is
A zero-dependency TypeScript library implementing both a client and server for the GraphQL over WebSocket Protocol, used for GraphQL subscriptions and queries over WebSockets. It is the reference implementation of the spec and supports integrations with Express, Fastify, uWebSockets, Apollo, and Relay.

## Use cases
- add graphql subscriptions over websockets to my server
- replace deprecated subscriptions-transport-ws
- graphql client with reconnection and lazy connection
- use graphql subscriptions with apollo or relay
- implement graphql over websocket protocol compliant transport
- measure connection latency with ping/pong keepalive

## When to choose
- you need spec-compliant GraphQL over WebSocket on both client and server
- you want a zero-dependency, small-bundle subscriptions transport
- you need resilient reconnection strategies and auth hooks

## When to avoid
- you need compatibility with the legacy subscriptions-transport-ws protocol
- you prefer Server-Sent Events transport (use graphql-sse instead)
- your stack is not JavaScript/TypeScript

## Facets
- artifact type: library
- maturity: stable
- function: websocket, graphql, http-server, http-client
- domain: web-development
- platform: browser
- tags: graphql-subscriptions, graphql-over-websocket-protocol, apollo, relay, express, fastify, uwebsockets, the-guild, graphql, real-time, nodejs, typescript, web-server

## Member repositories
- enisdenjo/graphql-ws (main) score 97

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:46.881042+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:15:01.564228+00:00, confidence not recorded.
  - readme: https://github.com/enisdenjo/graphql-ws (fetched 2026-08-28T04:05:46.881042+00:00, sha b1fb30f1d545)
  - homepage: https://the-guild.dev/graphql/ws (fetched 2026-08-29T10:54:11.664293+00:00, sha 6753bd7d6c50)
  - site_page: https://the-guild.dev/about-us (fetched 2026-08-29T10:54:11.666812+00:00, sha 4c4f11519fb9)
- Data as of 2026-08-30T08:39:29.467469+00:00.
