diff --git a/lib/manager/npm/registry.js b/lib/manager/npm/registry.js index baf571b1fcb8fe97a30f1bf6331abad06badf706..8f110e3ab2c7486f84a11ca9f6698934d8070758 100644 --- a/lib/manager/npm/registry.js +++ b/lib/manager/npm/registry.js @@ -98,7 +98,7 @@ async function getDependency(name) { headers, })).body; if (!res.versions || !Object.keys(res.versions).length) { - throw new Error('no-versions'); + return null; } // Determine repository URL let repositoryUrl; @@ -137,10 +137,6 @@ async function getDependency(name) { logger.info({ err, name }, `Dependency not found`); return null; } - if (err.message === 'no-versions') { - logger.info({ err }, 'npm registry problem: no versions returned'); - throw new Error('registry-failure'); - } if (err.name === 'ParseError') { // Registry returned a 200 OK but got failed to parse it logger.warn({ err }, 'npm registry failure: ParseError'); diff --git a/test/manager/npm/registry.spec.js b/test/manager/npm/registry.spec.js index cab2c966e182ecc8eb6c20e18c38c14aab6ffd30..d660baef1bbc2898d3e0025ec5b53d951a7e6d4f 100644 --- a/test/manager/npm/registry.spec.js +++ b/test/manager/npm/registry.spec.js @@ -28,19 +28,14 @@ describe('api/npm', () => { jest.resetAllMocks(); npm.resetCache(); }); - it('should throw error for no versions', async () => { + it('should return null for no versions', async () => { const missingVersions = { ...npmResponse }; missingVersions.versions = {}; nock('https://registry.npmjs.org') .get('/foobar') .reply(200, missingVersions); - let e; - try { - await npm.getDependency('foobar'); - } catch (err) { - e = err; - } - expect(e.message).toBe('registry-failure'); + const res = await npm.getDependency('foobar'); + expect(res).toBe(null); }); it('should fetch package info from npm', async () => { nock('https://registry.npmjs.org')