Parcourir la source

avoid computing unused fonts if a CSS variable is found

Gildas il y a 7 ans
Parent
commit
253ed30393
1 fichiers modifiés avec 8 ajouts et 2 suppressions
  1. 8 2
      lib/single-file/css-fonts-minifier.js

+ 8 - 2
lib/single-file/css-fonts-minifier.js

@@ -66,8 +66,14 @@ this.fontsMinifier = this.fontsMinifier || (() => {
 					usedFonts.push(fontFamilyNames);
 				}
 			});
-			const filteredUsedFonts = new Set(usedFonts.map(fontNames => fontNames.find(fontName => declaredFonts.has(fontName))).filter(fontName => fontName));
-			const unusedFonts = Array.from(declaredFonts).filter(fontFamilyName => !filteredUsedFonts.has(fontFamilyName));
+			const variableFound = usedFonts.find(fontNames => fontNames.find(fontName => fontName.startsWith("var(--")));
+			let unusedFonts;
+			if (variableFound) {
+				unusedFonts = [];
+			} else {
+				const filteredUsedFonts = new Set(usedFonts.map(fontNames => fontNames.find(fontName => declaredFonts.has(fontName))).filter(fontName => fontName));
+				unusedFonts = Array.from(declaredFonts).filter(fontFamilyName => !filteredUsedFonts.has(fontFamilyName));
+			}
 			doc.querySelectorAll("style").forEach(style => {
 				if (style.sheet) {
 					const processedRules = style.sheet.cssRules.length;