From c90bedefec25b2faadd847147d88688d28585bbb Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Fri, 16 Sep 2022 11:12:58 +0200 Subject: [PATCH] Ensure `directories.user` exists. Closes #1445 Signed-off-by: Akos Kitta --- .../src/node/config-service-impl.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/arduino-ide-extension/src/node/config-service-impl.ts b/arduino-ide-extension/src/node/config-service-impl.ts index 27c560856..904be5882 100644 --- a/arduino-ide-extension/src/node/config-service-impl.ts +++ b/arduino-ide-extension/src/node/config-service-impl.ts @@ -56,7 +56,10 @@ export class ConfigServiceImpl this.loadCliConfig().then(async (cliConfig) => { this.cliConfig = cliConfig; if (this.cliConfig) { - const config = await this.mapCliConfigToAppConfig(this.cliConfig); + const [config] = await Promise.all([ + this.mapCliConfigToAppConfig(this.cliConfig), + this.ensureUserDirExists(this.cliConfig), + ]); if (config) { this.config = config; this.ready.resolve(); @@ -263,4 +266,11 @@ export class ConfigServiceImpl grpc.credentials.createInsecure() ) as SettingsServiceClient; } + + // #1445 + private async ensureUserDirExists( + cliConfig: DefaultCliConfig + ): Promise { + await fs.mkdir(cliConfig.directories.user, { recursive: true }); + } }