@alwaysmeticulous/downloading-helpers 2.76.0 → 2.78.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.
@@ -1 +1,2 @@
1
1
  export declare const downloadFile: (fileUrl: string, path: string) => Promise<void>;
2
+ export declare const downloadAndExtractFile: (fileUrl: string, filePath: string, extractPath: string) => Promise<void>;
@@ -3,12 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.downloadFile = void 0;
6
+ exports.downloadAndExtractFile = exports.downloadFile = void 0;
7
7
  const fs_1 = require("fs");
8
+ const promises_1 = require("fs/promises");
8
9
  const stream_1 = require("stream");
9
10
  const util_1 = require("util");
10
11
  const axios_1 = __importDefault(require("axios"));
11
12
  const axios_retry_1 = __importDefault(require("axios-retry"));
13
+ const extract_zip_1 = __importDefault(require("extract-zip"));
12
14
  const promisifiedFinished = (0, util_1.promisify)(stream_1.finished);
13
15
  const downloadFile = async (fileUrl, path) => {
14
16
  // Using the same timeout as the standard client in meticulous-sdk/packages/client/src/client.ts
@@ -23,4 +25,10 @@ const downloadFile = async (fileUrl, path) => {
23
25
  });
24
26
  };
25
27
  exports.downloadFile = downloadFile;
28
+ const downloadAndExtractFile = async (fileUrl, filePath, extractPath) => {
29
+ await (0, exports.downloadFile)(fileUrl, filePath);
30
+ await (0, extract_zip_1.default)(filePath, { dir: extractPath });
31
+ await (0, promises_1.rm)(filePath);
32
+ };
33
+ exports.downloadAndExtractFile = downloadAndExtractFile;
26
34
  //# sourceMappingURL=download-file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"download-file.js","sourceRoot":"","sources":["../../src/file-downloads/download-file.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAuC;AACvC,mCAAkC;AAClC,+BAAiC;AACjC,kDAA0B;AAC1B,8DAAqC;AAErC,MAAM,mBAAmB,GAAG,IAAA,gBAAS,EAAC,iBAAQ,CAAC,CAAC;AAEzC,MAAM,YAAY,GAGJ,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAC3C,gGAAgG;IAChG,MAAM,MAAM,GAAG,eAAK,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,KAAM,EAAC,CAAC,CAAC;IAC/C,IAAA,qBAAU,EAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,IAAA,sBAAiB,EAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,MAAM;SACV,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;SAChE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAhBW,QAAA,YAAY,gBAgBvB"}
