From 415f5cbb314d392fff92cc57c8d313b28841309f Mon Sep 17 00:00:00 2001
From: Pierre Cavin <me@sherlox.io>
Date: Sun, 29 Dec 2024 18:29:54 +0100
Subject: [PATCH] fix(hex): fix Elixir's special operator in list (#33325)

---
 lib/modules/versioning/hex/index.spec.ts | 1 +
 lib/modules/versioning/hex/index.ts      | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/modules/versioning/hex/index.spec.ts b/lib/modules/versioning/hex/index.spec.ts
index 11a70b073c..ad88fa8c09 100644
--- a/lib/modules/versioning/hex/index.spec.ts
+++ b/lib/modules/versioning/hex/index.spec.ts
@@ -76,6 +76,7 @@ describe('modules/versioning/hex/index', () => {
     ${'~> 1.2.0'}              | ${'replace'}         | ${'1.2.3'}     | ${'2.0.7'} | ${'~> 2.0.0'}
     ${'~> 1.2.0'}              | ${'pin'}             | ${'1.2.3'}     | ${'2.0.7'} | ${'== 2.0.7'}
     ${'~> 1.2.0'}              | ${'bump'}            | ${'1.2.3'}     | ${'2.0.7'} | ${'~> 2.0.7'}
+    ${'~> 0.2 and <= 0.2.6'}   | ${'widen'}           | ${'0.2.6'}     | ${'0.2.8'} | ${'~> 0.2 and <= 0.2.8'}
     ${'>= 1.0.0 and <= 2.0.0'} | ${'widen'}           | ${'1.2.3'}     | ${'2.0.7'} | ${'>= 1.0.0 and <= 2.0.7'}
     ${'>= 1.0.0 and <= 2.0.0'} | ${'replace'}         | ${'1.2.3'}     | ${'2.0.7'} | ${'<= 2.0.7'}
     ${'>= 1.0.0 and <= 2.0.0'} | ${'pin'}             | ${'1.2.3'}     | ${'2.0.7'} | ${'== 2.0.7'}
diff --git a/lib/modules/versioning/hex/index.ts b/lib/modules/versioning/hex/index.ts
index f82d9f9b1b..6dc5af45df 100644
--- a/lib/modules/versioning/hex/index.ts
+++ b/lib/modules/versioning/hex/index.ts
@@ -31,7 +31,7 @@ function npm2hex(input: string): string {
     .map((str) => str.trim())
     .filter((str) => str !== '');
   let output = '';
-  const operators = ['^', '=', '>', '<', '<=', '>=', '~'];
+  const operators = ['^', '=', '>', '<', '<=', '>=', '~>'];
   for (let i = 0; i < res.length; i += 1) {
     if (i === res.length - 1) {
       output += res[i];
-- 
GitLab