From c6542c8e124071aadbe06db295e75ec26245e439 Mon Sep 17 00:00:00 2001 From: Steven Zhang Date: Wed, 22 Apr 2026 11:01:55 -0500 Subject: [PATCH] fix(node-server-sdk-dynamodb): remove unnecessary ioredis package --- packages/store/node-server-sdk-dynamodb/package.json | 3 --- .../node-server-sdk-dynamodb/src/DynamoDBBigSegmentStore.ts | 2 +- .../node-server-sdk-dynamodb/src/DynamoDBClientState.ts | 6 +++--- .../store/node-server-sdk-dynamodb/src/TtlFromOptions.ts | 2 +- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/packages/store/node-server-sdk-dynamodb/package.json b/packages/store/node-server-sdk-dynamodb/package.json index 3379d621a2..a7571d43d4 100644 --- a/packages/store/node-server-sdk-dynamodb/package.json +++ b/packages/store/node-server-sdk-dynamodb/package.json @@ -26,9 +26,6 @@ "lint": "npx eslint . --ext .ts", "lint:fix": "yarn run lint --fix" }, - "dependencies": { - "ioredis": "^5.3.2" - }, "peerDependencies": { "@aws-sdk/client-dynamodb": "^3.53.0", "@launchdarkly/node-server-sdk": ">=9.4.3" diff --git a/packages/store/node-server-sdk-dynamodb/src/DynamoDBBigSegmentStore.ts b/packages/store/node-server-sdk-dynamodb/src/DynamoDBBigSegmentStore.ts index a984562e1d..024ce13b89 100644 --- a/packages/store/node-server-sdk-dynamodb/src/DynamoDBBigSegmentStore.ts +++ b/packages/store/node-server-sdk-dynamodb/src/DynamoDBBigSegmentStore.ts @@ -56,7 +56,7 @@ export default class DynamoDBBigSegmentStore implements interfaces.BigSegmentSto if (data) { const attr = data[ATTR_SYNC_ON]; if (attr && attr.N) { - return { lastUpToDate: parseInt(attr.N!, 10) }; + return { lastUpToDate: parseInt(attr.N, 10) }; } } return {}; diff --git a/packages/store/node-server-sdk-dynamodb/src/DynamoDBClientState.ts b/packages/store/node-server-sdk-dynamodb/src/DynamoDBClientState.ts index 2a672e2cb8..33e7d40fc3 100644 --- a/packages/store/node-server-sdk-dynamodb/src/DynamoDBClientState.ts +++ b/packages/store/node-server-sdk-dynamodb/src/DynamoDBClientState.ts @@ -37,7 +37,7 @@ export default class DynamoDBClientState { private _owned: boolean; constructor(options?: LDDynamoDBOptions) { - this._prefix = options?.prefix ? `${options!.prefix}:` : DEFAULT_PREFIX; + this._prefix = options?.prefix ? `${options.prefix}:` : DEFAULT_PREFIX; // We track if we own the client so that we can destroy clients that we own. if (options?.dynamoDBClient) { @@ -75,8 +75,8 @@ export default class DynamoDBClientState { async batchWrite(table: string, params: WriteRequest[]) { const batches: WriteRequest[][] = []; // Split into batches of at most 25 commands. - while (params.length) { - batches.push(params.splice(0, WRITE_BATCH_SIZE)); + for (let i = 0; i < params.length; i += WRITE_BATCH_SIZE) { + batches.push(params.slice(i, i + WRITE_BATCH_SIZE)); } // Execute all the batches and wait for them to complete. diff --git a/packages/store/node-server-sdk-dynamodb/src/TtlFromOptions.ts b/packages/store/node-server-sdk-dynamodb/src/TtlFromOptions.ts index 231505fc87..6d82bba1aa 100644 --- a/packages/store/node-server-sdk-dynamodb/src/TtlFromOptions.ts +++ b/packages/store/node-server-sdk-dynamodb/src/TtlFromOptions.ts @@ -17,5 +17,5 @@ export default function TtlFromOptions(options?: LDDynamoDBOptions): number { if (options?.cacheTTL === undefined || options.cacheTTL === null) { return DEFAULT_CACHE_TTL_S; } - return options!.cacheTTL; + return options.cacheTTL; }