import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; export async function withTempDir(prefix: string, run: (dir: string) => Promise): Promise { const dir = await fs.mkdtemp(path.join(os.tmpdir(), prefix)); try { return await run(dir); } finally { await fs.rm(dir, { recursive: true, force: true }); } }