diff --git a/lib/importmap/npm.rb b/lib/importmap/npm.rb index b47f39e..4a54f85 100644 --- a/lib/importmap/npm.rb +++ b/lib/importmap/npm.rb @@ -86,7 +86,7 @@ def get_json(uri) end def find_latest_version(response) - latest_version = response.dig('dist-tags', 'latest') + latest_version = response.is_a?(String) ? response : response.dig('dist-tags', 'latest') return latest_version if latest_version return unless response['versions'] diff --git a/test/npm_test.rb b/test/npm_test.rb index fd6f122..a53f8b0 100644 --- a/test/npm_test.rb +++ b/test/npm_test.rb @@ -94,4 +94,14 @@ def code() "200" end end end end + + test "return latest version response is a String type" do + response = "version not found".to_json + + @npm.stub(:get_json, response) do + outdated_packages = @npm.outdated_packages + + assert_equal('version not found', outdated_packages[0].latest_version) + end + end end