From f799172c2ddc39d8b1c93b66789cd7bb2641461a Mon Sep 17 00:00:00 2001 From: Adam King Date: Mon, 22 Jul 2024 15:32:17 -0400 Subject: [PATCH] Use the ibm-cos-sdk in preference to aws-sdk --- app/storage/storageConfig.js | 2 +- package-lock.json | 111 ++++++++++++++++------------------- package.json | 2 +- 3 files changed, 54 insertions(+), 61 deletions(-) diff --git a/app/storage/storageConfig.js b/app/storage/storageConfig.js index df741a875..d5ab4618c 100644 --- a/app/storage/storageConfig.js +++ b/app/storage/storageConfig.js @@ -49,7 +49,7 @@ class StorageConfig { if (this.s3ConnectionMap.size > 0) { this.defaultLocation = this.s3ConnectionMap.size > 0 ? (env.S3_DEFAULT_LOCATION || metroArray[0]).toLowerCase() : undefined; this.sslEnabled = !env.S3_DISABLE_SSL; // for local minio support - this.sdk = require(env.COS_SDK || 'aws-sdk'); // also works with 'ibm-cos-sdk' and 'mock-aws-s3' + this.sdk = require(env.COS_SDK || 'ibm-cos-sdk'); // works with either 'ibm-cos-sdk' and 'mock-aws-s3' this.defaultHandler = 's3'; } else { this.defaultHandler = 'embedded'; diff --git a/package-lock.json b/package-lock.json index 3bbcc39da..50d457339 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,6 @@ "apollo-server": "^3.13.0", "apollo-server-express": "^3.13.0", "args": "^5.0.3", - "aws-sdk": "^2.1634.0", "axios": "^1.7.2", "bcrypt": "^5.1.1", "body-parser": "^1.20.2", @@ -42,6 +41,7 @@ "i18next": "^21.10.0", "i18next-fs-backend": "^1.2.0", "i18next-http-middleware": "^3.6.0", + "ibm-cos-sdk": "^1.13.4", "ioredis": "^4.27.1", "is-port-reachable": "^3.0.0", "js-yaml": "^3.14.0", @@ -3942,35 +3942,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/aws-sdk": { - "version": "2.1634.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1634.0.tgz", - "integrity": "sha512-uSEjzAyGIbfpALzxPYES+hsBK1zuUY/8wSv2mAwijAcQfTMV89jQ4VHI/5KsyyZhDSeS/rV9cn6376KO+HDU2w==", - "hasInstallScript": true, - "dependencies": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.6.2" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/aws-sdk/node_modules/uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -6691,14 +6662,6 @@ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" }, - "node_modules/events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==", - "engines": { - "node": ">=0.4.x" - } - }, "node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -8967,6 +8930,23 @@ "readable-stream": "3" } }, + "node_modules/ibm-cos-sdk": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/ibm-cos-sdk/-/ibm-cos-sdk-1.13.4.tgz", + "integrity": "sha512-6xQcePz/Ljvvf1EBD/2UnI7lh38AlZXWF+cFv/UhF++U4pvBb3VIbfOHV476bevMbwvjqKLtLmePOmLFe9blpQ==", + "dependencies": { + "buffer": "^4.9.2", + "jmespath": "^0.16.0", + "url": "^0.11.3", + "util": "^0.12.5", + "uuid": "^8.3.2", + "xml2js": "^0.6.2", + "xmlbuilder": "^10.1.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -15062,15 +15042,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "engines": { - "node": ">=0.4.x" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -16121,9 +16092,9 @@ } }, "node_modules/sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" }, "node_modules/secure-keys": { "version": "1.0.0", @@ -18183,12 +18154,12 @@ "dev": true }, "node_modules/url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" + "punycode": "^1.4.1", + "qs": "^6.11.2" } }, "node_modules/url-parse-lax": { @@ -18204,9 +18175,23 @@ } }, "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/url/node_modules/qs": { + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz", + "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/use": { "version": "3.1.1", @@ -18743,7 +18728,7 @@ "node": ">=4.0.0" } }, - "node_modules/xmlbuilder": { + "node_modules/xml2js/node_modules/xmlbuilder": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", @@ -18751,6 +18736,14 @@ "node": ">=4.0" } }, + "node_modules/xmlbuilder": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-10.1.1.tgz", + "integrity": "sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg==", + "engines": { + "node": ">=4.0" + } + }, "node_modules/xss": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.15.tgz", diff --git a/package.json b/package.json index 72ce6869f..bfd285d2b 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,6 @@ "apollo-server": "^3.13.0", "apollo-server-express": "^3.13.0", "args": "^5.0.3", - "aws-sdk": "^2.1634.0", "axios": "^1.7.2", "bcrypt": "^5.1.1", "body-parser": "^1.20.2", @@ -75,6 +74,7 @@ "i18next": "^21.10.0", "i18next-fs-backend": "^1.2.0", "i18next-http-middleware": "^3.6.0", + "ibm-cos-sdk": "^1.13.4", "ioredis": "^4.27.1", "is-port-reachable": "^3.0.0", "js-yaml": "^3.14.0",