node/deps/npm/node_modules/fs-write-stream-atomic
Kat Marchán 43dd49c978
deps: upgrade npm to 6.7.0
PR-URL: https://github.com/nodejs/node/pull/25804
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2019-02-12 00:06:29 -08:00
..
node_modules deps: upgrade npm to 6.7.0 2019-02-12 00:06:29 -08:00
test deps: upgrade npm to 4.5.0 2017-04-25 10:52:01 -04:00
.npmignore deps: upgrade npm to 3.6.0 2016-02-01 10:43:34 -05:00
.travis.yml deps: upgrade npm to 3.6.0 2016-02-01 10:43:34 -05:00
index.js deps: upgrade npm to 4.5.0 2017-04-25 10:52:01 -04:00
LICENSE npm: Upgrade to v2.1.6 2014-11-05 10:35:43 -08:00
package.json deps: upgrade npm to 6.1.0 2018-05-24 23:24:45 -07:00
README.md npm: Upgrade to v2.1.6 2014-11-05 10:35:43 -08:00

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

var fsWriteStreamAtomic = require('fs-write-stream-atomic')
// options are optional.
var write = fsWriteStreamAtomic('output.txt', options)
var read = 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'