Ver código fonte

update CSSTree to version 2.1

Gildas 3 anos atrás
pai
commit
9cc1534b93

+ 3 - 3
src/single-file/modules/css-fonts-alt-minifier.js

@@ -78,8 +78,8 @@ async function process(doc, stylesheets, fontDeclarations, fontTests) {
 	stylesheets.forEach(stylesheetInfo => {
 		const cssRules = stylesheetInfo.stylesheet.children;
 		if (cssRules) {
-			stats.rules.processed += cssRules.getSize();
-			stats.rules.discarded += cssRules.getSize();
+			stats.rules.processed += cssRules.size;
+			stats.rules.discarded += cssRules.size;
 			if (stylesheetInfo.mediaText && stylesheetInfo.mediaText != MEDIA_ALL) {
 				const mediaFontsDetails = createFontsDetailsInfo();
 				fontsDetails.medias.set("media-" + sheetIndex + "-" + stylesheetInfo.mediaText, mediaFontsDetails);
@@ -100,7 +100,7 @@ async function process(doc, stylesheets, fontDeclarations, fontTests) {
 			} else {
 				await processFontFaceRules(cssRules, sheetIndex, fontsDetails, fontDeclarations, fontTests, stats);
 			}
-			stats.rules.discarded -= cssRules.getSize();
+			stats.rules.discarded -= cssRules.size;
 		}
 	}));
 	return stats;

+ 3 - 4
src/single-file/modules/css-fonts-minifier.js

@@ -58,8 +58,8 @@ function process(doc, stylesheets, styles, options) {
 	stylesheets.forEach(stylesheetInfo => {
 		const cssRules = stylesheetInfo.stylesheet.children;
 		if (cssRules) {
-			stats.processed += cssRules.getSize();
-			stats.discarded += cssRules.getSize();
+			stats.processed += cssRules.size;
+			stats.discarded += cssRules.size;
 			getFontsInfo(cssRules, fontsInfo);
 			docContent = getRulesTextContent(doc, cssRules, workStyleElement, docContent);
 		}
@@ -86,7 +86,6 @@ function process(doc, stylesheets, styles, options) {
 	}
 	const variableFound = fontsInfo.used.find(fontNames => fontNames.find(fontName => fontName.startsWith("var(--")));
 	let unusedFonts, filteredUsedFonts;
-	// debugger;
 	if (variableFound) {
 		unusedFonts = [];
 	} else {
@@ -105,7 +104,7 @@ function process(doc, stylesheets, styles, options) {
 		const cssRules = stylesheetInfo.stylesheet.children;
 		if (cssRules) {
 			filterUnusedFonts(cssRules, fontsInfo.declared, unusedFonts, filteredUsedFonts, docContent);
-			stats.rules.discarded -= cssRules.getSize();
+			stats.rules.discarded -= cssRules.size;
 		}
 	});
 	return stats;

+ 1 - 1
src/single-file/modules/css-matched-rules.js

@@ -176,7 +176,7 @@ function getFilteredSelector(selector, selectorText) {
 	filterPseudoClasses(selector);
 	if (removedSelectors.length) {
 		removedSelectors.forEach(({ parentSelector, selector }) => {
-			if (parentSelector.data.children.getSize() == 0 || !selector.prev || selector.prev.data.type == "Combinator" || selector.prev.data.type == "WhiteSpace") {
+			if (parentSelector.data.children.size == 0 || !selector.prev || selector.prev.data.type == "Combinator" || selector.prev.data.type == "WhiteSpace") {
 				parentSelector.data.children.replace(selector, cssTree.parse("*", { context: "selector" }).children.head);
 			} else {
 				parentSelector.data.children.remove(selector);

+ 8 - 8
src/single-file/modules/css-rules-minifier.js

@@ -36,8 +36,8 @@ function process(stylesheets, styles, mediaAllInfo) {
 		if (!stylesheetInfo.scoped) {
 			const cssRules = stylesheetInfo.stylesheet.children;
 			if (cssRules) {
-				stats.processed += cssRules.getSize();
-				stats.discarded += cssRules.getSize();
+				stats.processed += cssRules.size;
+				stats.discarded += cssRules.size;
 				let mediaInfo;
 				if (stylesheetInfo.mediaText && stylesheetInfo.mediaText != "all") {
 					mediaInfo = mediaAllInfo.medias.get("style-" + sheetIndex + "-" + stylesheetInfo.mediaText);
@@ -45,7 +45,7 @@ function process(stylesheets, styles, mediaAllInfo) {
 					mediaInfo = mediaAllInfo;
 				}
 				processRules(cssRules, sheetIndex, mediaInfo);
-				stats.discarded -= cssRules.getSize();
+				stats.discarded -= cssRules.size;
 			}
 		}
 		sheetIndex++;
@@ -64,9 +64,9 @@ function process(stylesheets, styles, mediaAllInfo) {
 
 function processRules(cssRules, sheetIndex, mediaInfo) {
 	let mediaRuleIndex = 0, startTime;
-	if (DEBUG && cssRules.getSize() > 1) {
+	if (DEBUG && cssRules.size > 1) {
 		startTime = Date.now();
-		log("  -- STARTED processRules", "rules.length =", cssRules.getSize());
+		log("  -- STARTED processRules", "rules.length =", cssRules.size);
 	}
 	const removedCssRules = [];
 	for (let cssRule = cssRules.head; cssRule; cssRule = cssRule.next) {
@@ -75,7 +75,7 @@ function processRules(cssRules, sheetIndex, mediaInfo) {
 			if (ruleData.type == "Atrule" && ruleData.name == "media") {
 				const mediaText = cssTree.generate(ruleData.prelude);
 				processRules(ruleData.block.children, sheetIndex, mediaInfo.medias.get("rule-" + sheetIndex + "-" + mediaRuleIndex + "-" + mediaText));
-				if (!ruleData.prelude.children.getSize() || !ruleData.block.children.getSize()) {
+				if (!ruleData.prelude.children.size || !ruleData.block.children.size) {
 					removedCssRules.push(cssRule);
 				}
 				mediaRuleIndex++;
@@ -86,7 +86,7 @@ function processRules(cssRules, sheetIndex, mediaInfo) {
 					removedCssRules.push(cssRule);
 				} else if (ruleInfo) {
 					processRuleInfo(ruleData, ruleInfo, pseudoSelectors);
-					if (!ruleData.prelude.children.getSize() || !ruleData.block.children.getSize()) {
+					if (!ruleData.prelude.children.size || !ruleData.block.children.size) {
 						removedCssRules.push(cssRule);
 					}
 				}
@@ -98,7 +98,7 @@ function processRules(cssRules, sheetIndex, mediaInfo) {
 		}
 	}
 	removedCssRules.forEach(cssRule => cssRules.remove(cssRule));
-	if (DEBUG && cssRules.getSize() > 1) {
+	if (DEBUG && cssRules.size > 1) {
 		log("  -- ENDED   processRules delay =", Date.now() - startTime);
 	}
 }

+ 13 - 9
src/single-file/single-file-core.js

@@ -1901,7 +1901,7 @@ class ProcessorHelper {
 			function replaceURLs(declaration, oldURL, newURL) {
 				declaration.value.children.forEach(token => {
 					if (token.type == "Url" && util.removeQuotes(getCSSValue(token.value)) == oldURL) {
-						token.value.value = newURL;
+						token.value = newURL;
 					}
 				});
 			}
@@ -1935,7 +1935,7 @@ class ProcessorHelper {
 										tokens.push({ parent, token, value });
 										variableDefined = true;
 									} else {
-										token.data.value.value = content;
+										token.data.value = content;
 									}
 								}
 							});
@@ -1945,7 +1945,7 @@ class ProcessorHelper {
 							}
 						}
 					} else {
-						findURLToken(originalResourceURL, declaration.value.children, token => token.data.value.value = util.EMPTY_RESOURCE);
+						findURLToken(originalResourceURL, declaration.value.children, token => token.data.value = util.EMPTY_RESOURCE);
 					}
 				}));
 			}
@@ -2204,13 +2204,17 @@ function normalizeURL(url) {
 }
 
 function getCSSValue(value) {
-	let result = "";
-	try {
-		result = cssTree.generate(value);
-	} catch (error) {
-		// ignored
+	if (typeof value == "string") {
+		return value;
+	} else {
+		let result = "";
+		try {
+			result = cssTree.generate(value);
+		} catch (error) {
+			// ignored
+		}
+		return result;
 	}
-	return result;
 }
 
 function matchCharsetEquals(stylesheetContent, charset = UTF8_CHARSET) {

Diferenças do arquivo suprimidas por serem muito extensas
+ 2 - 12634
src/single-file/vendor/css-tree.js


Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff