diff --git a/lib/datasource/go/goproxy.spec.ts b/lib/datasource/go/goproxy.spec.ts index 60cdf12c09b1a2..fb5ddc6879d78e 100644 --- a/lib/datasource/go/goproxy.spec.ts +++ b/lib/datasource/go/goproxy.spec.ts @@ -98,6 +98,7 @@ describe('datasource/go/goproxy', () => { expect(parseNoproxy('[abc]')?.source).toEqual('^(?:[abc])$'); expect(parseNoproxy('[a-c]')?.source).toEqual('^(?:[a-c])$'); expect(parseNoproxy('[\\a-\\c]')?.source).toEqual('^(?:[a-c])$'); + expect(parseNoproxy('a.b.c')?.source).toEqual('^(?:a\\.b\\.c)$'); }); it('matches on real package prefixes', () => { diff --git a/lib/datasource/go/goproxy.ts b/lib/datasource/go/goproxy.ts index b6e6fb97adeee1..6eab2abde0f1c8 100644 --- a/lib/datasource/go/goproxy.ts +++ b/lib/datasource/go/goproxy.ts @@ -79,7 +79,10 @@ const lexer = moo.states({ push: 'characterRange', value: (_: string) => '[', }, - char: /[^*?\\[\n]/, // TODO #12070 + char: { + match: /[^*?\\[\n]/, + value: (s: string) => s.replace(regEx('\\.', 'g'), '\\.'), + }, escapedChar: { match: /\\./, // TODO #12070 value: (s: string) => s.slice(1),