diff --git a/package-lock.json b/package-lock.json index 0f89373cd4..1b45d422fa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1012,17 +1012,6 @@ "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/is-array-buffer": { - "version": "3.201.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.201.0.tgz", - "integrity": "sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg==", - "dependencies": { - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@aws-sdk/lib-dynamodb": { "version": "3.538.0", "resolved": "https://registry.npmjs.org/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.538.0.tgz", @@ -1156,31 +1145,6 @@ "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-base64-node": { - "version": "3.209.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.209.0.tgz", - "integrity": "sha512-U6pjb6uF/BameQLmzoSrqeiTxu5otwwGV7fO+TyE/3SJm/lyIsBaO+wr0qsoK0ae1VqggR+KCsUG13pWhdltpw==", - "deprecated": "The package @aws-sdk/util-base64-node has been renamed to @aws-sdk/util-base64. Please install the renamed package.", - "dependencies": { - "@aws-sdk/util-buffer-from": "3.208.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/util-buffer-from": { - "version": "3.208.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.208.0.tgz", - "integrity": "sha512-7L0XUixNEFcLUGPeBF35enCvB9Xl+K6SQsmbrPk1P3mlV9mguWSDQqbOBwY1Ir0OVbD6H/ZOQU7hI/9RtRI0Zw==", - "dependencies": { - "@aws-sdk/is-array-buffer": "3.201.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@aws-sdk/util-dynamodb": { "version": "3.538.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-dynamodb/-/util-dynamodb-3.538.0.tgz", @@ -17368,7 +17332,6 @@ "license": "MIT-0", "dependencies": { "@aws-lambda-powertools/commons": "^2.0.3", - "@aws-sdk/util-base64-node": "^3.209.0", "jmespath": "^0.16.0" }, "devDependencies": { @@ -17452,8 +17415,7 @@ "version": "2.0.3", "license": "MIT-0", "dependencies": { - "@aws-lambda-powertools/commons": "^2.0.3", - "@aws-sdk/util-base64-node": "^3.209.0" + "@aws-lambda-powertools/commons": "^2.0.3" }, "devDependencies": { "@aws-lambda-powertools/testing-utils": "file:../testing", @@ -17462,6 +17424,7 @@ "@aws-sdk/client-secrets-manager": "^3.535.0", "@aws-sdk/client-ssm": "^3.535.0", "@aws-sdk/util-dynamodb": "^3.538.0", + "@smithy/util-base64": "^2.3.0", "aws-sdk-client-mock": "^4.0.0", "aws-sdk-client-mock-jest": "^4.0.0" }, diff --git a/packages/idempotency/package.json b/packages/idempotency/package.json index 78f37f05d8..f844ee851e 100644 --- a/packages/idempotency/package.json +++ b/packages/idempotency/package.json @@ -101,7 +101,6 @@ }, "dependencies": { "@aws-lambda-powertools/commons": "^2.0.3", - "@aws-sdk/util-base64-node": "^3.209.0", "jmespath": "^0.16.0" }, "peerDependencies": { diff --git a/packages/parameters/package.json b/packages/parameters/package.json index 86b410d340..8e54b8d092 100644 --- a/packages/parameters/package.json +++ b/packages/parameters/package.json @@ -163,12 +163,12 @@ "@aws-sdk/client-secrets-manager": "^3.535.0", "@aws-sdk/client-ssm": "^3.535.0", "@aws-sdk/util-dynamodb": "^3.538.0", + "@smithy/util-base64": "^2.3.0", "aws-sdk-client-mock": "^4.0.0", "aws-sdk-client-mock-jest": "^4.0.0" }, "dependencies": { - "@aws-lambda-powertools/commons": "^2.0.3", - "@aws-sdk/util-base64-node": "^3.209.0" + "@aws-lambda-powertools/commons": "^2.0.3" }, "peerDependencies": { "@aws-sdk/client-appconfigdata": ">=3.x", diff --git a/packages/parameters/src/base/transformValue.ts b/packages/parameters/src/base/transformValue.ts index 3dc1c3fcea..2c560689db 100644 --- a/packages/parameters/src/base/transformValue.ts +++ b/packages/parameters/src/base/transformValue.ts @@ -1,6 +1,6 @@ import type { JSONValue } from '@aws-lambda-powertools/commons/types'; import { isString } from '@aws-lambda-powertools/commons'; -import { fromBase64 } from '@aws-sdk/util-base64-node'; +import { fromBase64 } from '@aws-lambda-powertools/commons/utils/base64'; import { TRANSFORM_METHOD_BINARY, TRANSFORM_METHOD_JSON, @@ -19,7 +19,7 @@ import type { TransformOptions } from '../types/BaseProvider.js'; * the value will be parsed as JSON using the `JSON.parse` function. * * When the transform is `binary` or `auto` and the key ends with `.binary`, the value will be decoded from base64 using the `fromBase64` function - * from the `@aws-sdk/util-base64-node` package. + * from the `@aws-lambda-powertools/commons/utils/base64` package. * * If the transformation fails, the function will return the value as-is unless `throwOnTransformError` is set to `true`. * @@ -67,7 +67,7 @@ const transformValue = ( return JSON.parse(value) as JSONValue; // If the transform is `binary` or `auto` and the key ends with `.binary`, decode the value from base64 } else if (isBinaryTransform || isAutoBinaryTransform) { - return new TextDecoder('utf-8').decode(fromBase64(value)); + return new TextDecoder('utf-8').decode(fromBase64(value, 'base64')); } } catch (error) { if (throwOnTransformError) diff --git a/packages/parameters/tests/e2e/appConfigProvider.class.test.ts b/packages/parameters/tests/e2e/appConfigProvider.class.test.ts index 69bb52ae17..cfbf7cd58d 100644 --- a/packages/parameters/tests/e2e/appConfigProvider.class.test.ts +++ b/packages/parameters/tests/e2e/appConfigProvider.class.test.ts @@ -9,7 +9,7 @@ import { TestStack, } from '@aws-lambda-powertools/testing-utils'; import { TestNodejsFunction } from '@aws-lambda-powertools/testing-utils/resources/lambda'; -import { toBase64 } from '@aws-sdk/util-base64-node'; +import { toBase64 } from '@smithy/util-base64'; import { join } from 'node:path'; import { TestAppConfigWithProfiles } from '../helpers/resources.js'; import { diff --git a/packages/parameters/tests/unit/BaseProvider.test.ts b/packages/parameters/tests/unit/BaseProvider.test.ts index 18e87bb0dc..d3aa29c709 100644 --- a/packages/parameters/tests/unit/BaseProvider.test.ts +++ b/packages/parameters/tests/unit/BaseProvider.test.ts @@ -17,7 +17,7 @@ import { TransformParameterError, clearCaches, } from '../../src/index.js'; -import { toBase64 } from '@aws-sdk/util-base64-node'; +import { toBase64 } from '@smithy/util-base64'; const encoder = new TextEncoder(); jest.mock('@aws-lambda-powertools/commons', () => ({ diff --git a/packages/parameters/tests/unit/SSMProvider.test.ts b/packages/parameters/tests/unit/SSMProvider.test.ts index 04da68117c..005cb7d761 100644 --- a/packages/parameters/tests/unit/SSMProvider.test.ts +++ b/packages/parameters/tests/unit/SSMProvider.test.ts @@ -21,7 +21,7 @@ import type { SSMGetParametersByNameOutputInterface, } from '../../src/types/SSMProvider.js'; import { ExpirableValue } from '../../src/base/ExpirableValue.js'; -import { toBase64 } from '@aws-sdk/util-base64-node'; +import { toBase64 } from '@smithy/util-base64'; import { addUserAgentMiddleware } from '@aws-lambda-powertools/commons'; const encoder = new TextEncoder(); diff --git a/packages/parameters/tests/unit/getAppConfig.test.ts b/packages/parameters/tests/unit/getAppConfig.test.ts index adbc2f6a6c..b012cd0c10 100644 --- a/packages/parameters/tests/unit/getAppConfig.test.ts +++ b/packages/parameters/tests/unit/getAppConfig.test.ts @@ -13,7 +13,7 @@ import { } from '@aws-sdk/client-appconfigdata'; import { mockClient } from 'aws-sdk-client-mock'; import 'aws-sdk-client-mock-jest'; -import { toBase64 } from '@aws-sdk/util-base64-node'; +import { toBase64 } from '@smithy/util-base64'; import { Uint8ArrayBlobAdapter } from '@smithy/util-stream'; import type { JSONValue } from '@aws-lambda-powertools/commons/types';