From 200d98e67de45c42e2a0e114b75df8b9197ae594 Mon Sep 17 00:00:00 2001
From: StinkyLord <42116482+PhilipAbed@users.noreply.github.com>
Date: Tue, 10 May 2022 08:55:25 +0300
Subject: [PATCH] fix(datasource/go): fix parsing go-source and go-import
 without quotation (#15402)

Co-authored-by: Rhys Arkins <rhys@arkins.net>
---
 lib/modules/datasource/go/base.spec.ts | 17 +++++++++++++++++
 lib/modules/datasource/go/base.ts      |  4 ++--
 2 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/lib/modules/datasource/go/base.spec.ts b/lib/modules/datasource/go/base.spec.ts
index 80e6da2966..00a35b03db 100644
--- a/lib/modules/datasource/go/base.spec.ts
+++ b/lib/modules/datasource/go/base.spec.ts
@@ -271,6 +271,23 @@ describe('modules/datasource/go/base', () => {
           packageName: 'fyne-io/fyne',
         });
       });
+
+      it('handles fyne.io - go-import no quotes', async () => {
+        const meta =
+          '<meta name=go-import content="fyne.io/fyne git https://github.com/fyne-io/fyne">';
+        httpMock
+          .scope('https://fyne.io')
+          .get('/fyne?go-get=1')
+          .reply(200, meta);
+
+        const res = await BaseGoDatasource.getDatasource('fyne.io/fyne');
+
+        expect(res).toEqual({
+          datasource: 'github-tags',
+          registryUrl: 'https://github.com',
+          packageName: 'fyne-io/fyne',
+        });
+      });
     });
   });
 });
diff --git a/lib/modules/datasource/go/base.ts b/lib/modules/datasource/go/base.ts
index 11625dde6f..681e5f8b17 100644
--- a/lib/modules/datasource/go/base.ts
+++ b/lib/modules/datasource/go/base.ts
@@ -73,7 +73,7 @@ export class BaseGoDatasource {
     goModule: string
   ): DataSource | null {
     const sourceMatch = regEx(
-      `<meta\\s+name="go-source"\\s+content="([^\\s]+)\\s+([^\\s]+)`
+      `<meta\\s+name="?go-source"?\\s+content="([^\\s]+)\\s+([^\\s]+)`
     ).exec(res);
     if (!sourceMatch) {
       return null;
@@ -155,7 +155,7 @@ export class BaseGoDatasource {
     goModule: string
   ): DataSource | null {
     const importMatch = regEx(
-      `<meta\\s+name="go-import"\\s+content="([^\\s]+)\\s+([^\\s]+)\\s+([^\\s]+)">`
+      `<meta\\s+name="?go-import"?\\s+content="([^\\s]+)\\s+([^\\s]+)\\s+([^\\s]+)">`
     ).exec(res);
 
     if (!importMatch) {
-- 
GitLab