diff --git a/lib/datasource/github.js b/lib/datasource/github.js index 3bbceb9d40d9db4c011ce9864b944f18b693d78e..ab1e6664d449698257ebc46eab80b13504e3907e 100644 --- a/lib/datasource/github.js +++ b/lib/datasource/github.js @@ -52,13 +52,10 @@ async function getDependency(purl, config) { versions = versions.filter(isVersion).sort(sortVersions); const dependency = { repositoryUrl: 'https://github.com/' + repo, - versions: {}, }; - versions.forEach(version => { - const v = options.sanitize === 'true' ? isVersion(version) : version; - dependency.versions[v] = { - gitRef: version, - }; - }); + dependency.releases = versions.map(version => ({ + version: options.sanitize === 'true' ? isVersion(version) : version, + gitRef: version, + })); return dependency; } diff --git a/lib/datasource/npm.js b/lib/datasource/npm.js index 1fbccb2471acdca4d016c415ae2c99babd4e3c29..7d832a21a1df1f6ebf07cddac57ef3151fe845a2 100644 --- a/lib/datasource/npm.js +++ b/lib/datasource/npm.js @@ -187,21 +187,23 @@ async function getDependencyInner(name, retries = 5) { latestVersion: res['dist-tags'].latest, repositoryUrl, versions: {}, - 'dist-tags': res['dist-tags'], 'renovate-config': latestVersion['renovate-config'], }; - Object.keys(res.versions) + const versions = Object.keys(res.versions) .filter(isVersion) - .sort(sortVersions) - .forEach(version => { - const v = {}; - if (res.time && res.time[version]) { - v.gitRef = res.versions[version].gitHead; - v.time = res.time[version]; - v.canBeUnpublished = moment().diff(moment(v.time), 'days') === 0; - } - dep.versions[version] = v; - }); + .sort(sortVersions); + dep.releases = versions.map(version => { + const release = { + version, + gitRef: res.versions[version].gitHead, + }; + if (res.time && res.time[version]) { + release.time = res.time[version]; + release.canBeUnpublished = + moment().diff(moment(release.time), 'days') === 0; + } + return release; + }); logger.trace({ dep }, 'dep'); memcache[name] = dep; return dep; diff --git a/lib/datasource/packagist.js b/lib/datasource/packagist.js index b332ec8035ccd61edb389d150a2ba95c8ee2a854..3edc9a72b2ad94f4b575d3006b295e25c71f2d7d 100644 --- a/lib/datasource/packagist.js +++ b/lib/datasource/packagist.js @@ -30,19 +30,19 @@ async function getDependency(purl) { if (res.repository) { dep.repositoryUrl = parse(res.repository); } - - Object.keys(res.versions) + const versions = Object.keys(res.versions) .filter(isVersion) - .sort(sortVersions) - .forEach(version => { - const v = res.versions[version]; - dep.homepage = dep.homepage || v.homepage; - const sanitize = isVersion; - dep.versions[sanitize(version)] = { - gitRef: version, - time: v.time, - }; - }); + .sort(sortVersions); + + dep.releases = versions.map(version => { + const release = res.versions[version]; + dep.homepage = dep.homepage || release.homepage; + return { + version, + gitRef: version, + time: release.time, + }; + }); dep.homepage = dep.homepage || res.repository; logger.trace({ dep }, 'dep'); return dep; diff --git a/lib/datasource/pypi.js b/lib/datasource/pypi.js index 877c07820a27050d08838d004724a8ac7cae3428..dd35de0932465b589d8c208a93d2c06c7818c8b6 100644 --- a/lib/datasource/pypi.js +++ b/lib/datasource/pypi.js @@ -24,16 +24,15 @@ async function getDependency(purl) { dependency.homepage = dep.info.home_page; } } - dependency.versions = {}; + dependency.releases = []; if (dep.releases) { - Object.keys(dep.releases) + const versions = Object.keys(dep.releases) .filter(isVersion) - .sort(sortVersions) - .forEach(release => { - dependency.versions[release] = { - date: (dep.releases[release][0] || {}).upload_time, - }; - }); + .sort(sortVersions); + dependency.releases = versions.map(version => ({ + version, + date: (dep.releases[version][0] || {}).upload_time, + })); } return dependency; } catch (err) { diff --git a/lib/manager/travis/package.js b/lib/manager/travis/package.js index b52bcc327d58b4f7626f1853ff35414c64541775..70218f96513d39f3aa0c794c38400624536e4bb6 100644 --- a/lib/manager/travis/package.js +++ b/lib/manager/travis/package.js @@ -1,5 +1,5 @@ const { isEqual } = require('lodash'); -const { getDependency } = require('../../datasource/github'); +const { getDependency } = require('../../datasource'); const versioning = require('../../versioning'); const is = require('@sindresorhus/is'); @@ -37,11 +37,12 @@ async function getPackageUpdates(config) { .sort((a, b) => a - b); const newMajor = newValue[newValue.length - 1]; if (config.rangeStrategy === 'pin' || isVersion(config.currentValue[0])) { - const releases = Object.keys( - (await getDependency('nodejs/node', { sanitize: 'true' })).versions - ); - newValue = newValue.map(version => - maxSatisfyingVersion(releases, `${version}`) + const versions = (await getDependency( + 'pkg:github/nodejs/node?sanitize=true', + config + )).releases.map(release => release.version); + newValue = newValue.map(value => + maxSatisfyingVersion(versions, `${value}`) ); } if (is.string(config.currentValue[0])) { diff --git a/lib/workers/repository/process/lookup/index.js b/lib/workers/repository/process/lookup/index.js index 0b314fa1c0181f2c201b5871c432f3e40368a3e5..e6d257c6c8977cc3b271b7c40fded4316bb41356 100644 --- a/lib/workers/repository/process/lookup/index.js +++ b/lib/workers/repository/process/lookup/index.js @@ -12,6 +12,7 @@ async function lookupUpdates(config) { const { depName, currentValue } = config; logger.debug({ depName, currentValue }, 'lookupUpdates'); const { + equals, getMajor, getMinor, isGreaterThan, @@ -34,10 +35,11 @@ async function lookupUpdates(config) { // TODO: return an object return [result]; } + const { releases } = dependency; // Filter out any results from datasource that don't comply with our versioning scheme - const allVersions = Object.keys(dependency.versions).filter(v => - isVersion(v) - ); + const allVersions = releases + .map(release => release.version) + .filter(v => isVersion(v)); // istanbul ignore if if (allVersions.length === 0) { const message = `No versions returned from registry for this package`; @@ -112,7 +114,9 @@ async function lookupUpdates(config) { update.isRange = true; } - update.canBeUnpublished = dependency.versions[toVersion].canBeUnpublished; + update.canBeUnpublished = releases.find(release => + equals(release.version, toVersion) + ).canBeUnpublished; const bucket = getBucket(config, update); if (buckets[bucket]) { diff --git a/test/datasource/__snapshots__/github.spec.js.snap b/test/datasource/__snapshots__/github.spec.js.snap index fa56ea87e2524c310ea4a864b097994a028efcb2..982b8589b03afb35d03ec4bacf6e26aa03a634bf 100644 --- a/test/datasource/__snapshots__/github.spec.js.snap +++ b/test/datasource/__snapshots__/github.spec.js.snap @@ -2,28 +2,32 @@ exports[`datasource/github getDependency returns cleaned tags 1`] = ` Object { - "repositoryUrl": "https://github.com/some/dep", - "versions": Object { - "1.0.0": Object { + "releases": Array [ + Object { "gitRef": "1.0.0", + "version": "1.0.0", }, - "1.1.0": Object { + Object { "gitRef": "v1.1.0", + "version": "1.1.0", }, - }, + ], + "repositoryUrl": "https://github.com/some/dep", } `; exports[`datasource/github getDependency returns releases 1`] = ` Object { - "repositoryUrl": "https://github.com/some/dep", - "versions": Object { - "1.0.0": Object { + "releases": Array [ + Object { "gitRef": "1.0.0", + "version": "1.0.0", }, - "v1.1.0": Object { + Object { "gitRef": "v1.1.0", + "version": "v1.1.0", }, - }, + ], + "repositoryUrl": "https://github.com/some/dep", } `; diff --git a/test/datasource/__snapshots__/npm.spec.js.snap b/test/datasource/__snapshots__/npm.spec.js.snap index 17b062194f79adc3c760e386a7d3bc1d455838f5..94158b299c88a941f586acf6f9ceba481dd27455 100644 --- a/test/datasource/__snapshots__/npm.spec.js.snap +++ b/test/datasource/__snapshots__/npm.spec.js.snap @@ -2,122 +2,124 @@ exports[`api/npm should fetch package info from custom registry 1`] = ` Object { - "dist-tags": Object { - "latest": "0.0.1", - }, "homepage": undefined, "latestVersion": "0.0.1", "name": undefined, - "renovate-config": undefined, - "repositoryUrl": "https://github.com/renovateapp/dummy", - "versions": Object { - "0.0.1": Object { + "releases": Array [ + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-06T07:21:53+02:00", + "version": "0.0.1", }, - "0.0.2": Object { + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-07T07:21:53+02:00", + "version": "0.0.2", }, - }, + ], + "renovate-config": undefined, + "repositoryUrl": "https://github.com/renovateapp/dummy", + "versions": Object {}, } `; exports[`api/npm should fetch package info from npm 1`] = ` Object { - "dist-tags": Object { - "latest": "0.0.1", - }, "homepage": undefined, "latestVersion": "0.0.1", "name": undefined, - "renovate-config": undefined, - "repositoryUrl": "https://github.com/renovateapp/dummy", - "versions": Object { - "0.0.1": Object { + "releases": Array [ + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-06T07:21:53+02:00", + "version": "0.0.1", }, - "0.0.2": Object { + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-07T07:21:53+02:00", + "version": "0.0.2", }, - }, + ], + "renovate-config": undefined, + "repositoryUrl": "https://github.com/renovateapp/dummy", + "versions": Object {}, } `; exports[`api/npm should handle no time 1`] = ` Object { - "dist-tags": Object { - "latest": "0.0.1", - }, "homepage": undefined, "latestVersion": "0.0.1", "name": undefined, - "renovate-config": undefined, - "repositoryUrl": "https://github.com/renovateapp/dummy", - "versions": Object { - "0.0.1": Object { + "releases": Array [ + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-06T07:21:53+02:00", + "version": "0.0.1", }, - "0.0.2": Object {}, - }, + Object { + "gitRef": undefined, + "version": "0.0.2", + }, + ], + "renovate-config": undefined, + "repositoryUrl": "https://github.com/renovateapp/dummy", + "versions": Object {}, } `; exports[`api/npm should handle purl 1`] = ` Object { - "dist-tags": Object { - "latest": "0.0.1", - }, "homepage": undefined, "latestVersion": "0.0.1", "name": undefined, - "renovate-config": undefined, - "repositoryUrl": "https://github.com/renovateapp/dummy", - "versions": Object { - "0.0.1": Object { + "releases": Array [ + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-06T07:21:53+02:00", + "version": "0.0.1", }, - "0.0.2": Object { + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-07T07:21:53+02:00", + "version": "0.0.2", }, - }, + ], + "renovate-config": undefined, + "repositoryUrl": "https://github.com/renovateapp/dummy", + "versions": Object {}, } `; exports[`api/npm should replace any environment variable in npmrc 1`] = ` Object { - "dist-tags": Object { - "latest": "0.0.1", - }, "homepage": undefined, "latestVersion": "0.0.1", "name": undefined, - "renovate-config": undefined, - "repositoryUrl": "https://github.com/renovateapp/dummy", - "versions": Object { - "0.0.1": Object { + "releases": Array [ + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-06T07:21:53+02:00", + "version": "0.0.1", }, - "0.0.2": Object { + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-07T07:21:53+02:00", + "version": "0.0.2", }, - }, + ], + "renovate-config": undefined, + "repositoryUrl": "https://github.com/renovateapp/dummy", + "versions": Object {}, } `; @@ -125,100 +127,100 @@ exports[`api/npm should retry when 408 or 5xx 1`] = `null`; exports[`api/npm should send an authorization header if provided 1`] = ` Object { - "dist-tags": Object { - "latest": "0.0.1", - }, "homepage": undefined, "latestVersion": "0.0.1", "name": undefined, - "renovate-config": undefined, - "repositoryUrl": "https://github.com/renovateapp/dummy", - "versions": Object { - "0.0.1": Object { + "releases": Array [ + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-06T07:21:53+02:00", + "version": "0.0.1", }, - "0.0.2": Object { + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-07T07:21:53+02:00", + "version": "0.0.2", }, - }, + ], + "renovate-config": undefined, + "repositoryUrl": "https://github.com/renovateapp/dummy", + "versions": Object {}, } `; exports[`api/npm should use NPM_TOKEN if provided 1`] = ` Object { - "dist-tags": Object { - "latest": "0.0.1", - }, "homepage": undefined, "latestVersion": "0.0.1", "name": undefined, - "renovate-config": undefined, - "repositoryUrl": "https://github.com/renovateapp/dummy", - "versions": Object { - "0.0.1": Object { + "releases": Array [ + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-06T07:21:53+02:00", + "version": "0.0.1", }, - "0.0.2": Object { + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-07T07:21:53+02:00", + "version": "0.0.2", }, - }, + ], + "renovate-config": undefined, + "repositoryUrl": "https://github.com/renovateapp/dummy", + "versions": Object {}, } `; exports[`api/npm should use default registry if missing from npmrc 1`] = ` Object { - "dist-tags": Object { - "latest": "0.0.1", - }, "homepage": undefined, "latestVersion": "0.0.1", "name": undefined, - "renovate-config": undefined, - "repositoryUrl": "https://github.com/renovateapp/dummy", - "versions": Object { - "0.0.1": Object { + "releases": Array [ + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-06T07:21:53+02:00", + "version": "0.0.1", }, - "0.0.2": Object { + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-07T07:21:53+02:00", + "version": "0.0.2", }, - }, + ], + "renovate-config": undefined, + "repositoryUrl": "https://github.com/renovateapp/dummy", + "versions": Object {}, } `; exports[`api/npm should use homepage 1`] = ` Object { - "dist-tags": Object { - "latest": "0.0.1", - }, "homepage": "https://google.com", "latestVersion": "0.0.1", "name": undefined, - "renovate-config": undefined, - "repositoryUrl": "https://google.com", - "versions": Object { - "0.0.1": Object { + "releases": Array [ + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-06T07:21:53+02:00", + "version": "0.0.1", }, - "0.0.2": Object { + Object { "canBeUnpublished": false, "gitRef": undefined, "time": "2018-05-07T07:21:53+02:00", + "version": "0.0.2", }, - }, + ], + "renovate-config": undefined, + "repositoryUrl": "https://google.com", + "versions": Object {}, } `; diff --git a/test/datasource/__snapshots__/packagist.spec.js.snap b/test/datasource/__snapshots__/packagist.spec.js.snap index 6c5d732ffcb62616a9c7de7e445b951100cda850..d932a8c2e730dba8f3d0ecfc7fc682d55ee08b8c 100644 --- a/test/datasource/__snapshots__/packagist.spec.js.snap +++ b/test/datasource/__snapshots__/packagist.spec.js.snap @@ -4,40 +4,49 @@ exports[`datasource/packagist getDependency processes real data 1`] = ` Object { "homepage": "https://github.com/cristianvuolo/uploader", "name": "cristianvuolo/uploader", - "repositoryUrl": "https://github.com/cristianvuolo/uploader", - "versions": Object { - "1.0.0": Object { + "releases": Array [ + Object { "gitRef": "1.0.0", "time": "2017-02-07T20:01:41+00:00", + "version": "1.0.0", }, - "1.0.1": Object { + Object { "gitRef": "1.0.1", "time": "2017-02-07T20:10:08+00:00", + "version": "1.0.1", }, - "1.0.3": Object { + Object { "gitRef": "1.0.3", "time": "2017-07-11T16:52:54+00:00", + "version": "1.0.3", }, - "1.0.4": Object { + Object { "gitRef": "1.0.4", "time": "2017-08-02T13:08:31+00:00", + "version": "1.0.4", }, - "1.0.5": Object { + Object { "gitRef": "1.0.5", "time": "2017-08-02T13:23:33+00:00", + "version": "1.0.5", }, - "1.0.6": Object { + Object { "gitRef": "1.0.6", "time": "2018-01-25T18:57:17+00:00", + "version": "1.0.6", }, - "1.0.7": Object { + Object { "gitRef": "1.0.7", "time": "2018-02-19T12:22:34+00:00", + "version": "1.0.7", }, - "1.0.8": Object { + Object { "gitRef": "1.0.8", "time": "2018-03-14T17:40:06+00:00", + "version": "1.0.8", }, - }, + ], + "repositoryUrl": "https://github.com/cristianvuolo/uploader", + "versions": Object {}, } `; diff --git a/test/datasource/__snapshots__/pypi.spec.js.snap b/test/datasource/__snapshots__/pypi.spec.js.snap index b53e1ebce6c914843027202bc379c9d49aead7a2..bced52c0d137984f2153137d848575609b3c5163 100644 --- a/test/datasource/__snapshots__/pypi.spec.js.snap +++ b/test/datasource/__snapshots__/pypi.spec.js.snap @@ -2,81 +2,103 @@ exports[`datasource/pypi getDependency processes real data 1`] = ` Object { - "repository_url": "https://github.com/Azure/azure-cli", - "versions": Object { - "0.0.1": Object { + "releases": Array [ + Object { "date": "2017-04-03T16:55:14", + "version": "0.0.1", }, - "0.0.10": Object { - "date": "2017-09-22T23:47:59", - }, - "0.0.11": Object { - "date": "2017-10-24T02:14:07", - }, - "0.0.12": Object { - "date": "2017-11-14T18:31:57", - }, - "0.0.13": Object { - "date": "2017-12-05T18:57:54", - }, - "0.0.14": Object { - "date": "2018-01-05T21:26:03", - }, - "0.0.2": Object { + Object { "date": "2017-04-17T20:32:30", + "version": "0.0.2", }, - "0.0.3": Object { + Object { "date": "2017-04-28T21:18:54", + "version": "0.0.3", }, - "0.0.4": Object { + Object { "date": "2017-05-09T21:36:51", + "version": "0.0.4", }, - "0.0.5": Object { + Object { "date": "2017-05-30T23:13:49", + "version": "0.0.5", }, - "0.0.6": Object { + Object { "date": "2017-06-13T22:21:05", + "version": "0.0.6", }, - "0.0.7": Object { + Object { "date": "2017-06-21T22:12:36", + "version": "0.0.7", }, - "0.0.8": Object { + Object { "date": "2017-07-07T16:22:26", + "version": "0.0.8", }, - "0.0.9": Object { + Object { "date": "2017-08-28T20:14:33", + "version": "0.0.9", }, - "0.1.0": Object { + Object { + "date": "2017-09-22T23:47:59", + "version": "0.0.10", + }, + Object { + "date": "2017-10-24T02:14:07", + "version": "0.0.11", + }, + Object { + "date": "2017-11-14T18:31:57", + "version": "0.0.12", + }, + Object { + "date": "2017-12-05T18:57:54", + "version": "0.0.13", + }, + Object { + "date": "2018-01-05T21:26:03", + "version": "0.0.14", + }, + Object { "date": "2018-01-17T18:36:39", + "version": "0.1.0", }, - "0.1.1": Object { + Object { "date": "2018-01-31T18:05:22", + "version": "0.1.1", }, - "0.1.2": Object { + Object { "date": "2018-02-13T18:17:52", + "version": "0.1.2", }, - "0.1.3": Object { + Object { "date": "2018-03-13T17:08:20", + "version": "0.1.3", }, - "0.1.4": Object { + Object { "date": "2018-03-27T17:55:25", + "version": "0.1.4", }, - "0.1.5": Object { + Object { "date": "2018-04-10T17:25:47", + "version": "0.1.5", }, - "0.1.6": Object { + Object { "date": "2018-05-07T17:59:09", + "version": "0.1.6", }, - "0.1.7": Object { + Object { "date": "2018-05-22T17:25:23", + "version": "0.1.7", }, - }, + ], + "repository_url": "https://github.com/Azure/azure-cli", } `; exports[`datasource/pypi getDependency returns non-github home_page 1`] = ` Object { "homepage": "https://microsoft.com", - "versions": Object {}, + "releases": Array [], } `; diff --git a/test/datasource/github.spec.js b/test/datasource/github.spec.js index a173731d2aae10cd0f45d4a36605d4f5664da565..2ea50f72f9ff17cb8b59a35c560175280135201a 100644 --- a/test/datasource/github.spec.js +++ b/test/datasource/github.spec.js @@ -18,8 +18,10 @@ describe('datasource/github', () => { 'pkg:github/some/dep?sanitize=true' ); expect(res).toMatchSnapshot(); - expect(Object.keys(res.versions)).toHaveLength(2); - expect(res.versions['1.1.0']).toBeDefined(); + expect(res.releases).toHaveLength(2); + expect( + res.releases.find(release => release.version === '1.1.0') + ).toBeDefined(); }); it('returns releases', async () => { const body = [ @@ -33,8 +35,10 @@ describe('datasource/github', () => { 'pkg:github/some/dep?ref=release' ); expect(res).toMatchSnapshot(); - expect(Object.keys(res.versions)).toHaveLength(2); - expect(res.versions['v1.1.0']).toBeDefined(); + expect(res.releases).toHaveLength(2); + expect( + res.releases.find(release => release.version === 'v1.1.0') + ).toBeDefined(); }); it('returns null for invalid ref', async () => { expect( diff --git a/test/datasource/npm.spec.js b/test/datasource/npm.spec.js index a1d288445905cfff284b3bb3a6cd06b8915c8655..e819c88638888c1260b2cc2c50814303fd5d2e15 100644 --- a/test/datasource/npm.spec.js +++ b/test/datasource/npm.spec.js @@ -8,6 +8,10 @@ jest.mock('delay'); let npmResponse; +function getRelease(dependency, version) { + return dependency.releases.find(release => release.version === version); +} + describe('api/npm', () => { delete process.env.NPM_TOKEN; beforeEach(() => { @@ -53,8 +57,8 @@ describe('api/npm', () => { .reply(200, npmResponse); const res = await npm.getDependency('foobar'); expect(res).toMatchSnapshot(); - expect(res.versions['0.0.1'].canBeUnpublished).toBe(false); - expect(res.versions['0.0.2'].canBeUnpublished).toBe(false); + expect(getRelease(res, '0.0.1').canBeUnpublished).toBe(false); + expect(getRelease(res, '0.0.2').canBeUnpublished).toBe(false); }); it('should handle purl', async () => { nock('https://registry.npmjs.org') @@ -70,8 +74,8 @@ describe('api/npm', () => { .reply(200, npmResponse); const res = await npm.getDependency('foobar'); expect(res).toMatchSnapshot(); - expect(res.versions['0.0.1'].canBeUnpublished).toBe(false); - expect(res.versions['0.0.2'].canBeUnpublished).toBeUndefined(); + expect(getRelease(res, '0.0.1').canBeUnpublished).toBe(false); + expect(getRelease(res, '0.0.2').canBeUnpublished).toBeUndefined(); }); it('should return canBeUnpublished=true', async () => { npmResponse.time['0.0.2'] = moment() @@ -81,8 +85,8 @@ describe('api/npm', () => { .get('/foobar') .reply(200, npmResponse); const res = await npm.getDependency('foobar'); - expect(res.versions['0.0.1'].canBeUnpublished).toBe(false); - expect(res.versions['0.0.2'].canBeUnpublished).toBe(true); + expect(getRelease(res, '0.0.1').canBeUnpublished).toBe(false); + expect(getRelease(res, '0.0.2').canBeUnpublished).toBe(true); }); it('should use homepage', async () => { const npmResponseHomepage = { ...npmResponse }; diff --git a/test/manager/travis/package.spec.js b/test/manager/travis/package.spec.js index 2d58c173b98f3976710ae217018f6191cf5ff825..2d59bbf41fd93ddca031b87b0b872b655e4bc847 100644 --- a/test/manager/travis/package.spec.js +++ b/test/manager/travis/package.spec.js @@ -35,14 +35,26 @@ describe('lib/manager/node/package', () => { config.currentValue = ['6.1.0', '8.4.0']; config.supportPolicy = ['lts']; githubDatasource.getDependency.mockReturnValueOnce({ - versions: { - '4.4.4': {}, - '5.5.5': {}, - '6.11.0': {}, - '7.0.0': {}, - '8.9.4': {}, - '9.5.0': {}, - }, + releases: [ + { + version: '4.4.4', + }, + { + version: '5.5.5', + }, + { + version: '6.11.0', + }, + { + version: '7.0.0', + }, + { + version: '8.9.4', + }, + { + version: '9.5.0', + }, + ], }); expect(await node.getPackageUpdates(config)).toMatchSnapshot(); });