From 53d8e0b5e7e6a9e01c410da8882ae2aee6d77584 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Wed, 19 Jun 2024 13:19:03 +0200
Subject: [PATCH] fix(dashboard): check packageFiles validity  (#29765)

---
 .../repository/dependency-dashboard.ts        | 24 ++++++++++---------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/lib/workers/repository/dependency-dashboard.ts b/lib/workers/repository/dependency-dashboard.ts
index 0baad23616..a1233d6851 100644
--- a/lib/workers/repository/dependency-dashboard.ts
+++ b/lib/workers/repository/dependency-dashboard.ts
@@ -232,17 +232,19 @@ export async function ensureDependencyDashboard(
     { packageFiles },
     'Checking packageFiles for deprecated packages',
   );
-  for (const [manager, fileNames] of Object.entries(packageFiles)) {
-    for (const fileName of fileNames) {
-      for (const dep of fileName.deps) {
-        const name = dep.packageName ?? dep.depName;
-        const hasReplacement = !!dep.updates?.find(
-          (updates) => updates.updateType === 'replacement',
-        );
-        if (name && (dep.deprecationMessage ?? hasReplacement)) {
-          hasDeprecations = true;
-          deprecatedPackages[manager] ??= {};
-          deprecatedPackages[manager][name] ??= hasReplacement;
+  if (is.nonEmptyObject(packageFiles)) {
+    for (const [manager, fileNames] of Object.entries(packageFiles)) {
+      for (const fileName of fileNames) {
+        for (const dep of fileName.deps) {
+          const name = dep.packageName ?? dep.depName;
+          const hasReplacement = !!dep.updates?.find(
+            (updates) => updates.updateType === 'replacement',
+          );
+          if (name && (dep.deprecationMessage ?? hasReplacement)) {
+            hasDeprecations = true;
+            deprecatedPackages[manager] ??= {};
+            deprecatedPackages[manager][name] ??= hasReplacement;
+          }
         }
       }
     }
-- 
GitLab