Skip to content
This repository was archived by the owner on Feb 15, 2022. It is now read-only.

Repository files navigation

fs-write-stream-atomic

Like fs.createWriteStream(...), but atomic.

Writes to a tmp file and does an atomic fs.rename to move it into place when it's done.

First rule of debugging: It's always a race condition.

USAGE

varfsWriteStreamAtomic=require('fs-write-stream-atomic')// options are optional.varwrite=fsWriteStreamAtomic('output.txt',options)varread=fs.createReadStream('input.txt')read.pipe(write)// When the write stream emits a 'finish' or 'close' event,// you can be sure that it is moved into place, and contains// all the bytes that were written to it, even if something else// was writing to `output.txt` at the same time.

fsWriteStreamAtomic(filename, [options])

  • filename {String} The file we want to write to
  • options {Object}
    • chown {Object} User and group to set ownership after write
      • uid {Number}
      • gid {Number}
    • encoding {String} default = 'utf8'
    • mode {Number} default = 0666
    • flags {String} default = 'w'

About

Like `fs.createWriteStream(...)`, but atomic.

Resources

Stars

50 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages