From 8567cfc76ad4bca70423b11268eaaaecf93e1159 Mon Sep 17 00:00:00 2001 From: Jake Jarvis Date: Wed, 6 Oct 2021 11:30:01 -0400 Subject: [PATCH] don't delete the temp dir if set manually and dir exists (fixes #3) --- index.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 9b6b3c0..5f09635 100644 --- a/index.js +++ b/index.js @@ -9,6 +9,14 @@ import decompress from "decompress"; import urlParse from "url-parse"; export default async function downloader(downloadUrl, checksumUrl, options) { + options = options || {}; + + // don't delete the temp dir if set manually and dir exists + let deleteTempDir = true; + if (options.tempDir && fs.pathExistsSync(options.tempDir)) { + deleteTempDir = false; + } + // normalize options and set defaults options = { filename: options.filename || urlParse(downloadUrl).pathname.split("/").pop(), @@ -48,8 +56,10 @@ export default async function downloader(downloadUrl, checksumUrl, options) { return path.join(options.destDir, options.filename); } } finally { - // delete temporary directory - await fs.remove(options.tempDir); + // delete temporary directory (except for edge cases above) + if (deleteTempDir) { + await fs.remove(options.tempDir); + } } }