import { unlink, writeFile } from "fs/promises";
import { rename } from "./rename";
export async function writeFileAtomic(filePath, content) {
    const tempPath = filePath + ".tmp." + Math.random().toString(36).slice(2);
    try {
        await writeFile(tempPath, content, "utf-8");
        await rename(tempPath, filePath);
    } catch (e) {
        try {
            await unlink(tempPath);
        } catch  {
        // ignore
        }
        throw e;
    }
}

//# sourceMappingURL=write-atomic.js.map