diff --git a/package-lock.json b/package-lock.json index 2cf7cfe..7987d16 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3911,12 +3911,13 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -5067,10 +5068,11 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -5799,6 +5801,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -10014,6 +10017,7 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, diff --git a/scripts/install-binary.js b/scripts/install-binary.js index 85325fa..918f661 100644 --- a/scripts/install-binary.js +++ b/scripts/install-binary.js @@ -17,14 +17,18 @@ async function downloadAndExtract(url, saveDirectory) { return new Promise((resolve, reject) => { dlh.on('end', () => { + const downloadedFilePath = path.join(dlh.getDownloadPath()); if (url.endsWith('.zip')) { - const zip = new AdmZip(path.join(dlh.getDownloadPath())); + const zip = new AdmZip(downloadedFilePath); zip.extractAllTo(saveDirectory, true); + fs.unlinkSync(downloadedFilePath); } else if (url.endsWith('.tar.gz')) { tar.x({ - file: path.join(dlh.getDownloadPath()), + file: downloadedFilePath, cwd: saveDirectory, - }); + }).then(() => { + fs.unlinkSync(downloadedFilePath); // Delete the tar.gz file after extraction + }).catch((error) => reject(error)); } resolve(); }); @@ -121,10 +125,8 @@ async function needToInstall() { console.log(`Downloading and extracting gptscript binary from ${url}...`); try { - downloadAndExtract(url, outputDir) + await downloadAndExtract(url, outputDir); } catch (error) { - console.error('Error downloading and extracting:', error) + console.error('Error downloading and extracting:', error); } })(); - -