From 6469abf21defb1e4ec3c04e46a3d1cdead5d67d3 Mon Sep 17 00:00:00 2001 From: Rhys Arkins Date: Tue, 26 May 2020 21:44:59 +0200 Subject: [PATCH 1/2] fix(nuget): refactor parallel release fetching --- lib/datasource/nuget/index.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/datasource/nuget/index.ts b/lib/datasource/nuget/index.ts index 32638925752d99..6aeffa165a86bd 100644 --- a/lib/datasource/nuget/index.ts +++ b/lib/datasource/nuget/index.ts @@ -1,6 +1,6 @@ import urlApi from 'url'; -import uniqBy from 'lodash/uniqBy'; import { logger } from '../../logger'; +import { clone } from '../../util/clone'; import { GetReleasesConfig, ReleaseResult } from '../common'; import * as v2 from './v2'; import * as v3 from './v3'; @@ -49,9 +49,17 @@ export async function getReleases({ } if (res !== null) { if (dep !== null) { - dep.releases = uniqBy(dep.releases.concat(res.releases), 'version'); + for (const resRelease of res.releases) { + if ( + !dep.releases.find( + (depRelease) => depRelease.version === resRelease.version + ) + ) { + dep.releases.push(clone(resRelease)); + } + } } else { - dep = res; + dep = clone(res); } } } From 0c3732e5dfbb91bda327df650e57265cfbfe9d4b Mon Sep 17 00:00:00 2001 From: Rhys Arkins Date: Tue, 26 May 2020 21:48:25 +0200 Subject: [PATCH 2/2] clone once --- lib/datasource/nuget/index.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/datasource/nuget/index.ts b/lib/datasource/nuget/index.ts index 6aeffa165a86bd..3fcb9b5f4fdfc6 100644 --- a/lib/datasource/nuget/index.ts +++ b/lib/datasource/nuget/index.ts @@ -48,6 +48,7 @@ export async function getReleases({ } } if (res !== null) { + res = clone(res); if (dep !== null) { for (const resRelease of res.releases) { if ( @@ -55,11 +56,11 @@ export async function getReleases({ (depRelease) => depRelease.version === resRelease.version ) ) { - dep.releases.push(clone(resRelease)); + dep.releases.push(resRelease); } } } else { - dep = clone(res); + dep = res; } } }