diff --git a/src/lib/expandApplyAtRules.js b/src/lib/expandApplyAtRules.js index 0210684c8f00..1bef657fc6cf 100644 --- a/src/lib/expandApplyAtRules.js +++ b/src/lib/expandApplyAtRules.js @@ -34,6 +34,15 @@ function extractClasses(node) { return Object.assign(classes, { groups: normalizedGroups }) } +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() @@ -295,10 +304,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 = []