From 7d189e207591e494b567ff16f6c727d32a1ce2d3 Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Sat, 4 Jan 2020 16:05:38 +0100 Subject: [PATCH] Improve error message when a version is not available --- dist/index.js | 11 +++++++---- index.js | 11 +++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/dist/index.js b/dist/index.js index 3603822..28fc2ac 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1431,16 +1431,19 @@ async function getRubyEngineAndVersion(rubyVersion) { const stableVersions = response.data const engineVersions = stableVersions[engine] if (!engineVersions) { - throw new Error(`Unknown engine ${engine} (${rubyVersion})`) + throw new Error(`Unknown engine ${engine} (input: ${rubyVersion})`) } if (!engineVersions.includes(version)) { - engineVersions.reverse() // inplace! - let found = engineVersions.find(v => v.startsWith(version)) + const latestToFirstVersion = engineVersions.slice().reverse() + const found = latestToFirstVersion.find(v => v.startsWith(version)) if (found) { version = found } else { - throw new Error(`Unknown version ${version} (${rubyVersion})`) + throw new Error(`Unknown version ${version} for ${engine} + input: ${rubyVersion} + available versions for ${engine}: ${engineVersions.join(', ')} + File an issue at https://github.com/eregon/ruby-install-builder/issues if would like support for a new version`) } } diff --git a/index.js b/index.js index 2a0a3c1..1b07674 100644 --- a/index.js +++ b/index.js @@ -52,16 +52,19 @@ async function getRubyEngineAndVersion(rubyVersion) { const stableVersions = response.data const engineVersions = stableVersions[engine] if (!engineVersions) { - throw new Error(`Unknown engine ${engine} (${rubyVersion})`) + throw new Error(`Unknown engine ${engine} (input: ${rubyVersion})`) } if (!engineVersions.includes(version)) { - engineVersions.reverse() // inplace! - let found = engineVersions.find(v => v.startsWith(version)) + const latestToFirstVersion = engineVersions.slice().reverse() + const found = latestToFirstVersion.find(v => v.startsWith(version)) if (found) { version = found } else { - throw new Error(`Unknown version ${version} (${rubyVersion})`) + throw new Error(`Unknown version ${version} for ${engine} + input: ${rubyVersion} + available versions for ${engine}: ${engineVersions.join(', ')} + File an issue at https://github.com/eregon/ruby-install-builder/issues if would like support for a new version`) } }