Fast way to write a file atomically, for Node.js.
- Node.js 20+
npm i fast-write-atomicconst writeFile = require('fast-write-atomic')
const data = Buffer.from('hello world')
writeFile('./hello', data, function (err) {
if (err) {
console.log(err)
return
}
console.log('file written')
})writeFile.promise(path, content) returns a Promise and keeps the same atomicity behavior.
const writeFile = require('fast-write-atomic')
await writeFile.promise('./hello', Buffer.from('hello world'))npm install
npm test
npm run cov
node bench.jsThose benchmarks write a 1 MB file a thousand times:
benchWriteFileAtomic*1000: 9830.501ms
benchFastWriteAtomic*1000: 8848.916ms
benchWriteFileAtomic*1000: 9944.722ms
benchFastWriteAtomic*1000: 8997.108ms
MIT