renovate 43.272.8 → 43.272.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -164,7 +164,7 @@ function extractPackageFile(content, _packageFile, config) {
164
164
  if (argMatch?.groups?.name) {
165
165
  argsLines[argMatch.groups.name] = [lineNumberInstrStart, lineNumber];
166
166
  let argMatchValue = argMatch.groups?.value;
167
- if (argMatchValue.startsWith("\"") && argMatchValue.endsWith("\"")) argMatchValue = argMatchValue.slice(1, -1);
167
+ if (argMatchValue.startsWith("\"") && argMatchValue.endsWith("\"") || argMatchValue.startsWith("'") && argMatchValue.endsWith("'")) argMatchValue = argMatchValue.slice(1, -1);
168
168
  args[argMatch.groups.name] = argMatchValue || "";
169
169
  }
170
170
  const fromRegex = new RegExp(`^[ \\t]*FROM(?:${escapeChar}[ \\t]*\\r?\\n| |\\t|#.*?\\r?\\n|--platform=\\S+)+(?<image>\\S+)(?:(?:${escapeChar}[ \\t]*\\r?\\n| |\\t|#.*?\\r?\\n)+as[ \\t]+(?<name>\\S+))?`, "im");
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","names":["ubuntuVersioning.id","debianVersioning.id"],"sources":["../../../../lib/modules/manager/dockerfile/extract.ts"],"sourcesContent":["import { isNonEmptyStringAndNotWhitespace, isString } from '@sindresorhus/is';\nimport { logger } from '../../../logger/index.ts';\nimport { newlineRegex, regEx } from '../../../util/regex.ts';\nimport { DockerDatasource } from '../../datasource/docker/index.ts';\nimport * as debianVersioning from '../../versioning/debian/index.ts';\nimport * as ubuntuVersioning from '../../versioning/ubuntu/index.ts';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types.ts';\n\nconst variableMarker = '$';\n\nexport function extractVariables(image: string): Record<string, string> {\n const variables: Record<string, string> = {};\n const variableRegex = regEx(\n /(?<fullvariable>\\\\?\\$(?<simplearg>\\w+)|\\\\?\\${(?<complexarg>\\w+)(?::.+?)?}+)/gi,\n );\n\n let match: RegExpExecArray | null;\n do {\n match = variableRegex.exec(image);\n if (match?.groups?.fullvariable) {\n variables[match.groups.fullvariable] =\n match.groups?.simplearg || match.groups?.complexarg;\n }\n } while (match);\n\n return variables;\n}\n\nfunction getAutoReplaceTemplate(dep: PackageDependency): string | undefined {\n let template = dep.replaceString;\n\n if (dep.currentValue) {\n let placeholder = '{{#if newValue}}{{newValue}}{{/if}}';\n if (!dep.currentDigest) {\n placeholder += '{{#if newDigest}}@{{newDigest}}{{/if}}';\n }\n template = template?.replace(dep.currentValue, placeholder);\n }\n\n if (dep.currentDigest) {\n template = template?.replace(\n dep.currentDigest,\n '{{#if newDigest}}{{newDigest}}{{/if}}',\n );\n }\n\n return template;\n}\n\nfunction processDepForAutoReplace(\n dep: PackageDependency,\n lineNumberRanges: number[][],\n lines: string[],\n linefeed: string,\n): void {\n const lineNumberRangesToReplace: number[][] = [];\n for (const lineNumberRange of lineNumberRanges) {\n for (const lineNumber of lineNumberRange) {\n if (\n (isString(dep.currentValue) &&\n lines[lineNumber].includes(dep.currentValue)) ||\n (isString(dep.currentDigest) &&\n lines[lineNumber].includes(dep.currentDigest))\n ) {\n lineNumberRangesToReplace.push(lineNumberRange);\n }\n }\n }\n\n lineNumberRangesToReplace.sort((a, b) => {\n return a[0] - b[0];\n });\n\n const minLine = lineNumberRangesToReplace[0]?.[0];\n const maxLine = lineNumberRangesToReplace.at(-1)?.[1];\n if (\n lineNumberRanges.length === 1 ||\n minLine === undefined ||\n maxLine === undefined\n ) {\n return;\n }\n\n const unfoldedLineNumbers = Array.from(\n { length: maxLine - minLine + 1 },\n (_v, k) => k + minLine,\n );\n\n dep.replaceString = unfoldedLineNumbers\n .map((lineNumber) => lines[lineNumber])\n .join(linefeed);\n\n if (!dep.currentDigest) {\n dep.replaceString += linefeed;\n }\n\n dep.autoReplaceStringTemplate = getAutoReplaceTemplate(dep);\n}\n\nexport function splitImageParts(currentFrom: string): PackageDependency {\n let isVariable = false;\n let cleanedCurrentFrom = currentFrom;\n\n // Check if we have a variable in format of \"${VARIABLE:-<image>:<defaultVal>@<digest>}\"\n // If so, remove everything except the image, defaultVal and digest.\n if (cleanedCurrentFrom?.includes(variableMarker)) {\n const defaultValueRegex = regEx(/^\\${.+?:-\"?(?<value>.*?)\"?}$/);\n const defaultValueMatch =\n defaultValueRegex.exec(cleanedCurrentFrom)?.groups;\n if (defaultValueMatch?.value) {\n isVariable = true;\n cleanedCurrentFrom = defaultValueMatch.value;\n }\n\n if (cleanedCurrentFrom?.includes(variableMarker)) {\n // If cleanedCurrentFrom contains a variable, after cleaning, e.g. \"$REGISTRY/alpine\", we do not support this.\n return {\n skipReason: 'contains-variable',\n };\n }\n }\n\n const [currentDepTag, currentDigest] = cleanedCurrentFrom.split('@');\n const depTagSplit = currentDepTag.split(':');\n let depName: string;\n let currentValue: string | undefined;\n if (depTagSplit.length === 1 || depTagSplit.at(-1)!.includes('/')) {\n depName = currentDepTag;\n } else {\n currentValue = depTagSplit.pop();\n depName = depTagSplit.join(':');\n }\n\n const dep: PackageDependency = {\n depName,\n packageName: depName,\n currentValue,\n currentDigest,\n };\n\n if (isVariable) {\n dep.replaceString = cleanedCurrentFrom;\n\n if (!dep.currentValue) {\n delete dep.currentValue;\n }\n\n if (!dep.currentDigest) {\n delete dep.currentDigest;\n }\n }\n\n return dep;\n}\n\nconst quayRegex = regEx(/^quay\\.io(?::[1-9][0-9]{0,4})?/i);\n\nexport function getDep(\n currentFrom: string | null | undefined,\n specifyReplaceString = true,\n registryAliases?: Record<string, string>,\n): PackageDependency {\n if (\n !isString(currentFrom) ||\n !isNonEmptyStringAndNotWhitespace(currentFrom)\n ) {\n return {\n skipReason: 'invalid-value',\n };\n }\n\n // Resolve registry aliases first so that we don't need special casing later on:\n for (const [name, value] of Object.entries(registryAliases ?? {})) {\n if (currentFrom.startsWith(`${name}/`)) {\n const depName = currentFrom.substring(name.length + 1);\n const dep = getDep(`${value}/${depName}`, false);\n // retain depName, not sure if condition is necessary\n if (dep.depName?.startsWith(value)) {\n dep.packageName = dep.depName;\n dep.depName = `${name}/${dep.depName.substring(value.length + 1)}`;\n }\n if (specifyReplaceString) {\n dep.replaceString = currentFrom;\n dep.autoReplaceStringTemplate = getAutoReplaceTemplate(dep);\n }\n return dep;\n }\n }\n\n const dep = splitImageParts(currentFrom);\n if (specifyReplaceString) {\n dep.replaceString ??= currentFrom;\n dep.autoReplaceStringTemplate =\n '{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}';\n }\n dep.datasource = DockerDatasource.id;\n\n // Pretty up special prefixes\n if (dep.depName) {\n const specialPrefixes = ['amd64', 'arm64', 'library'];\n for (const prefix of specialPrefixes) {\n if (dep.depName.startsWith(`${prefix}/`)) {\n dep.depName = dep.depName.replace(`${prefix}/`, '');\n if (specifyReplaceString) {\n dep.autoReplaceStringTemplate =\n '{{packageName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}';\n }\n }\n }\n }\n\n if (dep.depName === 'ubuntu' || dep.depName?.endsWith('/ubuntu')) {\n dep.versioning = ubuntuVersioning.id;\n }\n\n if (\n (dep.depName === 'debian' || dep.depName?.endsWith('/debian')) &&\n debianVersioning.api.isVersion(dep.currentValue)\n ) {\n dep.versioning = debianVersioning.id;\n }\n\n // Don't display quay.io ports\n if (dep.depName && quayRegex.test(dep.depName)) {\n const depName = dep.depName.replace(quayRegex, 'quay.io');\n if (depName !== dep.depName) {\n dep.depName = depName;\n dep.autoReplaceStringTemplate =\n '{{packageName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}';\n }\n }\n\n return dep;\n}\n\nexport function extractPackageFile(\n content: string,\n _packageFile: string,\n config: ExtractConfig,\n): PackageFileContent | null {\n const sanitizedContent = content.replace(regEx(/^\\uFEFF/), ''); // remove bom marker\n const deps: PackageDependency[] = [];\n const stageNames: string[] = [];\n const args: Record<string, string> = {};\n const argsLines: Record<string, number[]> = {};\n\n let escapeChar = '\\\\\\\\';\n let lookForEscapeChar = true;\n let lookForSyntaxDirective = true;\n\n const lineFeed = sanitizedContent.includes('\\r\\n') ? '\\r\\n' : '\\n';\n const lines = sanitizedContent.split(newlineRegex);\n for (let lineNumber = 0; lineNumber < lines.length; ) {\n const lineNumberInstrStart = lineNumber;\n let instruction = lines[lineNumber];\n\n if (lookForEscapeChar) {\n const directivesMatch = regEx(\n /^[ \\t]*#[ \\t]*(?<directive>syntax|escape)[ \\t]*=[ \\t]*(?<escapeChar>\\S)/i,\n ).exec(instruction);\n if (!directivesMatch) {\n lookForEscapeChar = false;\n } else if (directivesMatch.groups?.directive.toLowerCase() === 'escape') {\n if (directivesMatch.groups?.escapeChar === '`') {\n escapeChar = '`';\n }\n lookForEscapeChar = false;\n }\n }\n\n if (lookForSyntaxDirective) {\n const syntaxRegex = regEx(\n '^#[ \\\\t]*syntax[ \\\\t]*=[ \\\\t]*(?<image>\\\\S+)',\n 'im',\n );\n const syntaxMatch = instruction.match(syntaxRegex);\n if (syntaxMatch?.groups?.image) {\n const syntaxImage = syntaxMatch.groups.image;\n const lineNumberRanges: number[][] = [\n [lineNumberInstrStart, lineNumber],\n ];\n const dep = getDep(syntaxImage, true, config.registryAliases);\n dep.depType = 'syntax';\n processDepForAutoReplace(dep, lineNumberRanges, lines, lineFeed);\n logger.trace(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Dockerfile # syntax',\n );\n deps.push(dep);\n }\n lookForSyntaxDirective = false;\n }\n\n const lineContinuationRegex = regEx(`${escapeChar}[ \\\\t]*$|^[ \\\\t]*#`, 'm');\n let lineLookahead = instruction;\n while (\n !lookForEscapeChar &&\n !instruction.trimStart().startsWith('#') &&\n lineContinuationRegex.test(lineLookahead)\n ) {\n lineLookahead = lines[++lineNumber] || '';\n instruction += `\\n${lineLookahead}`;\n }\n\n const argRegex = regEx(\n `^[ \\\\t]*ARG(?:${escapeChar}[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n)+(?<name>\\\\w+)[ =](?<value>\\\\S*)`,\n 'im',\n );\n const argMatch = argRegex.exec(instruction);\n if (argMatch?.groups?.name) {\n argsLines[argMatch.groups.name] = [lineNumberInstrStart, lineNumber];\n let argMatchValue = argMatch.groups?.value;\n\n if (argMatchValue.startsWith('\"') && argMatchValue.endsWith('\"')) {\n argMatchValue = argMatchValue.slice(1, -1);\n }\n\n args[argMatch.groups.name] = argMatchValue || '';\n }\n\n const fromRegex = new RegExp(\n `^[ \\\\t]*FROM(?:${escapeChar}[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n|--platform=\\\\S+)+(?<image>\\\\S+)(?:(?:${escapeChar}[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n)+as[ \\\\t]+(?<name>\\\\S+))?`,\n 'im',\n ); // TODO #12875 complex for re2 has too many not supported groups\n const fromMatch = instruction.match(fromRegex);\n if (fromMatch?.groups?.image) {\n let fromImage = fromMatch.groups.image;\n const lineNumberRanges: number[][] = [[lineNumberInstrStart, lineNumber]];\n\n if (fromImage.includes(variableMarker)) {\n const variables = extractVariables(fromImage);\n for (const [fullVariable, argName] of Object.entries(variables)) {\n const resolvedArgValue = args[argName];\n if (resolvedArgValue || resolvedArgValue === '') {\n fromImage = fromImage.replaceAll(fullVariable, resolvedArgValue);\n lineNumberRanges.push(argsLines[argName]);\n }\n }\n }\n\n if (fromMatch.groups?.name) {\n logger.debug(\n `Found a multistage build stage name: ${fromMatch.groups.name}`,\n );\n stageNames.push(fromMatch.groups.name);\n }\n if (fromImage === 'scratch') {\n logger.debug('Skipping scratch');\n } else if (fromImage && stageNames.includes(fromImage)) {\n logger.debug(`Skipping alias FROM image:${fromImage}`);\n } else {\n const dep = getDep(fromImage, true, config.registryAliases);\n processDepForAutoReplace(dep, lineNumberRanges, lines, lineFeed);\n logger.trace(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Dockerfile FROM',\n );\n deps.push(dep);\n }\n }\n\n const copyFromRegex = new RegExp(\n `^[ \\\\t]*COPY(?:${escapeChar}[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n|--[a-z]+(?:=[a-zA-Z0-9_.:-]+?)?)+--from=(?<image>\\\\S+)`,\n 'im',\n ); // TODO #12875 complex for re2 has too many not supported groups\n const copyFromMatch = instruction.match(copyFromRegex);\n if (copyFromMatch?.groups?.image) {\n if (stageNames.includes(copyFromMatch.groups.image)) {\n logger.debug(\n { image: copyFromMatch.groups.image },\n 'Skipping alias COPY --from',\n );\n } else if (Number.isNaN(Number(copyFromMatch.groups.image))) {\n const dep = getDep(\n copyFromMatch.groups.image,\n true,\n config.registryAliases,\n );\n const lineNumberRanges: number[][] = [\n [lineNumberInstrStart, lineNumber],\n ];\n processDepForAutoReplace(dep, lineNumberRanges, lines, lineFeed);\n logger.debug(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Dockerfile COPY --from',\n );\n deps.push(dep);\n } else {\n logger.debug(\n { image: copyFromMatch.groups.image },\n 'Skipping index reference COPY --from',\n );\n }\n }\n\n const runMountFromRegex = regEx(\n `^[ \\\\t]*RUN(?:${escapeChar}[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n|--[a-z]+(?:=[a-zA-Z0-9_.:-]+?)?)+--mount=(?:\\\\S*=\\\\S*,)*from=(?<image>[^, ]+)`,\n 'im',\n );\n const runMountFromMatch = instruction.match(runMountFromRegex);\n if (runMountFromMatch?.groups?.image) {\n if (stageNames.includes(runMountFromMatch.groups.image)) {\n logger.debug(\n { image: runMountFromMatch.groups.image },\n 'Skipping alias RUN --mount=from',\n );\n } else {\n const dep = getDep(\n runMountFromMatch.groups.image,\n true,\n config.registryAliases,\n );\n const lineNumberRanges: number[][] = [\n [lineNumberInstrStart, lineNumber],\n ];\n processDepForAutoReplace(dep, lineNumberRanges, lines, lineFeed);\n logger.debug(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Dockerfile RUN --mount=from',\n );\n deps.push(dep);\n }\n }\n\n lineNumber += 1;\n }\n\n if (!deps.length) {\n return null;\n }\n for (const d of deps) {\n d.depType ??= 'stage';\n }\n deps.at(-1)!.depType = 'final';\n return { deps };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"extract.js","names":["ubuntuVersioning.id","debianVersioning.id"],"sources":["../../../../lib/modules/manager/dockerfile/extract.ts"],"sourcesContent":["import { isNonEmptyStringAndNotWhitespace, isString } from '@sindresorhus/is';\nimport { logger } from '../../../logger/index.ts';\nimport { newlineRegex, regEx } from '../../../util/regex.ts';\nimport { DockerDatasource } from '../../datasource/docker/index.ts';\nimport * as debianVersioning from '../../versioning/debian/index.ts';\nimport * as ubuntuVersioning from '../../versioning/ubuntu/index.ts';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types.ts';\n\nconst variableMarker = '$';\n\nexport function extractVariables(image: string): Record<string, string> {\n const variables: Record<string, string> = {};\n const variableRegex = regEx(\n /(?<fullvariable>\\\\?\\$(?<simplearg>\\w+)|\\\\?\\${(?<complexarg>\\w+)(?::.+?)?}+)/gi,\n );\n\n let match: RegExpExecArray | null;\n do {\n match = variableRegex.exec(image);\n if (match?.groups?.fullvariable) {\n variables[match.groups.fullvariable] =\n match.groups?.simplearg || match.groups?.complexarg;\n }\n } while (match);\n\n return variables;\n}\n\nfunction getAutoReplaceTemplate(dep: PackageDependency): string | undefined {\n let template = dep.replaceString;\n\n if (dep.currentValue) {\n let placeholder = '{{#if newValue}}{{newValue}}{{/if}}';\n if (!dep.currentDigest) {\n placeholder += '{{#if newDigest}}@{{newDigest}}{{/if}}';\n }\n template = template?.replace(dep.currentValue, placeholder);\n }\n\n if (dep.currentDigest) {\n template = template?.replace(\n dep.currentDigest,\n '{{#if newDigest}}{{newDigest}}{{/if}}',\n );\n }\n\n return template;\n}\n\nfunction processDepForAutoReplace(\n dep: PackageDependency,\n lineNumberRanges: number[][],\n lines: string[],\n linefeed: string,\n): void {\n const lineNumberRangesToReplace: number[][] = [];\n for (const lineNumberRange of lineNumberRanges) {\n for (const lineNumber of lineNumberRange) {\n if (\n (isString(dep.currentValue) &&\n lines[lineNumber].includes(dep.currentValue)) ||\n (isString(dep.currentDigest) &&\n lines[lineNumber].includes(dep.currentDigest))\n ) {\n lineNumberRangesToReplace.push(lineNumberRange);\n }\n }\n }\n\n lineNumberRangesToReplace.sort((a, b) => {\n return a[0] - b[0];\n });\n\n const minLine = lineNumberRangesToReplace[0]?.[0];\n const maxLine = lineNumberRangesToReplace.at(-1)?.[1];\n if (\n lineNumberRanges.length === 1 ||\n minLine === undefined ||\n maxLine === undefined\n ) {\n return;\n }\n\n const unfoldedLineNumbers = Array.from(\n { length: maxLine - minLine + 1 },\n (_v, k) => k + minLine,\n );\n\n dep.replaceString = unfoldedLineNumbers\n .map((lineNumber) => lines[lineNumber])\n .join(linefeed);\n\n if (!dep.currentDigest) {\n dep.replaceString += linefeed;\n }\n\n dep.autoReplaceStringTemplate = getAutoReplaceTemplate(dep);\n}\n\nexport function splitImageParts(currentFrom: string): PackageDependency {\n let isVariable = false;\n let cleanedCurrentFrom = currentFrom;\n\n // Check if we have a variable in format of \"${VARIABLE:-<image>:<defaultVal>@<digest>}\"\n // If so, remove everything except the image, defaultVal and digest.\n if (cleanedCurrentFrom?.includes(variableMarker)) {\n const defaultValueRegex = regEx(/^\\${.+?:-\"?(?<value>.*?)\"?}$/);\n const defaultValueMatch =\n defaultValueRegex.exec(cleanedCurrentFrom)?.groups;\n if (defaultValueMatch?.value) {\n isVariable = true;\n cleanedCurrentFrom = defaultValueMatch.value;\n }\n\n if (cleanedCurrentFrom?.includes(variableMarker)) {\n // If cleanedCurrentFrom contains a variable, after cleaning, e.g. \"$REGISTRY/alpine\", we do not support this.\n return {\n skipReason: 'contains-variable',\n };\n }\n }\n\n const [currentDepTag, currentDigest] = cleanedCurrentFrom.split('@');\n const depTagSplit = currentDepTag.split(':');\n let depName: string;\n let currentValue: string | undefined;\n if (depTagSplit.length === 1 || depTagSplit.at(-1)!.includes('/')) {\n depName = currentDepTag;\n } else {\n currentValue = depTagSplit.pop();\n depName = depTagSplit.join(':');\n }\n\n const dep: PackageDependency = {\n depName,\n packageName: depName,\n currentValue,\n currentDigest,\n };\n\n if (isVariable) {\n dep.replaceString = cleanedCurrentFrom;\n\n if (!dep.currentValue) {\n delete dep.currentValue;\n }\n\n if (!dep.currentDigest) {\n delete dep.currentDigest;\n }\n }\n\n return dep;\n}\n\nconst quayRegex = regEx(/^quay\\.io(?::[1-9][0-9]{0,4})?/i);\n\nexport function getDep(\n currentFrom: string | null | undefined,\n specifyReplaceString = true,\n registryAliases?: Record<string, string>,\n): PackageDependency {\n if (\n !isString(currentFrom) ||\n !isNonEmptyStringAndNotWhitespace(currentFrom)\n ) {\n return {\n skipReason: 'invalid-value',\n };\n }\n\n // Resolve registry aliases first so that we don't need special casing later on:\n for (const [name, value] of Object.entries(registryAliases ?? {})) {\n if (currentFrom.startsWith(`${name}/`)) {\n const depName = currentFrom.substring(name.length + 1);\n const dep = getDep(`${value}/${depName}`, false);\n // retain depName, not sure if condition is necessary\n if (dep.depName?.startsWith(value)) {\n dep.packageName = dep.depName;\n dep.depName = `${name}/${dep.depName.substring(value.length + 1)}`;\n }\n if (specifyReplaceString) {\n dep.replaceString = currentFrom;\n dep.autoReplaceStringTemplate = getAutoReplaceTemplate(dep);\n }\n return dep;\n }\n }\n\n const dep = splitImageParts(currentFrom);\n if (specifyReplaceString) {\n dep.replaceString ??= currentFrom;\n dep.autoReplaceStringTemplate =\n '{{depName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}';\n }\n dep.datasource = DockerDatasource.id;\n\n // Pretty up special prefixes\n if (dep.depName) {\n const specialPrefixes = ['amd64', 'arm64', 'library'];\n for (const prefix of specialPrefixes) {\n if (dep.depName.startsWith(`${prefix}/`)) {\n dep.depName = dep.depName.replace(`${prefix}/`, '');\n if (specifyReplaceString) {\n dep.autoReplaceStringTemplate =\n '{{packageName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}';\n }\n }\n }\n }\n\n if (dep.depName === 'ubuntu' || dep.depName?.endsWith('/ubuntu')) {\n dep.versioning = ubuntuVersioning.id;\n }\n\n if (\n (dep.depName === 'debian' || dep.depName?.endsWith('/debian')) &&\n debianVersioning.api.isVersion(dep.currentValue)\n ) {\n dep.versioning = debianVersioning.id;\n }\n\n // Don't display quay.io ports\n if (dep.depName && quayRegex.test(dep.depName)) {\n const depName = dep.depName.replace(quayRegex, 'quay.io');\n if (depName !== dep.depName) {\n dep.depName = depName;\n dep.autoReplaceStringTemplate =\n '{{packageName}}{{#if newValue}}:{{newValue}}{{/if}}{{#if newDigest}}@{{newDigest}}{{/if}}';\n }\n }\n\n return dep;\n}\n\nexport function extractPackageFile(\n content: string,\n _packageFile: string,\n config: ExtractConfig,\n): PackageFileContent | null {\n const sanitizedContent = content.replace(regEx(/^\\uFEFF/), ''); // remove bom marker\n const deps: PackageDependency[] = [];\n const stageNames: string[] = [];\n const args: Record<string, string> = {};\n const argsLines: Record<string, number[]> = {};\n\n let escapeChar = '\\\\\\\\';\n let lookForEscapeChar = true;\n let lookForSyntaxDirective = true;\n\n const lineFeed = sanitizedContent.includes('\\r\\n') ? '\\r\\n' : '\\n';\n const lines = sanitizedContent.split(newlineRegex);\n for (let lineNumber = 0; lineNumber < lines.length; ) {\n const lineNumberInstrStart = lineNumber;\n let instruction = lines[lineNumber];\n\n if (lookForEscapeChar) {\n const directivesMatch = regEx(\n /^[ \\t]*#[ \\t]*(?<directive>syntax|escape)[ \\t]*=[ \\t]*(?<escapeChar>\\S)/i,\n ).exec(instruction);\n if (!directivesMatch) {\n lookForEscapeChar = false;\n } else if (directivesMatch.groups?.directive.toLowerCase() === 'escape') {\n if (directivesMatch.groups?.escapeChar === '`') {\n escapeChar = '`';\n }\n lookForEscapeChar = false;\n }\n }\n\n if (lookForSyntaxDirective) {\n const syntaxRegex = regEx(\n '^#[ \\\\t]*syntax[ \\\\t]*=[ \\\\t]*(?<image>\\\\S+)',\n 'im',\n );\n const syntaxMatch = instruction.match(syntaxRegex);\n if (syntaxMatch?.groups?.image) {\n const syntaxImage = syntaxMatch.groups.image;\n const lineNumberRanges: number[][] = [\n [lineNumberInstrStart, lineNumber],\n ];\n const dep = getDep(syntaxImage, true, config.registryAliases);\n dep.depType = 'syntax';\n processDepForAutoReplace(dep, lineNumberRanges, lines, lineFeed);\n logger.trace(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Dockerfile # syntax',\n );\n deps.push(dep);\n }\n lookForSyntaxDirective = false;\n }\n\n const lineContinuationRegex = regEx(`${escapeChar}[ \\\\t]*$|^[ \\\\t]*#`, 'm');\n let lineLookahead = instruction;\n while (\n !lookForEscapeChar &&\n !instruction.trimStart().startsWith('#') &&\n lineContinuationRegex.test(lineLookahead)\n ) {\n lineLookahead = lines[++lineNumber] || '';\n instruction += `\\n${lineLookahead}`;\n }\n\n const argRegex = regEx(\n `^[ \\\\t]*ARG(?:${escapeChar}[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n)+(?<name>\\\\w+)[ =](?<value>\\\\S*)`,\n 'im',\n );\n const argMatch = argRegex.exec(instruction);\n if (argMatch?.groups?.name) {\n argsLines[argMatch.groups.name] = [lineNumberInstrStart, lineNumber];\n let argMatchValue = argMatch.groups?.value;\n\n if (\n (argMatchValue.startsWith('\"') && argMatchValue.endsWith('\"')) ||\n (argMatchValue.startsWith(\"'\") && argMatchValue.endsWith(\"'\"))\n ) {\n argMatchValue = argMatchValue.slice(1, -1);\n }\n\n args[argMatch.groups.name] = argMatchValue || '';\n }\n\n const fromRegex = new RegExp(\n `^[ \\\\t]*FROM(?:${escapeChar}[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n|--platform=\\\\S+)+(?<image>\\\\S+)(?:(?:${escapeChar}[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n)+as[ \\\\t]+(?<name>\\\\S+))?`,\n 'im',\n ); // TODO #12875 complex for re2 has too many not supported groups\n const fromMatch = instruction.match(fromRegex);\n if (fromMatch?.groups?.image) {\n let fromImage = fromMatch.groups.image;\n const lineNumberRanges: number[][] = [[lineNumberInstrStart, lineNumber]];\n\n if (fromImage.includes(variableMarker)) {\n const variables = extractVariables(fromImage);\n for (const [fullVariable, argName] of Object.entries(variables)) {\n const resolvedArgValue = args[argName];\n if (resolvedArgValue || resolvedArgValue === '') {\n fromImage = fromImage.replaceAll(fullVariable, resolvedArgValue);\n lineNumberRanges.push(argsLines[argName]);\n }\n }\n }\n\n if (fromMatch.groups?.name) {\n logger.debug(\n `Found a multistage build stage name: ${fromMatch.groups.name}`,\n );\n stageNames.push(fromMatch.groups.name);\n }\n if (fromImage === 'scratch') {\n logger.debug('Skipping scratch');\n } else if (fromImage && stageNames.includes(fromImage)) {\n logger.debug(`Skipping alias FROM image:${fromImage}`);\n } else {\n const dep = getDep(fromImage, true, config.registryAliases);\n processDepForAutoReplace(dep, lineNumberRanges, lines, lineFeed);\n logger.trace(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Dockerfile FROM',\n );\n deps.push(dep);\n }\n }\n\n const copyFromRegex = new RegExp(\n `^[ \\\\t]*COPY(?:${escapeChar}[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n|--[a-z]+(?:=[a-zA-Z0-9_.:-]+?)?)+--from=(?<image>\\\\S+)`,\n 'im',\n ); // TODO #12875 complex for re2 has too many not supported groups\n const copyFromMatch = instruction.match(copyFromRegex);\n if (copyFromMatch?.groups?.image) {\n if (stageNames.includes(copyFromMatch.groups.image)) {\n logger.debug(\n { image: copyFromMatch.groups.image },\n 'Skipping alias COPY --from',\n );\n } else if (Number.isNaN(Number(copyFromMatch.groups.image))) {\n const dep = getDep(\n copyFromMatch.groups.image,\n true,\n config.registryAliases,\n );\n const lineNumberRanges: number[][] = [\n [lineNumberInstrStart, lineNumber],\n ];\n processDepForAutoReplace(dep, lineNumberRanges, lines, lineFeed);\n logger.debug(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Dockerfile COPY --from',\n );\n deps.push(dep);\n } else {\n logger.debug(\n { image: copyFromMatch.groups.image },\n 'Skipping index reference COPY --from',\n );\n }\n }\n\n const runMountFromRegex = regEx(\n `^[ \\\\t]*RUN(?:${escapeChar}[ \\\\t]*\\\\r?\\\\n| |\\\\t|#.*?\\\\r?\\\\n|--[a-z]+(?:=[a-zA-Z0-9_.:-]+?)?)+--mount=(?:\\\\S*=\\\\S*,)*from=(?<image>[^, ]+)`,\n 'im',\n );\n const runMountFromMatch = instruction.match(runMountFromRegex);\n if (runMountFromMatch?.groups?.image) {\n if (stageNames.includes(runMountFromMatch.groups.image)) {\n logger.debug(\n { image: runMountFromMatch.groups.image },\n 'Skipping alias RUN --mount=from',\n );\n } else {\n const dep = getDep(\n runMountFromMatch.groups.image,\n true,\n config.registryAliases,\n );\n const lineNumberRanges: number[][] = [\n [lineNumberInstrStart, lineNumber],\n ];\n processDepForAutoReplace(dep, lineNumberRanges, lines, lineFeed);\n logger.debug(\n {\n depName: dep.depName,\n currentValue: dep.currentValue,\n currentDigest: dep.currentDigest,\n },\n 'Dockerfile RUN --mount=from',\n );\n deps.push(dep);\n }\n }\n\n lineNumber += 1;\n }\n\n if (!deps.length) {\n return null;\n }\n for (const d of deps) {\n d.depType ??= 'stage';\n }\n deps.at(-1)!.depType = 'final';\n return { deps };\n}\n"],"mappings":"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"}
@@ -36,7 +36,7 @@ hashMap.set("deps-edn", "c87dd5e88587147ad1a78f047b814f3c4aa60d6de30d0c49d849391
36
36
  hashMap.set("devbox", "c6204becff9e14b60b40f76ecb181f5292d4a2b39bca439afe6f9305cf6ce418");
37
37
  hashMap.set("devcontainer", "24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec");
38
38
  hashMap.set("docker-compose", "5441af5b5abf8d347e46002d47f02f85743401bda28232f49fb7b3bbb772a4fb");
39
- hashMap.set("dockerfile", "322b95f7e55dd78d7fe71306a6f649479eca61c60d75bb10b23604a230dbdd08");
39
+ hashMap.set("dockerfile", "54122792bf8ea0be98e0a0716e627e3115b40a5f0155ccd7ae0cfc52424a3478");
40
40
  hashMap.set("droneci", "237c8de87b9bf653fb943b56e84e99c45f6d86ae27d86e599b3f3f99c35ba8ee");
41
41
  hashMap.set("fleet", "d73d5d35f10df0599a561d9c8d25f3935350407d0e3bd3a1d1545295f278912e");
42
42
  hashMap.set("flux", "79fa6ec15676108739e468f43746b1174528ed97cf7e3a2ac3758993141d326d");
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','1d3568f42393d697f8f96d461b72077ee7a1044b654e87667a12f861b3083111');\nhashMap.set('ansible-galaxy','8226d47128f2018825d4d6f84794e3183eb79c706045fa7e88491edd5e64106f');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('argocd','5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce');\nhashMap.set('asdf','0407066010ebb3d7ad4c1afe6b9a3615a3c11d64dc3cf0674cb9dfc3ea272273');\nhashMap.set('azure-pipelines','4f635b0ecd388ee266d992e8281fd40e3db2f5867d86fc1cbce72dc33a66e796');\nhashMap.set('batect','bd9208444eff1a4958061484db66a47b616c31f15a8d49d23b75c4560fcee83e');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','4994a8bd86d5bfb169d67c08efd8509b58c368c2bf3dd9bbe42553c0fabc3f1a');\nhashMap.set('bazel-module','40f6a862b4e72fcc7262ee41f8b570ea3fd5600d6d552b94ed3301bb201f5db5');\nhashMap.set('bazelisk','d71489650feefb0dbbe7461f924cb50e41c8eef8fe2e11acdec2d42d0212c8ef');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','a93effb1f1c5d65b3277c3b4709924eacde282e8efd028a8e3d8c1ce3ef69407');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','f2d5b0a7c0c724d30e79e12688b1fc8ff8e344db0cc6389553e2f6001ddf8345');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','629eda7bc52772bcc5b9c7254ce43a4d0a109c8473ba7633235020193102fd1e');\nhashMap.set('cake','ed6d14c96161f1d3d927adc7e333b96585164e1f25151a87990914d57ae17fe1');\nhashMap.set('cargo','197fa953327d70c12fad864eacc4c2f25b8d92dcb7e7e6d19bdda473f650f786');\nhashMap.set('cdnurl','d3edf6cdc38e92eb43ff5a2b4e8df6a6a13154cf83244725c39e28d7e6ea9177');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','8c0c739f7e4082bbfe8e3fdffebaf43e26f70a1314d95b306e9b93e4f4297886');\nhashMap.set('cocoapods','38b7fdc82d1d5583870707a04c334aa6dd725b13648febddebed35ce888ca017');\nhashMap.set('composer','829e1483e9519e9ff8d33e40f18a3e3be87ad4a328e32dc1cfb42655709796f8');\nhashMap.set('conan','74ca922a0ffdf1a9dd44b83eb2b3a36c56c7d792031e3a4a484f293046be3ecd');\nhashMap.set('copier','02b3cf090d7b8b8b1c06dd025a7faf6db4e0b5eb58aba7c1da16d15ac934cf61');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','db87814a407e43b8edaf7ccdf1659407fd934597e4253a3f330b8219dc34c40e');\nhashMap.set('deps-edn','c87dd5e88587147ad1a78f047b814f3c4aa60d6de30d0c49d849391eeaf1b64c');\nhashMap.set('devbox','c6204becff9e14b60b40f76ecb181f5292d4a2b39bca439afe6f9305cf6ce418');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','5441af5b5abf8d347e46002d47f02f85743401bda28232f49fb7b3bbb772a4fb');\nhashMap.set('dockerfile','322b95f7e55dd78d7fe71306a6f649479eca61c60d75bb10b23604a230dbdd08');\nhashMap.set('droneci','237c8de87b9bf653fb943b56e84e99c45f6d86ae27d86e599b3f3f99c35ba8ee');\nhashMap.set('fleet','d73d5d35f10df0599a561d9c8d25f3935350407d0e3bd3a1d1545295f278912e');\nhashMap.set('flux','79fa6ec15676108739e468f43746b1174528ed97cf7e3a2ac3758993141d326d');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','2d12dc3bd8bb6d866843b48af2fd6594a99f4b2d6bc52613ff2b14642b78b466');\nhashMap.set('github-actions','a85781cdcfe5557acfb087bafbc78cc0d61a3f0d0d011d5e1cb6a5ba0fb8760b');\nhashMap.set('gitlabci','33c264edf7837fb8fbc4cf0078c8bd2d5a75431039b1db65bf47356df7753125');\nhashMap.set('gitlabci-include','ef696c478c2ac1723b3aca070ba9779be0e702fff0844054251ba0029523d0eb');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','02389785183c39d2896d7893414c5e1060023f95c1fe7b595bd06cc5c1186d39');\nhashMap.set('gomod','0e0ecc704a4c0370ac36f5592c1d0def1581ffb0df6d14114cef009b0365f84c');\nhashMap.set('gradle','62e769489ed98a4635c0f7e4dd839845d3cf487d76a68442eb2b7fe832fcd150');\nhashMap.set('gradle-wrapper','81760ab88a1bed36b0381684396934cf7875e3466c01df8c98f410173f3168f4');\nhashMap.set('haskell-cabal','f232d0e883235f74ed71fd9de4a7468e5fcbda9a1af5beb56c24657f7bf2e891');\nhashMap.set('helm-requirements','4d90e5e18a380876ad48e21e1ad88ea62e25d973a1ddaa3763447fc0a9f9915b');\nhashMap.set('helm-values','b5c52c6a27d805557418c585c5d3030c95ee641d53057021f3fe060f81b6e1af');\nhashMap.set('helmfile','90725ebe5de2d8bb249177123b0de357cf2d55e153501e3ad0ad7b0bef9178e5');\nhashMap.set('helmsman','ef9680c612f702c7f07aea9b6e5d811e91214dcfa5755c9f3803e9528090935e');\nhashMap.set('helmv3','31f48511403438ceac8f9b813a35d2c10c8f28e7125e8b6a7e12035ba5d5201e');\nhashMap.set('hermit','cdc0007b3612f91a1fa61a9fa137096555014638c75ea8d5465bf71fd6ff6125');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','56ef90301143874355fd2ed25dff7c646875f701f97422d02e01d45608a88f31');\nhashMap.set('html','67c5f3c5c58e96f5dd257ba5987d900cf7fef81d667c3640e96c847b37de35a8');\nhashMap.set('jenkins','268ebfc8a1caf3edeb2192c2b1b2fa4bf18a78a3e731ba20a6c104940a5539f3');\nhashMap.set('jsonnet-bundler','4023ef4cac55fe58f8d9744ae86b13532298926e35e22d250334cde55c3386ff');\nhashMap.set('kotlin-script','99ef296792a0ca575ed31d3defb514b05a58083dc01c52ea0890c69d867ba1dd');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','95f662ce196b95ee87845488d944cc046f6eb53ac6e10d90581735cd2f7c2d8c');\nhashMap.set('leiningen','133fca2c3423f53f2ccc22518153ddbcafbf0f4812376c77e952eb3d24d81f85');\nhashMap.set('maven','f084cdc88320ca1e82af957d0008e7c9ce991d3282cb428f3108a5722239cead');\nhashMap.set('maven-wrapper','976ed8a59cf43b0c765b1a49ebc5669478e78278cf48f4ce3d0deb49647d10e3');\nhashMap.set('meteor','4a93a326b27bedfe52118e27e06f39fecd7c55bd4cd7fccec4cb120cac14cec4');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','cc93bddbf77b960f75cb0b6a0748e045fce475034d15e879b36a32dd439fd681');\nhashMap.set('mix','bedc1c384159dc19663827a9a3da0f195a5d4122b60ec5749cd3144cef339371');\nhashMap.set('nix','5c2a27c9525894185d93b81e54eeb663bc2f6192853b220f56211c56e87d8379');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','8573c9b837a14a5085803cfc30efcb494f9108382af8f3f4844bfc147e439617');\nhashMap.set('nuget','815b89106ec2a7e9455f45cbb8ec50ade82172e05a6d4439a0f30730a686f82f');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','32233a1a8a2725699d7448ba438e3d0b78141f7799cd2b588de278d41e26ed10');\nhashMap.set('pep621','d11d77288684578a4d444aecf4e3fba837ada31c676548bba9097e6179b27848');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','52f0aa7c0b2ae5af6c649f7d7dd7202e257887c4f4497a0b70eb3384e349e7de');\nhashMap.set('pip_requirements','133115d094c35139584fd08e20b8a60bfc99de4e82e30020e4acb3c2f33a1a5b');\nhashMap.set('pip_setup','0175fe550c19d9bd31c978bd83fdc088cb40fcacd5d6751f640164274ae64e61');\nhashMap.set('pipenv','b759dbb54b09a9338d61cfb539afe2281b485abe646eb2c6ff309527469cd0dd');\nhashMap.set('pixi','fd925887530c356daaa416057e1941a291d494238b9f519d43f970a3457cc1e6');\nhashMap.set('poetry','60965cf6f1addb4ebb43531b12138fc90560c5145530a69529719325b443cc62');\nhashMap.set('pre-commit','d191792fe6a89025de644421e9e6391c4048f10bf8e46421c676290a35c9e587');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','a0b659f470dab05555cea82da60d414641678555c0bec213b3206b3ae3ead011');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e355e13e104351a8b3516a8e272fc5f7e625c9f39b0c492ba27283a36227c2d4');\nhashMap.set('renovate-config','2a4e4fb671aed5d0c900b8d54c31bfef46ca36d0f4e16b00ff73377b9c09fb69');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','e957f1f1563af4e5fbd1c552ca15632b7808d9d2e51ec0da6022a1f84372caec');\nhashMap.set('sbt','e508c2e2fb8d44e6cbec20f449c8eed096728566e6058187269c637930d388fb');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','7dea08c5708625e753bd56918bc214df7fb4d8543a26e936926a21ab43b5f785');\nhashMap.set('sveltos','05b3158e88771ed4629e171592cf4f1bf0ff342f8aeae89be0b340c630cc6d8e');\nhashMap.set('swift','56cdc6fe4cd00519f953459f94323c71677f6bde007537eef891154fb8696db1');\nhashMap.set('tekton','fdc5b9b5edec2a90cda2f858f3ebc532aa8efb1187d1e0b7c89b07796e9cb6cd');\nhashMap.set('terraform','3dc2e8342e5e4ddf0f1cf1910567f13c4cfb20b9eaf375ee522f67946fe3e368');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','ffcbaa67dd65f064d43f8c121c1006115eab1879c4bd38de263b9b90a009c118');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','31247d37bc80aae17039bfa21bd989c5717730c5ef10cf2a6f09841576d012ec');\nhashMap.set('travis','bb482a0195cd009ec3896a6227bb95617f5c84bedb518c7d971e50c62235d9ca');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','ef3374fc0a3d3457172b0ce77bfca120e8044b6fd4fa942348fb837f6023360c');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','46efac5bda6737cccacf2d89ce1d384ee410876c5557b4c02be2275b7c1d862d');\nhashMap.set('regex','dbe6889ea021a05127fed06226d73366fdada2ae577147a5c027996fd325416e');"],"mappings":"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"}
1
+ {"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','1d3568f42393d697f8f96d461b72077ee7a1044b654e87667a12f861b3083111');\nhashMap.set('ansible-galaxy','8226d47128f2018825d4d6f84794e3183eb79c706045fa7e88491edd5e64106f');\nhashMap.set('ant','2df5943cf0ed19a21b94df13729dbb925655548130caf37e3e22bebaed518e17');\nhashMap.set('argocd','5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce');\nhashMap.set('asdf','0407066010ebb3d7ad4c1afe6b9a3615a3c11d64dc3cf0674cb9dfc3ea272273');\nhashMap.set('azure-pipelines','4f635b0ecd388ee266d992e8281fd40e3db2f5867d86fc1cbce72dc33a66e796');\nhashMap.set('batect','bd9208444eff1a4958061484db66a47b616c31f15a8d49d23b75c4560fcee83e');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','4994a8bd86d5bfb169d67c08efd8509b58c368c2bf3dd9bbe42553c0fabc3f1a');\nhashMap.set('bazel-module','40f6a862b4e72fcc7262ee41f8b570ea3fd5600d6d552b94ed3301bb201f5db5');\nhashMap.set('bazelisk','d71489650feefb0dbbe7461f924cb50e41c8eef8fe2e11acdec2d42d0212c8ef');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','a93effb1f1c5d65b3277c3b4709924eacde282e8efd028a8e3d8c1ce3ef69407');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','f2d5b0a7c0c724d30e79e12688b1fc8ff8e344db0cc6389553e2f6001ddf8345');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','629eda7bc52772bcc5b9c7254ce43a4d0a109c8473ba7633235020193102fd1e');\nhashMap.set('cake','ed6d14c96161f1d3d927adc7e333b96585164e1f25151a87990914d57ae17fe1');\nhashMap.set('cargo','197fa953327d70c12fad864eacc4c2f25b8d92dcb7e7e6d19bdda473f650f786');\nhashMap.set('cdnurl','d3edf6cdc38e92eb43ff5a2b4e8df6a6a13154cf83244725c39e28d7e6ea9177');\nhashMap.set('circleci','91cbeb33ea20f9838e2c81a1195eb806f0b38fa282bc3679f62552f20575ca85');\nhashMap.set('cloudbuild','8c0c739f7e4082bbfe8e3fdffebaf43e26f70a1314d95b306e9b93e4f4297886');\nhashMap.set('cocoapods','38b7fdc82d1d5583870707a04c334aa6dd725b13648febddebed35ce888ca017');\nhashMap.set('composer','829e1483e9519e9ff8d33e40f18a3e3be87ad4a328e32dc1cfb42655709796f8');\nhashMap.set('conan','74ca922a0ffdf1a9dd44b83eb2b3a36c56c7d792031e3a4a484f293046be3ecd');\nhashMap.set('copier','02b3cf090d7b8b8b1c06dd025a7faf6db4e0b5eb58aba7c1da16d15ac934cf61');\nhashMap.set('cpanfile','07813fec3f3c2197056500e9266a0553b9774c02f2c74d5ca2e213188c7c12d3');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deno','db87814a407e43b8edaf7ccdf1659407fd934597e4253a3f330b8219dc34c40e');\nhashMap.set('deps-edn','c87dd5e88587147ad1a78f047b814f3c4aa60d6de30d0c49d849391eeaf1b64c');\nhashMap.set('devbox','c6204becff9e14b60b40f76ecb181f5292d4a2b39bca439afe6f9305cf6ce418');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','5441af5b5abf8d347e46002d47f02f85743401bda28232f49fb7b3bbb772a4fb');\nhashMap.set('dockerfile','54122792bf8ea0be98e0a0716e627e3115b40a5f0155ccd7ae0cfc52424a3478');\nhashMap.set('droneci','237c8de87b9bf653fb943b56e84e99c45f6d86ae27d86e599b3f3f99c35ba8ee');\nhashMap.set('fleet','d73d5d35f10df0599a561d9c8d25f3935350407d0e3bd3a1d1545295f278912e');\nhashMap.set('flux','79fa6ec15676108739e468f43746b1174528ed97cf7e3a2ac3758993141d326d');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','2d12dc3bd8bb6d866843b48af2fd6594a99f4b2d6bc52613ff2b14642b78b466');\nhashMap.set('github-actions','a85781cdcfe5557acfb087bafbc78cc0d61a3f0d0d011d5e1cb6a5ba0fb8760b');\nhashMap.set('gitlabci','33c264edf7837fb8fbc4cf0078c8bd2d5a75431039b1db65bf47356df7753125');\nhashMap.set('gitlabci-include','ef696c478c2ac1723b3aca070ba9779be0e702fff0844054251ba0029523d0eb');\nhashMap.set('glasskube','93e7b9000a17efa15a1abaaf320b5af9169b1ecd828fc0c881d98570ef9d9e30');\nhashMap.set('gleam','02389785183c39d2896d7893414c5e1060023f95c1fe7b595bd06cc5c1186d39');\nhashMap.set('gomod','0e0ecc704a4c0370ac36f5592c1d0def1581ffb0df6d14114cef009b0365f84c');\nhashMap.set('gradle','62e769489ed98a4635c0f7e4dd839845d3cf487d76a68442eb2b7fe832fcd150');\nhashMap.set('gradle-wrapper','81760ab88a1bed36b0381684396934cf7875e3466c01df8c98f410173f3168f4');\nhashMap.set('haskell-cabal','f232d0e883235f74ed71fd9de4a7468e5fcbda9a1af5beb56c24657f7bf2e891');\nhashMap.set('helm-requirements','4d90e5e18a380876ad48e21e1ad88ea62e25d973a1ddaa3763447fc0a9f9915b');\nhashMap.set('helm-values','b5c52c6a27d805557418c585c5d3030c95ee641d53057021f3fe060f81b6e1af');\nhashMap.set('helmfile','90725ebe5de2d8bb249177123b0de357cf2d55e153501e3ad0ad7b0bef9178e5');\nhashMap.set('helmsman','ef9680c612f702c7f07aea9b6e5d811e91214dcfa5755c9f3803e9528090935e');\nhashMap.set('helmv3','31f48511403438ceac8f9b813a35d2c10c8f28e7125e8b6a7e12035ba5d5201e');\nhashMap.set('hermit','cdc0007b3612f91a1fa61a9fa137096555014638c75ea8d5465bf71fd6ff6125');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','56ef90301143874355fd2ed25dff7c646875f701f97422d02e01d45608a88f31');\nhashMap.set('html','67c5f3c5c58e96f5dd257ba5987d900cf7fef81d667c3640e96c847b37de35a8');\nhashMap.set('jenkins','268ebfc8a1caf3edeb2192c2b1b2fa4bf18a78a3e731ba20a6c104940a5539f3');\nhashMap.set('jsonnet-bundler','4023ef4cac55fe58f8d9744ae86b13532298926e35e22d250334cde55c3386ff');\nhashMap.set('kotlin-script','99ef296792a0ca575ed31d3defb514b05a58083dc01c52ea0890c69d867ba1dd');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','95f662ce196b95ee87845488d944cc046f6eb53ac6e10d90581735cd2f7c2d8c');\nhashMap.set('leiningen','133fca2c3423f53f2ccc22518153ddbcafbf0f4812376c77e952eb3d24d81f85');\nhashMap.set('maven','f084cdc88320ca1e82af957d0008e7c9ce991d3282cb428f3108a5722239cead');\nhashMap.set('maven-wrapper','976ed8a59cf43b0c765b1a49ebc5669478e78278cf48f4ce3d0deb49647d10e3');\nhashMap.set('meteor','4a93a326b27bedfe52118e27e06f39fecd7c55bd4cd7fccec4cb120cac14cec4');\nhashMap.set('mint','248fe4f1ea5c985921c286785792c97e06fc41f402b2d45df82f6aecd17f710e');\nhashMap.set('mise','cc93bddbf77b960f75cb0b6a0748e045fce475034d15e879b36a32dd439fd681');\nhashMap.set('mix','bedc1c384159dc19663827a9a3da0f195a5d4122b60ec5749cd3144cef339371');\nhashMap.set('nix','5c2a27c9525894185d93b81e54eeb663bc2f6192853b220f56211c56e87d8379');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','8573c9b837a14a5085803cfc30efcb494f9108382af8f3f4844bfc147e439617');\nhashMap.set('nuget','815b89106ec2a7e9455f45cbb8ec50ade82172e05a6d4439a0f30730a686f82f');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','32233a1a8a2725699d7448ba438e3d0b78141f7799cd2b588de278d41e26ed10');\nhashMap.set('pep621','d11d77288684578a4d444aecf4e3fba837ada31c676548bba9097e6179b27848');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','52f0aa7c0b2ae5af6c649f7d7dd7202e257887c4f4497a0b70eb3384e349e7de');\nhashMap.set('pip_requirements','133115d094c35139584fd08e20b8a60bfc99de4e82e30020e4acb3c2f33a1a5b');\nhashMap.set('pip_setup','0175fe550c19d9bd31c978bd83fdc088cb40fcacd5d6751f640164274ae64e61');\nhashMap.set('pipenv','b759dbb54b09a9338d61cfb539afe2281b485abe646eb2c6ff309527469cd0dd');\nhashMap.set('pixi','fd925887530c356daaa416057e1941a291d494238b9f519d43f970a3457cc1e6');\nhashMap.set('poetry','60965cf6f1addb4ebb43531b12138fc90560c5145530a69529719325b443cc62');\nhashMap.set('pre-commit','d191792fe6a89025de644421e9e6391c4048f10bf8e46421c676290a35c9e587');\nhashMap.set('proto','412053d4550026b4ace490b46e970915b87ec1abf0b0a0c6c8c58ccf1fc16843');\nhashMap.set('pub','a0b659f470dab05555cea82da60d414641678555c0bec213b3206b3ae3ead011');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e355e13e104351a8b3516a8e272fc5f7e625c9f39b0c492ba27283a36227c2d4');\nhashMap.set('renovate-config','2a4e4fb671aed5d0c900b8d54c31bfef46ca36d0f4e16b00ff73377b9c09fb69');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('rust-toolchain','e957f1f1563af4e5fbd1c552ca15632b7808d9d2e51ec0da6022a1f84372caec');\nhashMap.set('sbt','e508c2e2fb8d44e6cbec20f449c8eed096728566e6058187269c637930d388fb');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','7dea08c5708625e753bd56918bc214df7fb4d8543a26e936926a21ab43b5f785');\nhashMap.set('sveltos','05b3158e88771ed4629e171592cf4f1bf0ff342f8aeae89be0b340c630cc6d8e');\nhashMap.set('swift','56cdc6fe4cd00519f953459f94323c71677f6bde007537eef891154fb8696db1');\nhashMap.set('tekton','fdc5b9b5edec2a90cda2f858f3ebc532aa8efb1187d1e0b7c89b07796e9cb6cd');\nhashMap.set('terraform','3dc2e8342e5e4ddf0f1cf1910567f13c4cfb20b9eaf375ee522f67946fe3e368');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','ffcbaa67dd65f064d43f8c121c1006115eab1879c4bd38de263b9b90a009c118');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','31247d37bc80aae17039bfa21bd989c5717730c5ef10cf2a6f09841576d012ec');\nhashMap.set('travis','bb482a0195cd009ec3896a6227bb95617f5c84bedb518c7d971e50c62235d9ca');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','ef3374fc0a3d3457172b0ce77bfca120e8044b6fd4fa942348fb837f6023360c');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('xcodegen','dad511d88a9ce1dbdde8b9731f3da7f2bdaa4ca8a083294ee58d56da62ab1683');\nhashMap.set('jsonata','46efac5bda6737cccacf2d89ce1d384ee410876c5557b4c02be2275b7c1d862d');\nhashMap.set('regex','dbe6889ea021a05127fed06226d73366fdada2ae577147a5c027996fd325416e');"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "renovate",
3
3
  "description": "Automated dependency updates. Flexible so you don't need to be.",
4
- "version": "43.272.8",
4
+ "version": "43.272.9",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "renovate": "dist/renovate.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$id": "https://docs.renovatebot.com/renovate-schema.json",
3
- "title": "JSON schema for Renovate 43.272.8 config files (https://renovatebot.com/)",
3
+ "title": "JSON schema for Renovate 43.272.9 config files (https://renovatebot.com/)",
4
4
  "$schema": "http://json-schema.org/draft-07/schema#",
5
- "x-renovate-version": "43.272.8",
5
+ "x-renovate-version": "43.272.9",
6
6
  "allowComments": true,
7
7
  "type": "object",
8
8
  "definitions": {