From a9a08cf90250d1a95de4878b24831203ad4c7b43 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Sat, 13 Feb 2021 00:01:30 +0100 Subject: [PATCH] refactor: bucketVersions --- .../repository/process/lookup/index.ts | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/lib/workers/repository/process/lookup/index.ts b/lib/workers/repository/process/lookup/index.ts index 6c513aa7ba..2b61c65dca 100644 --- a/lib/workers/repository/process/lookup/index.ts +++ b/lib/workers/repository/process/lookup/index.ts @@ -311,23 +311,22 @@ export async function lookupUpdates( if (vulnerabilityAlert) { filteredVersions = filteredVersions.slice(0, 1); } - const buckets: Record<string, [LookupUpdate]> = {}; + const buckets: Record<string, [string]> = {}; for (const toVersion of filteredVersions.map((v) => v.version)) { - const update: LookupUpdate = { fromVersion, toVersion } as any; const bucket = getBucket(config, fromVersion, toVersion, versioning); if (buckets[bucket]) { - buckets[bucket].push(update); + buckets[bucket].push(toVersion); } else { - buckets[bucket] = [update]; + buckets[bucket] = [toVersion]; } } - for (const [bucket, updates] of Object.entries(buckets)) { - const sortedUpdates = updates.sort((u1, u2) => - versioning.sortVersions(u1.toVersion, u2.toVersion) + for (const [bucket, versions] of Object.entries(buckets)) { + const bucketVersions = versions.sort((v1, v2) => + versioning.sortVersions(v1, v2) ); - const update = sortedUpdates.pop(); + const toVersion = bucketVersions.pop(); + const update: LookupUpdate = { fromVersion, toVersion, newValue: null }; update.bucket = bucket; - const { toVersion } = update; try { update.newValue = versioning.getNewValue({ currentValue, @@ -381,8 +380,8 @@ export async function lookupUpdates( update[field] = updateRelease[field] as never; } }); - if (sortedUpdates.length) { - update.skippedOverVersions = sortedUpdates.map((u) => u.toVersion); + if (bucketVersions.length) { + update.skippedOverVersions = bucketVersions; } if ( rangeStrategy === 'update-lockfile' && -- GitLab