@alwaysmeticulous/downloading-helpers 2.240.1 → 2.240.2

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.
@@ -20,6 +20,7 @@ export declare const downloadFile: (fileUrl: string, path: string, opts?: {
20
20
  * @param extractPath The path to a directory which we will extract files from a gzip into.
21
21
  * Do not try extracting to a dir that may already be in use by another process b/c overlapping
22
22
  * file names can cause data corruption.
23
+ * @param extractTimeoutInMs The timeout for the zip extraction, in milliseconds.
23
24
  * @returns The list of the extracted files.
24
25
  */
25
- export declare const downloadAndExtractFile: (fileUrl: string, tmpZipFilePath: string, extractPath: string) => Promise<string[]>;
26
+ export declare const downloadAndExtractFile: (fileUrl: string, tmpZipFilePath: string, extractPath: string, extractTimeoutInMs?: number) => Promise<string[]>;
@@ -80,16 +80,19 @@ exports.downloadFile = downloadFile;
80
80
  * @param extractPath The path to a directory which we will extract files from a gzip into.
81
81
  * Do not try extracting to a dir that may already be in use by another process b/c overlapping
82
82
  * file names can cause data corruption.
83
+ * @param extractTimeoutInMs The timeout for the zip extraction, in milliseconds.
83
84
  * @returns The list of the extracted files.
84
85
  */
85
- const downloadAndExtractFile = async (fileUrl, tmpZipFilePath, extractPath) => {
86
+ const downloadAndExtractFile = async (fileUrl, tmpZipFilePath, extractPath, extractTimeoutInMs = 300000) => {
86
87
  await (0, exports.downloadFile)(fileUrl, tmpZipFilePath);
87
88
  const entries = [];
88
89
  try {
89
- await (0, extract_zip_1.default)(tmpZipFilePath, {
90
+ const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error(`Zip extraction timed out after ${extractTimeoutInMs}ms`)), extractTimeoutInMs));
91
+ const extractPromise = (0, extract_zip_1.default)(tmpZipFilePath, {
90
92
  dir: extractPath,
91
93
  onEntry: (entry) => entries.push(entry.fileName),
92
94
  });
95
+ await Promise.race([extractPromise, timeoutPromise]);
93
96
  }
94
97
  finally {
95
98
  await (0, promises_1.rm)(tmpZipFilePath);
@@ -1 +1 @@
1
- {"version":3,"file":"download-file.js","sourceRoot":"","sources":["../../src/file-downloads/download-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"download-file.js","sourceRoot":"","sources":["../../src/file-downloads/download-file.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAmD;AACnD,0CAAiC;AACjC,mCAA0C;AAC1C,+BAAiC;AACjC,kDAA0B;AAC1B,8DAAqC;AACrC,8DAAkC;AAElC,MAAM,mBAAmB,GAAG,IAAA,gBAAS,EAAC,iBAAQ,CAAC,CAAC;AAEhD;;;;GAIG;AACI,MAAM,YAAY,GAAG,KAAK,EAC/B,OAAe,EACf,IAAY,EACZ,OAKI,EAAE,EACS,EAAE;;IACjB,gGAAgG;IAChG,MAAM,oBAAoB,GAAG,MAAA,IAAI,CAAC,oBAAoB,mCAAI,KAAM,CAAC;IACjE,MAAM,2BAA2B,GAC/B,MAAA,IAAI,CAAC,2BAA2B,mCAAI,MAAO,CAAC;IAC9C,MAAM,yBAAyB,GAAG,MAAA,IAAI,CAAC,yBAAyB,mCAAI,CAAC,CAAC;IACtE,MAAM,yBAAyB,GAAG,MAAA,IAAI,CAAC,yBAAyB,mCAAI,IAAI,CAAC;IAEzE,MAAM,MAAM,GAAG,eAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAC/D,IAAA,qBAAU,EAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,eAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;IAE1C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QACpC,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,OAAO;QACZ,YAAY,EAAE,QAAQ;QACtB,WAAW,EAAE,MAAM,CAAC,KAAK;KAC1B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAA,sBAAiB,EAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,IAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;QACtC,MAAM,KAAK,GAAG,4BAA4B,2BAA2B,IAAI,CAAC;QAC1E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC,EAAE,2BAA2B,CAAC,CAAC;IAEhC,IAAI;QACF,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,SAAS,EAAE;YACb,YAAY,CAAC,SAAS,CAAC,CAAC;SACzB;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,SAAS,EAAE;YACb,YAAY,CAAC,SAAS,CAAC,CAAC;SACzB;QAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAEtD,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE;YACpB,2GAA2G;YAC3G,sBAAsB;YACtB,MAAM,IAAA,aAAE,EAAC,IAAI,CAAC,CAAC;SAChB;QAED,IAAI,yBAAyB,KAAK,CAAC,EAAE;YACnC,MAAM,GAAG,CAAC;SACX;QAED,sCAAsC;QACtC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC5B,UAAU,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAC/C,CAAC;QACF,MAAM,IAAA,oBAAY,EAAC,OAAO,EAAE,IAAI,EAAE;YAChC,oBAAoB;YACpB,2BAA2B;YAC3B,yBAAyB,EAAE,yBAAyB,GAAG,CAAC;SACzD,CAAC,CAAC;KACJ;AACH,CAAC,CAAC;AApEW,QAAA,YAAY,gBAoEvB;AAEF;;;;;;;;;;;;;GAaG;AACI,MAAM,sBAAsB,GAKV,KAAK,EAC5B,OAAO,EACP,cAAc,EACd,WAAW,EACX,kBAAkB,GAAG,MAAO,EAC5B,EAAE;IACF,MAAM,IAAA,oBAAY,EAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI;QACF,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC/C,UAAU,CACR,GAAG,EAAE,CACH,MAAM,CACJ,IAAI,KAAK,CAAC,kCAAkC,kBAAkB,IAAI,CAAC,CACpE,EACH,kBAAkB,CACnB,CACF,CAAC;QACF,MAAM,cAAc,GAAG,IAAA,qBAAO,EAAC,cAAc,EAAE;YAC7C,GAAG,EAAE,WAAW;YAChB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;SACjD,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;KACtD;YAAS;QACR,MAAM,IAAA,aAAE,EAAC,cAAc,CAAC,CAAC;KAC1B;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAlCW,QAAA,sBAAsB,0BAkCjC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alwaysmeticulous/downloading-helpers",
3
- "version": "2.240.1",
3
+ "version": "2.240.2",
4
4
  "description": "Helper utilities for downloading files & scripts required to execute replays",
5
5
  "license": "ISC",
6
6
  "main": "dist/index.js",
@@ -54,5 +54,5 @@
54
54
  "jest": {
55
55
  "preset": "../../jest.config.js"
56
56
  },
57
- "gitHead": "d72c515084edfde4fc5c870b0d73b7ea25bcbd2f"
57
+ "gitHead": "a00e47ba06b858237001884b68f0a88fad49adfe"
58
58
  }