diff --git a/package-lock.json b/package-lock.json index 568578c..44639df 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,11 +8,9 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "asar": "^3.0.3", + "7zip-bin": "^5.1.1", "electron-fingerprints": "^1.0.0", - "elfinfo": "*", "hasha": "^5.2.2", - "macho": "^1.4.0", "node-7z": "^3.0.0", "rimraf": "^3.0.2", "semver-sort": "^0.0.4" @@ -24,47 +22,10 @@ "kuta": "*" } }, - "node_modules/@types/glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", - "optional": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "optional": true - }, - "node_modules/@types/node": { - "version": "16.3.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.2.tgz", - "integrity": "sha512-jJs9ErFLP403I+hMLGnqDRWT0RYKSvArxuBVh2veudHV7ifEC1WAmjJADacZ7mRbA2nWgHtn8xyECMAot0SkAw==", - "optional": true - }, - "node_modules/asar": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/asar/-/asar-3.0.3.tgz", - "integrity": "sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==", - "dependencies": { - "chromium-pickle-js": "^0.2.0", - "commander": "^5.0.0", - "glob": "^7.1.6", - "minimatch": "^3.0.4" - }, - "bin": { - "asar": "bin/asar.js" - }, - "engines": { - "node": ">=10.12.0" - }, - "optionalDependencies": { - "@types/glob": "^7.1.1" - } + "node_modules/7zip-bin": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz", + "integrity": "sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==" }, "node_modules/balanced-match": { "version": "1.0.2", @@ -92,11 +53,6 @@ "concat-map": "0.0.1" } }, - "node_modules/chromium-pickle-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", - "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=" - }, "node_modules/cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -118,14 +74,6 @@ "node": ">=0.1.90" } }, - "node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "engines": { - "node": ">= 6" - } - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -152,24 +100,6 @@ "resolved": "https://registry.npmjs.org/electron-fingerprints/-/electron-fingerprints-1.0.0.tgz", "integrity": "sha512-vDW8IBu4tj/ZP/JGa7lcal9/Yc+prokzHfazi0OB/GIMeyUxfGznlK3RVJzGD5XxXgPyy6GEt5xrTNxB8TU/bA==" }, - "node_modules/elfinfo": { - "version": "0.2.0-beta", - "resolved": "https://registry.npmjs.org/elfinfo/-/elfinfo-0.2.0-beta.tgz", - "integrity": "sha512-wIKg6MhAzNbzZug0/ppz+dfWYvNvgpbLGn+1OBUsB7+S0kgVC+ASNBYduhkKanQO0u7GcJUVd3AQYTmAi7FAIQ==", - "dependencies": { - "@types/node": "^14.14.22" - } - }, - "node_modules/elfinfo/node_modules/@types/node": { - "version": "14.17.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.5.tgz", - "integrity": "sha512-bjqH2cX/O33jXT/UmReo2pM7DIJREPMnarixbQ57DOOzzFaI6D2+IcwaJQaJpv0M1E9TIhPCYVxrkcityLjlqA==" - }, - "node_modules/endian-reader": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/endian-reader/-/endian-reader-0.1.0.tgz", - "integrity": "sha1-7tYexWSqX2KFJI82JF4siRVtlKw=" - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -273,14 +203,6 @@ "resolved": "https://registry.npmjs.org/lodash.negate/-/lodash.negate-3.0.2.tgz", "integrity": "sha1-nIl7C/YQAZ4LQ7j/Pwr+89e2bzQ=" }, - "node_modules/macho": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/macho/-/macho-1.4.0.tgz", - "integrity": "sha512-PT3YMEKYogCeVYEA2bCFRZASNyn/JaOhjq6eV8SzBQ3RFia7XU8ASQCgGx+f3RnJFHT+xavLP+Qds48jQb0J5Q==", - "dependencies": { - "endian-reader": "^0.1.0" - } - }, "node_modules/mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", @@ -450,39 +372,10 @@ } }, "dependencies": { - "@types/glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", - "optional": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "optional": true - }, - "@types/node": { - "version": "16.3.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.2.tgz", - "integrity": "sha512-jJs9ErFLP403I+hMLGnqDRWT0RYKSvArxuBVh2veudHV7ifEC1WAmjJADacZ7mRbA2nWgHtn8xyECMAot0SkAw==", - "optional": true - }, - "asar": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/asar/-/asar-3.0.3.tgz", - "integrity": "sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==", - "requires": { - "@types/glob": "^7.1.1", - "chromium-pickle-js": "^0.2.0", - "commander": "^5.0.0", - "glob": "^7.1.6", - "minimatch": "^3.0.4" - } + "7zip-bin": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz", + "integrity": "sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==" }, "balanced-match": { "version": "1.0.2", @@ -504,11 +397,6 @@ "concat-map": "0.0.1" } }, - "chromium-pickle-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", - "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=" - }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -524,11 +412,6 @@ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true }, - "commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -547,26 +430,6 @@ "resolved": "https://registry.npmjs.org/electron-fingerprints/-/electron-fingerprints-1.0.0.tgz", "integrity": "sha512-vDW8IBu4tj/ZP/JGa7lcal9/Yc+prokzHfazi0OB/GIMeyUxfGznlK3RVJzGD5XxXgPyy6GEt5xrTNxB8TU/bA==" }, - "elfinfo": { - "version": "0.2.0-beta", - "resolved": "https://registry.npmjs.org/elfinfo/-/elfinfo-0.2.0-beta.tgz", - "integrity": "sha512-wIKg6MhAzNbzZug0/ppz+dfWYvNvgpbLGn+1OBUsB7+S0kgVC+ASNBYduhkKanQO0u7GcJUVd3AQYTmAi7FAIQ==", - "requires": { - "@types/node": "^14.14.22" - }, - "dependencies": { - "@types/node": { - "version": "14.17.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.5.tgz", - "integrity": "sha512-bjqH2cX/O33jXT/UmReo2pM7DIJREPMnarixbQ57DOOzzFaI6D2+IcwaJQaJpv0M1E9TIhPCYVxrkcityLjlqA==" - } - } - }, - "endian-reader": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/endian-reader/-/endian-reader-0.1.0.tgz", - "integrity": "sha1-7tYexWSqX2KFJI82JF4siRVtlKw=" - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -652,14 +515,6 @@ "resolved": "https://registry.npmjs.org/lodash.negate/-/lodash.negate-3.0.2.tgz", "integrity": "sha1-nIl7C/YQAZ4LQ7j/Pwr+89e2bzQ=" }, - "macho": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/macho/-/macho-1.4.0.tgz", - "integrity": "sha512-PT3YMEKYogCeVYEA2bCFRZASNyn/JaOhjq6eV8SzBQ3RFia7XU8ASQCgGx+f3RnJFHT+xavLP+Qds48jQb0J5Q==", - "requires": { - "endian-reader": "^0.1.0" - } - }, "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", diff --git a/package.json b/package.json index 326af3c..fde2fdc 100644 --- a/package.json +++ b/package.json @@ -27,11 +27,9 @@ }, "homepage": "https://github.com/captn3m0/which-electron#readme", "dependencies": { - "asar": "^3.0.3", + "7zip-bin": "^5.1.1", "electron-fingerprints": "^1.0.0", - "elfinfo": "*", "hasha": "^5.2.2", - "macho": "^1.4.0", "node-7z": "^3.0.0", "rimraf": "^3.0.2", "semver-sort": "^0.0.4" diff --git a/zip.js b/zip.js index 594139c..51e5b0a 100644 --- a/zip.js +++ b/zip.js @@ -1,4 +1,5 @@ const Seven = require("node-7z"); +const sevenBin = require('7zip-bin').path7za; const path = require("path"); const fs = require("fs"); @@ -8,6 +9,7 @@ module.exports = { let stream = Seven.extract(archive, "/tmp", { recursive: true, $cherryPick: filepath, + $bin: sevenBin }); let fn = path.basename(filepath); stream.on("end", ()=>{ @@ -17,14 +19,17 @@ module.exports = { extractSomeFiles: function(archive, list, cb) { let dir = fs.mkdtempSync('/tmp/which-electron') let stream = Seven.extract(archive, dir, { - $cherryPick: list + $cherryPick: list, + $bin: sevenBin }) stream.on('end', ()=>{ cb(dir) }) }, listFileContents: function(archive, cb) { - let zip = Seven.list(archive); + let zip = Seven.list(archive, { + $bin: sevenBin + }); let entries = []; zip.on("data", (data) => { entries.push(data);