UNPKG

stylelint-scss

Version:

A collection of SCSS specific rules for stylelint

30 lines (24 loc) 880 B
import { utils } from "stylelint" import { namespace } from "../../utils" export const ruleName = namespace("at-extend-no-missing-placeholder") export const messages = utils.ruleMessages(ruleName, { rejected: "Expected a placeholder selector (e.g. %placeholder) to be used in @extend", }) export default function (actual) { return function (root, result) { const validOptions = utils.validateOptions(result, ruleName, { actual }) if (!validOptions) { return } root.walkAtRules("extend", atrule => { const isPlaceholder = atrule.params.trim()[0] === "%" const isInterpolation = (/^#{.+}/).test(atrule.params.trim()) if (!isPlaceholder && !isInterpolation) { utils.report({ ruleName, result, node: atrule, message: messages.rejected, }) } }) } }