From 6b24abe1e0da8182345b8a4f479115579125a6a8 Mon Sep 17 00:00:00 2001 From: Jamie Tanna Date: Fri, 21 Jun 2024 09:46:57 +0100 Subject: [PATCH] chore(regex): add additional logging for `isValidDependency` failures (#29791) --- .../manager/custom/regex/strategies.ts | 37 ++++++++++++++++--- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/lib/modules/manager/custom/regex/strategies.ts b/lib/modules/manager/custom/regex/strategies.ts index b2b1a3f3f9f609..1424745417de0c 100644 --- a/lib/modules/manager/custom/regex/strategies.ts +++ b/lib/modules/manager/custom/regex/strategies.ts @@ -1,4 +1,5 @@ import is from '@sindresorhus/is'; +import { logger } from '../../../../logger'; import { regEx } from '../../../../util/regex'; import type { PackageDependency } from '../../types'; import type { RecursionParameter, RegexManagerConfig } from './types'; @@ -12,7 +13,7 @@ import { export function handleAny( content: string, - _packageFile: string, + packageFile: string, config: RegexManagerConfig, ): PackageDependency[] { return config.matchStrings @@ -30,12 +31,14 @@ export function handleAny( ), ) .filter(is.truthy) - .filter(isValidDependency); + .filter((dep: PackageDependency) => + checkIsValidDependency(dep, packageFile), + ); } export function handleCombination( content: string, - _packageFile: string, + packageFile: string, config: RegexManagerConfig, ): PackageDependency[] { const matches = config.matchStrings @@ -57,7 +60,9 @@ export function handleCombination( .reduce((base, addition) => mergeExtractionTemplate(base, addition)); return [createDependency(extraction, config)] .filter(is.truthy) - .filter(isValidDependency); + .filter((dep: PackageDependency) => + checkIsValidDependency(dep, packageFile), + ); } export function handleRecursive( @@ -78,7 +83,9 @@ export function handleRecursive( regexes, }) .filter(is.truthy) - .filter(isValidDependency); + .filter((dep: PackageDependency) => + checkIsValidDependency(dep, packageFile), + ); } function processRecursive(parameters: RecursionParameter): PackageDependency[] { @@ -109,3 +116,23 @@ function processRecursive(parameters: RecursionParameter): PackageDependency[] { }); }); } + +function checkIsValidDependency( + dep: PackageDependency, + packageFile: string, +): boolean { + const isValid = isValidDependency(dep); + if (!isValid) { + const meta = { + packageDependency: dep, + packageFile, + }; + logger.trace( + meta, + 'Discovered a package dependency by matching regex, but it did not pass validation. Discarding', + ); + return isValid; + } + + return isValid; +}