From 1974901757e1e55eadc55837de0cde6a41c88189 Mon Sep 17 00:00:00 2001 From: Dimitris - Rafail Katsampas Date: Tue, 28 Dec 2021 12:46:12 +0000 Subject: [PATCH] fix: Qualifier matcher did not support multiple qualifiers for a single file. --- .../module-name-resolver/qualifier-matcher/index.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/core/module-name-resolver/qualifier-matcher/index.ts b/packages/core/module-name-resolver/qualifier-matcher/index.ts index 917a22024c..4dbaa612fc 100644 --- a/packages/core/module-name-resolver/qualifier-matcher/index.ts +++ b/packages/core/module-name-resolver/qualifier-matcher/index.ts @@ -119,20 +119,21 @@ const supportedQualifiers: Array = [minWidthHeightQualifier, minW function checkQualifiers(path: string, context: PlatformContext): number { let result = 0; + let value: number; for (let i = 0; i < supportedQualifiers.length; i++) { const qualifier = supportedQualifiers[i]; if (qualifier.isMatch(path)) { const occurences = qualifier.getMatchOccurences(path); // Always get the last qualifier among identical occurences - result = qualifier.getMatchValue(occurences[occurences.length - 1], context); - if (result < 0) { + value = qualifier.getMatchValue(occurences[occurences.length - 1], context); + if (value < 0) { // Non of the supported qualifiers matched this or the match was not satisfied return -1; } - result += (supportedQualifiers.length - i) * PRIORITY_STEP; - - return result; + if (value > 0) { + result += value + (supportedQualifiers.length - i) * PRIORITY_STEP; + } } }