Replace package aws-sdk/signature-v4 with smithy

This package is not modified since 2 years now, and the
replacement is also mentioned in the documentation: https://www.npmjs.com/package/@aws-sdk/signature-v4?activeTab=readme

This PR is simply replacing the packages in the code, this is
a drop-in replacement and there's no need to apply any other changes.

This has been already done in one of the open-source plugins we own,
as well as in our Backstage instance, and all worked just like before.

Signed-off-by: ivangonzalezacuna <ivangonzalezacuna@gmail.com>
This commit is contained in:
ivangonzalezacuna
2025-09-23 17:01:07 +02:00
parent ef757315f4
commit e9589d9600
5 changed files with 23 additions and 95 deletions
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-kubernetes-backend': patch
---
Replace `@aws-sdk/signature-v4` with `@smithy/signature-v4`,
as stated in the [package documentation](https://www.npmjs.com/package/@aws-sdk/signature-v4?activeTab=readme)
+1 -1
View File
@@ -45,7 +45,6 @@
"dependencies": {
"@aws-crypto/sha256-js": "^5.0.0",
"@aws-sdk/credential-providers": "^3.350.0",
"@aws-sdk/signature-v4": "^3.347.0",
"@azure/identity": "^4.0.0",
"@backstage/backend-plugin-api": "workspace:^",
"@backstage/catalog-client": "workspace:^",
@@ -62,6 +61,7 @@
"@google-cloud/container": "^5.0.0",
"@jest-mock/express": "^2.0.1",
"@kubernetes/client-node": "1.4.0",
"@smithy/signature-v4": "^4.1.0",
"@types/http-proxy-middleware": "^1.0.0",
"express": "^4.17.1",
"express-promise-router": "^4.1.0",
@@ -43,7 +43,7 @@ const signer = {
}),
};
jest.mock('@aws-sdk/signature-v4', () => ({
jest.mock('@smithy/signature-v4', () => ({
SignatureV4: jest.fn().mockImplementation(() => signer),
}));
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { fromTemporaryCredentials } from '@aws-sdk/credential-providers';
import { SignatureV4 } from '@aws-sdk/signature-v4';
import { SignatureV4 } from '@smithy/signature-v4';
import { Sha256 } from '@aws-crypto/sha256-js';
import {
AwsCredentialsManager,
+14 -92
View File
@@ -355,17 +355,6 @@ __metadata:
languageName: node
linkType: hard
"@aws-crypto/crc32@npm:3.0.0":
version: 3.0.0
resolution: "@aws-crypto/crc32@npm:3.0.0"
dependencies:
"@aws-crypto/util": "npm:^3.0.0"
"@aws-sdk/types": "npm:^3.222.0"
tslib: "npm:^1.11.1"
checksum: 10/672d593fd98a88709a1b488db92aabf584b6dad3e8099e04b6d2870e34a2ee668cbbe0e5406e60c0d776b9c34a91cfc427999230ad959518fed56a3db037704c
languageName: node
linkType: hard
"@aws-crypto/crc32@npm:5.2.0":
version: 5.2.0
resolution: "@aws-crypto/crc32@npm:5.2.0"
@@ -437,17 +426,6 @@ __metadata:
languageName: node
linkType: hard
"@aws-crypto/util@npm:^3.0.0":
version: 3.0.0
resolution: "@aws-crypto/util@npm:3.0.0"
dependencies:
"@aws-sdk/types": "npm:^3.222.0"
"@aws-sdk/util-utf8-browser": "npm:^3.0.0"
tslib: "npm:^1.11.1"
checksum: 10/92c835b83d7a888b37b2f2a37c82e58bb8fabb617e371173c488d2a71b916c69ee566f0ea0b3f7f4e16296226c49793f95b3d59fc07a7ca00af91f8f9f29e6c4
languageName: node
linkType: hard
"@aws-crypto/util@npm:^5.2.0":
version: 5.2.0
resolution: "@aws-crypto/util@npm:5.2.0"
@@ -1327,18 +1305,6 @@ __metadata:
languageName: node
linkType: hard
"@aws-sdk/eventstream-codec@npm:3.370.0":
version: 3.370.0
resolution: "@aws-sdk/eventstream-codec@npm:3.370.0"
dependencies:
"@aws-crypto/crc32": "npm:3.0.0"
"@aws-sdk/types": "npm:3.370.0"
"@aws-sdk/util-hex-encoding": "npm:3.310.0"
tslib: "npm:^2.5.0"
checksum: 10/9ded697e5922972734899f2ac81941a5d1686de55eecadaaf36411d099f94708556ffc5a4adf9591299875b9f604dd4dea1846df9a94bdd0acc85f2d9e3f7a98
languageName: node
linkType: hard
"@aws-sdk/is-array-buffer@npm:3.310.0":
version: 3.310.0
resolution: "@aws-sdk/is-array-buffer@npm:3.310.0"
@@ -1758,22 +1724,6 @@ __metadata:
languageName: node
linkType: hard
"@aws-sdk/signature-v4@npm:^3.347.0":
version: 3.370.0
resolution: "@aws-sdk/signature-v4@npm:3.370.0"
dependencies:
"@aws-sdk/eventstream-codec": "npm:3.370.0"
"@aws-sdk/is-array-buffer": "npm:3.310.0"
"@aws-sdk/types": "npm:3.370.0"
"@aws-sdk/util-hex-encoding": "npm:3.310.0"
"@aws-sdk/util-middleware": "npm:3.370.0"
"@aws-sdk/util-uri-escape": "npm:3.310.0"
"@aws-sdk/util-utf8": "npm:3.310.0"
tslib: "npm:^2.5.0"
checksum: 10/23a71ee99217d9eda1a5d3c9a4d614b76da46ba830d947a511a1609b71b6e426ef0a5503e394999a14c1e229c9ca720f3cd323c7567f101949a1207ef72f0dd3
languageName: node
linkType: hard
"@aws-sdk/token-providers@npm:3.649.0":
version: 3.649.0
resolution: "@aws-sdk/token-providers@npm:3.649.0"
@@ -1898,15 +1848,6 @@ __metadata:
languageName: node
linkType: hard
"@aws-sdk/util-hex-encoding@npm:3.310.0":
version: 3.310.0
resolution: "@aws-sdk/util-hex-encoding@npm:3.310.0"
dependencies:
tslib: "npm:^2.5.0"
checksum: 10/9ec0388c9667d4d616c61530be88422a315e3d92bf93b941d6f6d8339d6e703f4cacb2e11402658d716b1166e90d0fddb497284220e11075a0c17821c468c44b
languageName: node
linkType: hard
"@aws-sdk/util-locate-window@npm:^3.0.0":
version: 3.183.0
resolution: "@aws-sdk/util-locate-window@npm:3.183.0"
@@ -2005,25 +1946,6 @@ __metadata:
languageName: node
linkType: hard
"@aws-sdk/util-utf8-browser@npm:^3.0.0":
version: 3.188.0
resolution: "@aws-sdk/util-utf8-browser@npm:3.188.0"
dependencies:
tslib: "npm:^2.3.1"
checksum: 10/ee5d2c005ca2bb6514526869c88b2d794572eb8de3d43a5bafd0843dfc93dd0060596f852159bc3fcfbb9b443c6d0fbf5613cfbcde0e43331a3a105d462f7788
languageName: node
linkType: hard
"@aws-sdk/util-utf8@npm:3.310.0":
version: 3.310.0
resolution: "@aws-sdk/util-utf8@npm:3.310.0"
dependencies:
"@aws-sdk/util-buffer-from": "npm:3.310.0"
tslib: "npm:^2.5.0"
checksum: 10/88bf031527a1fe99712b4e2cb00bc47436b39aa29ce0ceeace3bd0bc7d436d14940f190c249b9a69e684f8d3f01f96847848f5d8ebab7e3103c0084c1e609ce4
languageName: node
linkType: hard
"@aws-sdk/xml-builder@npm:3.649.0":
version: 3.649.0
resolution: "@aws-sdk/xml-builder@npm:3.649.0"
@@ -5864,7 +5786,6 @@ __metadata:
dependencies:
"@aws-crypto/sha256-js": "npm:^5.0.0"
"@aws-sdk/credential-providers": "npm:^3.350.0"
"@aws-sdk/signature-v4": "npm:^3.347.0"
"@azure/identity": "npm:^4.0.0"
"@backstage/backend-defaults": "workspace:^"
"@backstage/backend-plugin-api": "workspace:^"
@@ -5886,6 +5807,7 @@ __metadata:
"@google-cloud/container": "npm:^5.0.0"
"@jest-mock/express": "npm:^2.0.1"
"@kubernetes/client-node": "npm:1.4.0"
"@smithy/signature-v4": "npm:^4.1.0"
"@types/express": "npm:^4.17.6"
"@types/http-proxy-middleware": "npm:^1.0.0"
"@types/luxon": "npm:^3.0.0"
@@ -18225,19 +18147,19 @@ __metadata:
languageName: node
linkType: hard
"@smithy/signature-v4@npm:^4.1.1":
version: 4.1.1
resolution: "@smithy/signature-v4@npm:4.1.1"
"@smithy/signature-v4@npm:^4.1.0, @smithy/signature-v4@npm:^4.1.1":
version: 4.2.4
resolution: "@smithy/signature-v4@npm:4.2.4"
dependencies:
"@smithy/is-array-buffer": "npm:^3.0.0"
"@smithy/protocol-http": "npm:^4.1.1"
"@smithy/types": "npm:^3.4.0"
"@smithy/protocol-http": "npm:^4.1.8"
"@smithy/types": "npm:^3.7.2"
"@smithy/util-hex-encoding": "npm:^3.0.0"
"@smithy/util-middleware": "npm:^3.0.4"
"@smithy/util-middleware": "npm:^3.0.11"
"@smithy/util-uri-escape": "npm:^3.0.0"
"@smithy/util-utf8": "npm:^3.0.0"
tslib: "npm:^2.6.2"
checksum: 10/f77d8b6cb384a0b9a0925ce6a693fbbcbf13c6f9ddf12cb9e1b39fb06452d001b17164d5e2618ea103edb427f2f1225d057827e2815e629b582115b2d533194f
checksum: 10/1389616fb798963fae989191ad044b821c7543d9df7bef4eaaf21d59e9b0a9e1e529a87f9013389408d0227e1acd32a916f694487ae6144b0d0217f16d65d06b
languageName: node
linkType: hard
@@ -18536,13 +18458,13 @@ __metadata:
languageName: node
linkType: hard
"@smithy/util-middleware@npm:^3.0.4":
version: 3.0.4
resolution: "@smithy/util-middleware@npm:3.0.4"
"@smithy/util-middleware@npm:^3.0.11, @smithy/util-middleware@npm:^3.0.4":
version: 3.0.11
resolution: "@smithy/util-middleware@npm:3.0.11"
dependencies:
"@smithy/types": "npm:^3.4.0"
"@smithy/types": "npm:^3.7.2"
tslib: "npm:^2.6.2"
checksum: 10/d358c8e5ab462b749b32421135f1660302de8b2a942e5cf92b63b1489e87d0fc57aa4cc578fee46a7192472946b06a898d98b1f01c8cf4b9fccc4ad489ffde5a
checksum: 10/d8197dc223ddc5ed6e9b40bb44f58793b0fe09d39734e70729ed7606c5497047f1dbf0d616764767b3c8812d49d76d94679a29dc7c879211b0e918e68715bde4
languageName: node
linkType: hard
@@ -48099,7 +48021,7 @@ __metadata:
languageName: node
linkType: hard
"tslib@npm:^1.11.1, tslib@npm:^1.13.0, tslib@npm:^1.14.1, tslib@npm:^1.8.1, tslib@npm:^1.9.0, tslib@npm:^1.9.3":
"tslib@npm:^1.13.0, tslib@npm:^1.14.1, tslib@npm:^1.8.1, tslib@npm:^1.9.0, tslib@npm:^1.9.3":
version: 1.14.1
resolution: "tslib@npm:1.14.1"
checksum: 10/7dbf34e6f55c6492637adb81b555af5e3b4f9cc6b998fb440dac82d3b42bdc91560a35a5fb75e20e24a076c651438234da6743d139e4feabf0783f3cdfe1dddb