@empiricalrun/r2-uploader 0.5.0 → 0.6.0

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # @empiricalrun/r2-uploader
2
2
 
3
+ ## 0.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 79a4e0f: feat: add blob reporters for sharding
8
+
3
9
  ## 0.5.0
4
10
 
5
11
  ### Minor Changes
package/dist/index.d.ts CHANGED
@@ -2,4 +2,6 @@ export { fetchFiles } from "./fetch";
2
2
  export { sendTaskToQueue, waitForTaskQueueToFinish } from "./queue";
3
3
  export type { AsyncTask, FileMap } from "./types";
4
4
  export { uploadDirectory, uploadInMemoryFiles } from "./upload";
5
+ export type { CreateUploadTaskOptions } from "./upload-task";
6
+ export { createUploadTask } from "./upload-task";
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACpE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACpE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAChE,YAAY,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.uploadInMemoryFiles = exports.uploadDirectory = exports.waitForTaskQueueToFinish = exports.sendTaskToQueue = exports.fetchFiles = void 0;
3
+ exports.createUploadTask = exports.uploadInMemoryFiles = exports.uploadDirectory = exports.waitForTaskQueueToFinish = exports.sendTaskToQueue = exports.fetchFiles = void 0;
4
4
  var fetch_1 = require("./fetch");
5
5
  Object.defineProperty(exports, "fetchFiles", { enumerable: true, get: function () { return fetch_1.fetchFiles; } });
6
6
  var queue_1 = require("./queue");
@@ -9,3 +9,5 @@ Object.defineProperty(exports, "waitForTaskQueueToFinish", { enumerable: true, g
9
9
  var upload_1 = require("./upload");
10
10
  Object.defineProperty(exports, "uploadDirectory", { enumerable: true, get: function () { return upload_1.uploadDirectory; } });
11
11
  Object.defineProperty(exports, "uploadInMemoryFiles", { enumerable: true, get: function () { return upload_1.uploadInMemoryFiles; } });
12
+ var upload_task_1 = require("./upload-task");
13
+ Object.defineProperty(exports, "createUploadTask", { enumerable: true, get: function () { return upload_task_1.createUploadTask; } });
@@ -0,0 +1,21 @@
1
+ import { AsyncTask } from "./types";
2
+ export interface CreateUploadTaskOptions {
3
+ sourceDir: string;
4
+ fileList?: string[];
5
+ destinationDir: string;
6
+ uploadBucket: string;
7
+ baseUrl: string;
8
+ }
9
+ /**
10
+ * Creates an async task for uploading files to R2 storage.
11
+ *
12
+ * @param {Object} params - The upload parameters
13
+ * @param {string} params.sourceDir - The source directory containing files to upload
14
+ * @param {string[]} [params.fileList] - Optional list of specific files to upload
15
+ * @param {string} params.destinationDir - The destination directory in R2 storage
16
+ * @param {string} params.uploadBucket - The R2 bucket to upload to
17
+ * @param {string} params.baseUrl - The base URL for generating file URLs
18
+ * @returns {AsyncTask} An async task that when executed will upload the files and return a map of file paths to URLs
19
+ */
20
+ export declare function createUploadTask({ sourceDir, fileList, destinationDir, uploadBucket, baseUrl, }: CreateUploadTaskOptions): AsyncTask;
21
+ //# sourceMappingURL=upload-task.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload-task.d.ts","sourceRoot":"","sources":["../src/upload-task.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAW,MAAM,SAAS,CAAC;AAG7C,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,OAAO,GACR,EAAE,uBAAuB,GAAG,SAAS,CA4BrC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createUploadTask = createUploadTask;
7
+ const path_1 = __importDefault(require("path"));
8
+ const logger_1 = require("./logger");
9
+ const upload_1 = require("./upload");
10
+ /**
11
+ * Creates an async task for uploading files to R2 storage.
12
+ *
13
+ * @param {Object} params - The upload parameters
14
+ * @param {string} params.sourceDir - The source directory containing files to upload
15
+ * @param {string[]} [params.fileList] - Optional list of specific files to upload
16
+ * @param {string} params.destinationDir - The destination directory in R2 storage
17
+ * @param {string} params.uploadBucket - The R2 bucket to upload to
18
+ * @param {string} params.baseUrl - The base URL for generating file URLs
19
+ * @returns {AsyncTask} An async task that when executed will upload the files and return a map of file paths to URLs
20
+ */
21
+ function createUploadTask({ sourceDir, fileList, destinationDir, uploadBucket, baseUrl, }) {
22
+ return async () => {
23
+ if (!process.env.R2_ACCOUNT_ID ||
24
+ !process.env.R2_ACCESS_KEY_ID ||
25
+ !process.env.R2_SECRET_ACCESS_KEY) {
26
+ return;
27
+ }
28
+ try {
29
+ const uploadedFiles = await (0, upload_1.uploadDirectory)({
30
+ sourceDir,
31
+ fileList,
32
+ destinationDir,
33
+ uploadBucket,
34
+ });
35
+ const urls = {};
36
+ Object.entries(uploadedFiles).forEach(([filePath]) => {
37
+ const fileUrl = new URL(path_1.default.join(destinationDir, filePath), baseUrl);
38
+ urls[filePath] = fileUrl.toString();
39
+ });
40
+ logger_1.logger.debug("Finished uploading files");
41
+ return urls;
42
+ }
43
+ catch (error) {
44
+ logger_1.logger.error("Error uploading files", error);
45
+ return {};
46
+ }
47
+ };
48
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@empiricalrun/r2-uploader",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/",
6
6
  "access": "public"
@@ -1 +1 @@
1
- {"root":["./src/delete.ts","./src/fetch.ts","./src/index.ts","./src/logger.ts","./src/queue.ts","./src/types.ts","./src/upload/buffer.ts","./src/upload/index.ts","./src/upload/stream.ts"],"version":"5.8.3"}
1
+ {"root":["./src/delete.ts","./src/fetch.ts","./src/index.ts","./src/logger.ts","./src/queue.ts","./src/types.ts","./src/upload-task.ts","./src/upload/buffer.ts","./src/upload/index.ts","./src/upload/stream.ts"],"version":"5.8.3"}