From 3d1fdff09492cc0423b2e0b21067c868ffaf0d9d Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Thu, 26 Aug 2021 16:37:25 +0300 Subject: [PATCH] Removing temp file on error Signed-off-by: Alex Andreev --- .../components/delete-cluster-dialog/save-config.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/renderer/components/delete-cluster-dialog/save-config.ts b/src/renderer/components/delete-cluster-dialog/save-config.ts index 01f8576306..86ba5198a6 100644 --- a/src/renderer/components/delete-cluster-dialog/save-config.ts +++ b/src/renderer/components/delete-cluster-dialog/save-config.ts @@ -24,16 +24,19 @@ import fs from "fs"; import tempy from "tempy"; import * as lockFile from "proper-lockfile"; import YAML from "json-to-pretty-yaml"; +import { noop } from "../../utils"; export async function saveKubeconfig(config: KubeConfig, path: string) { + const tmpFilePath = tempy.file(); + lockFile.lock(path).then(async (release) => { - const tmpFilePath = tempy.file(); const contents = YAML.stringify(JSON.parse(config.exportConfig())); await fs.promises.writeFile(tmpFilePath, contents); await fs.promises.rename(tmpFilePath, path); release(); - }).catch((e) => { + }).catch(async (e) => { + await fs.unlink(tmpFilePath, noop); throw new Error(`Failed to acquire lock file.\n${e}`); }); }