Gildas hace 7 años
padre
commit
28c811afef
Se han modificado 1 ficheros con 20 adiciones y 0 borrados
  1. 20 0
      lib/single-file/css-rules-minifier.js

+ 20 - 0
lib/single-file/css-rules-minifier.js

@@ -26,14 +26,20 @@ this.cssMinifier = this.cssMinifier || (() => {
 	const FILTERED_PSEUDO_ELEMENTS = ["::after", "::before", "::first-line", "::first-letter", "::placeholder", "::-webkit-input-placeholder", "::selection", "::marker", "::cue", "::-webkit-progress-bar", "::-webkit-progress-value", "::-webkit-inner-spin-button", "::-webkit-outer-spin-button", "::-webkit-search-cancel-button", "::-webkit-search-cancel-button"];
 	const FILTERED_SELECTORS = ["::-webkit-scrollbar", "::-webkit-scrollbar-button", "::-webkit-scrollbar-thumb", "::-webkit-scrollbar-track", "::-webkit-scrollbar-track-piece", "::-webkit-scrollbar-corner", "::-webkit-resizer"];
 	const IGNORED_SELECTORS = FILTERED_SELECTORS.concat(FILTERED_PSEUDO_CLASSES).concat(FILTERED_PSEUDO_ELEMENTS);
+	const DEBUG = false;
 
 	return {
 		process: doc => {
 			const rulesMatcher = RulesMatcher.create(doc);
 			const mediaAllInfo = rulesMatcher.getAllMatchedRules();
 			const stats = { processed: 0, discarded: 0 };
+			let startTime;
 			doc.querySelectorAll("style").forEach((styleElement, styleIndex) => {
 				if (styleElement.sheet) {
+					if (DEBUG) {
+						startTime = Date.now();
+						log("  // STARTED processRules style", styleIndex);
+					}
 					let mediaInfo;
 					if (styleElement.media && styleElement.media != "all") {
 						mediaInfo = mediaAllInfo.medias.get(styleIndex + "-" + styleElement.media);
@@ -45,8 +51,15 @@ this.cssMinifier = this.cssMinifier || (() => {
 					stats.discarded += cssRules.length;
 					styleElement.textContent = processRules(doc, cssRules, mediaInfo);
 					stats.discarded -= cssRules.length;
+					if (DEBUG) {
+						log("  // ENDED   processRules style", Date.now() - startTime);
+					}
 				}
 			});
+			if (DEBUG) {
+				startTime = Date.now();
+				log("  // STARTED processStyleAttribute");
+			}
 			doc.querySelectorAll("[style]").forEach(element => {
 				let textContent = processStyleAttribute(element.style, mediaAllInfo);
 				if (textContent) {
@@ -55,6 +68,9 @@ this.cssMinifier = this.cssMinifier || (() => {
 					element.removeAttribute("style");
 				}
 			});
+			if (DEBUG) {
+				log("  // ENDED   processStyleAttribute", Date.now() - startTime);
+			}
 			return stats;
 		}
 	};
@@ -138,4 +154,8 @@ this.cssMinifier = this.cssMinifier || (() => {
 		return found;
 	}
 
+	function log(...args) {
+		console.log("S-File <css-mi>", ...args); // eslint-disable-line no-console
+	}
+
 })();