diff --git a/packages/shortest/src/cache/index.ts b/packages/shortest/src/cache/index.ts index 25ef46ec..25abdcbc 100644 --- a/packages/shortest/src/cache/index.ts +++ b/packages/shortest/src/cache/index.ts @@ -32,6 +32,12 @@ export const cleanUpCache = async ({ } = {}) => { const log = getLogger(); log.debug("Cleaning up cache", { forcePurge }); + + if (!existsSync(dirPath)) { + log.debug("Cache directory does not exist", { dirPath }); + return; + } + const files = await fs.readdir(dirPath); const now = Date.now(); diff --git a/packages/shortest/tests/unit/cache/index.test.ts b/packages/shortest/tests/unit/cache/index.test.ts index 72bd71b1..e97496b7 100644 --- a/packages/shortest/tests/unit/cache/index.test.ts +++ b/packages/shortest/tests/unit/cache/index.test.ts @@ -104,5 +104,12 @@ describe("cache", () => { await expect(fs.access(nonJsonFile)).resolves.toBeUndefined(); }); + + it("handles non-existent cache directory", async () => { + const nonExistentDir = path.join(CACHE_DIR_PATH, "non-existent"); + await expect( + cleanUpCache({ dirPath: nonExistentDir }), + ).resolves.toBeUndefined(); + }); }); });