diff --git a/src/quarto.ts b/src/quarto.ts index 616bf8928be..57e92c727b8 100644 --- a/src/quarto.ts +++ b/src/quarto.ts @@ -196,13 +196,6 @@ export async function quarto( try { await promise; - for (const [key, value] of Object.entries(oldEnv)) { - if (value === undefined) { - Deno.env.delete(key); - } else { - Deno.env.set(key, value); - } - } if (commandFailed()) { exitWithCleanup(1); } @@ -213,6 +206,14 @@ export async function quarto( } else { throw e; } + } finally { + for (const [key, value] of Object.entries(oldEnv)) { + if (value === undefined) { + Deno.env.delete(key); + } else { + Deno.env.set(key, value); + } + } } }