Skip to content

Fast way to write a file atomically, for Node.js

License

Notifications You must be signed in to change notification settings

mcollina/fast-write-atomic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fast-write-atomic

CI npm version

Fast way to write a file atomically, for Node.js.

Requirements

  • Node.js 20+

Install

npm i fast-write-atomic

Example

const 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')
})

Promise API

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'))

Development

npm install
npm test
npm run cov
node bench.js

Benchmarks

Those 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

License

MIT

About

Fast way to write a file atomically, for Node.js

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors