diff --git a/dist/setup/index.js b/dist/setup/index.js index 4548c94e..9fed4f3a 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -71898,35 +71898,30 @@ function resolveVersionInput() { function printEnvDetailsAndSetOutput() { return __awaiter(this, void 0, void 0, function* () { core.startGroup('Environment details'); - // Output version of node is being used + const promises = ['node', 'npm', 'yarn'].map((tool) => __awaiter(this, void 0, void 0, function* () { + const output = yield getToolVersion(tool, ['--version']); + core.setOutput(`${tool}-version`, output); + })); + yield Promise.all(promises); + core.endGroup(); + }); +} +function getToolVersion(tool, options) { + return __awaiter(this, void 0, void 0, function* () { try { - const { stdout: installedNodeVersion } = yield exec.getExecOutput('node', ['--version'], { ignoreReturnCode: true, silent: true }); - core.setOutput('node-version', installedNodeVersion.trim()); + const { stdout, stderr, exitCode } = yield exec.getExecOutput(tool, options, { + ignoreReturnCode: true, + silent: true + }); + if (exitCode > 0) { + core.warning(`[warning]${stderr}`); + return ''; + } + return stdout; } catch (err) { - core.setOutput('node-version', ''); + return ''; } - try { - const { stdout: installedNpmVersion } = yield exec.getExecOutput('npm', ['--version'], { - ignoreReturnCode: true, - silent: true - }); - core.setOutput('npm-version', installedNpmVersion.trim()); - } - catch (_a) { - core.setOutput('npm-version', ''); - } - try { - const { stdout: installedYarnVersion } = yield exec.getExecOutput('yarn', ['--version'], { - ignoreReturnCode: true, - silent: true - }); - core.setOutput('yarn-version', installedYarnVersion.trim()); - } - catch (_b) { - core.setOutput('yarn-version', ''); - } - core.endGroup(); }); } diff --git a/src/main.ts b/src/main.ts index 2de9fa9c..8bb0257a 100644 --- a/src/main.ts +++ b/src/main.ts @@ -101,44 +101,32 @@ function resolveVersionInput(): string { async function printEnvDetailsAndSetOutput() { core.startGroup('Environment details'); - // Output version of node is being used - try { - const {stdout: installedNodeVersion} = await exec.getExecOutput( - 'node', - ['--version'], - {ignoreReturnCode: true, silent: true} - ); - core.setOutput('node-version', installedNodeVersion.trim()); - } catch (err) { - core.setOutput('node-version', ''); - } - try { - const {stdout: installedNpmVersion} = await exec.getExecOutput( - 'npm', - ['--version'], - { - ignoreReturnCode: true, - silent: true - } - ); - core.setOutput('npm-version', installedNpmVersion.trim()); - } catch { - core.setOutput('npm-version', ''); - } - try { - const {stdout: installedYarnVersion} = await exec.getExecOutput( - 'yarn', - ['--version'], - { - ignoreReturnCode: true, - silent: true - } - ); - core.setOutput('yarn-version', installedYarnVersion.trim()); - } catch { - core.setOutput('yarn-version', ''); - } + const promises = ['node', 'npm', 'yarn'].map(async tool => { + const output = await getToolVersion(tool, ['--version']); + + core.setOutput(`${tool}-version`, output); + }); + + await Promise.all(promises); core.endGroup(); } + +async function getToolVersion(tool: string, options: string[]) { + try { + const {stdout, stderr, exitCode} = await exec.getExecOutput(tool, options, { + ignoreReturnCode: true, + silent: true + }); + + if (exitCode > 0) { + core.warning(`[warning]${stderr}`); + return ''; + } + + return stdout; + } catch (err) { + return ''; + } +}