1
+ {"version":3,"file":"download-file.js","sourceRoot":"","sources":["../../src/file-downloads/download-file.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAuC;AACvC,0CAAiC;AACjC,mCAAkC;AAClC,+BAAiC;AACjC,kDAA0B;AAC1B,8DAAqC;AACrC,8DAAkC;AAElC,MAAM,mBAAmB,GAAG,IAAA,gBAAS,EAAC,iBAAQ,CAAC,CAAC;AAEzC,MAAM,YAAY,GAGJ,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAC3C,gGAAgG;IAChG,MAAM,MAAM,GAAG,eAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAM,EAAE,CAAC,CAAC;IACjD,IAAA,qBAAU,EAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,IAAA,sBAAiB,EAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,MAAM;SACV,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;SAChE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAhBW,QAAA,YAAY,gBAgBvB;AAEK,MAAM,sBAAsB,GAId,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE;IAC5D,MAAM,IAAA,oBAAY,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtC,MAAM,IAAA,qBAAO,EAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9C,MAAM,IAAA,aAAE,EAAC,QAAQ,CAAC,CAAC;AACrB,CAAC,CAAC;AARW,QAAA,sBAAsB,0BAQjC"}
@@ -10,8 +10,10 @@ const client_1 = require("@alwaysmeticulous/client");
10
10
  const common_1 = require("@alwaysmeticulous/common");
11
11
  const extract_zip_1 = __importDefault(require("extract-zip"));
12
12
  const loglevel_1 = __importDefault(require("loglevel"));
13
+ const p_limit_1 = __importDefault(require("p-limit"));
13
14
  const download_file_1 = require("../file-downloads/download-file");
14
15
  const local_data_utils_1 = require("../file-downloads/local-data.utils");
16
+ const MAX_DOWNLOAD_CONCURRENCY = 20;
15
17
  const getOrFetchReplay = async (client, replayId) => {
16
18
  const logger = loglevel_1.default.getLogger(common_1.METICULOUS_LOGGER_NAME);
17
19
  const replayFile = (0, path_1.join)((0, exports.getReplayDir)(replayId), `${replayId}.json`);
@@ -33,7 +35,6 @@ const getOrFetchReplayArchive = async (client, replayId) => {
33
35
  await (0, promises_1.mkdir)(replayDir, { recursive: true });
34
36
  const releaseLock = await (0, local_data_utils_1.waitToAcquireLockOnDirectory)(replayDir);
35
37
  try {
36
- const replayArchiveFile = (0, path_1.join)(replayDir, `${replayId}.zip`);
37
38
  const paramsFile = (0, path_1.join)(replayDir, "metadata.json");
38
39
  // Check if "metadata.json" exists. If yes, we assume the replay
39
40
  // zip archive has been downloaded and extracted.
@@ -41,13 +42,16 @@ const getOrFetchReplayArchive = async (client, replayId) => {
41
42
  logger.debug(`Replay archive already downloaded at ${replayDir}`);
42
43
  return { fileName: replayDir };
43
44
  }
44
- const downloadUrlData = await (0, client_1.getReplayDownloadUrl)(client, replayId);
45
- if (!downloadUrlData) {
46
- throw new Error("Error: Could not retrieve replay archive URL. This may be an invalid replay");
45
+ const replay = await (0, client_1.getReplay)(client, replayId);
46
+ if (["v1", "v2"].includes(replay.version)) {
47
+ await downloadReplayV2Archive(client, replayId, replayDir);
48
+ }
49
+ else if (replay.version === "v3") {
50
+ await downloadReplayV3Files(client, replayId, replayDir);
51
+ }
52
+ else {
53
+ throw new Error(`Error: Unknown replay version "${replay.version}". This may be an invalid replay`);
47
54
  }
48
- await (0, download_file_1.downloadFile)(downloadUrlData.dowloadUrl, replayArchiveFile);
49
- await (0, extract_zip_1.default)(replayArchiveFile, { dir: replayDir });
50
- await (0, promises_1.rm)(replayArchiveFile);
51
55
  logger.debug(`Extracted replay archive in ${replayDir}`);
52
56
  return { fileName: replayDir };
53
57
  }
@@ -56,6 +60,48 @@ const getOrFetchReplayArchive = async (client, replayId) => {
56
60
  }
57
61
  };
58
62
  exports.getOrFetchReplayArchive = getOrFetchReplayArchive;
63
+ const downloadReplayV2Archive = async (client, replayId, replayDir) => {
64
+ const replayArchiveFile = (0, path_1.join)(replayDir, `${replayId}.zip`);
65
+ const downloadUrlData = await (0, client_1.getReplayDownloadUrl)(client, replayId);
66
+ if (!downloadUrlData) {
67
+ throw new Error("Error: Could not retrieve replay archive URL. This may be an invalid replay");
68
+ }
69
+ await (0, download_file_1.downloadFile)(downloadUrlData.dowloadUrl, replayArchiveFile);
70
+ await (0, extract_zip_1.default)(replayArchiveFile, { dir: replayDir });
71
+ await (0, promises_1.rm)(replayArchiveFile);
72
+ };
73
+ const downloadReplayV3Files = async (client, replayId, replayDir) => {
74
+ const downloadUrls = await (0, client_1.getReplayV3DownloadUrls)(client, replayId);
75
+ if (!downloadUrls) {
76
+ throw new Error("Error: Could not retrieve replay download URLs. This may be an invalid replay");
77
+ }
78
+ const { screenshots, snapshottedAssets, ...rest } = downloadUrls;
79
+ await (0, promises_1.mkdir)((0, path_1.join)(replayDir, "screenshots"), { recursive: true });
80
+ const filePromises = Object.entries(rest).map(([fileName, data]) => {
81
+ const filePath = (0, path_1.join)(replayDir, fileName);
82
+ return () => (0, download_file_1.downloadAndExtractFile)(data.signedUrl, filePath, replayDir);
83
+ });
84
+ const screenshotPromises = Object.values(screenshots).flatMap((data) => {
85
+ const imageFilePath = (0, path_1.join)(replayDir, data.image.filePath);
86
+ const metadataFilePath = (0, path_1.join)(replayDir, data.metadata.filePath);
87
+ return [
88
+ () => (0, download_file_1.downloadFile)(data.image.signedUrl, imageFilePath),
89
+ () => (0, download_file_1.downloadAndExtractFile)(data.metadata.signedUrl, metadataFilePath, (0, path_1.join)(replayDir, (0, path_1.dirname)(data.metadata.filePath))),
90
+ ];
91
+ });
92
+ const snapshottedAssetsPromise = async () => {
93
+ if (!snapshottedAssets) {
94
+ return;
95
+ }
96
+ const snapshottedAssetsDir = (0, path_1.join)(replayDir, "snapshotted-assets");
97
+ await (0, promises_1.mkdir)(snapshottedAssetsDir, {
98
+ recursive: true,
99
+ });
100
+ await (0, download_file_1.downloadAndExtractFile)(snapshottedAssets.signedUrl, (0, path_1.join)(replayDir, snapshottedAssets.filePath), snapshottedAssetsDir);
101
+ };
102
+ const limited = (0, p_limit_1.default)(MAX_DOWNLOAD_CONCURRENCY);
103
+ await Promise.all([...filePromises, ...screenshotPromises, snapshottedAssetsPromise].map((p) => limited(p)));
104
+ };
59
105
  const getReplayDir = (replayId) => (0, path_1.join)((0, common_1.getMeticulousLocalDataDir)(), "replays", replayId);
60
106
  exports.getReplayDir = getReplayDir;
61
107
  //# sourceMappingURL=replays.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"replays.js","sourceRoot":"","sources":["../../src/scripts/replays.ts"],"names":[],"mappings":";;;;;;AAAA,0CAAwC;AACxC,+BAA4B;AAC5B,qDAA2E;AAC3E,qDAGkC;AAElC,8DAAkC;AAClC,wDAA2B;AAC3B,mEAA+D;AAC/D,yEAI4C;AAErC,MAAM,gBAAgB,GAAG,KAAK,EACnC,MAAqB,EACrB,QAAgB,EACe,EAAE;IACjC,MAAM,MAAM,GAAG,kBAAG,CAAC,SAAS,CAAC,+BAAsB,CAAC,CAAC;IAErD,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,IAAA,oBAAY,EAAC,QAAQ,CAAC,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAqB,EAAC;QACzC,QAAQ,EAAE,UAAU;QACpB,eAAe,EAAE,QAAQ;QACzB,YAAY,EAAE,GAAG,EAAE,CAAC,IAAA,kBAAS,EAAC,MAAM,EAAE,QAAQ,CAAC;KAChD,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,CAAC,KAAK,CACV,6CAA6C,QAAQ,8BAA8B,CACpF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC,CAAC;AAtBW,QAAA,gBAAgB,oBAsB3B;AAEK,MAAM,uBAAuB,GAAG,KAAK,EAC1C,MAAqB,EACrB,QAAgB,EACe,EAAE;IACjC,MAAM,MAAM,GAAG,kBAAG,CAAC,SAAS,CAAC,+BAAsB,CAAC,CAAC;IAErD,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,IAAA,gBAAK,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,IAAA,+CAA4B,EAAC,SAAS,CAAC,CAAC;IAElE,IAAI;QACF,MAAM,iBAAiB,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAEpD,gEAAgE;QAChE,iDAAiD;QACjD,IAAI,MAAM,IAAA,6BAAU,EAAC,UAAU,CAAC,EAAE;YAChC,MAAM,CAAC,KAAK,CAAC,wCAAwC,SAAS,EAAE,CAAC,CAAC;YAClE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;SAChC;QAED,MAAM,eAAe,GAAG,MAAM,IAAA,6BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;SACH;QAED,MAAM,IAAA,4BAAY,EAAC,eAAe,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAElE,MAAM,IAAA,qBAAO,EAAC,iBAAiB,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;QACrD,MAAM,IAAA,aAAE,EAAC,iBAAiB,CAAC,CAAC;QAE5B,MAAM,CAAC,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;KAChC;YAAS;QACR,MAAM,WAAW,EAAE,CAAC;KACrB;AACH,CAAC,CAAC;AAtCW,QAAA,uBAAuB,2BAsClC;AAEK,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE,CAC/C,IAAA,WAAI,EAAC,IAAA,kCAAyB,GAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAD5C,QAAA,YAAY,gBACgC"}
1
+ {"version":3,"file":"replays.js","sourceRoot":"","sources":["../../src/scripts/replays.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alwaysmeticulous/downloading-helpers",
3
- "version": "2.76.0",
3
+ "version": "2.78.0",
4
4
  "description": "Helper utilities for downloading files & scripts required to execute replays",
5
5
  "license": "ISC",
6
6
  "main": "dist/index.js",
@@ -19,14 +19,15 @@
19
19
  "depcheck": "depcheck --ignore-patterns=dist"
20
20
  },
21
21
  "dependencies": {
22
- "@alwaysmeticulous/api": "^2.73.0",
23
- "@alwaysmeticulous/client": "^2.76.0",
24
- "@alwaysmeticulous/common": "^2.76.0",
22
+ "@alwaysmeticulous/api": "^2.78.0",
23
+ "@alwaysmeticulous/client": "^2.78.0",
24
+ "@alwaysmeticulous/common": "^2.78.0",
25
25
  "axios": "^1.2.6",
26
26
  "axios-retry": "^3.5.0",
27
27
  "extract-zip": "^2.0.1",
28
28
  "loglevel": "^1.8.0",
29
29
  "luxon": "^3.2.1",
30
+ "p-limit": "^3.1.0",
30
31
  "proper-lockfile": "^4.1.2"
31
32
  },
32
33
  "devDependencies": {
@@ -50,5 +51,5 @@
50
51
  "bugs": {
51
52
  "url": "https://github.com/alwaysmeticulous/meticulous-sdk/issues"
52
53
  },
53
- "gitHead": "f3a10794bbbb7093459ff7302d933c0068375a25"
54
+ "gitHead": "586f71337fc4cc82f56753970cf0259c54c71c8b"
54
55
  }