From b66df6eb2eaa30849cec093646d2fed86c816338 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Tue, 3 Oct 2023 08:18:27 +0200
Subject: [PATCH] fix(package-rules): matchCurrentVersion with null versioning
 (#24965)

---
 lib/modules/versioning/index.ts                |  6 ++++--
 lib/util/package-rules/current-version.spec.ts | 14 ++++++++++++++
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/lib/modules/versioning/index.ts b/lib/modules/versioning/index.ts
index 893d05a68d..06b02a0bd4 100644
--- a/lib/modules/versioning/index.ts
+++ b/lib/modules/versioning/index.ts
@@ -16,8 +16,10 @@ export const getVersionings = (): Map<
   VersioningApi | VersioningApiConstructor
 > => versionings;
 
-export function get(versioning = ''): VersioningApi {
-  const res = Versioning.safeParse(versioning);
+export function get(versioning: string | null | undefined): VersioningApi {
+  const res = Versioning.safeParse(
+    versioning ? versioning : defaultVersioning.id
+  );
 
   if (!res.success) {
     const [issue] = res.error.issues;
diff --git a/lib/util/package-rules/current-version.spec.ts b/lib/util/package-rules/current-version.spec.ts
index 1ef05c0f2c..a7795b9860 100644
--- a/lib/util/package-rules/current-version.spec.ts
+++ b/lib/util/package-rules/current-version.spec.ts
@@ -5,6 +5,20 @@ describe('util/package-rules/current-version', () => {
   const matcher = new CurrentVersionMatcher();
 
   describe('match', () => {
+    it('returns true for null versioning', () => {
+      const result = matcher.matches(
+        {
+          // @ts-expect-error: for testing
+          versioning: null,
+          currentValue: '1.2.3',
+        },
+        {
+          matchCurrentVersion: '1.2.3',
+        }
+      );
+      expect(result).toBeTrue();
+    });
+
     it('return false on version exception', () => {
       const spy = jest.spyOn(pep440, 'matches').mockImplementationOnce(() => {
         throw new Error();
-- 
GitLab