From e36384a80c7ccaaad54fd3fb60aa527792396aaa Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Sat, 17 Apr 2021 09:14:21 +0200
Subject: [PATCH] refactor: lookup types

---
 lib/manager/types.ts                          |   2 -
 .../lookup/__snapshots__/index.spec.ts.snap   | 213 ++----------------
 .../repository/process/lookup/index.ts        |  14 +-
 .../repository/process/lookup/types.ts        |   2 +
 4 files changed, 28 insertions(+), 203 deletions(-)

diff --git a/lib/manager/types.ts b/lib/manager/types.ts
index 6ad184277e..6fc9da7b23 100644
--- a/lib/manager/types.ts
+++ b/lib/manager/types.ts
@@ -145,8 +145,6 @@ export interface LookupUpdate {
   isPin?: boolean;
   isRange?: boolean;
   isRollback?: boolean;
-  isSingleVersion?: boolean;
-  currentVersion?: string;
   newDigest?: string;
   newDigestShort?: string;
   newMajor?: number;
diff --git a/lib/workers/repository/process/lookup/__snapshots__/index.spec.ts.snap b/lib/workers/repository/process/lookup/__snapshots__/index.spec.ts.snap
index 230bd11ec6..e4a4accf99 100644
--- a/lib/workers/repository/process/lookup/__snapshots__/index.spec.ts.snap
+++ b/lib/workers/repository/process/lookup/__snapshots__/index.spec.ts.snap
@@ -11,8 +11,6 @@ Array [
   Object {
     "blockedByPin": true,
     "bucket": "latest",
-    "currentVersion": "0.4.4",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -67,8 +65,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() disables major
 Array [
   Object {
     "bucket": "latest",
-    "currentVersion": "1.0.0",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -100,9 +96,7 @@ Array [
   Object {
     "blockedByPin": true,
     "bucket": "non-major",
-    "currentVersion": "0.9.4",
     "isRange": true,
-    "isSingleVersion": true,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": "==0.9.7",
@@ -117,9 +111,7 @@ Array [
   Object {
     "blockedByPin": true,
     "bucket": "major",
-    "currentVersion": "0.9.4",
     "isRange": true,
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "==1.4.1",
@@ -144,16 +136,16 @@ Array [
 exports[`workers/repository/process/lookup/index .lookupUpdates() handles digest pin 1`] = `
 Object {
   "changelogUrl": undefined,
+  "currentVersion": "8.0.0",
   "dependencyUrl": undefined,
   "fixedVersion": "8.0.0",
   "homepage": undefined,
+  "isSingleVersion": true,
   "sourceUrl": "https://github.com/nodejs/node",
   "updates": Array [
     Object {
       "blockedByPin": true,
       "bucket": "non-major",
-      "currentVersion": "8.0.0",
-      "isSingleVersion": true,
       "newDigest": "sha256:abcdef1234567890",
       "newDigestShort": "abcdef1",
       "newMajor": 8,
@@ -190,6 +182,7 @@ Object {
 exports[`workers/repository/process/lookup/index .lookupUpdates() handles digest pin for up to date version 1`] = `
 Object {
   "changelogUrl": undefined,
+  "currentVersion": "8.1.0",
   "dependencyUrl": undefined,
   "fixedVersion": "8.1.0",
   "homepage": undefined,
@@ -209,15 +202,15 @@ Object {
 exports[`workers/repository/process/lookup/index .lookupUpdates() handles digest update 1`] = `
 Object {
   "changelogUrl": undefined,
+  "currentVersion": "8.0.0",
   "dependencyUrl": undefined,
   "fixedVersion": "8.0.0",
   "homepage": undefined,
+  "isSingleVersion": true,
   "sourceUrl": "https://github.com/nodejs/node",
   "updates": Array [
     Object {
       "bucket": "non-major",
-      "currentVersion": "8.0.0",
-      "isSingleVersion": true,
       "newDigest": "sha256:abcdef1234567890",
       "newDigestShort": "abcdef1",
       "newMajor": 8,
@@ -253,9 +246,9 @@ Object {
 
 exports[`workers/repository/process/lookup/index .lookupUpdates() handles git submodule update 1`] = `
 Object {
+  "currentVersion": undefined,
   "updates": Array [
     Object {
-      "currentVersion": undefined,
       "newDigest": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
       "newDigestShort": "4b825dc",
       "newValue": undefined,
@@ -276,15 +269,15 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() handles pypi 4
 exports[`workers/repository/process/lookup/index .lookupUpdates() handles sourceUrl packageRules with version restrictions 1`] = `
 Object {
   "changelogUrl": undefined,
+  "currentVersion": "0.9.99",
   "dependencyUrl": undefined,
   "fixedVersion": "0.9.99",
   "homepage": undefined,
+  "isSingleVersion": true,
   "sourceUrl": "https://github.com/kriskowal/q",
   "updates": Array [
     Object {
       "bucket": "major",
-      "currentVersion": "0.9.99",
-      "isSingleVersion": true,
       "newMajor": 1,
       "newMinor": 3,
       "newValue": "1.3.0",
@@ -311,6 +304,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() handles unknow
 exports[`workers/repository/process/lookup/index .lookupUpdates() ignores deprecated 1`] = `
 Object {
   "changelogUrl": undefined,
+  "currentVersion": "1.3.0",
   "dependencyUrl": undefined,
   "deprecationMessage": "On registry \`https://registry.npmjs.org/\`, the \\"latest\\" version of dependency \`q2\` has the following deprecation notice:
 
@@ -319,12 +313,11 @@ Object {
 Marking the latest version of an npm package as deprecated results in the entire package being considered deprecated, so contact the package author you think this is a mistake.",
   "fixedVersion": "1.3.0",
   "homepage": undefined,
+  "isSingleVersion": true,
   "sourceUrl": "https://github.com/kriskowal/q",
   "updates": Array [
     Object {
       "bucket": "non-major",
-      "currentVersion": "1.3.0",
-      "isSingleVersion": true,
       "newMajor": 1,
       "newMinor": 4,
       "newValue": "1.4.0",
@@ -348,8 +341,6 @@ Array [
   Object {
     "blockedByPin": true,
     "bucket": "major",
-    "currentVersion": "0.9.7",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -374,16 +365,16 @@ Array [
 exports[`workers/repository/process/lookup/index .lookupUpdates() is deprecated 1`] = `
 Object {
   "changelogUrl": undefined,
+  "currentVersion": "1.3.0",
   "dependencyUrl": undefined,
   "fixedVersion": "1.3.0",
   "homepage": undefined,
+  "isSingleVersion": true,
   "sourceDirectory": "test",
   "sourceUrl": "https://github.com/kriskowal/q",
   "updates": Array [
     Object {
       "bucket": "non-major",
-      "currentVersion": "1.3.0",
-      "isSingleVersion": true,
       "newMajor": 1,
       "newMinor": 4,
       "newValue": "1.4.1",
@@ -422,9 +413,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() replaces major
 Array [
   Object {
     "bucket": "major",
-    "currentVersion": "2.7.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 3,
     "newMinor": 8,
     "newValue": "^3.0.0",
@@ -458,9 +447,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() replaces minor
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "1.3.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "~1.4.0",
@@ -478,8 +465,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() replaces non-r
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "1.0.0",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -504,8 +489,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() returns additi
 Array [
   Object {
     "bucket": "patch",
-    "currentVersion": "0.4.0",
-    "isSingleVersion": true,
     "newMajor": 0,
     "newMinor": 4,
     "newValue": "0.4.4",
@@ -519,8 +502,6 @@ Array [
   },
   Object {
     "bucket": "minor",
-    "currentVersion": "0.4.0",
-    "isSingleVersion": true,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": "0.9.7",
@@ -560,8 +541,6 @@ Array [
   },
   Object {
     "bucket": "major",
-    "currentVersion": "0.4.0",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -594,8 +573,6 @@ Array [
   Object {
     "blockedByPin": true,
     "bucket": "non-major",
-    "currentVersion": "0.4.4",
-    "isSingleVersion": true,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": "0.9.7",
@@ -636,8 +613,6 @@ Array [
   Object {
     "blockedByPin": true,
     "bucket": "major",
-    "currentVersion": "0.4.4",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -662,15 +637,15 @@ Array [
 exports[`workers/repository/process/lookup/index .lookupUpdates() returns complex object 1`] = `
 Object {
   "changelogUrl": undefined,
+  "currentVersion": "1.3.0",
   "dependencyUrl": undefined,
   "fixedVersion": "1.3.0",
   "homepage": undefined,
+  "isSingleVersion": true,
   "sourceUrl": "https://github.com/kriskowal/q",
   "updates": Array [
     Object {
       "bucket": "non-major",
-      "currentVersion": "1.3.0",
-      "isSingleVersion": true,
       "newMajor": 1,
       "newMinor": 4,
       "newValue": "1.4.1",
@@ -690,8 +665,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() returns minor
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "0.9.0",
-    "isSingleVersion": true,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": "0.9.7",
@@ -709,8 +682,6 @@ Array [
   },
   Object {
     "bucket": "major",
-    "currentVersion": "0.9.0",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -736,8 +707,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() returns minor
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "0.9.0",
-    "isSingleVersion": true,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": "0.9.7",
@@ -755,8 +724,6 @@ Array [
   },
   Object {
     "bucket": "major",
-    "currentVersion": "0.9.0",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -782,8 +749,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() returns multip
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "0.4.0",
-    "isSingleVersion": true,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": "0.9.7",
@@ -826,8 +791,6 @@ Array [
   },
   Object {
     "bucket": "major",
-    "currentVersion": "0.4.0",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -853,8 +816,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() returns one up
 Array [
   Object {
     "bucket": "latest",
-    "currentVersion": "0.4.0",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -912,8 +873,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() returns patch
 Array [
   Object {
     "bucket": "patch",
-    "currentVersion": "0.8.0",
-    "isSingleVersion": true,
     "newMajor": 0,
     "newMinor": 8,
     "newValue": "0.8.12",
@@ -936,8 +895,6 @@ Array [
   },
   Object {
     "bucket": "minor",
-    "currentVersion": "0.8.0",
-    "isSingleVersion": true,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": "0.9.7",
@@ -956,8 +913,6 @@ Array [
   },
   Object {
     "bucket": "major",
-    "currentVersion": "0.8.0",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -983,8 +938,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() returns patch
 Array [
   Object {
     "bucket": "patch",
-    "currentVersion": "0.9.0",
-    "isSingleVersion": true,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": "0.9.7",
@@ -1002,8 +955,6 @@ Array [
   },
   Object {
     "bucket": "major",
-    "currentVersion": "0.9.0",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -1038,8 +989,6 @@ Array [
   },
   Object {
     "bucket": "major",
-    "currentVersion": "0.9.99",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -1079,8 +1028,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() should allow u
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "3.1.0-dev.20180731",
-    "isSingleVersion": true,
     "newMajor": 3,
     "newMinor": 1,
     "newValue": "3.1.0-dev.20180813",
@@ -1105,8 +1052,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() should allow u
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "2.5.16",
-    "isSingleVersion": true,
     "newMajor": 2,
     "newMinor": 5,
     "newValue": "2.5.17-beta.0",
@@ -1133,8 +1078,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() should follow
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "3.0.1-insiders.20180713",
-    "isSingleVersion": true,
     "newMajor": 3,
     "newMinor": 0,
     "newValue": "3.0.1-insiders.20180726",
@@ -1149,8 +1092,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() should ignore
 Array [
   Object {
     "bucket": "major",
-    "currentVersion": "1.4.4",
-    "isSingleVersion": true,
     "newMajor": 2,
     "newMinor": 0,
     "newValue": "2.0.0",
@@ -1164,8 +1105,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() should jump un
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "3.0.0-insiders.20180706",
-    "isSingleVersion": true,
     "newMajor": 3,
     "newMinor": 0,
     "newValue": "3.0.1-insiders.20180726",
@@ -1180,8 +1119,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() should not jum
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "3.0.1-insiders.20180726",
-    "isSingleVersion": true,
     "newMajor": 3,
     "newMinor": 0,
     "newValue": "3.0.1",
@@ -1210,9 +1147,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() should treat z
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "0.0.34",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 0,
     "newMinor": 0,
     "newValue": "^0.0.35",
@@ -1228,15 +1163,15 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() should warn if
 exports[`workers/repository/process/lookup/index .lookupUpdates() skips uncompatible versions for 8 1`] = `
 Object {
   "changelogUrl": undefined,
+  "currentVersion": "8",
   "dependencyUrl": undefined,
   "fixedVersion": "8",
   "homepage": undefined,
+  "isSingleVersion": true,
   "sourceUrl": "https://github.com/nodejs/node",
   "updates": Array [
     Object {
       "bucket": "major",
-      "currentVersion": "8",
-      "isSingleVersion": true,
       "newMajor": 9,
       "newMinor": null,
       "newValue": "9",
@@ -1251,15 +1186,15 @@ Object {
 exports[`workers/repository/process/lookup/index .lookupUpdates() skips uncompatible versions for 8.1 1`] = `
 Object {
   "changelogUrl": undefined,
+  "currentVersion": "8.1",
   "dependencyUrl": undefined,
   "fixedVersion": "8.1",
   "homepage": undefined,
+  "isSingleVersion": true,
   "sourceUrl": "https://github.com/nodejs/node",
   "updates": Array [
     Object {
       "bucket": "non-major",
-      "currentVersion": "8.1",
-      "isSingleVersion": true,
       "newMajor": 8,
       "newMinor": 2,
       "newValue": "8.2",
@@ -1268,8 +1203,6 @@ Object {
     },
     Object {
       "bucket": "major",
-      "currentVersion": "8.1",
-      "isSingleVersion": true,
       "newMajor": 9,
       "newMinor": 0,
       "newValue": "9.0",
@@ -1284,15 +1217,15 @@ Object {
 exports[`workers/repository/process/lookup/index .lookupUpdates() skips uncompatible versions for 8.1.0 1`] = `
 Object {
   "changelogUrl": undefined,
+  "currentVersion": "8.1.0",
   "dependencyUrl": undefined,
   "fixedVersion": "8.1.0",
   "homepage": undefined,
+  "isSingleVersion": true,
   "sourceUrl": "https://github.com/nodejs/node",
   "updates": Array [
     Object {
       "bucket": "non-major",
-      "currentVersion": "8.1.0",
-      "isSingleVersion": true,
       "newMajor": 8,
       "newMinor": 2,
       "newValue": "8.2.5",
@@ -1328,8 +1261,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() supports > lat
 Array [
   Object {
     "bucket": "major",
-    "currentVersion": "1.4.1",
-    "isSingleVersion": true,
     "newMajor": 2,
     "newMinor": 0,
     "newValue": "2.0.3",
@@ -1349,9 +1280,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() supports compl
 Array [
   Object {
     "bucket": "major",
-    "currentVersion": "2.7.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 3,
     "newMinor": 8,
     "newValue": "1.x - 3.x",
@@ -1385,9 +1314,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() supports compl
 Array [
   Object {
     "bucket": "major",
-    "currentVersion": "2.7.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 3,
     "newMinor": 8,
     "newValue": "^1.0.0 || ^2.0.0 || ^3.0.0",
@@ -1420,9 +1347,7 @@ Array [
 exports[`workers/repository/process/lookup/index .lookupUpdates() supports complex ranges 1`] = `
 Object {
   "bucket": "non-major",
-  "currentVersion": "0.8.12",
   "isRange": true,
-  "isSingleVersion": false,
   "newMajor": 0,
   "newMinor": 9,
   "newValue": "^0.7.0 || ^0.8.0 || ^0.9.0",
@@ -1445,9 +1370,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() supports compl
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "1.3.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "~1.2.0 || ~1.3.0 || ~1.4.0",
@@ -1465,10 +1388,8 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() supports in-ra
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "1.0.0",
     "isBump": true,
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "^1.4.1",
@@ -1493,10 +1414,8 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() supports in-ra
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "1.0.0",
     "isBump": true,
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": ">=1.4.1",
@@ -1521,10 +1440,8 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() supports in-ra
 Array [
   Object {
     "bucket": "patch",
-    "currentVersion": "1.0.0",
     "isBump": true,
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 0,
     "newValue": "~1.0.1",
@@ -1534,9 +1451,7 @@ Array [
   },
   Object {
     "bucket": "minor",
-    "currentVersion": "1.0.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "~1.4.1",
@@ -1560,10 +1475,8 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() supports in-ra
 Array [
   Object {
     "bucket": "patch",
-    "currentVersion": "1.0.0",
     "isBump": true,
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 0,
     "newValue": "~1.0.1",
@@ -1573,9 +1486,7 @@ Array [
   },
   Object {
     "bucket": "minor",
-    "currentVersion": "1.0.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "~1.4.1",
@@ -1599,12 +1510,10 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() supports lock
 Array [
   Object {
     "bucket": "patch",
-    "currentVersion": "0.4.0",
     "displayFrom": "0.4.0",
     "displayTo": "0.4.4",
     "isLockfileUpdate": true,
     "isRange": true,
-    "isSingleVersion": true,
     "newMajor": 0,
     "newMinor": 4,
     "newValue": "^0.4.0",
@@ -1618,9 +1527,7 @@ Array [
   },
   Object {
     "bucket": "minor",
-    "currentVersion": "0.4.4",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": "^0.9.0",
@@ -1660,9 +1567,7 @@ Array [
   },
   Object {
     "bucket": "major",
-    "currentVersion": "0.4.4",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "^1.0.0",
@@ -1688,10 +1593,8 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() supports major
 Array [
   Object {
     "bucket": "latest",
-    "currentVersion": "0.9.0",
     "isBump": true,
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": ">=1.4.1",
@@ -1731,8 +1634,6 @@ Array [
   Object {
     "blockedByPin": true,
     "bucket": "non-major",
-    "currentVersion": "0.4.4",
-    "isSingleVersion": true,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": "0.9.7",
@@ -1773,8 +1674,6 @@ Array [
   Object {
     "blockedByPin": true,
     "bucket": "major",
-    "currentVersion": "0.4.4",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -1807,8 +1706,6 @@ Array [
   Object {
     "blockedByPin": true,
     "bucket": "non-major",
-    "currentVersion": "0.4.4",
-    "isSingleVersion": true,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": "0.9.7",
@@ -1849,8 +1746,6 @@ Array [
   Object {
     "blockedByPin": true,
     "bucket": "major",
-    "currentVersion": "0.4.4",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -1876,9 +1771,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades .x co
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "1.3.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.2.x - 1.4.x",
@@ -1896,9 +1789,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades .x ma
 Array [
   Object {
     "bucket": "major",
-    "currentVersion": "0.9.7",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.x",
@@ -1931,8 +1822,6 @@ Array [
   Object {
     "blockedByPin": true,
     "bucket": "non-major",
-    "currentVersion": "1.3.0",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -1950,9 +1839,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades .x mi
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "1.3.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.x",
@@ -1970,9 +1857,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades equal
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "1.3.1",
     "isRange": true,
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "=1.4.1",
@@ -1990,9 +1875,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades less
 Array [
   Object {
     "bucket": "major",
-    "currentVersion": "1.4.1",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 2,
     "newMinor": 0,
     "newValue": "<= 2",
@@ -2012,9 +1895,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades less
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "1.3.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "<= 1.4",
@@ -2032,9 +1913,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades less
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "0.7.2",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": "<= 0.9.7",
@@ -2066,9 +1945,7 @@ Array [
   },
   Object {
     "bucket": "major",
-    "currentVersion": "0.7.2",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "<= 1.4.1",
@@ -2094,9 +1971,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades less
 Array [
   Object {
     "bucket": "major",
-    "currentVersion": "0.9.7",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "< 2",
@@ -2122,9 +1997,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades less
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "0.7.1",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": "< 0.9.8",
@@ -2157,9 +2030,7 @@ Array [
   },
   Object {
     "bucket": "major",
-    "currentVersion": "0.7.1",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "< 1.4.2",
@@ -2185,9 +2056,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades major
 Array [
   Object {
     "bucket": "major",
-    "currentVersion": "0.9.7",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": ">= 0.5.0 < 2.0.0",
@@ -2213,9 +2082,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades major
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "1.0.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "<= 1.4.1",
@@ -2240,9 +2107,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades major
 Array [
   Object {
     "bucket": "major",
-    "currentVersion": "0.9.7",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "< 2.0.0",
@@ -2268,9 +2133,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades minor
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "0.8.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": ">= 0.5.0 <= 0.9.7",
@@ -2301,9 +2164,7 @@ Array [
   },
   Object {
     "bucket": "major",
-    "currentVersion": "0.8.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": ">= 0.5.0 <= 1.4.1",
@@ -2329,9 +2190,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades minor
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "0.7.2",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": ">= 0.5.0 <0.10",
@@ -2363,9 +2222,7 @@ Array [
   },
   Object {
     "bucket": "major",
-    "currentVersion": "0.7.2",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": ">= 0.5.0 <1.5",
@@ -2398,8 +2255,6 @@ Array [
   Object {
     "blockedByPin": true,
     "bucket": "non-major",
-    "currentVersion": "1.0.1",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -2423,9 +2278,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades multi
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "0.7.2",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": "^0.9.0",
@@ -2457,9 +2310,7 @@ Array [
   },
   Object {
     "bucket": "major",
-    "currentVersion": "0.7.2",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "^1.0.0",
@@ -2485,9 +2336,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades multi
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "0.7.2",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 0,
     "newMinor": 9,
     "newValue": "~0.9.0",
@@ -2519,9 +2368,7 @@ Array [
   },
   Object {
     "bucket": "major",
-    "currentVersion": "0.7.2",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "~1.4.0",
@@ -2547,9 +2394,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades short
 Array [
   Object {
     "bucket": "major",
-    "currentVersion": "0.9.7",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1",
@@ -2575,9 +2420,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades short
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "1.3.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4",
@@ -2602,8 +2445,6 @@ Array [
   Object {
     "blockedByPin": true,
     "bucket": "non-major",
-    "currentVersion": "1.3.0",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -2621,9 +2462,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() upgrades tilde
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "1.3.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "~1.4.0",
@@ -2641,8 +2480,6 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() uses minimum v
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "1.0.0",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 0,
     "newValue": "1.0.1",
@@ -2664,8 +2501,6 @@ Array [
   Object {
     "blockedByPin": true,
     "bucket": "non-major",
-    "currentVersion": "1.0.0",
-    "isSingleVersion": true,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "1.4.1",
@@ -2690,9 +2525,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() widens .x OR r
 Array [
   Object {
     "bucket": "major",
-    "currentVersion": "2.7.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 3,
     "newMinor": 8,
     "newValue": "1.x || 2.x || 3.x",
@@ -2726,9 +2559,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() widens major r
 Array [
   Object {
     "bucket": "major",
-    "currentVersion": "2.7.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 3,
     "newMinor": 8,
     "newValue": "^2.0.0 || ^3.0.0",
@@ -2762,9 +2593,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() widens minor r
 Array [
   Object {
     "bucket": "non-major",
-    "currentVersion": "1.3.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 1,
     "newMinor": 4,
     "newValue": "~1.3.0 || ~1.4.0",
@@ -2782,9 +2611,7 @@ exports[`workers/repository/process/lookup/index .lookupUpdates() widens stannda
 Array [
   Object {
     "bucket": "major",
-    "currentVersion": "2.7.0",
     "isRange": true,
-    "isSingleVersion": false,
     "newMajor": 3,
     "newMinor": 8,
     "newValue": "1 || 2 || 3",
diff --git a/lib/workers/repository/process/lookup/index.ts b/lib/workers/repository/process/lookup/index.ts
index f86a1f2397..ffd0ada02b 100644
--- a/lib/workers/repository/process/lookup/index.ts
+++ b/lib/workers/repository/process/lookup/index.ts
@@ -152,6 +152,7 @@ export async function lookupUpdates(
         latestVersion,
         allVersions.map((v) => v.version)
       );
+    res.currentVersion = currentVersion;
     if (
       currentVersion &&
       rangeStrategy === 'pin' &&
@@ -208,7 +209,6 @@ export async function lookupUpdates(
       const release = sortedReleases.pop();
       const newVersion = release.version;
       const update: LookupUpdate = {
-        currentVersion,
         newVersion,
         newValue: null,
       };
@@ -239,18 +239,18 @@ export async function lookupUpdates(
           );
           continue; // eslint-disable-line no-continue
         }
-        update.currentVersion = lockedVersion;
+        res.currentVersion = lockedVersion;
+        res.isSingleVersion = true;
         update.displayFrom = lockedVersion;
         update.displayTo = newVersion;
-        update.isSingleVersion = true;
       }
       update.newMajor = versioning.getMajor(newVersion);
       update.newMinor = versioning.getMinor(newVersion);
       update.updateType =
         update.updateType ||
         getUpdateType(config, versioning, currentVersion, newVersion);
-      update.isSingleVersion =
-        update.isSingleVersion || !!versioning.isSingleVersion(update.newValue);
+      res.isSingleVersion =
+        res.isSingleVersion || !!versioning.isSingleVersion(update.newValue);
       if (!versioning.isVersion(update.newValue)) {
         update.isRange = true;
       }
@@ -322,9 +322,7 @@ export async function lookupUpdates(
     if (versioning.valueToVersion) {
       for (const update of res.updates || []) {
         update.newVersion = versioning.valueToVersion(update.newValue);
-        update.currentVersion = versioning.valueToVersion(
-          update.currentVersion
-        );
+        res.currentVersion = versioning.valueToVersion(res.currentVersion);
         update.newVersion = versioning.valueToVersion(update.newVersion);
       }
     }
diff --git a/lib/workers/repository/process/lookup/types.ts b/lib/workers/repository/process/lookup/types.ts
index 01698e6f68..b81c2166c8 100644
--- a/lib/workers/repository/process/lookup/types.ts
+++ b/lib/workers/repository/process/lookup/types.ts
@@ -48,6 +48,8 @@ export interface UpdateResult {
   homepage?: string;
   deprecationMessage?: string;
   sourceUrl?: string;
+  currentVersion?: string;
+  isSingleVersion?: boolean;
   skipReason: SkipReason;
   releases: Release[];
   fixedVersion?: string;
-- 
GitLab