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:
@@ -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
4162
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -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",
|
||||||
|
Reference in New Issue
Block a user