From 319dd81414947718c392201a24ce5554679b16e7 Mon Sep 17 00:00:00 2001 From: Mark Lee Date: Mon, 29 Apr 2019 10:22:14 -0700 Subject: [PATCH] fix: don't monkeypatch fs with promisified versions (#176) --- lib/wrapped-fs.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/wrapped-fs.js b/lib/wrapped-fs.js index 4dad09c..f8256e3 100644 --- a/lib/wrapped-fs.js +++ b/lib/wrapped-fs.js @@ -5,18 +5,24 @@ const { promisify } = require('util') const fs = process.versions.electron ? require('original-fs') : require('fs') const mkdirp = require('mkdirp') -const methods = [ +const promisifiedMethods = [ 'lstat', 'readFile', 'stat', 'writeFile' ] -for (const method of methods) { - fs[method] = promisify(fs[method]) +const promisified = {} + +for (const method of Object.keys(fs)) { + if (promisifiedMethods.includes(method)) { + promisified[method] = promisify(fs[method]) + } else { + promisified[method] = fs[method] + } } // To make it more like fs-extra -fs.mkdirp = promisify(mkdirp) -fs.mkdirpSync = mkdirp.sync +promisified.mkdirp = promisify(mkdirp) +promisified.mkdirpSync = mkdirp.sync -module.exports = fs +module.exports = promisified