UNPKG

stylelint

Version:
39 lines (34 loc) 1.07 kB
import selectorParser from "postcss-selector-parser" import { cssRuleHasSelectorEndingWithColon, report, ruleMessages, isAutoprefixable, validateOptions, } from "../../utils" export const ruleName = "selector-no-vendor-prefix" export const messages = ruleMessages(ruleName, { rejected: p => `Unexpected vendor-prefixed selector "${p}"`, }) export default function (actual) { return (root, result) => { const validOptions = validateOptions(result, ruleName, { actual }) if (!validOptions) { return } root.walkRules(rule => { if (cssRuleHasSelectorEndingWithColon(rule)) { return } selectorParser(selectorTree => { selectorTree.eachPseudo(pseudoNode => { if (isAutoprefixable.selector(pseudoNode.value)) { report({ result, ruleName, message: messages.rejected(pseudoNode.value), node: rule, index: rule.raws.before.length + pseudoNode.sourceIndex, }) } }) }).process(rule.selector) }) } }