A PubSub engine for GraphQL subscriptions using Redis as the message broker, enabling horizontal scaling of subscription managers across multiple server instances. Version 2.7.0 is the current stable release, published in early 2024, with no fixed release cadence. It implements both PubSubEngine and AsyncIterator interfaces from graphql-subscriptions. Key differentiators: supports Redis patterns (PSUBSCRIBE), custom serialization, trigger transforms, and connection pooling via separate publisher/subscriber clients. Ships TypeScript types. Peer dependencies: graphql-subscriptions ^1.0.0 || ^2.0.0 || ^3.0.0.
npm install graphql-redis-subscriptionsNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Demonstrates creating a RedisPubSub instance, using asyncIterator, withFilter for subscription filtering, and publishing events.
Switch to ES modules (import/export) or use dynamic import: const { RedisPubSub } = await import('graphql-redis-subscriptions');Avoid using triggerTransform. If you need event name transformation, implement custom logic in your resolvers.
Use a single connection URI or ensure both publishers and subscribers point to the same Redis instance/cluster.
Either use the default serializer and configure reviver, or implement full custom serialization in your serializer/deserializer.
Ensure you use named import: import { RedisPubSub } from 'graphql-redis-subscriptions';npm install graphql-redis-subscriptions npm install graphql-subscriptions
Change to ES module import syntax: import { RedisPubSub } from 'graphql-redis-subscriptions';Start Redis server (e.g., redis-server) or check connection configuration.
Upgrade to v2.x and ensure correct import: import { RedisPubSub } from 'graphql-redis-subscriptions';Import withFilter from 'graphql-subscriptions': import { withFilter } from 'graphql-subscriptions';