From 09b2c106c3ff8f17281f0ebd1211a8838de3ac5d Mon Sep 17 00:00:00 2001
From: RahulGautamSingh <rahultesnik@gmail.com>
Date: Fri, 31 Jan 2025 18:06:49 +0530
Subject: [PATCH] refactor(process/libyear): early return if no
 `releaseTimestamp` for current version (#33967)

---
 lib/workers/repository/process/libyear.spec.ts |  5 ++++-
 lib/workers/repository/process/libyear.ts      | 17 +++++++++--------
 2 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/lib/workers/repository/process/libyear.spec.ts b/lib/workers/repository/process/libyear.spec.ts
index c8e32d80bb..4a4dfb82d1 100644
--- a/lib/workers/repository/process/libyear.spec.ts
+++ b/lib/workers/repository/process/libyear.spec.ts
@@ -83,11 +83,14 @@ describe('workers/repository/process/libyear', () => {
       };
       calculateLibYears(packageFiles);
       expect(logger.logger.debug).toHaveBeenCalledWith(
-        'No releaseTimestamp for some/image update to 2.0.0',
+        'No currentVersionTimestamp for some/image',
       );
       expect(logger.logger.debug).toHaveBeenCalledWith(
         'No releaseTimestamp for dep1 update to 3.0.0',
       );
+      expect(logger.logger.debug).toHaveBeenCalledWith(
+        'No currentVersionTimestamp for dep3',
+      );
       expect(logger.logger.debug).toHaveBeenCalledWith(
         {
           managerLibYears: {
diff --git a/lib/workers/repository/process/libyear.ts b/lib/workers/repository/process/libyear.ts
index f2bf607b2a..d18c50bd07 100644
--- a/lib/workers/repository/process/libyear.ts
+++ b/lib/workers/repository/process/libyear.ts
@@ -13,6 +13,15 @@ export function calculateLibYears(
     for (const file of files) {
       let fileLibYears = 0;
       for (const dep of file.deps) {
+        if (!dep.currentVersionTimestamp) {
+          logger.debug(`No currentVersionTimestamp for ${dep.depName}`);
+          continue;
+        }
+        // timestamps are in ISO format
+        const currentVersionDate = DateTime.fromISO(
+          dep.currentVersionTimestamp,
+        );
+
         if (dep.updates?.length) {
           for (const update of dep.updates) {
             if (!update.releaseTimestamp) {
@@ -21,14 +30,6 @@ export function calculateLibYears(
               );
               continue;
             }
-            if (!dep.currentVersionTimestamp) {
-              logger.debug(`No currentVersionTimestamp for ${dep.depName}`);
-              continue;
-            }
-            // timestamps are in ISO format
-            const currentVersionDate = DateTime.fromISO(
-              dep.currentVersionTimestamp,
-            );
             const releaseDate = DateTime.fromISO(update.releaseTimestamp);
             const libYears = releaseDate.diff(
               currentVersionDate,
-- 
GitLab