summaryrefslogtreecommitdiff
path: root/extension/src/activation/environmentSetup.ts
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-08-02 21:57:44 -0700
committerNate Sesti <sestinj@gmail.com>2023-08-02 21:57:44 -0700
commita4f3ae9f7fe29036cdbea0d48491ae8d106a359c (patch)
treef36ce341234986868ce30e8218ff011adffd1f6f /extension/src/activation/environmentSetup.ts
parentbfe5a91f3dcd631fb3a17c5adbaf782bad10e646 (diff)
downloadsncontinue-a4f3ae9f7fe29036cdbea0d48491ae8d106a359c.tar.gz
sncontinue-a4f3ae9f7fe29036cdbea0d48491ae8d106a359c.tar.bz2
sncontinue-a4f3ae9f7fe29036cdbea0d48491ae8d106a359c.zip
make sure directory exists before downloading
Diffstat (limited to 'extension/src/activation/environmentSetup.ts')
-rw-r--r--extension/src/activation/environmentSetup.ts10
1 files changed, 10 insertions, 0 deletions
diff --git a/extension/src/activation/environmentSetup.ts b/extension/src/activation/environmentSetup.ts
index fd83c8ca..b25c7b82 100644
--- a/extension/src/activation/environmentSetup.ts
+++ b/extension/src/activation/environmentSetup.ts
@@ -105,6 +105,15 @@ async function checkOrKillRunningServer(serverUrl: string): Promise<boolean> {
return false;
}
+function ensureDirectoryExistence(filePath: string) {
+ const dirname = path.dirname(filePath);
+ if (fs.existsSync(dirname)) {
+ return true;
+ }
+ ensureDirectoryExistence(dirname);
+ fs.mkdirSync(dirname);
+}
+
export async function downloadFromS3(
bucket: string,
fileName: string,
@@ -122,6 +131,7 @@ export async function downloadFromS3(
throw new Error(errText);
}
const buffer = await response.buffer();
+ ensureDirectoryExistence(destination);
fs.writeFileSync(destination, buffer);
}