diff --git a/src/lib/expandApplyAtRules.js b/src/lib/expandApplyAtRules.js index 94d26b354d5d..12aa1ca06e67 100644 --- a/src/lib/expandApplyAtRules.js +++ b/src/lib/expandApplyAtRules.js @@ -22,6 +22,15 @@ function extractClasses(node) { return Array.from(classes) } +let selectorExtractor = parser((root) => root.nodes.map((node) => node.toString())) + +/** + * @param {string} ruleSelectors + */ +function extractSelectors(ruleSelectors) { + return selectorExtractor.transformSync(ruleSelectors) +} + function extractBaseCandidates(candidates, separator) { let baseClasses = new Set() @@ -283,10 +292,9 @@ function processApply(root, context, localCache) { function replaceSelector(selector, utilitySelectors, candidate) { let needle = `.${escapeClassName(candidate)}` let needles = [...new Set([needle, needle.replace(/\\2c /g, '\\,')])] - let utilitySelectorsList = utilitySelectors.split(/\s*(? { let replaced = []