From 1b70c42eceffe982f2a37e983c8b3259eb3022f8 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Mon, 2 Oct 2023 15:15:26 +0200
Subject: [PATCH] refactor(types): optional newValue (#24953)

---
 lib/modules/manager/types.ts                      | 2 +-
 lib/workers/repository/process/lookup/generate.ts | 2 +-
 lib/workers/repository/process/lookup/index.ts    | 9 ++++-----
 3 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/lib/modules/manager/types.ts b/lib/modules/manager/types.ts
index 4a4360f294..29a13410b2 100644
--- a/lib/modules/manager/types.ts
+++ b/lib/modules/manager/types.ts
@@ -84,7 +84,7 @@ export interface LookupUpdate {
   newMajor?: number;
   newMinor?: number;
   newName?: string;
-  newValue: string;
+  newValue?: string;
   semanticCommitType?: string;
   pendingChecks?: boolean;
   pendingVersions?: string[];
diff --git a/lib/workers/repository/process/lookup/generate.ts b/lib/workers/repository/process/lookup/generate.ts
index b7d2f93e6e..21f6a3170c 100644
--- a/lib/workers/repository/process/lookup/generate.ts
+++ b/lib/workers/repository/process/lookup/generate.ts
@@ -66,7 +66,7 @@ export async function generateUpdate(
       update.newValue = currentValue;
     }
   } else {
-    update.newValue = currentValue!;
+    update.newValue = currentValue;
   }
   update.newMajor = versioning.getMajor(newVersion)!;
   update.newMinor = versioning.getMinor(newVersion)!;
diff --git a/lib/workers/repository/process/lookup/index.ts b/lib/workers/repository/process/lookup/index.ts
index f8f9b4426b..c8a5ed8be9 100644
--- a/lib/workers/repository/process/lookup/index.ts
+++ b/lib/workers/repository/process/lookup/index.ts
@@ -381,10 +381,9 @@ export async function lookupUpdates(
           }
           res.isSingleVersion = true;
         }
-        res.isSingleVersion =
-          !!res.isSingleVersion ||
-          !!versioning.isSingleVersion(update.newValue);
-
+        res.isSingleVersion ??=
+          is.string(update.newValue) &&
+          versioning.isSingleVersion(update.newValue);
         res.updates.push(update);
       }
     } else if (compareValue) {
@@ -455,7 +454,7 @@ export async function lookupUpdates(
       ) {
         for (const update of res.updates) {
           logger.debug({ update });
-          if (is.string(config.currentValue)) {
+          if (is.string(config.currentValue) && is.string(update.newValue)) {
             update.newValue = config.currentValue.replace(
               compareValue,
               update.newValue
-- 
GitLab