diff --git a/packages/bloom/package.json b/packages/bloom/package.json index aae71bb442..bba584b25e 100644 --- a/packages/bloom/package.json +++ b/packages/bloom/package.json @@ -25,5 +25,17 @@ "ts-node": "^10.9.1", "typedoc": "^0.23.28", "typescript": "^5.0.2" - } + }, + "repository": { + "type": "git", + "url": "git://github.com/redis/node-redis.git" + }, + "bugs": { + "url": "https://github.com/redis/node-redis/issues" + }, + "homepage": "https://github.com/redis/node-redis/tree/master/packages/bloom", + "keywords": [ + "redis", + "RedisBloom" + ] } diff --git a/packages/client/lib/client/index.spec.ts b/packages/client/lib/client/index.spec.ts index 7396a2e9c3..b608c7c092 100644 --- a/packages/client/lib/client/index.spec.ts +++ b/packages/client/lib/client/index.spec.ts @@ -647,6 +647,9 @@ describe('Client', () => { }); testUtils.testWithClient('should propagated errors from "isolated" clients', client => { + client.on('error', () => { + // ignore errors + }); return client.executeIsolated(isolated => killClient(isolated, client)); }, GLOBAL.SERVERS.OPEN); diff --git a/packages/client/lib/client/pub-sub.ts b/packages/client/lib/client/pub-sub.ts index ec0639c7ee..afa7972e83 100644 --- a/packages/client/lib/client/pub-sub.ts +++ b/packages/client/lib/client/pub-sub.ts @@ -307,7 +307,7 @@ export class PubSub { this.#isActive = ( this.#listeners[PubSubType.CHANNELS].size !== 0 || this.#listeners[PubSubType.PATTERNS].size !== 0 || - this.#listeners[PubSubType.CHANNELS].size !== 0 || + this.#listeners[PubSubType.SHARDED].size !== 0 || this.#subscribing !== 0 ); } diff --git a/packages/client/lib/client/socket.ts b/packages/client/lib/client/socket.ts index a88dc46d23..d0c1cfae89 100644 --- a/packages/client/lib/client/socket.ts +++ b/packages/client/lib/client/socket.ts @@ -199,7 +199,7 @@ export default class RedisSocket extends EventEmitter { .off('error', reject) .once('error', (err: Error) => this.#onSocketError(err)) .once('close', hadError => { - if (!hadError && this.#isReady && this.#socket === socket) { + if (!hadError && this.#isOpen && this.#socket === socket) { this.#onSocketError(new SocketClosedUnexpectedlyError()); } }) diff --git a/packages/client/lib/cluster/index.spec.ts b/packages/client/lib/cluster/index.spec.ts index 6b9d35f75f..8200375056 100644 --- a/packages/client/lib/cluster/index.spec.ts +++ b/packages/client/lib/cluster/index.spec.ts @@ -2,6 +2,7 @@ import { strict as assert } from 'assert'; import testUtils, { GLOBAL, waitTillBeenCalled } from '../test-utils'; import RedisCluster from '.'; import { ClusterSlotStates } from '../commands/CLUSTER_SETSLOT'; +import { commandOptions } from '../command-options'; import { SQUARE_SCRIPT } from '../client/index.spec'; import { RootNodesUnavailableError } from '../errors'; import { spy } from 'sinon'; @@ -178,6 +179,21 @@ describe('Cluster', () => { await assert.rejects(cluster.mGet(['a', 'b'])); }, GLOBAL.CLUSTERS.OPEN); + testUtils.testWithCluster('should send commands with commandOptions to correct cluster slot (without redirections)', async cluster => { + // 'a' and 'b' hash to different cluster slots (see previous unit test) + // -> maxCommandRedirections 0: rejects on MOVED/ASK reply + await cluster.set(commandOptions({ isolated: true }), 'a', '1'), + await cluster.set(commandOptions({ isolated: true }), 'b', '2'), + + assert.equal(await cluster.get('a'), '1'); + assert.equal(await cluster.get('b'), '2'); + }, { + ...GLOBAL.CLUSTERS.OPEN, + clusterConfiguration: { + maxCommandRedirections: 0 + } + }); + describe('minimizeConnections', () => { testUtils.testWithCluster('false', async cluster => { for (const master of cluster.masters) { diff --git a/packages/client/package.json b/packages/client/package.json index dc311791f9..d4d1fe0f12 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -45,5 +45,8 @@ "bugs": { "url": "https://github.com/redis/node-redis/issues" }, - "homepage": "https://github.com/redis/node-redis/tree/master/packages/client" + "homepage": "https://github.com/redis/node-redis/tree/master/packages/client", + "keywords": [ + "redis" + ] } diff --git a/packages/graph/package.json b/packages/graph/package.json index d7e0e7f368..eb031d2e35 100644 --- a/packages/graph/package.json +++ b/packages/graph/package.json @@ -25,5 +25,16 @@ "ts-node": "^10.9.1", "typedoc": "^0.23.28", "typescript": "^5.0.2" - } -} + }, + "repository": { + "type": "git", + "url": "git://github.com/redis/node-redis.git" + }, + "bugs": { + "url": "https://github.com/redis/node-redis/issues" + }, + "homepage": "https://github.com/redis/node-redis/tree/master/packages/graph", + "keywords": [ + "redis", + "RedisGraph" + ]} diff --git a/packages/json/package.json b/packages/json/package.json index 738f937b73..1c3cd7b74e 100644 --- a/packages/json/package.json +++ b/packages/json/package.json @@ -25,5 +25,17 @@ "ts-node": "^10.9.1", "typedoc": "^0.23.28", "typescript": "^5.0.2" - } + }, + "repository": { + "type": "git", + "url": "git://github.com/redis/node-redis.git" + }, + "bugs": { + "url": "https://github.com/redis/node-redis/issues" + }, + "homepage": "https://github.com/redis/node-redis/tree/master/packages/json", + "keywords": [ + "redis", + "RedisJSON" + ] } diff --git a/packages/search/package.json b/packages/search/package.json index 43f50ade83..240c30e430 100644 --- a/packages/search/package.json +++ b/packages/search/package.json @@ -25,5 +25,16 @@ "ts-node": "^10.9.1", "typedoc": "^0.23.28", "typescript": "^5.0.2" - } -} + }, + "repository": { + "type": "git", + "url": "git://github.com/redis/node-redis.git" + }, + "bugs": { + "url": "https://github.com/redis/node-redis/issues" + }, + "homepage": "https://github.com/redis/node-redis/tree/master/packages/search", + "keywords": [ + "redis", + "RediSearch" + ]} diff --git a/packages/time-series/package.json b/packages/time-series/package.json index cea7180d1e..a6b2ba5467 100644 --- a/packages/time-series/package.json +++ b/packages/time-series/package.json @@ -25,5 +25,16 @@ "ts-node": "^10.9.1", "typedoc": "^0.23.28", "typescript": "^5.0.2" - } -} + }, + "repository": { + "type": "git", + "url": "git://github.com/redis/node-redis.git" + }, + "bugs": { + "url": "https://github.com/redis/node-redis/issues" + }, + "homepage": "https://github.com/redis/node-redis/tree/master/packages/time-series", + "keywords": [ + "redis", + "RedisTimeSeries" + ]}