@alwaysmeticulous/downloading-helpers 2.288.2 → 2.289.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/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/scripts/__tests__/replays.spec.js +81 -2
- package/dist/scripts/__tests__/replays.spec.js.map +1 -1
- package/dist/scripts/replays.d.ts +25 -0
- package/dist/scripts/replays.js +43 -15
- package/dist/scripts/replays.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { sanitizeFilename } from "./file-downloads/local-data.utils";
|
|
2
2
|
export { downloadAppContainerLogs } from "./file-downloads/app-container-logs";
|
|
3
|
-
export { getOrFetchReplay, getOrFetchReplayArchive, DownloadScope, ReplayFileType, ReplayArchiveOptions, } from "./scripts/replays";
|
|
3
|
+
export { getOrFetchReplay, getOrFetchReplayArchive, DownloadScope, ReplayFileType, BestEffortFileType, ReplayArchiveOptions, } from "./scripts/replays";
|
|
4
4
|
export { getOrFetchRecordedSession, getOrFetchRecordedSessionData, writeManifest, writeStructuredSessionData, type SessionsManifest, type WriteStructuredSessionOptions, } from "./file-downloads/sessions";
|
|
5
5
|
export { getOrFetchTestRunData, type TestRunDownloadScope, DOWNLOAD_SCOPES as TEST_RUN_DOWNLOAD_SCOPES, } from "./file-downloads/test-runs";
|
|
6
6
|
export { fetchAsset, checkIfAssetsOutdated } from "./scripts/replay-assets";
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="928b69f0-3c0a-5a2b-8784-1590ce9ba8f8")}catch(e){}}();
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.getReplayDir = exports.streamDownloadAndInflateTar = exports.streamDownloadAndExtractTarGz = exports.streamDownloadAndExtractTar = exports.downloadAndExtractFile = exports.downloadFile = exports.ensureReplayLogTextFiles = exports.checkIfAssetsOutdated = exports.fetchAsset = exports.TEST_RUN_DOWNLOAD_SCOPES = exports.getOrFetchTestRunData = exports.writeStructuredSessionData = exports.writeManifest = exports.getOrFetchRecordedSessionData = exports.getOrFetchRecordedSession = exports.getOrFetchReplayArchive = exports.getOrFetchReplay = exports.downloadAppContainerLogs = exports.sanitizeFilename = void 0;
|
|
@@ -32,4 +32,4 @@ Object.defineProperty(exports, "streamDownloadAndInflateTar", { enumerable: true
|
|
|
32
32
|
var replays_2 = require("./scripts/replays");
|
|
33
33
|
Object.defineProperty(exports, "getReplayDir", { enumerable: true, get: function () { return replays_2.getReplayDir; } });
|
|
34
34
|
//# sourceMappingURL=index.js.map
|
|
35
|
-
//# debugId=
|
|
35
|
+
//# debugId=928b69f0-3c0a-5a2b-8784-1590ce9ba8f8
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,sEAAqE;AAA5D,oHAAA,gBAAgB,OAAA;AACzB,0EAA+E;AAAtE,8HAAA,wBAAwB,OAAA;AACjC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,sEAAqE;AAA5D,oHAAA,gBAAgB,OAAA;AACzB,0EAA+E;AAAtE,8HAAA,wBAAwB,OAAA;AACjC,6CAO2B;AANzB,2GAAA,gBAAgB,OAAA;AAChB,kHAAA,uBAAuB,OAAA;AAMzB,sDAOmC;AANjC,qHAAA,yBAAyB,OAAA;AACzB,yHAAA,6BAA6B,OAAA;AAC7B,yGAAA,aAAa,OAAA;AACb,sHAAA,0BAA0B,OAAA;AAI5B,wDAIoC;AAHlC,kHAAA,qBAAqB,OAAA;AAErB,qHAAA,eAAe,OAA4B;AAE7C,yDAA4E;AAAnE,2GAAA,UAAU,OAAA;AAAE,sHAAA,qBAAqB,OAAA;AAC1C,gFAAkF;AAAzE,iIAAA,wBAAwB,OAAA;AACjC,gEAQwC;AAPtC,6GAAA,YAAY,OAAA;AACZ,uHAAA,sBAAsB,OAAA;AACtB,4HAAA,2BAA2B,OAAA;AAC3B,8HAAA,6BAA6B,OAAA;AAE7B,4HAAA,2BAA2B,OAAA;AAG7B,6CAAiD;AAAxC,uGAAA,YAAY,OAAA","debugId":"928b69f0-3c0a-5a2b-8784-1590ce9ba8f8"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="4b4f8199-052a-5035-b5d0-6e1647f2c01a")}catch(e){}}();
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
const fs_1 = require("fs");
|
|
@@ -147,5 +147,84 @@ const buildDownloadUrls = () => ({
|
|
|
147
147
|
(0, vitest_1.expect)((0, fs_1.readFileSync)(markerPath(), "utf8")).toBe("everything");
|
|
148
148
|
});
|
|
149
149
|
});
|
|
150
|
+
(0, vitest_1.describe)("getOrFetchReplayArchive — bestEffortFileTypes", () => {
|
|
151
|
+
let dataDir;
|
|
152
|
+
const SNAPSHOT_ASSETS_URL = "https://example/snapshotted-assets";
|
|
153
|
+
(0, vitest_1.beforeEach)(() => {
|
|
154
|
+
dataDir = (0, fs_1.mkdtempSync)((0, path_1.join)((0, os_1.tmpdir)(), "met-replays-besteffort-"));
|
|
155
|
+
vitest_1.vi.clearAllMocks();
|
|
156
|
+
client_1.getReplay.mockResolvedValue({ version: "v3" });
|
|
157
|
+
// Give snapshottedAssets a real URL so its download thunk actually runs.
|
|
158
|
+
client_1.getReplayV3DownloadUrls.mockResolvedValue({
|
|
159
|
+
...buildDownloadUrls(),
|
|
160
|
+
snapshottedAssets: {
|
|
161
|
+
signedUrl: SNAPSHOT_ASSETS_URL,
|
|
162
|
+
filePath: "snapshotted-assets.zip",
|
|
163
|
+
},
|
|
164
|
+
});
|
|
165
|
+
// Fail only the snapshotted-assets download (simulates a pruned object / 403).
|
|
166
|
+
download_file_1.downloadAndExtractFile.mockImplementation(async (signedUrl) => {
|
|
167
|
+
if (signedUrl === SNAPSHOT_ASSETS_URL) {
|
|
168
|
+
throw new Error("Request failed with status code 403");
|
|
169
|
+
}
|
|
170
|
+
return undefined;
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
(0, vitest_1.afterEach)(() => {
|
|
174
|
+
(0, fs_1.rmSync)(dataDir, { recursive: true, force: true });
|
|
175
|
+
});
|
|
176
|
+
const markerPath = () => (0, path_1.join)(dataDir, "replays", REPLAY_ID, "previously-downloaded.txt");
|
|
177
|
+
const run = (bestEffortFileTypes) => (0, common_1.runWithLocalDataDir)(dataDir, () => (0, replays_1.getOrFetchReplayArchive)({}, REPLAY_ID, "everything", false, bestEffortFileTypes ? { bestEffortFileTypes } : {}));
|
|
178
|
+
(0, vitest_1.it)("swallows a best-effort artifact failure and still downloads the rest", async () => {
|
|
179
|
+
await (0, vitest_1.expect)(run(new Set(["snapshottedAssets"]))).resolves.toBeDefined();
|
|
180
|
+
const downloadedKeys = download_file_1.downloadAndExtractFile.mock.calls.map((call) => call[0]);
|
|
181
|
+
// The failing asset download was attempted, but the mandatory files still
|
|
182
|
+
// downloaded and the overall call resolved.
|
|
183
|
+
(0, vitest_1.expect)(downloadedKeys).toContain(SNAPSHOT_ASSETS_URL);
|
|
184
|
+
(0, vitest_1.expect)(downloadedKeys).toContain("https://example/timeline");
|
|
185
|
+
});
|
|
186
|
+
(0, vitest_1.it)("propagates the failure when the artifact is NOT marked best-effort", async () => {
|
|
187
|
+
await (0, vitest_1.expect)(run()).rejects.toThrow("403");
|
|
188
|
+
});
|
|
189
|
+
(0, vitest_1.it)("does NOT write the cache marker when only best-effort types are set", async () => {
|
|
190
|
+
// A swallowed best-effort failure may leave the directory incomplete, so
|
|
191
|
+
// the marker must not be written — otherwise a later unfiltered caller
|
|
192
|
+
// would short-circuit and skip re-fetching the missing optional artifact.
|
|
193
|
+
await run(new Set(["snapshottedAssets"]));
|
|
194
|
+
(0, vitest_1.expect)((0, fs_1.existsSync)(markerPath())).toBe(false);
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
(0, vitest_1.describe)("getOrFetchReplayArchive — missing signedUrl", () => {
|
|
198
|
+
let dataDir;
|
|
199
|
+
(0, vitest_1.beforeEach)(() => {
|
|
200
|
+
dataDir = (0, fs_1.mkdtempSync)((0, path_1.join)((0, os_1.tmpdir)(), "met-replays-nourl-"));
|
|
201
|
+
vitest_1.vi.clearAllMocks();
|
|
202
|
+
client_1.getReplay.mockResolvedValue({ version: "v3" });
|
|
203
|
+
// A replay record present but missing its `signedUrl` — the input shape
|
|
204
|
+
// behind the `Invalid URL: 'undefined'` crashes.
|
|
205
|
+
client_1.getReplayV3DownloadUrls.mockResolvedValue({
|
|
206
|
+
...buildDownloadUrls(),
|
|
207
|
+
snapshottedAssets: {
|
|
208
|
+
signedUrl: undefined,
|
|
209
|
+
filePath: "snapshotted-assets.zip",
|
|
210
|
+
},
|
|
211
|
+
});
|
|
212
|
+
download_file_1.downloadAndExtractFile.mockResolvedValue(undefined);
|
|
213
|
+
});
|
|
214
|
+
(0, vitest_1.afterEach)(() => {
|
|
215
|
+
(0, fs_1.rmSync)(dataDir, { recursive: true, force: true });
|
|
216
|
+
});
|
|
217
|
+
const run = (bestEffortFileTypes) => (0, common_1.runWithLocalDataDir)(dataDir, () => (0, replays_1.getOrFetchReplayArchive)({}, REPLAY_ID, "everything", false, bestEffortFileTypes ? { bestEffortFileTypes } : {}));
|
|
218
|
+
(0, vitest_1.it)("throws a diagnosable error (not a cryptic Invalid URL) when a mandatory artifact has no URL", async () => {
|
|
219
|
+
const error = await run().catch((e) => e);
|
|
220
|
+
(0, vitest_1.expect)(error).toBeInstanceOf(Error);
|
|
221
|
+
(0, vitest_1.expect)(error.message).toContain("snapshotted-assets");
|
|
222
|
+
(0, vitest_1.expect)(error.message).toContain("no download URL");
|
|
223
|
+
(0, vitest_1.expect)(error.message).not.toContain("Invalid URL");
|
|
224
|
+
});
|
|
225
|
+
(0, vitest_1.it)("swallows a missing URL when the artifact is marked best-effort", async () => {
|
|
226
|
+
await (0, vitest_1.expect)(run(new Set(["snapshottedAssets"]))).resolves.toBeDefined();
|
|
227
|
+
});
|
|
228
|
+
});
|
|
150
229
|
//# sourceMappingURL=replays.spec.js.map
|
|
151
|
-
//# debugId=
|
|
230
|
+
//# debugId=4b4f8199-052a-5035-b5d0-6e1647f2c01a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replays.spec.js","sources":["../../../src/scripts/__tests__/replays.spec.ts"],"sourceRoot":"","names":[],"mappings":";;;;AAAA,2BAAmE;AACnE,0CAA+C;AAC/C,2BAA4B;AAC5B,+BAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"replays.spec.js","sources":["../../../src/scripts/__tests__/replays.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"4b4f8199-052a-5035-b5d0-6e1647f2c01a"}
|
|
@@ -22,6 +22,15 @@ export type DownloadScope = (typeof DOWNLOAD_SCOPES)[number];
|
|
|
22
22
|
* silently failing at runtime.
|
|
23
23
|
*/
|
|
24
24
|
export type ReplayFileType = "screenshots" | "diffs" | "snapshottedAssets" | "rawCoverage" | "rawPerScreenshotCssCoverage" | "rawPerScreenshotJsCoverage" | "mappedCoverage" | "mappedPerScreenshotJsCoverage" | "playbackData" | "timeline" | "metadata" | "accuracy" | "stackTraces" | "cookies" | "launchBrowserAndReplayParams" | "logs";
|
|
25
|
+
/**
|
|
26
|
+
* The subset of {@link ReplayFileType}s that are downloaded as unzipped archive
|
|
27
|
+
* directories and are therefore eligible for best-effort handling (see
|
|
28
|
+
* {@link ReplayArchiveOptions.bestEffortFileTypes}). Best-effort wrapping is
|
|
29
|
+
* only applied to these artifacts; the other file types (e.g. `timeline`,
|
|
30
|
+
* `logs`, `screenshots`, `diffs`) always fail hard, so they're excluded from
|
|
31
|
+
* this type to make misuse a compile-time error rather than a silent no-op.
|
|
32
|
+
*/
|
|
33
|
+
export type BestEffortFileType = "snapshottedAssets" | "rawPerScreenshotCssCoverage" | "rawPerScreenshotJsCoverage" | "mappedPerScreenshotJsCoverage";
|
|
25
34
|
export interface ReplayArchiveOptions {
|
|
26
35
|
/**
|
|
27
36
|
* File-type keys to skip during download (e.g. `playbackData`, `rawCoverage`,
|
|
@@ -33,6 +42,22 @@ export interface ReplayArchiveOptions {
|
|
|
33
42
|
* subsequent unfiltered callers will re-download into the cache.
|
|
34
43
|
*/
|
|
35
44
|
excludeFileTypes?: ReadonlySet<ReplayFileType>;
|
|
45
|
+
/**
|
|
46
|
+
* File-type keys whose download is attempted but treated as best-effort: a
|
|
47
|
+
* failure is logged and swallowed instead of failing the whole archive. Use
|
|
48
|
+
* for artifacts that are merely enriching and may legitimately be absent
|
|
49
|
+
* (e.g. `snapshottedAssets` for an old replay whose assets were pruned by an
|
|
50
|
+
* S3 lifecycle policy). Mandatory artifacts must NOT be listed here.
|
|
51
|
+
*
|
|
52
|
+
* Best-effort handling is only wired up for the unzipped-archive artifacts
|
|
53
|
+
* (see {@link BestEffortFileType}); other file types always fail hard, which
|
|
54
|
+
* is why the key type is restricted to that subset.
|
|
55
|
+
*
|
|
56
|
+
* Like `excludeFileTypes`, setting this bypasses the cross-tool cache (the
|
|
57
|
+
* marker is not written), since a swallowed failure may leave the replay
|
|
58
|
+
* directory incomplete.
|
|
59
|
+
*/
|
|
60
|
+
bestEffortFileTypes?: ReadonlySet<BestEffortFileType>;
|
|
36
61
|
}
|
|
37
62
|
export declare const getOrFetchReplayArchive: (client: MeticulousClient, replayId: string, downloadScope?: DownloadScope, formatJsonFiles?: boolean, options?: ReplayArchiveOptions) => Promise<{
|
|
38
63
|
fileName: string;
|
package/dist/scripts/replays.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="eebb4074-1896-5381-b2b8-c13853716960")}catch(e){}}();
|
|
3
3
|
|
|
4
4
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -18,6 +18,13 @@ const downloadAndUnzipIntoDirectory = async (archiveData, replayDir, directoryNa
|
|
|
18
18
|
if (!archiveData) {
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
|
+
// A present record with a missing `signedUrl` otherwise reaches `new URL()`
|
|
22
|
+
// downstream and throws a cryptic `Invalid URL: 'undefined'`. Fail with a
|
|
23
|
+
// diagnosable message naming the artifact instead. For best-effort artifacts
|
|
24
|
+
// the caller's wrapper swallows this; for mandatory ones it surfaces clearly.
|
|
25
|
+
if (!archiveData.signedUrl) {
|
|
26
|
+
throw new Error(`Replay artifact "${directoryName}" has no download URL (signedUrl is ${String(archiveData.signedUrl)}); the replay record is missing this asset.`);
|
|
27
|
+
}
|
|
21
28
|
const targetDir = (0, path_1.join)(replayDir, directoryName);
|
|
22
29
|
await (0, promises_1.mkdir)(targetDir, { recursive: true });
|
|
23
30
|
await (0, download_file_1.downloadAndExtractFile)(archiveData.signedUrl, (0, path_1.join)(replayDir, archiveData.filePath), targetDir);
|
|
@@ -66,8 +73,13 @@ const shouldDownloadFile = (fileType, downloadScope) => {
|
|
|
66
73
|
const REPLAY_PREVIOUSLY_DOWNLOADED_FILE_NAME = "previously-downloaded.txt";
|
|
67
74
|
const getOrFetchReplayArchive = async (client, replayId, downloadScope = "everything", formatJsonFiles = false, options = {}) => {
|
|
68
75
|
const logger = (0, common_1.initLogger)();
|
|
69
|
-
const { excludeFileTypes } = options;
|
|
76
|
+
const { excludeFileTypes, bestEffortFileTypes } = options;
|
|
70
77
|
const hasExcludes = excludeFileTypes != null && excludeFileTypes.size > 0;
|
|
78
|
+
const hasBestEffort = bestEffortFileTypes != null && bestEffortFileTypes.size > 0;
|
|
79
|
+
// A best-effort artifact may fail and leave the directory incomplete, so —
|
|
80
|
+
// like `excludeFileTypes` — bypass the cache short-circuit and don't write
|
|
81
|
+
// the "fully downloaded" marker.
|
|
82
|
+
const bypassCache = hasExcludes || hasBestEffort;
|
|
71
83
|
const replayDir = (0, exports.getReplayDir)(replayId);
|
|
72
84
|
await (0, promises_1.mkdir)(replayDir, { recursive: true });
|
|
73
85
|
const releaseLock = await (0, local_data_utils_1.waitToAcquireLockOnDirectory)(replayDir);
|
|
@@ -85,13 +97,13 @@ const getOrFetchReplayArchive = async (client, replayId, downloadScope = "everyt
|
|
|
85
97
|
const fileContents = (await (0, promises_1.readFile)(previouslyDownloadedFile, "utf-8")).trim();
|
|
86
98
|
if (DOWNLOAD_SCOPES.includes(fileContents)) {
|
|
87
99
|
previouslyDownloadedScope = fileContents;
|
|
88
|
-
if (!
|
|
100
|
+
if (!bypassCache &&
|
|
89
101
|
(previouslyDownloadedScope === downloadScope ||
|
|
90
102
|
previouslyDownloadedScope === "everything")) {
|
|
91
103
|
logger.debug(`Replay archive already downloaded at ${replayDir}`);
|
|
92
104
|
return { fileName: replayDir };
|
|
93
105
|
}
|
|
94
|
-
else if (!
|
|
106
|
+
else if (!bypassCache) {
|
|
95
107
|
// Instead of trying to reason about how to combine the two scopes, let's bump
|
|
96
108
|
// to downloading everything which is guaranteed to be a superset.
|
|
97
109
|
logger.debug(`Replay archive is partially downloaded at ${replayDir}, will now download everything`);
|
|
@@ -108,14 +120,16 @@ const getOrFetchReplayArchive = async (client, replayId, downloadScope = "everyt
|
|
|
108
120
|
// Widen to `ReadonlySet<string>` at the boundary: `ReplayFileType` is
|
|
109
121
|
// for caller-side typo safety, but internally we check against
|
|
110
122
|
// arbitrary keys returned by the server.
|
|
111
|
-
excludeFileTypes);
|
|
123
|
+
excludeFileTypes, bestEffortFileTypes);
|
|
112
124
|
}
|
|
113
125
|
else {
|
|
114
126
|
throw new Error(`Error: Unknown replay version "${replay.version}". This may be an invalid replay`);
|
|
115
127
|
}
|
|
116
|
-
// Don't write the cache marker when excludes
|
|
117
|
-
// would otherwise look complete to future
|
|
118
|
-
|
|
128
|
+
// Don't write the cache marker when excludes or best-effort file types are
|
|
129
|
+
// set; the cache directory would otherwise look complete to future
|
|
130
|
+
// unfiltered callers even though a swallowed best-effort failure (or an
|
|
131
|
+
// exclusion) may have left it incomplete.
|
|
132
|
+
if (!bypassCache) {
|
|
119
133
|
await (0, promises_1.writeFile)(previouslyDownloadedFile, downloadScope, "utf-8");
|
|
120
134
|
}
|
|
121
135
|
logger.debug(`Extracted replay archive in ${replayDir}`);
|
|
@@ -126,13 +140,28 @@ const getOrFetchReplayArchive = async (client, replayId, downloadScope = "everyt
|
|
|
126
140
|
}
|
|
127
141
|
};
|
|
128
142
|
exports.getOrFetchReplayArchive = getOrFetchReplayArchive;
|
|
129
|
-
const downloadReplayV3Files = async (client, replayId, replayDir, downloadScope, formatJsonFiles, previouslyDownloadedScope, excludeFileTypes) => {
|
|
143
|
+
const downloadReplayV3Files = async (client, replayId, replayDir, downloadScope, formatJsonFiles, previouslyDownloadedScope, excludeFileTypes, bestEffortFileTypes) => {
|
|
144
|
+
const logger = (0, common_1.initLogger)();
|
|
130
145
|
const downloadUrls = await (0, client_1.getReplayV3DownloadUrls)(client, replayId);
|
|
131
146
|
if (!downloadUrls) {
|
|
132
147
|
throw new Error("Error: Could not retrieve replay download URLs. This may be an invalid replay");
|
|
133
148
|
}
|
|
134
149
|
const includes = (fileType) => shouldDownloadFile(fileType, downloadScope) &&
|
|
135
150
|
!(excludeFileTypes?.has(fileType) ?? false);
|
|
151
|
+
// Wrap a download thunk so that, for file types the caller marked best-effort,
|
|
152
|
+
// a failure (e.g. a 403/404 on a pruned artifact) is logged and swallowed
|
|
153
|
+
// rather than failing the whole archive.
|
|
154
|
+
const maybeBestEffort = (fileType, thunk) => bestEffortFileTypes?.has(fileType)
|
|
155
|
+
? async () => {
|
|
156
|
+
try {
|
|
157
|
+
await thunk();
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
161
|
+
logger.warn(`Skipping optional replay artifact "${fileType}" for replay ${replayId}: ${message}`);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
: thunk;
|
|
136
165
|
const { screenshots, diffs, snapshottedAssets, rawPerScreenshotCssCoverage, rawPerScreenshotJsCoverage, mappedPerScreenshotJsCoverage,
|
|
137
166
|
// Pulled out of `rest` so it isn't treated as a flat `S3Location`.
|
|
138
167
|
// `customCheckSnapshots` is a NESTED `Record<type, { file: S3Location }>`
|
|
@@ -141,7 +170,6 @@ const downloadReplayV3Files = async (client, replayId, replayDir, downloadScope,
|
|
|
141
170
|
// here. Leaving it in `rest` would make the loop below call
|
|
142
171
|
// `downloadAndExtractFile(undefined, ...)` -> `new URL(undefined)`.
|
|
143
172
|
customCheckSnapshots, ...rest } = downloadUrls;
|
|
144
|
-
const logger = (0, common_1.initLogger)();
|
|
145
173
|
if (customCheckSnapshots != null &&
|
|
146
174
|
Object.keys(customCheckSnapshots).length) {
|
|
147
175
|
logger.debug(`Replay ${replayId} has ${Object.keys(customCheckSnapshots).length} customCheckSnapshots; these are not downloaded by this helper.`);
|
|
@@ -217,23 +245,23 @@ const downloadReplayV3Files = async (client, replayId, replayDir, downloadScope,
|
|
|
217
245
|
const archivePromises = [
|
|
218
246
|
...(includes("snapshottedAssets")
|
|
219
247
|
? [
|
|
220
|
-
() => downloadAndUnzipIntoDirectory(snapshottedAssets, replayDir, "snapshotted-assets"),
|
|
248
|
+
maybeBestEffort("snapshottedAssets", () => downloadAndUnzipIntoDirectory(snapshottedAssets, replayDir, "snapshotted-assets")),
|
|
221
249
|
]
|
|
222
250
|
: []),
|
|
223
251
|
...(includes("rawPerScreenshotCssCoverage") && rawPerScreenshotCssCoverage
|
|
224
252
|
? [
|
|
225
|
-
() => downloadAndUnzipIntoDirectory(rawPerScreenshotCssCoverage, replayDir, "raw-per-screenshot-css-coverage"),
|
|
253
|
+
maybeBestEffort("rawPerScreenshotCssCoverage", () => downloadAndUnzipIntoDirectory(rawPerScreenshotCssCoverage, replayDir, "raw-per-screenshot-css-coverage")),
|
|
226
254
|
]
|
|
227
255
|
: []),
|
|
228
256
|
...(includes("rawPerScreenshotJsCoverage") && rawPerScreenshotJsCoverage
|
|
229
257
|
? [
|
|
230
|
-
() => downloadAndUnzipIntoDirectory(rawPerScreenshotJsCoverage, replayDir, "raw-per-screenshot-js-coverage"),
|
|
258
|
+
maybeBestEffort("rawPerScreenshotJsCoverage", () => downloadAndUnzipIntoDirectory(rawPerScreenshotJsCoverage, replayDir, "raw-per-screenshot-js-coverage")),
|
|
231
259
|
]
|
|
232
260
|
: []),
|
|
233
261
|
...(includes("mappedPerScreenshotJsCoverage") &&
|
|
234
262
|
mappedPerScreenshotJsCoverage
|
|
235
263
|
? [
|
|
236
|
-
() => downloadAndUnzipIntoDirectory(mappedPerScreenshotJsCoverage, replayDir, "mapped-per-screenshot-js-coverage"),
|
|
264
|
+
maybeBestEffort("mappedPerScreenshotJsCoverage", () => downloadAndUnzipIntoDirectory(mappedPerScreenshotJsCoverage, replayDir, "mapped-per-screenshot-js-coverage")),
|
|
237
265
|
]
|
|
238
266
|
: []),
|
|
239
267
|
];
|
|
@@ -248,4 +276,4 @@ const downloadReplayV3Files = async (client, replayId, replayDir, downloadScope,
|
|
|
248
276
|
const getReplayDir = (replayId) => (0, path_1.join)((0, common_1.getMeticulousLocalDataDir)(), "replays", replayId);
|
|
249
277
|
exports.getReplayDir = getReplayDir;
|
|
250
278
|
//# sourceMappingURL=replays.js.map
|
|
251
|
-
//# debugId=
|
|
279
|
+
//# debugId=eebb4074-1896-5381-b2b8-c13853716960
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replays.js","sources":["../../src/scripts/replays.ts"],"sourceRoot":"","names":[],"mappings":";;;;;;;;AAAA,0CAAyD;AACzD,+BAAqC;AACrC,qDAIkC;AAClC,qDAGkC;AAClC,sDAA6B;AAC7B,mEAGyC;AACzC,yEAI4C;AAE5C,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC,MAAM,6BAA6B,GAAG,KAAK,EACzC,WAAuE,EACvE,SAAiB,EACjB,aAAqB,EACN,EAAE;IACjB,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACjD,MAAM,IAAA,gBAAK,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,IAAA,sCAAsB,EAC1B,WAAW,CAAC,SAAS,EACrB,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,EACrC,SAAS,CACV,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,KAAK,EACnC,MAAwB,EACxB,QAAgB,EACe,EAAE;IACjC,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;IAE5B,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,CAAC;QACZ,MAAM,CAAC,KAAK,CACV,6CAA6C,QAAQ,8BAA8B,CACpF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC,CAAC;AAtBW,QAAA,gBAAgB,oBAsB3B;AAEF;;;;;;;;GAQG;AACH,MAAM,eAAe,GAAG;IACtB,YAAY;IACZ,kBAAkB;IAClB,eAAe;IACf,qCAAqC;IACrC,wCAAwC;CAChC,CAAC;AAIX,MAAM,mCAAmC,GAAkC;IACzE,UAAU,EAAE,IAAI;IAChB,kBAAkB,EAAE,cAAc;IAClC,eAAe,EAAE,WAAW;IAC5B,qCAAqC,EACnC,0DAA0D;IAC5D,wCAAwC,EACtC,sEAAsE;CACzE,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACzB,QAAgB,EAChB,aAA4B,EACnB,EAAE;IACX,OAAO,mCAAmC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,sCAAsC,GAAG,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"replays.js","sources":["../../src/scripts/replays.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"eebb4074-1896-5381-b2b8-c13853716960"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alwaysmeticulous/downloading-helpers",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.289.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,7 +19,7 @@
|
|
|
19
19
|
"proper-lockfile": "^4.1.2",
|
|
20
20
|
"tar": "^7.5.8",
|
|
21
21
|
"@alwaysmeticulous/api": "2.288.2",
|
|
22
|
-
"@alwaysmeticulous/client": "2.
|
|
22
|
+
"@alwaysmeticulous/client": "2.289.0",
|
|
23
23
|
"@alwaysmeticulous/common": "2.287.1"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|