@dotcom-tool-kit/upload-assets-to-s3 2.0.6 → 2.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-assets-to-s3.d.ts","sourceRoot":"","sources":["../../src/tasks/upload-assets-to-s3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAE7C,OAAO,GAAG,MAAM,SAAS,CAAA;AAMzB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,uDAAuD,CAAA;AAE9D,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,IAAI,CAAC,OAAO,sBAAsB,CAAC;IAC/E,MAAM,CAAC,WAAW,SAAK;IAEvB,MAAM,CAAC,cAAc,EAAE,uBAAuB,CAS7C;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAGpB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"upload-assets-to-s3.d.ts","sourceRoot":"","sources":["../../src/tasks/upload-assets-to-s3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAE7C,OAAO,GAAG,MAAM,SAAS,CAAA;AAMzB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,uDAAuD,CAAA;AAE9D,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,IAAI,CAAC,OAAO,sBAAsB,CAAC;IAC/E,MAAM,CAAC,WAAW,SAAK;IAEvB,MAAM,CAAC,cAAc,EAAE,uBAAuB,CAS7C;IAEK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAGpB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDrF,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;CAaxE"}
|
|
@@ -14,10 +14,11 @@ class UploadAssetsToS3 extends types_1.Task {
|
|
|
14
14
|
await this.uploadAssetsToS3(this.options);
|
|
15
15
|
}
|
|
16
16
|
async uploadFile(file, options, s3) {
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
17
|
+
const type = getFileType(file);
|
|
18
|
+
const encoding = getFileEncoding(file);
|
|
19
|
+
const filepath = path_1.default.join(options.directory, file);
|
|
20
|
+
const body = fs.createReadStream(filepath);
|
|
21
|
+
const key = path_1.default.posix.join(options.destination, file);
|
|
21
22
|
const bucketByEnv = process.env.NODE_ENV === 'branch' ? options.reviewBucket : options.prodBucket;
|
|
22
23
|
let currentBucket = '';
|
|
23
24
|
try {
|
|
@@ -25,7 +26,7 @@ class UploadAssetsToS3 extends types_1.Task {
|
|
|
25
26
|
const params = {
|
|
26
27
|
Bucket: bucketByEnv,
|
|
27
28
|
Key: key,
|
|
28
|
-
Body:
|
|
29
|
+
Body: body,
|
|
29
30
|
ACL: 'public-read',
|
|
30
31
|
ContentType: `${type}; charset=utf-8`,
|
|
31
32
|
ContentEncoding: encoding,
|
|
@@ -33,14 +34,14 @@ class UploadAssetsToS3 extends types_1.Task {
|
|
|
33
34
|
};
|
|
34
35
|
currentBucket = params.Bucket;
|
|
35
36
|
const data = await s3.upload(params).promise();
|
|
36
|
-
this.logger.info(`Uploaded ${logger_1.styles.filepath(
|
|
37
|
+
this.logger.info(`Uploaded ${logger_1.styles.filepath(filepath)} to ${logger_1.styles.URL(data.Location)}`);
|
|
37
38
|
}
|
|
38
39
|
else {
|
|
39
40
|
for (const bucket of bucketByEnv) {
|
|
40
41
|
const params = {
|
|
41
42
|
Bucket: bucket,
|
|
42
43
|
Key: key,
|
|
43
|
-
Body:
|
|
44
|
+
Body: body,
|
|
44
45
|
ACL: 'public-read',
|
|
45
46
|
ContentType: `${type}; charset=utf-8`,
|
|
46
47
|
ContentEncoding: encoding,
|
|
@@ -48,12 +49,12 @@ class UploadAssetsToS3 extends types_1.Task {
|
|
|
48
49
|
};
|
|
49
50
|
currentBucket = params.Bucket;
|
|
50
51
|
const data = await s3.upload(params).promise();
|
|
51
|
-
this.logger.info(`Uploaded ${logger_1.styles.filepath(
|
|
52
|
+
this.logger.info(`Uploaded ${logger_1.styles.filepath(filepath)} to ${logger_1.styles.URL(data.Location)}`);
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
catch (err) {
|
|
56
|
-
const error = new error_1.ToolKitError(`Upload of ${
|
|
57
|
+
const error = new error_1.ToolKitError(`Upload of ${filepath} to ${currentBucket} failed`);
|
|
57
58
|
if (err instanceof Error) {
|
|
58
59
|
error.details = err.message;
|
|
59
60
|
}
|
|
@@ -63,8 +64,8 @@ class UploadAssetsToS3 extends types_1.Task {
|
|
|
63
64
|
async uploadAssetsToS3(options) {
|
|
64
65
|
// Wrap extensions in braces if there are multiple
|
|
65
66
|
const extensions = options.extensions.includes(',') ? `{${options.extensions}}` : options.extensions;
|
|
66
|
-
const globFile =
|
|
67
|
-
const files = glob_1.glob.sync(globFile);
|
|
67
|
+
const globFile = `**/*${extensions}`;
|
|
68
|
+
const files = glob_1.glob.sync(globFile, { cwd: options.directory });
|
|
68
69
|
const s3 = new aws_sdk_1.default.S3({
|
|
69
70
|
accessKeyId: options.accessKeyId,
|
|
70
71
|
secretAccessKey: options.secretAccessKey
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dotcom-tool-kit/upload-assets-to-s3",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.8",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib",
|
|
6
6
|
"scripts": {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@dotcom-tool-kit/error": "^2.0.0",
|
|
14
14
|
"@dotcom-tool-kit/logger": "^2.1.1",
|
|
15
|
-
"@dotcom-tool-kit/types": "^2.
|
|
15
|
+
"@dotcom-tool-kit/types": "^2.6.0",
|
|
16
16
|
"aws-sdk": "^2.901.0",
|
|
17
17
|
"glob": "^7.1.6",
|
|
18
18
|
"mime": "^2.5.2"
|