@alwaysmeticulous/downloading-helpers 2.241.2 → 2.242.1

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.
@@ -6,12 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.downloadAndExtractFile = exports.downloadFile = void 0;
7
7
  const fs_1 = require("fs");
8
8
  const promises_1 = require("fs/promises");
9
- const path_1 = require("path");
10
9
  const stream_1 = require("stream");
11
10
  const util_1 = require("util");
12
11
  const axios_1 = __importDefault(require("axios"));
13
12
  const axios_retry_1 = __importDefault(require("axios-retry"));
14
- const unzipper_1 = __importDefault(require("unzipper"));
13
+ const extract_zip_1 = __importDefault(require("extract-zip"));
15
14
  const promisifiedFinished = (0, util_1.promisify)(stream_1.finished);
16
15
  /**
17
16
  * Warning: this function is not thread safe. Do not try downloading a file to a path that may already be in use by another process.
@@ -89,26 +88,9 @@ const downloadAndExtractFile = async (fileUrl, tmpZipFilePath, extractPath, extr
89
88
  const entries = [];
90
89
  try {
91
90
  const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error(`Zip extraction timed out after ${extractTimeoutInMs}ms`)), extractTimeoutInMs));
92
- const extractPromise = new Promise((resolve, reject) => {
93
- (0, fs_1.createReadStream)(tmpZipFilePath)
94
- .pipe(unzipper_1.default.Parse())
95
- .on("entry", async (entry) => {
96
- if (entry.type === "Directory") {
97
- entry.autodrain();
98
- }
99
- else {
100
- entries.push(entry.path);
101
- if (entry.path.includes("..")) {
102
- reject(new Error(`Path traversal attempt detected: ${entry.path}`));
103
- return;
104
- }
105
- const filePath = (0, path_1.join)(extractPath, entry.path);
106
- await (0, promises_1.mkdir)((0, path_1.dirname)(filePath), { recursive: true });
107
- entry.pipe((0, fs_1.createWriteStream)(filePath));
108
- }
109
- })
110
- .on("close", () => resolve())
111
- .on("error", (err) => reject(err));
91
+ const extractPromise = (0, extract_zip_1.default)(tmpZipFilePath, {
92
+ dir: extractPath,
93
+ onEntry: (entry) => entries.push(entry.fileName),
112
94
  });
113
95
  await Promise.race([extractPromise, timeoutPromise]);
114
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"download-file.js","sourceRoot":"","sources":["../../src/file-downloads/download-file.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAqE;AACrE,0CAAwC;AACxC,+BAAqC;AACrC,mCAA0C;AAC1C,+BAAiC;AACjC,kDAA0B;AAC1B,8DAAqC;AACrC,wDAAgC;AAEhC,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;QAEF,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3D,IAAA,qBAAgB,EAAC,cAAc,CAAC;iBAC7B,IAAI,CAAC,kBAAQ,CAAC,KAAK,EAAE,CAAC;iBACtB,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,KAAqB,EAAE,EAAE;gBAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE;oBAC9B,KAAK,CAAC,SAAS,EAAE,CAAC;iBACnB;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACzB,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAC7B,MAAM,CACJ,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,IAAI,EAAE,CAAC,CAC5D,CAAC;wBACF,OAAO;qBACR;oBACD,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC/C,MAAM,IAAA,gBAAK,EAAC,IAAA,cAAO,EAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpD,KAAK,CAAC,IAAI,CAAC,IAAA,sBAAiB,EAAC,QAAQ,CAAC,CAAC,CAAC;iBACzC;YACH,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;iBAC5B,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,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;AAtDW,QAAA,sBAAsB,0BAsDjC"}
1
+ {"version":3,"file":"download-file.js","sourceRoot":"","sources":["../../src/file-downloads/download-file.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.241.2",
3
+ "version": "2.242.1",
4
4
  "description": "Helper utilities for downloading files & scripts required to execute replays",
5
5
  "license": "ISC",
6
6
  "main": "dist/index.js",
@@ -21,19 +21,18 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "@alwaysmeticulous/api": "^2.241.0",
24
- "@alwaysmeticulous/client": "^2.241.0",
25
- "@alwaysmeticulous/common": "^2.241.0",
24
+ "@alwaysmeticulous/client": "^2.242.1",
25
+ "@alwaysmeticulous/common": "^2.242.1",
26
26
  "axios": "^1.7.9",
27
27
  "axios-retry": "^4.5.0",
28
+ "extract-zip": "^2.0.1",
28
29
  "luxon": "^3.2.1",
29
30
  "p-limit": "^3.1.0",
30
- "proper-lockfile": "^4.1.2",
31
- "unzipper": "^0.12.3"
31
+ "proper-lockfile": "^4.1.2"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/luxon": "^3.2.0",
35
- "@types/proper-lockfile": "^4.1.2",
36
- "@types/unzipper": "^0.10.10"
35
+ "@types/proper-lockfile": "^4.1.2"
37
36
  },
38
37
  "author": {
39
38
  "name": "The Meticulous Team",
@@ -55,5 +54,5 @@
55
54
  "jest": {
56
55
  "preset": "../../jest.config.js"
57
56
  },
58
- "gitHead": "6b121d5e524d9842c36f4de8f43c097e2d26ca3e"
57
+ "gitHead": "617b38e544044cd57b67c442ed15b83bea34aa55"
59
58
  }