From 63cd2701b48e41bd522a227a4cd6addf705764b7 Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Fri, 22 Nov 2019 10:33:37 +0100 Subject: [PATCH] Simplified code when deceding which CLI to use. Signed-off-by: Akos Kitta --- arduino-ide-extension/src/node/arduino-cli.ts | 33 +++++-------------- 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/arduino-ide-extension/src/node/arduino-cli.ts b/arduino-ide-extension/src/node/arduino-cli.ts index 2939d13a..98d7f1c0 100644 --- a/arduino-ide-extension/src/node/arduino-cli.ts +++ b/arduino-ide-extension/src/node/arduino-cli.ts @@ -26,30 +26,15 @@ export class ArduinoCli { const buildVersion = await this.spawn(`"${buildCli}"`, ['version']); const buildShortVersion = (buildVersion.match(version) || [])[0]; this.execPath = buildCli; - try { - const pathCli = await new Promise((resolve, reject) => { - which(cli, (error, path) => { - if (error) { - reject(error); - return; - } - resolve(path); - }); - }); - if (!pathCli) { - return buildCli; - } - const pathVersion = await this.spawn(`"${pathCli}"`, ['version']); - const pathShortVersion = (pathVersion.match(version) || [])[0]; - if (semver.gt(pathShortVersion, buildShortVersion)) { - this.execPath = pathCli; - return pathCli; - } - } catch (error) { - this.logger.warn(`Could not check for Arduino CLI in $PATH, using embedded CLI instead:`, error); - // Any errors here should be safe to ignore, e.g.: - // - Could not search for CLI in $PATH - // - Could not get version of CLI in $PATH + const pathCli = await new Promise(resolve => which(cli, (error, path) => resolve(error ? undefined : path))); + if (!pathCli) { + return buildCli; + } + const pathVersion = await this.spawn(`"${pathCli}"`, ['version']); + const pathShortVersion = (pathVersion.match(version) || [])[0]; + if (semver.gt(pathShortVersion, buildShortVersion)) { + this.execPath = pathCli; + return pathCli; } return buildCli; }