next
Version:
The React Framework
18 lines (17 loc) • 508 B
JavaScript
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