chore: migrate AWS SDK for JavaScript v2 APIs to v3 (#2904)

* chore: convert s3.promise callback to async-await

* chore: run codemod on e2e/utils/artifacts.js

* chore: format

* chore(deps): replace AWS SDK for JavaScript v2 with v3

* chore: bump lockfile

* chore: changes to bracket spacing in imports

Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>

---------

Co-authored-by: Devin Binnie <52460000+devinbinnie@users.noreply.github.com>
This commit is contained in:
Trivikram Kamat
2023-11-16 13:39:55 -08:00
committed by GitHub
parent 61bc359959
commit a63bdd7cf2
3 changed files with 3961 additions and 238 deletions

View File

@@ -8,7 +8,8 @@ const fs = require('fs');
const path = require('path'); const path = require('path');
const async = require('async'); const async = require('async');
const AWS = require('aws-sdk'); const {Upload} = require('@aws-sdk/lib-storage');
const {S3} = require('@aws-sdk/client-s3');
const mime = require('mime-types'); const mime = require('mime-types');
const readdir = require('recursive-readdir'); const readdir = require('recursive-readdir');
@@ -25,10 +26,11 @@ const {
BUILD_TAG, BUILD_TAG,
} = process.env; } = process.env;
const s3 = new AWS.S3({ const s3 = new S3({
signatureVersion: 'v4', credentials: {
accessKeyId: AWS_ACCESS_KEY_ID, accessKeyId: AWS_ACCESS_KEY_ID,
secretAccessKey: AWS_SECRET_ACCESS_KEY, secretAccessKey: AWS_SECRET_ACCESS_KEY
},
}); });
function getFiles(dirPath) { function getFiles(dirPath) {
@@ -55,23 +57,21 @@ async function saveArtifacts() {
const contentType = mime.lookup(file); const contentType = mime.lookup(file);
const charset = mime.charset(contentType); const charset = mime.charset(contentType);
return new Promise((res, rej) => { try {
s3.upload( await new Upload({
{ client: s3,
params: {
Key, Key,
Bucket: AWS_S3_BUCKET, Bucket: AWS_S3_BUCKET,
Body: fs.readFileSync(file), Body: fs.readFileSync(file),
ContentType: `${contentType}${charset ? '; charset=' + charset : ''}`, ContentType: `${contentType}${charset ? '; charset=' + charset : ''}`,
}, },
(err) => { }).done();
if (err) { return {success: true};
} catch (e) {
console.log('Failed to upload artifact:', file); console.log('Failed to upload artifact:', file);
return rej(new Error(err)); throw new Error(e);
} }
res({success: true});
},
);
});
}), }),
(err) => { (err) => {
if (err) { if (err) {

4162
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -133,6 +133,8 @@
] ]
}, },
"devDependencies": { "devDependencies": {
"@aws-sdk/client-s3": "3.445.0",
"@aws-sdk/lib-storage": "3.445.0",
"@babel/cli": "7.17.6", "@babel/cli": "7.17.6",
"@babel/core": "7.17.8", "@babel/core": "7.17.8",
"@babel/plugin-proposal-class-properties": "7.16.7", "@babel/plugin-proposal-class-properties": "7.16.7",
@@ -158,7 +160,6 @@
"@typescript-eslint/parser": "5.18.0", "@typescript-eslint/parser": "5.18.0",
"7zip-bin": "5.1.1", "7zip-bin": "5.1.1",
"auto-launch": "5.0.5", "auto-launch": "5.0.5",
"aws-sdk": "^2.1190.0",
"axios": "0.26.1", "axios": "0.26.1",
"babel-eslint": "10.1.0", "babel-eslint": "10.1.0",
"babel-loader": "8.2.4", "babel-loader": "8.2.4",