write-file-atomic
Advanced tools
Comparing version 3.0.0 to 3.0.1
@@ -0,1 +1,8 @@ | ||
# 3.0.0 | ||
* Implement options.tmpfileCreated callback. | ||
* Drop Node.js 6, modernize code, return Promise from async function. | ||
* Support write TypedArray's like in node fs.writeFile. | ||
* Remove graceful-fs dependency. | ||
# 2.4.3 | ||
@@ -2,0 +9,0 @@ |
15
index.js
@@ -106,3 +106,5 @@ 'use strict' | ||
await promisify(fs.close)(fd) | ||
fd = null | ||
if (options.chown) { | ||
@@ -117,4 +119,2 @@ await promisify(fs.chown)(tmpfile, options.chown.uid, options.chown.gid) | ||
await promisify(fs.rename)(tmpfile, truename) | ||
removeOnExitHandler() | ||
} finally { | ||
@@ -181,2 +181,3 @@ if (fd) { | ||
let threw = true | ||
try { | ||
@@ -199,7 +200,8 @@ fd = fs.openSync(tmpfile, 'w', options.mode) | ||
fs.closeSync(fd) | ||
fd = null | ||
if (options.chown) fs.chownSync(tmpfile, options.chown.uid, options.chown.gid) | ||
if (options.mode) fs.chmodSync(tmpfile, options.mode) | ||
fs.renameSync(tmpfile, filename) | ||
removeOnExitHandler() | ||
} catch (err) { | ||
threw = false | ||
} finally { | ||
if (fd) { | ||
@@ -213,5 +215,6 @@ try { | ||
removeOnExitHandler() | ||
cleanup() | ||
throw err | ||
if (threw) { | ||
cleanup() | ||
} | ||
} | ||
} |
{ | ||
"name": "write-file-atomic", | ||
"version": "3.0.0", | ||
"version": "3.0.1", | ||
"description": "Write files in an atomic fashion w/configurable ownership", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
11977
190
0
0