From e0aafa51ce9c452333a5277f34260fa5c1e8f5bc Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Thu, 17 Oct 2024 20:53:03 +0200 Subject: [PATCH] cli: gracefully handle file in place of success cache dir Signed-off-by: Patrik Oldsberg --- packages/cli/src/lib/cache/SuccessCache.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/cli/src/lib/cache/SuccessCache.ts b/packages/cli/src/lib/cache/SuccessCache.ts index 29f4301eea..5370958537 100644 --- a/packages/cli/src/lib/cache/SuccessCache.ts +++ b/packages/cli/src/lib/cache/SuccessCache.ts @@ -29,15 +29,19 @@ export class SuccessCache { } async read(): Promise> { - const state = await fs.stat(this.#path).catch(error => { + try { + const stat = await fs.stat(this.#path); + if (!stat.isDirectory()) { + await fs.rm(this.#path); + return new Set(); + } + } catch (error) { if (error.code === 'ENOENT') { - return undefined; + return new Set(); } throw error; - }); - if (!state || !state.isDirectory()) { - return new Set(); } + const items = await fs.readdir(this.#path); const returned = new Set();