Repository Analysis

redis/node-redis

Redis Node.js client

1.4 Likely human-written View on GitHub
1.4
Adjusted Score
1.4
Raw Score
100%
Time Factor
2026-05-29
Last Push
17,533
Stars
TypeScript
Language
124,463
Lines of Code
1443
Files
113
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 6MEDIUM 1LOW 106

Pattern Findings

113 matches across 4 categories. Click a row to expand file-level details.

Over-Commented Block71 hits · 70 pts
SeverityFileLineSnippet
LOWdoctests/query-agg.js41 expression: '@price - (@price * 0.1)',
LOWdoctests/query-ft.js61// REMOVE_END
LOWdoctests/cmds-servermgmt.js21
LOWdoctests/query-combined.js81// documents: [ { id: 'bicycle:5', value: [Object: null prototype] } ]
LOWdoctests/query-combined.js101// STEP_START combined3
LOWdoctests/query-combined.js121//{
LOWdoctests/query-combined.js141// { id: 'bicycle:0', value: [Object: null prototype] },
LOWdoctests/query-combined.js181//}
LOWdoctests/query-em.js61}
LOWdoctests/dt-ss.js41
LOWdoctests/dt-time-series.js261// label in the results.
LOWdoctests/dt-time-series.js281const res31 = await client.ts.mRevRangeSelectedLabels(
LOWdoctests/dt-time-series.js461
LOWdoctests/query-vector.js101// REMOVE_START
LOWdoctests/query-geo.js61console.log(res3.total); // >>> 5
LOWdoctests/query-range.js41const res1 = await client.ft.search('idx:bicycle', '@price:[500 1000]');
LOWdoctests/query-range.js61// STEP_END
LOWexamples/time-series.js81
LOWexamples/time-series.js101 // {
LOWexamples/search-json.js101// "total": 1,
LOWexamples/search-json.js141// {
LOWexamples/cuckoo-filter.js61
LOWexamples/search-hashes.js61// {
LOWexamples/stream-consumer-group.js1// A sample stream consumer using the blocking variant of XREADGROUP.
LOWexamples/stream-consumer-group.js61 id: '>' // Next entry ID that no consumer in this group has read
LOWexamples/stream-consumer-group.js81 // "num": "999"
LOWexamples/bloom-filter.js61]);
LOWexamples/search-knn.js61// results:
LOWexamples/search-knn.js81// }
LOWexamples/topk.js61// [
LOWexamples/search-hybrid.js121// results:
LOWexamples/search-hybrid.js141// price: '79',
LOWpackages/time-series/README.md81const toTimestamp = 1640995260000; // Jan 1 2022 00:01:00
LOWpackages/time-series/README.md141### Retrieving Information about the timeseries Stored in Redis
LOWpackages/time-series/README.md161// chunkType: 'uncompressed',
LOWpackages/time-series/lib/commands/index.spec.ts1// import { RedisCommandArguments } from '@redis/client/lib/commands';
LOWpackages/time-series/lib/commands/index.spec.ts21// transformRangeReply,
LOWpackages/time-series/lib/commands/index.spec.ts41// );
LOWpackages/time-series/lib/commands/index.spec.ts61// describe('pushRetentionArgument', () => {
LOWpackages/time-series/lib/commands/index.spec.ts81// });
LOWpackages/time-series/lib/commands/index.spec.ts101// );
LOWpackages/time-series/lib/commands/index.spec.ts121// );
LOWpackages/time-series/lib/commands/index.spec.ts141
LOWpackages/time-series/lib/commands/index.spec.ts161
LOWpackages/time-series/lib/commands/index.spec.ts181// assert.deepEqual(
LOWpackages/time-series/lib/commands/index.spec.ts201
LOWpackages/time-series/lib/commands/index.spec.ts221// it('without options', () => {
LOWpackages/time-series/lib/commands/index.spec.ts241// }),
LOWpackages/time-series/lib/commands/index.spec.ts261// assert.deepEqual(
LOWpackages/time-series/lib/commands/index.spec.ts281// });
LOWpackages/time-series/lib/commands/index.spec.ts301
LOWpackages/time-series/lib/commands/index.spec.ts321// pushMRangeArguments([], '-', '+', 'label=value'),
LOWpackages/time-series/lib/commands/index.spec.ts341// pushMRangeWithLabelsArguments([], '-', '+', 'label=value'),
LOWpackages/time-series/lib/commands/index.spec.ts361// transformMRangeReply([[
LOWpackages/time-series/lib/commands/index.spec.ts381// transformMRangeWithLabelsReply([[
LOWpackages/time-series/lib/commands/index.spec.ts401
LOWpackages/time-series/lib/commands/index.spec.ts421// );
LOWpackages/json/lib/commands/RESP.spec.ts21 });
LOWpackages/client/lib/opentelemetry/metrics.ts761 // options.enabledMetricGroups,
LOWpackages/client/lib/RESP/types.ts241
11 more matches not shown…
Cross-Language Confusion (JS/TS)6 hits · 68 pts
SeverityFileLineSnippet
HIGHexamples/check-connection-status.js8// isOpen will return False here as the client's socket is not open yet.
HIGHexamples/check-connection-status.js9// isReady will return False here, client is not yet ready to use.
HIGHexamples/check-connection-status.js17// isOpen will return True here as the client's socket is open now.
HIGHexamples/check-connection-status.js18// isReady will return False here as the promise hasn't resolved yet.
HIGHexamples/check-connection-status.js24// isOpen will return True here as the client's socket is open now.
HIGHexamples/check-connection-status.js25// isReady will return True here, client is ready to use.
Hyper-Verbose Identifiers35 hits · 35 pts
SeverityFileLineSnippet
LOW…eries/lib/commands/MRANGE_SELECTED_LABELS_MULTIAGGR.ts40export function createTransformMRangeSelectedLabelsMultiArguments(command: RedisArgument) {
LOWpackages/time-series/lib/commands/helpers.ts57export function transformTimestampArgument(timestamp: Timestamp): string {
LOWpackages/time-series/lib/commands/helpers.ts215export function parseSelectedLabelsArguments(
LOW…ime-series/lib/commands/MRANGE_WITHLABELS_MULTIAGGR.ts38export function createTransformMRangeWithLabelsMultiArguments(command: RedisArgument) {
LOWpackages/time-series/lib/commands/RANGE_MULTIAGGR.ts88export function transformRangeMultiArguments(
LOWpackages/time-series/lib/commands/MRANGE_MULTIAGGR.ts35export function createTransformMRangeMultiArguments(command: RedisArgument) {
LOWpackages/time-series/lib/commands/MRANGE_WITHLABELS.ts32export function createTransformMRangeWithLabelsArguments(command: RedisArgument) {
LOW…ges/time-series/lib/commands/MRANGE_SELECTED_LABELS.ts34export function createTransformMRangeSelectedLabelsArguments(command: RedisArgument) {
LOWpackages/time-series/lib/commands/MRANGE.ts29export function createTransformMRangeArguments(command: RedisArgument) {
LOWpackages/time-series/lib/commands/MRANGE_GROUPBY.ts71export function createTransformMRangeGroupByArguments(command: RedisArgument) {
LOW…-series/lib/commands/MRANGE_SELECTED_LABELS_GROUPBY.ts24export function createMRangeSelectedLabelsGroupByTransformArguments(
LOW…/time-series/lib/commands/MRANGE_WITHLABELS_GROUPBY.ts30export function createMRangeWithLabelsGroupByTransformArguments(command: RedisArgument) {
LOWpackages/test-utils/lib/dockers.ts182export async function spawnProxiedRedisServerDocker(
LOWpackages/test-utils/lib/dockers.ts327export async function spawnTlsRedisServerDocker(
LOWpackages/test-utils/lib/dockers.ts447async function spawnRedisClusterNodeDockers(
LOWpackages/test-utils/lib/dockers.ts506async function spawnRedisClusterNodeDocker(
LOWpackages/search/lib/commands/PROFILE_SEARCH.ts23export function extractProfileResultsReply(reply: ReplyUnion): ReplyUnion {
LOWpackages/search/lib/commands/PROFILE_SEARCH.ts46function normalizeLegacyProfileReply(profile: ReplyUnion): ReplyUnion {
LOWpackages/search/lib/commands/HYBRID.ts438function transformHybridSearchResults(reply: unknown): HybridSearchResult {
LOWpackages/search/lib/commands/CREATE.ts163function parseCommonSchemaFieldOptions(parser: CommandParser, fieldOptions: SchemaCommonField) {
LOW…s/client/lib/tests/test-scenario/test-scenario.util.ts251export function newConnectionReceivedSmigraging(cluster: RedisClusterType<{}, {}, {}, 3, {}>, timeout = 500) {
LOWpackages/client/lib/commands/GEORADIUS_WITH.ts7export function parseGeoRadiusWithArguments(
LOW…kages/client/lib/commands/generic-transformers.spec.ts80function pushOptionalVariadicArgument(
LOWpackages/client/lib/commands/GEORADIUSBYMEMBER_WITH.ts7export function parseGeoRadiusByMemberWithArguments(
LOWpackages/client/lib/commands/GEORADIUSBYMEMBER.ts5export function parseGeoRadiusByMemberArguments(
LOWpackages/client/lib/commands/generic-transformers.ts40export function transformStringDoubleArgument(num: RedisArgument | number): RedisArgument {
LOWpackages/client/lib/commands/generic-transformers.ts255export function pushVariadicNumberArguments(
LOWpackages/client/lib/commands/generic-transformers.ts285export function parseOptionalVariadicArgument(
LOWpackages/client/lib/commands/generic-transformers.ts406export function transformFunctionListItemReply(reply: FunctionListRawItemReply): FunctionListItemReply {
LOWpackages/client/lib/commands/generic-transformers.ts543export function transformStreamMessageReply(typeMapping: TypeMapping | undefined, reply: StreamMessageRawReply): StreamM
LOWpackages/client/lib/commands/generic-transformers.ts553export function transformStreamMessageNullReply(typeMapping: TypeMapping | undefined, reply: StreamMessageRawReply | Nul
LOWpackages/client/lib/commands/generic-transformers.ts564export function transformStreamMessagesReply(
LOWpackages/client/lib/commands/generic-transformers.ts752export function transformRedisJsonArgument(json: RedisJSON): string {
LOWpackages/client/lib/commands/generic-transformers.ts761export function transformRedisJsonNullReply(json: NullReply | BlobStringReply): NullReply | RedisJSON {
LOWpackages/client/lib/commands/VLINKS_WITHSCORES.ts6function transformVLinksWithScoresReply(reply: Array<Array<BlobStringReply>>): Array<Record<string, DoubleReply>> {
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUM…lient/lib/tests/test-scenario/fault-injector-client.ts3// TODO remove types and utilize IFaultInjectorClient