From 29da8396b50efa1b84ee8bc302cebceb52df410c Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Fri, 25 Aug 2023 12:26:16 +0200
Subject: [PATCH] chore: improve autoreplace error logging (#24042)

---
 .../repository/update/branch/auto-replace.ts  | 22 ++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/lib/workers/repository/update/branch/auto-replace.ts b/lib/workers/repository/update/branch/auto-replace.ts
index 607f4468e5..6e5bd6e789 100644
--- a/lib/workers/repository/update/branch/auto-replace.ts
+++ b/lib/workers/repository/update/branch/auto-replace.ts
@@ -26,7 +26,27 @@ export async function confirmIfDepUpdated(
     // istanbul ignore if
     if (!newExtract) {
       // TODO: fix types (#22198)
-      logger.debug(`Could not extract ${packageFile!}`);
+      logger.debug(
+        `Could not extract ${packageFile!} (manager=${manager}) after autoreplace. Did the autoreplace make the file unparseable?`
+      );
+      logger.trace(
+        { packageFile, content: newContent },
+        'packageFile content after autoreplace'
+      );
+      return false;
+    }
+    // istanbul ignore if
+    if (!newExtract.deps?.length) {
+      logger.debug(
+        `Extracted ${packageFile!} after autoreplace has no deps array. Did the autoreplace make the file unparseable?`
+      );
+      return false;
+    }
+    // istanbul ignore if
+    if (is.number(depIndex) && depIndex >= newExtract.deps.length) {
+      logger.debug(
+        `Extracted ${packageFile!} after autoreplace has fewer deps than expected.`
+      );
       return false;
     }
     newUpgrade = newExtract.deps[depIndex!];
-- 
GitLab