Promisified version of write-file-atomic:
an extension for node's
fs.writeFilethat makes its operation atomic and allows you set ownership (uid/gid of the file)
const {readFileSync} = require('fs');
const writeFileAtomically = require('write-file-atomically');
(async () => {
await writeFileAtomically('file.txt', 'Hi!');
readFileSync('file.txt', 'utf8'); //=> 'Hi!'
})();npm install write-file-atomically
const writeFileAtomically = require('write-file-atomically');filename: string, Buffer or URL (a file path where the file to be written)
data: string or Buffer (file contents)
options: Object or string (directly used as write-file-atomic options)
Return: Promise
It asynchronously writes data to the given file path in an atomic manner:
The file is initially named
filename + "." + murmurhex(__filename, process.pid, ++invocations). If writeFile completes successfully then, if passed the chown option it will change the ownership of the file. Finally it renames the file back to the filename you specified.
ISC License © 2018 Shinnosuke Watanabe