From ce781fde820f3d99da792460ebbbea2664273586 Mon Sep 17 00:00:00 2001 From: RahulGautamSingh <rahultesnik@gmail.com> Date: Mon, 2 Sep 2024 22:13:28 +0530 Subject: [PATCH] feat(manager/go): support modules without paths (#31155) --- lib/modules/manager/gomod/line-parser.spec.ts | 22 +++++++++++++++++++ lib/modules/manager/gomod/line-parser.ts | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/lib/modules/manager/gomod/line-parser.spec.ts b/lib/modules/manager/gomod/line-parser.spec.ts index deef02e43f..11beed76cf 100644 --- a/lib/modules/manager/gomod/line-parser.spec.ts +++ b/lib/modules/manager/gomod/line-parser.spec.ts @@ -107,6 +107,28 @@ describe('modules/manager/gomod/line-parser', () => { }); }); + it('should parse go modules without paths - 1', () => { + const line = 'require tailscale.com v1.72.0'; + const res = parseLine(line); + expect(res).toStrictEqual({ + currentValue: 'v1.72.0', + datasource: 'go', + depName: 'tailscale.com', + depType: 'require', + }); + }); + + it('should parse go modules without paths - 2', () => { + const line = 'require foo.tailscale.com v1.72.0'; + const res = parseLine(line); + expect(res).toStrictEqual({ + currentValue: 'v1.72.0', + datasource: 'go', + depName: 'foo.tailscale.com', + depType: 'require', + }); + }); + it('should parse require multi-line definition with quotes', () => { const line = ' "foo/foo" v1.2'; const res = parseLine(line); diff --git a/lib/modules/manager/gomod/line-parser.ts b/lib/modules/manager/gomod/line-parser.ts index 58591c7c50..a0b439560c 100644 --- a/lib/modules/manager/gomod/line-parser.ts +++ b/lib/modules/manager/gomod/line-parser.ts @@ -10,7 +10,7 @@ function trimQuotes(str: string): string { } const requireRegex = regEx( - /^(?<keyword>require)?\s+(?<module>[^\s]+\/[^\s]+)\s+(?<version>[^\s]+)(?:\s*\/\/\s*(?<comment>[^\s]+)\s*)?$/, + /^(?<keyword>require)?\s+(?<module>[^\s]+\/?[^\s]+)\s+(?<version>[^\s]+)(?:\s*\/\/\s*(?<comment>[^\s]+)\s*)?$/, ); const replaceRegex = regEx( -- GitLab