From 6cc2e5011682adb0052705040b1d82d81c1fcf33 Mon Sep 17 00:00:00 2001 From: Michael Kriese <michael.kriese@visualon.de> Date: Thu, 11 Feb 2021 10:29:42 +0100 Subject: [PATCH] fix: reduce code issues (#8639) Co-authored-by: Charles Korn <charleskorn@users.noreply.github.com> --- .../__fixtures__/{Dockerfile1 => 1.Dockerfile} | 0 .../__fixtures__/{Dockerfile2 => 2.Dockerfile} | 12 +----------- .../__snapshots__/extract.spec.ts.snap | 18 ------------------ lib/manager/dockerfile/extract.spec.ts | 6 +++--- lib/manager/dockerfile/extract.ts | 4 ++-- lib/manager/gradle-lite/utils.spec.ts | 1 + lib/manager/gradle-lite/utils.ts | 2 +- 7 files changed, 8 insertions(+), 35 deletions(-) rename lib/manager/dockerfile/__fixtures__/{Dockerfile1 => 1.Dockerfile} (100%) rename lib/manager/dockerfile/__fixtures__/{Dockerfile2 => 2.Dockerfile} (82%) diff --git a/lib/manager/dockerfile/__fixtures__/Dockerfile1 b/lib/manager/dockerfile/__fixtures__/1.Dockerfile similarity index 100% rename from lib/manager/dockerfile/__fixtures__/Dockerfile1 rename to lib/manager/dockerfile/__fixtures__/1.Dockerfile diff --git a/lib/manager/dockerfile/__fixtures__/Dockerfile2 b/lib/manager/dockerfile/__fixtures__/2.Dockerfile similarity index 82% rename from lib/manager/dockerfile/__fixtures__/Dockerfile2 rename to lib/manager/dockerfile/__fixtures__/2.Dockerfile index 2c2320d277..7d183600c4 100644 --- a/lib/manager/dockerfile/__fixtures__/Dockerfile2 +++ b/lib/manager/dockerfile/__fixtures__/2.Dockerfile @@ -21,23 +21,13 @@ FROM\ COPY --from=image6 /path/1 /path/2 COPY \ + # comment1 --from=image7:1.0.0@sha256:abcdef \ /path/1 \ /path/2 # COPY --from=image8 -COPY --from=image9 - -COPY\ - --chown=root \ - # comment1 -# - #comment2 - --from=image10 - # comment2 - path1 path2 - COPY --chown=root --from=image11 / ./ COPY \ diff --git a/lib/manager/dockerfile/__snapshots__/extract.spec.ts.snap b/lib/manager/dockerfile/__snapshots__/extract.spec.ts.snap index 7c0f296961..69e2aacbd4 100644 --- a/lib/manager/dockerfile/__snapshots__/extract.spec.ts.snap +++ b/lib/manager/dockerfile/__snapshots__/extract.spec.ts.snap @@ -89,24 +89,6 @@ Array [ "depType": "stage", "replaceString": "image7:1.0.0@sha256:abcdef", }, - Object { - "autoReplaceStringTemplate": "{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}", - "currentDigest": undefined, - "currentValue": undefined, - "datasource": "docker", - "depName": "image9", - "depType": "stage", - "replaceString": "image9", - }, - Object { - "autoReplaceStringTemplate": "{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}", - "currentDigest": undefined, - "currentValue": undefined, - "datasource": "docker", - "depName": "image10", - "depType": "stage", - "replaceString": "image10", - }, Object { "autoReplaceStringTemplate": "{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}", "currentDigest": undefined, diff --git a/lib/manager/dockerfile/extract.spec.ts b/lib/manager/dockerfile/extract.spec.ts index 347664ebde..b612546790 100644 --- a/lib/manager/dockerfile/extract.spec.ts +++ b/lib/manager/dockerfile/extract.spec.ts @@ -2,12 +2,12 @@ import { readFileSync } from 'fs'; import { extractPackageFile, getDep } from './extract'; const d1 = readFileSync( - 'lib/manager/dockerfile/__fixtures__/Dockerfile1', + 'lib/manager/dockerfile/__fixtures__/1.Dockerfile', 'utf8' ); const d2 = readFileSync( - 'lib/manager/dockerfile/__fixtures__/Dockerfile2', + 'lib/manager/dockerfile/__fixtures__/2.Dockerfile', 'utf8' ); @@ -150,7 +150,7 @@ describe('lib/manager/dockerfile/extract', () => { it('extracts images from all sorts of (maybe multiline) FROM and COPY --from statements', () => { const res = extractPackageFile(d2).deps; expect(res).toMatchSnapshot(); - expect(res).toHaveLength(11); + expect(res).toHaveLength(9); }); it('handles calico/node', () => { const res = extractPackageFile('FROM calico/node\n').deps; diff --git a/lib/manager/dockerfile/extract.ts b/lib/manager/dockerfile/extract.ts index 6705b9ea2a..6019a926b0 100644 --- a/lib/manager/dockerfile/extract.ts +++ b/lib/manager/dockerfile/extract.ts @@ -67,7 +67,7 @@ export function extractPackageFile(content: string): PackageFile | null { const stageNames: string[] = []; const fromMatches = content.matchAll( - /^[ \t]*FROM(?:\\\r?\n| |\t|#.*\r?\n|-\S+)+(?<image>\S+)(?:(?:\\\r?\n| |\t|#.*\r?\n)+as[ \t]+(?<name>\S+))?/gim + /^[ \t]*FROM(?:\\\r?\n| |\t|#.*?\r?\n|[ \t]--[a-z]+=\w+?)*[ \t](?<image>\S+)(?:(?:\\\r?\n| |\t|#.*\r?\n)+as[ \t]+(?<name>\S+))?/gim ); for (const fromMatch of fromMatches) { @@ -94,7 +94,7 @@ export function extractPackageFile(content: string): PackageFile | null { } const copyFromMatches = content.matchAll( - /^[ \t]*COPY(?:\\\r?\n| |\t|#.*\r?\n|-\S+)+--from=(?<image>\S+)/gim + /^[ \t]*COPY(?:\\\r?\n| |\t|#.*\r?\n|[ \t]--[a-z]+=\w+?)*[ \t]--from=(?<image>\S+)/gim ); for (const copyFromMatch of copyFromMatches) { diff --git a/lib/manager/gradle-lite/utils.spec.ts b/lib/manager/gradle-lite/utils.spec.ts index 9f014b1e49..639128ca96 100644 --- a/lib/manager/gradle-lite/utils.spec.ts +++ b/lib/manager/gradle-lite/utils.spec.ts @@ -42,6 +42,7 @@ describe('manager/gradle-lite/utils', () => { expect(isDependencyString("foo:bar:1.2.3'")).toBe(false); expect(isDependencyString('foo:bar:1.2.3"')).toBe(false); expect(isDependencyString('-Xep:ParameterName:OFF')).toBe(false); + expect(isDependencyString('foo$bar:baz:1.2.+')).toBe(false); }); it('parseDependencyString', () => { diff --git a/lib/manager/gradle-lite/utils.ts b/lib/manager/gradle-lite/utils.ts index daf53ca4fc..3731d895d8 100644 --- a/lib/manager/gradle-lite/utils.ts +++ b/lib/manager/gradle-lite/utils.ts @@ -10,7 +10,7 @@ import { } from './common'; const artifactRegex = regEx( - '^[a-zA-Z][-_a-zA-Z0-9]*(?:.[a-zA-Z0-9][-_a-zA-Z0-9]*)*$' + '^[a-zA-Z][-_a-zA-Z0-9]*(?:\\.[a-zA-Z0-9][-_a-zA-Z0-9]*?)*$' ); const versionLikeRegex = regEx('^(?<version>[-.\\[\\](),a-zA-Z0-9+]+)'); -- GitLab