From cfd49c9026a49cdca21dc54ae6b993874280316e Mon Sep 17 00:00:00 2001 From: ehmicky Date: Sun, 6 Oct 2019 07:24:35 -0700 Subject: [PATCH] fix(core): support worker threads (#127) --- lib/util/resolveCommand.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/util/resolveCommand.js b/lib/util/resolveCommand.js index 2fd5ad2..c46d8d7 100644 --- a/lib/util/resolveCommand.js +++ b/lib/util/resolveCommand.js @@ -7,10 +7,12 @@ const pathKey = require('path-key')(); function resolveCommandAttempt(parsed, withoutPathExt) { const cwd = process.cwd(); const hasCustomCwd = parsed.options.cwd != null; + // Worker threads do not have process.chdir() + const shouldSwitchCwd = hasCustomCwd && process.chdir !== undefined; // If a custom `cwd` was specified, we need to change the process cwd // because `which` will do stat calls but does not support a custom cwd - if (hasCustomCwd) { + if (shouldSwitchCwd) { try { process.chdir(parsed.options.cwd); } catch (err) { @@ -28,7 +30,9 @@ function resolveCommandAttempt(parsed, withoutPathExt) { } catch (e) { /* Empty */ } finally { - process.chdir(cwd); + if (shouldSwitchCwd) { + process.chdir(cwd); + } } // If we successfully resolved, ensure that an absolute path is returned