Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Leader
✓ const Leader = require('redis-leader');
✗ import Leader from 'redis-leader';
CJS-only; ESM not supported.
Leader (ESM)
✓ import Leader from 'redis-leader';
✗ import { Leader } from 'redis-leader';
ESM is not supported by the package v0.1.0; CJS is the only option.
Leader (TypeScript)
✓ const Leader = require('redis-leader');
✗ import { Leader } from 'redis-leader';
No TypeScript definitions; use @types/redis or declare module.
Shows how to create a Redis client, instantiate Leader with options, handle events, start election, and stop.
const redis = require('redis');
const Leader = require('redis-leader');
const client = redis.createClient({
host: process.env.REDIS_HOST ?? 'localhost',
port: process.env.REDIS_PORT ?? 6379,
password: process.env.REDIS_PASSWORD ?? ''
});
const leader = new Leader(client, {
ttl: 10000, // lock TTL in ms
wait: 1000 // poll interval in ms
});
leader.on('elected', () => {
console.log('I am the leader');
// do leader work
});
leader.on('revoked', () => {
console.log('Leadership revoked');
});
leader.on('error', (err) => {
console.error('Leader error:', err);
process.exit(1);
});
leader.start();
// Later, stop leading
leader.stop(() => {
console.log('Stopped');
process.exit();
});
Errors
Common errors & fixes
Error: Redis connection error
No Redis server running or incorrect connection config
fixStart Redis server or check REDIS_HOST and REDIS_PORT environment variables.
TypeError: Leader is not a constructor
Using import or incorrect require
fixUse const Leader = require('redis-leader'); Error: ECONNREFUSED 127.0.0.1:6379
Redis server not listening on default port
fixStart Redis or set correct REDIS_HOST/REDIS_PORT.
Audit
Dependencies
redisrequiredRequired for Redis client connection