From 6c46c47226526c32b12b0a120fa9033cf10c6d35 Mon Sep 17 00:00:00 2001 From: Jaen Saul Date: Fri, 10 Jan 2020 16:15:11 -0800 Subject: [PATCH] Partial fix for broken symlink handling --- lib/nodefs-handler.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/nodefs-handler.js b/lib/nodefs-handler.js index 2a61c9f4..405b20dc 100644 --- a/lib/nodefs-handler.js +++ b/lib/nodefs-handler.js @@ -29,6 +29,7 @@ const stat = promisify(fs.stat); const lstat = promisify(fs.lstat); const close = promisify(fs.close); const fsrealpath = promisify(fs.realpath); +const fsreadlink = promisify(fs.readlink); const statMethods = { lstat, stat }; @@ -413,7 +414,7 @@ async _handleSymlink(entry, directory, path, item) { if (!this.fsw.options.followSymlinks) { // watch symlink directly (don't follow) and detect changes this.fsw._incrReadyCount(); - const linkPath = await fsrealpath(path); + const linkPath = sysPath.resolve(sysPath.dirname(full), await fsreadlink(path)); if (this.fsw.closed) return; if (dir.has(item)) { if (this.fsw._symlinkPaths.get(full) !== linkPath) {