diff --git a/lib/workers/repository/process/lookup/current.ts b/lib/workers/repository/process/lookup/current.ts index 54731b2c9250c632c3c8a0f1faeac4aab8a2b485..0b7113f703988ed6ebd3039c562c429d89c45894 100644 --- a/lib/workers/repository/process/lookup/current.ts +++ b/lib/workers/repository/process/lookup/current.ts @@ -11,9 +11,6 @@ export function getCurrentVersion( latestVersion: string, allVersions: string[] ): string | null { - if (lockedVersion && is.undefined(currentValue)) { - return allVersions.pop(); - } // istanbul ignore if if (!is.string(currentValue)) { return null; diff --git a/lib/workers/repository/process/lookup/filter.ts b/lib/workers/repository/process/lookup/filter.ts index 74730e8fff129021ea4f768a4e604c4aa4a29bd7..522840e1bec3c1bf3053a156ef193ee42c13b45d 100644 --- a/lib/workers/repository/process/lookup/filter.ts +++ b/lib/workers/repository/process/lookup/filter.ts @@ -29,6 +29,7 @@ export function filterVersions( } return true; } + // istanbul ignore if: shouldn't happen if (!currentVersion) { return []; } diff --git a/lib/workers/repository/process/lookup/index.spec.ts b/lib/workers/repository/process/lookup/index.spec.ts index 7be15465e6992e938beacadb2e2c76a46e493356..f4e748e7e110f1a69c3793e00cfca37d6735e8d8 100644 --- a/lib/workers/repository/process/lookup/index.spec.ts +++ b/lib/workers/repository/process/lookup/index.spec.ts @@ -351,7 +351,7 @@ describe('workers/repository/process/lookup/index', () => { expect(res.updates).toMatchInlineSnapshot(` Array [ Object { - "bucket": "major", + "bucket": "non-major", "isLockfileUpdate": true, "isRange": true, "newMajor": 1, diff --git a/lib/workers/repository/process/lookup/index.ts b/lib/workers/repository/process/lookup/index.ts index a7a3d9eb0e22d489b1a864af2ee0eaab5b12e131..d1417de1903fd1538f15d232fd80d5a3ac978583 100644 --- a/lib/workers/repository/process/lookup/index.ts +++ b/lib/workers/repository/process/lookup/index.ts @@ -169,7 +169,11 @@ export async function lookupUpdates( const nonDeprecatedVersions = dependency.releases .filter((release) => !release.isDeprecated) .map((release) => release.version); - const currentVersion = + let currentVersion: string; + if (rangeStrategy === 'update-lockfile') { + currentVersion = lockedVersion; + } + currentVersion ??= getCurrentVersion( currentValue, lockedVersion, @@ -209,22 +213,15 @@ export async function lookupUpdates( newMajor: versioning.getMajor(currentVersion), }); } - let filterStart = currentVersion; - if (lockedVersion) { - // istanbul ignore if - if (!versioning.isVersion(lockedVersion)) { - res.skipReason = SkipReason.InvalidVersion; - return res; - } - if (rangeStrategy === 'update-lockfile') { - // Look for versions greater than the current locked version that still satisfy the package.json range - filterStart = lockedVersion; - } + // istanbul ignore if + if (!versioning.isVersion(currentVersion)) { + res.skipReason = SkipReason.InvalidVersion; + return res; } // Filter latest, unstable, etc let filteredReleases = filterVersions( config, - filterStart, + currentVersion, latestVersion, allVersions, versioning