From 0b113ec9cb62dccc19b3839acaa6e03fb9eca291 Mon Sep 17 00:00:00 2001 From: Maxime David Date: Sun, 16 Nov 2025 01:13:30 +0000 Subject: [PATCH] fix: bump aws-lambda-invoke-store and fix breaking changes --- .../middleware-recursion-detection/package.json | 2 +- .../src/recursionDetectionMiddleware.spec.ts | 16 ++++++++-------- .../src/recursionDetectionMiddleware.ts | 5 ++--- yarn.lock | 10 +++++----- 4 files changed, 16 insertions(+), 17 deletions(-) diff --git a/packages/middleware-recursion-detection/package.json b/packages/middleware-recursion-detection/package.json index e506613a09de..15cc1fd14303 100644 --- a/packages/middleware-recursion-detection/package.json +++ b/packages/middleware-recursion-detection/package.json @@ -25,7 +25,7 @@ "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "*", - "@aws/lambda-invoke-store": "^0.1.1", + "@aws/lambda-invoke-store": "^0.2.0", "@smithy/protocol-http": "^5.3.5", "@smithy/types": "^4.9.0", "tslib": "^2.6.2" diff --git a/packages/middleware-recursion-detection/src/recursionDetectionMiddleware.spec.ts b/packages/middleware-recursion-detection/src/recursionDetectionMiddleware.spec.ts index ee8db73bf245..aaac9bb5f0b0 100644 --- a/packages/middleware-recursion-detection/src/recursionDetectionMiddleware.spec.ts +++ b/packages/middleware-recursion-detection/src/recursionDetectionMiddleware.spec.ts @@ -1,14 +1,10 @@ // @ts-ignore -import { InvokeStore as InvokeStoreImpl } from "@aws/lambda-invoke-store"; -// eslint-disable-next-line no-restricted-imports -import type { InvokeStore as InvokeStoreType } from "@aws/lambda-invoke-store/dist-types/invoke-store.d"; +import { InvokeStore } from "@aws/lambda-invoke-store"; import { HttpRequest } from "@smithy/protocol-http"; import { afterAll, beforeEach, describe, expect, test as it, vi } from "vitest"; import { recursionDetectionMiddleware } from "./recursionDetectionMiddleware"; -const InvokeStore = InvokeStoreImpl as typeof InvokeStoreType; - describe(recursionDetectionMiddleware.name, () => { const mockNextHandler = vi.fn(); const originEnv = process.env; @@ -17,7 +13,7 @@ describe(recursionDetectionMiddleware.name, () => { beforeEach(() => { vi.clearAllMocks(); - vi.spyOn(InvokeStore, "getXRayTraceId").mockImplementation(() => undefined); + vi.spyOn(InvokeStore, "getInstanceAsync").mockResolvedValue(undefined as any); process.env = {}; }); @@ -46,7 +42,9 @@ describe(recursionDetectionMiddleware.name, () => { }); it("trace id value is set in InvokeStore", async () => { - vi.spyOn(InvokeStore, "getXRayTraceId").mockImplementation(() => mockTraceIdInvokeStore); + vi.spyOn(InvokeStore, "getInstanceAsync").mockResolvedValue({ + getXRayTraceId: () => mockTraceIdInvokeStore, + } as any); process.env = { AWS_LAMBDA_FUNCTION_NAME: "some-function", }; @@ -62,7 +60,9 @@ describe(recursionDetectionMiddleware.name, () => { }); it("favors trace id value from InvokeStore over that from env variable", async () => { - vi.spyOn(InvokeStore, "getXRayTraceId").mockImplementation(() => mockTraceIdInvokeStore); + vi.spyOn(InvokeStore, "getInstanceAsync").mockResolvedValue({ + getXRayTraceId: () => mockTraceIdInvokeStore, + } as any); process.env = { AWS_LAMBDA_FUNCTION_NAME: "some-function", _X_AMZN_TRACE_ID: mockTraceIdEnv, diff --git a/packages/middleware-recursion-detection/src/recursionDetectionMiddleware.ts b/packages/middleware-recursion-detection/src/recursionDetectionMiddleware.ts index c618f6cbbb20..349d3bf58f17 100644 --- a/packages/middleware-recursion-detection/src/recursionDetectionMiddleware.ts +++ b/packages/middleware-recursion-detection/src/recursionDetectionMiddleware.ts @@ -1,7 +1,5 @@ // @ts-ignore import { InvokeStore } from "@aws/lambda-invoke-store"; -// eslint-disable-next-line no-restricted-imports -import type { InvokeStore as InvokeStoreType } from "@aws/lambda-invoke-store/dist-types/invoke-store.d"; import { HttpRequest } from "@smithy/protocol-http"; import { BuildHandler, @@ -37,7 +35,8 @@ export const recursionDetectionMiddleware = const functionName = process.env[ENV_LAMBDA_FUNCTION_NAME]; const traceIdFromEnv = process.env[ENV_TRACE_ID]; - const traceIdFromInvokeStore = (InvokeStore as typeof InvokeStoreType).getXRayTraceId(); + const invokeStore = await InvokeStore.getInstanceAsync(); + const traceIdFromInvokeStore = invokeStore?.getXRayTraceId(); const traceId = traceIdFromInvokeStore ?? traceIdFromEnv; const nonEmptyString = (str: unknown): str is string => typeof str === "string" && str.length > 0; diff --git a/yarn.lock b/yarn.lock index c269b92f0416..fdbc5c23df22 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23448,7 +23448,7 @@ __metadata: resolution: "@aws-sdk/middleware-recursion-detection@workspace:packages/middleware-recursion-detection" dependencies: "@aws-sdk/types": "npm:*" - "@aws/lambda-invoke-store": "npm:^0.1.1" + "@aws/lambda-invoke-store": "npm:^0.2.0" "@smithy/protocol-http": "npm:^5.3.5" "@smithy/types": "npm:^4.9.0" "@tsconfig/recommended": "npm:1.0.1" @@ -24371,10 +24371,10 @@ __metadata: languageName: node linkType: hard -"@aws/lambda-invoke-store@npm:^0.1.1": - version: 0.1.1 - resolution: "@aws/lambda-invoke-store@npm:0.1.1" - checksum: 10c0/27c90d9af7cca7ff4870e87dc303516e6d09ebe18f5fa13813397cd6a37fd26cf3ff1715469e3c5323fea0404a55c110f35e21bcc3ea595a4f6ba6406ea1f103 +"@aws/lambda-invoke-store@npm:^0.2.0": + version: 0.2.0 + resolution: "@aws/lambda-invoke-store@npm:0.2.0" + checksum: 10c0/ff37fe5d7c3b59afffa4591f9be89c5b53b808fe9dd85dd02d324bbd2b8f11366de481569284b9a5b65221cf17ba254730085aa00d6a3d1a57d9ab08a3a39879 languageName: node linkType: hard