From 6060911aefe35c01c45f653e88beef689b3b6c89 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Sun, 11 Apr 2021 18:40:01 +0200 Subject: [PATCH] refactor: packageRules selector validation --- lib/config/validation.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/config/validation.ts b/lib/config/validation.ts index 7021fd833d..ee1feb4a7a 100644 --- a/lib/config/validation.ts +++ b/lib/config/validation.ts @@ -269,7 +269,6 @@ export async function validateConfig( ]; if (key === 'packageRules') { for (const [subIndex, packageRule] of val.entries()) { - let hasSelector = false; if (is.object(packageRule)) { const resolvedRule = await resolveConfigPresets( packageRule as RenovateConfig, @@ -278,12 +277,10 @@ export async function validateConfig( errors.push( ...managerValidator.check({ resolvedRule, currentPath }) ); - for (const pKey of Object.keys(resolvedRule)) { - if (selectors.includes(pKey)) { - hasSelector = true; - } - } - if (!hasSelector) { + const selectorLength = Object.keys( + resolvedRule + ).filter((ruleKey) => selectors.includes(ruleKey)).length; + if (!selectorLength) { const message = `${currentPath}[${subIndex}]: Each packageRule must contain at least one match* or exclude* selector. Rule: ${JSON.stringify( packageRule )}`; -- GitLab