@empiricalrun/r2-uploader 0.3.3 → 0.3.5
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.
- package/CHANGELOG.md +12 -0
- package/dist/fetch.d.ts.map +1 -1
- package/dist/fetch.js +13 -7
- package/dist/upload/index.d.ts.map +1 -1
- package/dist/upload/index.js +1 -0
- package/dist/upload/stream.d.ts.map +1 -1
- package/dist/upload/stream.js +7 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @empiricalrun/r2-uploader
|
|
2
2
|
|
|
3
|
+
## 0.3.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 5901db5: fix: add logs for uploader
|
|
8
|
+
|
|
9
|
+
## 0.3.4
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- ff77220: chore: return empty list when fetching a file that does not exist
|
|
14
|
+
|
|
3
15
|
## 0.3.3
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/dist/fetch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,eAAO,MAAM,UAAU,WAAkB,aAAa;;;;
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,eAAO,MAAM,UAAU,WAAkB,aAAa;;;;gBA2BrD,CAAC"}
|
package/dist/fetch.js
CHANGED
|
@@ -17,12 +17,18 @@ const fetchFiles = async (config) => {
|
|
|
17
17
|
};
|
|
18
18
|
const cmd = new client_s3_1.ListObjectsV2Command(params);
|
|
19
19
|
const data = await S3.send(cmd);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
const { KeyCount, Contents } = data;
|
|
21
|
+
if (KeyCount === 0) {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return Contents?.map((c) => {
|
|
26
|
+
return {
|
|
27
|
+
key: c.Key,
|
|
28
|
+
lastModified: c.LastModified,
|
|
29
|
+
size: c.Size,
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
}
|
|
27
33
|
};
|
|
28
34
|
exports.fetchFiles = fetchFiles;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/upload/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,OAAO,EAA8C,MAAM,UAAU,CAAC;AAqB/E,wBAAsB,eAAe,CAAC,EACpC,SAAS,EACT,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,SAAS,EACT,WAAW,EACX,eAAe,GAChB,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/upload/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,OAAO,EAA8C,MAAM,UAAU,CAAC;AAqB/E,wBAAsB,eAAe,CAAC,EACpC,SAAS,EACT,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,SAAS,EACT,WAAW,EACX,eAAe,GAChB,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,OAAO,CAAC,OAAO,CAAC,CAqBnB;AAED,wBAAsB,mBAAmB,CAAC,EACxC,KAAK,EACL,cAAc,EACd,YAAY,EACZ,SAAS,EACT,WAAW,EACX,eAAe,GAChB,EAAE;IACD,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjE,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,OAAO,CAAC,OAAO,CAAC,CAUnB"}
|
package/dist/upload/index.js
CHANGED
|
@@ -55,6 +55,7 @@ async function uploadDirectory({ sourceDir, fileList, destinationDir, uploadBuck
|
|
|
55
55
|
fileName: filePath.replace(sourceDir, ""), // relative path
|
|
56
56
|
mimeType: mime_1.default.getType(filePath) || "application/octet-stream",
|
|
57
57
|
}));
|
|
58
|
+
console.log("Got request to upload following files:", JSON.stringify(files, null, 2));
|
|
58
59
|
const config = {
|
|
59
60
|
accountId: accountId || process.env.R2_ACCOUNT_ID,
|
|
60
61
|
accessKeyId: accessKeyId || process.env.R2_ACCESS_KEY_ID,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/upload/stream.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEzD,eAAO,MAAM,iBAAiB,WAAkB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/upload/stream.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEzD,eAAO,MAAM,iBAAiB,WAAkB,oBAAoB,qBA+GnE,CAAC"}
|
package/dist/upload/stream.js
CHANGED
|
@@ -31,11 +31,13 @@ const uploadFileStreams = async (config) => {
|
|
|
31
31
|
ContentType: mimeType,
|
|
32
32
|
};
|
|
33
33
|
const createMultipartUploadCommand = new client_s3_1.CreateMultipartUploadCommand(createMultipartUploadParams);
|
|
34
|
+
console.log("sending a multipart upload command for file", file.fileName);
|
|
34
35
|
const { UploadId } = await S3.send(createMultipartUploadCommand);
|
|
35
36
|
const partSize = 5 * 1024 * 1024; // 5MB
|
|
36
37
|
const fileStream = fs_1.default.createReadStream(file.fullPath, {
|
|
37
38
|
highWaterMark: partSize,
|
|
38
39
|
});
|
|
40
|
+
console.log("file stream created successfully for file", file.fileName);
|
|
39
41
|
let partNumber = 1;
|
|
40
42
|
const parts = [];
|
|
41
43
|
for await (const chunk of fileStream) {
|
|
@@ -50,6 +52,7 @@ const uploadFileStreams = async (config) => {
|
|
|
50
52
|
try {
|
|
51
53
|
await (0, async_retry_1.default)(async () => {
|
|
52
54
|
const { ETag } = await S3.send(uploadPartCommand);
|
|
55
|
+
console.log("upload part command sent successfully for file", file.fileName);
|
|
53
56
|
parts.push({ ETag: ETag, PartNumber: partNumber });
|
|
54
57
|
partNumber++;
|
|
55
58
|
}, {
|
|
@@ -76,12 +79,16 @@ const uploadFileStreams = async (config) => {
|
|
|
76
79
|
},
|
|
77
80
|
};
|
|
78
81
|
const completeMultipartUploadCommand = new client_s3_1.CompleteMultipartUploadCommand(completeMultipartUploadParams);
|
|
82
|
+
console.log("file uploaded successfully for file. sending complete multipart request", file.fileName);
|
|
79
83
|
await S3.send(completeMultipartUploadCommand);
|
|
84
|
+
console.log("multipart upload complete for file", file.fileName);
|
|
80
85
|
const getObjectCommand = new client_s3_1.GetObjectCommand({
|
|
81
86
|
Bucket: config.bucket,
|
|
82
87
|
Key: fileKey,
|
|
83
88
|
});
|
|
89
|
+
console.log("getting a signed url for file", file.fileName);
|
|
84
90
|
const fileUrl = await (0, s3_request_presigner_1.getSignedUrl)(S3, getObjectCommand);
|
|
91
|
+
console.log("signed url successfully fetched for file", file.fileName);
|
|
85
92
|
urls[file.fileName] = fileUrl;
|
|
86
93
|
}));
|
|
87
94
|
return urls;
|