diff --git a/.changeset/smooth-tigers-wink.md b/.changeset/smooth-tigers-wink.md new file mode 100644 index 0000000000..74d09bc60c --- /dev/null +++ b/.changeset/smooth-tigers-wink.md @@ -0,0 +1,5 @@ +--- +"stylelint": patch +--- + +Fixed: `selector-pseudo-element-no-unknown` performance diff --git a/lib/rules/selector-pseudo-element-no-unknown/index.js b/lib/rules/selector-pseudo-element-no-unknown/index.js index 1ba479919a..30a67571a5 100644 --- a/lib/rules/selector-pseudo-element-no-unknown/index.js +++ b/lib/rules/selector-pseudo-element-no-unknown/index.js @@ -42,10 +42,6 @@ const rule = (primary, secondaryOptions) => { } root.walkRules((ruleNode) => { - if (!isStandardSyntaxRule(ruleNode)) { - return; - } - const selector = ruleNode.selector; // Return early before parse if no pseudos for performance @@ -54,6 +50,10 @@ const rule = (primary, secondaryOptions) => { return; } + if (!isStandardSyntaxRule(ruleNode)) { + return; + } + parseSelector(selector, result, ruleNode, (selectorTree) => { selectorTree.walkPseudos((pseudoNode) => { const value = pseudoNode.value;