@alwaysmeticulous/downloading-helpers 2.178.0 → 2.180.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/dist/scripts/replays.d.ts +10 -1
- package/dist/scripts/replays.js +34 -12
- package/dist/scripts/replays.js.map +1 -1
- package/package.json +5 -5
|
@@ -2,8 +2,17 @@ import { AxiosInstance } from "axios";
|
|
|
2
2
|
export declare const getOrFetchReplay: (client: AxiosInstance, replayId: string) => Promise<{
|
|
3
3
|
fileName: string;
|
|
4
4
|
}>;
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The scope of the download. This is used to determine what to download from the replay.
|
|
7
|
+
* - `everything`: Download everything.
|
|
8
|
+
* - `screenshots-only`: Download only the screenshots.
|
|
9
|
+
* - `post-test-run-processing-files-only`: Download only the files that are needed for post-test-run processing
|
|
10
|
+
* e.g mapped coverage and timeline data.
|
|
11
|
+
*/
|
|
12
|
+
declare const DOWNLOAD_SCOPES: readonly ["everything", "screenshots-only", "post-test-run-processing-files-only"];
|
|
13
|
+
export type DownloadScope = (typeof DOWNLOAD_SCOPES)[number];
|
|
6
14
|
export declare const getOrFetchReplayArchive: (client: AxiosInstance, replayId: string, downloadScope?: DownloadScope) => Promise<{
|
|
7
15
|
fileName: string;
|
|
8
16
|
}>;
|
|
9
17
|
export declare const getReplayDir: (replayId: string) => string;
|
|
18
|
+
export {};
|
package/dist/scripts/replays.js
CHANGED
|
@@ -29,6 +29,26 @@ const getOrFetchReplay = async (client, replayId) => {
|
|
|
29
29
|
return { fileName: replayFile };
|
|
30
30
|
};
|
|
31
31
|
exports.getOrFetchReplay = getOrFetchReplay;
|
|
32
|
+
/**
|
|
33
|
+
* The scope of the download. This is used to determine what to download from the replay.
|
|
34
|
+
* - `everything`: Download everything.
|
|
35
|
+
* - `screenshots-only`: Download only the screenshots.
|
|
36
|
+
* - `post-test-run-processing-files-only`: Download only the files that are needed for post-test-run processing
|
|
37
|
+
* e.g mapped coverage and timeline data.
|
|
38
|
+
*/
|
|
39
|
+
const DOWNLOAD_SCOPES = [
|
|
40
|
+
"everything",
|
|
41
|
+
"screenshots-only",
|
|
42
|
+
"post-test-run-processing-files-only",
|
|
43
|
+
];
|
|
44
|
+
const DOWNLOAD_SCOPE_TO_FILES_TO_DOWNLOAD = {
|
|
45
|
+
everything: /.*/,
|
|
46
|
+
"screenshots-only": /^screenshots/,
|
|
47
|
+
"post-test-run-processing-files-only": /^mappedCoverage/,
|
|
48
|
+
};
|
|
49
|
+
const shouldDownloadFile = (fileType, downloadScope) => {
|
|
50
|
+
return DOWNLOAD_SCOPE_TO_FILES_TO_DOWNLOAD[downloadScope].test(fileType);
|
|
51
|
+
};
|
|
32
52
|
const REPLAY_PREVIOUSLY_DOWNLOADED_FILE_NAME = "previously-downloaded.txt";
|
|
33
53
|
const getOrFetchReplayArchive = async (client, replayId, downloadScope = "everything") => {
|
|
34
54
|
const logger = loglevel_1.default.getLogger(common_1.METICULOUS_LOGGER_NAME);
|
|
@@ -44,8 +64,7 @@ const getOrFetchReplayArchive = async (client, replayId, downloadScope = "everyt
|
|
|
44
64
|
let previouslyDownloadedScope = undefined;
|
|
45
65
|
if (await (0, local_data_utils_1.fileExists)(previouslyDownloadedFile)) {
|
|
46
66
|
const fileContents = (0, fs_1.readFileSync)(previouslyDownloadedFile, "utf-8");
|
|
47
|
-
if (fileContents
|
|
48
|
-
fileContents === "screenshots-only") {
|
|
67
|
+
if (DOWNLOAD_SCOPES.includes(fileContents)) {
|
|
49
68
|
previouslyDownloadedScope = fileContents;
|
|
50
69
|
if (previouslyDownloadedScope === downloadScope ||
|
|
51
70
|
previouslyDownloadedScope === "everything") {
|
|
@@ -85,14 +104,17 @@ const downloadReplayV3Files = async (client, replayId, replayDir, downloadScope,
|
|
|
85
104
|
throw new Error("Error: Could not retrieve replay download URLs. This may be an invalid replay");
|
|
86
105
|
}
|
|
87
106
|
const { screenshots, diffs, snapshottedAssets, ...rest } = downloadUrls;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
107
|
+
const filePromises = Object.entries(rest)
|
|
108
|
+
.filter(([fileType]) => shouldDownloadFile(fileType, downloadScope))
|
|
109
|
+
.map(([fileType, data]) => {
|
|
110
|
+
const filePath = (0, path_1.join)(replayDir, fileType);
|
|
111
|
+
return () => (0, download_file_1.downloadAndExtractFile)(data.signedUrl, filePath, replayDir);
|
|
112
|
+
});
|
|
113
|
+
if (shouldDownloadFile("screenshots", downloadScope)) {
|
|
114
|
+
await (0, promises_1.mkdir)((0, path_1.join)(replayDir, "screenshots"), { recursive: true });
|
|
115
|
+
}
|
|
116
|
+
const screenshotPromises = !shouldDownloadFile("screenshots", downloadScope) ||
|
|
117
|
+
previouslyDownloadedScope === "screenshots-only"
|
|
96
118
|
? []
|
|
97
119
|
: Object.values(screenshots).flatMap((data) => {
|
|
98
120
|
const imageFilePath = (0, path_1.join)(replayDir, data.image.filePath);
|
|
@@ -110,7 +132,7 @@ const downloadReplayV3Files = async (client, replayId, replayDir, downloadScope,
|
|
|
110
132
|
});
|
|
111
133
|
const diffsFolder = (0, path_1.join)(replayDir, "diffs");
|
|
112
134
|
await Promise.all(Object.keys(diffs !== null && diffs !== void 0 ? diffs : {}).map((baseReplayId) => (0, promises_1.mkdir)((0, path_1.join)(diffsFolder, baseReplayId), { recursive: true })));
|
|
113
|
-
const diffsPromises =
|
|
135
|
+
const diffsPromises = shouldDownloadFile("diffs", downloadScope)
|
|
114
136
|
? Object.values(diffs !== null && diffs !== void 0 ? diffs : {}).flatMap((diffsForBase) => {
|
|
115
137
|
return Object.values(diffsForBase).flatMap((urls) => {
|
|
116
138
|
return [
|
|
@@ -124,7 +146,7 @@ const downloadReplayV3Files = async (client, replayId, replayDir, downloadScope,
|
|
|
124
146
|
});
|
|
125
147
|
})
|
|
126
148
|
: [];
|
|
127
|
-
const snapshottedAssetsPromises =
|
|
149
|
+
const snapshottedAssetsPromises = shouldDownloadFile("snapshottedAssets", downloadScope)
|
|
128
150
|
? [
|
|
129
151
|
async () => {
|
|
130
152
|
if (!snapshottedAssets) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replays.js","sourceRoot":"","sources":["../../src/scripts/replays.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAiD;AACjD,
|
|
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.
|
|
3
|
+
"version": "2.180.0",
|
|
4
4
|
"description": "Helper utilities for downloading files & scripts required to execute replays",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
"test": "jest"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@alwaysmeticulous/api": "^2.
|
|
24
|
-
"@alwaysmeticulous/client": "^2.
|
|
25
|
-
"@alwaysmeticulous/common": "^2.
|
|
23
|
+
"@alwaysmeticulous/api": "^2.180.0",
|
|
24
|
+
"@alwaysmeticulous/client": "^2.180.0",
|
|
25
|
+
"@alwaysmeticulous/common": "^2.180.0",
|
|
26
26
|
"axios": "^1.2.6",
|
|
27
27
|
"axios-retry": "^4.1.0",
|
|
28
28
|
"extract-zip": "^2.0.1",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"jest": {
|
|
56
56
|
"preset": "../../jest.config.js"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "91fc47e54c362a551fc8800341f4510e8779b0cd"
|
|
59
59
|
}
|