Skip to content

Commit 411c6d6

Browse files
authored
fix(writeFile): preserve file mode when saving files (#33)
1 parent b6a552d commit 411c6d6

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/CacheFS.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ module.exports = class CacheFS {
164164
let ino;
165165
try {
166166
let oldStat = this.stat(filepath);
167-
if (mode === null) {
167+
if (mode == null) {
168168
mode = oldStat.mode;
169169
}
170170
ino = oldStat.ino;

src/__tests__/fs.promises.spec.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,22 @@ describe("fs.promises module", () => {
6969
});
7070
});
7171
});
72+
it("write file perserves old mode", done => {
73+
fs.mkdir("/writeFile").finally(() => {
74+
fs.writeFile("/writeFile/writeFile-mode.txt", "HELLO", { mode: 0o635 }).then(() => {
75+
fs.stat("/writeFile/writeFile-mode.txt").then(stats => {
76+
let mode = stats.mode;
77+
expect(mode).toEqual(0o635)
78+
fs.writeFile("/writeFile/writeFile-mode.txt", "WORLD").then(() => {
79+
fs.stat("/writeFile/writeFile-mode.txt").then(stats => {
80+
expect(stats.mode).toEqual(0o635);
81+
done();
82+
});
83+
});
84+
});
85+
});
86+
});
87+
});
7288
});
7389

7490
describe("readFile", () => {

0 commit comments

Comments
 (0)