UNPKG

stylelint-scss

Version:

A collection of SCSS-specific rules for Stylelint

59 lines (46 loc) 1.26 kB
import stylelint from "stylelint"; import hasEmptyLine from "../../utils/hasEmptyLine.js"; import namespace from "../../utils/namespace.js"; import ruleUrl from "../../utils/ruleUrl.js"; const { utils } = stylelint; const ruleName = namespace("at-else-empty-line-before"); const messages = utils.ruleMessages(ruleName, { rejected: "Unexpected empty line before @else" }); const meta = { url: ruleUrl(ruleName), fixable: true }; function rule(expectation) { return (root, result) => { const validOptions = utils.validateOptions(result, ruleName, { actual: expectation, possible: ["never"] }); if (!validOptions) { return; } root.walkAtRules("else", atrule => { // Don't need to ignore "the first rule in a stylesheet", etc, cases // because @else should always go after @if if (!hasEmptyLine(atrule.raws.before)) { return; } const fix = () => { atrule.raws.before = " "; }; utils.report({ message: messages.rejected, node: atrule, result, ruleName, word: `@${atrule.name}`, fix }); }); }; } rule.ruleName = ruleName; rule.messages = messages; rule.meta = meta; export default rule;