fix: preserve artifact writer failures

This commit is contained in:
DongHyeonka
2026-08-02 04:46:33 +09:00
parent c9f5887cac
commit 381d5549e2
8 changed files with 575 additions and 149 deletions
+15 -2
View File
@@ -62,11 +62,24 @@ export function createValidatedJsonArtifactWriter(
try {
const handle = await fileSystem.open(temporaryPath, "wx");
ownsTemporaryFile = true;
let writeFailed = false;
let writeFailure: unknown;
try {
await handle.writeFile(`${serialized}\n`, "utf8");
} finally {
await handle.close();
} catch (error) {
writeFailed = true;
writeFailure = error;
}
let closeFailed = false;
let closeFailure: unknown;
try {
await handle.close();
} catch (error) {
closeFailed = true;
closeFailure = error;
}
if (writeFailed) throw writeFailure;
if (closeFailed) throw closeFailure;
await fileSystem.rename(temporaryPath, input.path);
} catch (error) {
if (ownsTemporaryFile) {