UNPKG

stylelint-sassdoc

Version:

stylelint plugin to check scss files for a valid sassdoc documentation Credits to https://github.com/anneangersbach

37 lines (31 loc) 1.21 kB
const stylelint = require('stylelint'); const adjacentLineIsSCSSComment = require('../../utils/adjacentLineIsSCSSComment'); const ruleName = 'sassdoc/function-is-documented'; const messages = stylelint.utils.ruleMessages(ruleName, { expected: (node) => `Sassdoc: Expected function "${node.params.split(/\(/)[0]}(...)" to be documented by preceding Sassdoc comment.`, }); module.exports = stylelint.createPlugin(ruleName, (actual) => (root, result) => { const validOptions = stylelint.utils.validateOptions(result, ruleName, { actual, }); if (!validOptions) { return; } root.walkAtRules('function', (atRule) => { // node is nested in a code block (function, mixin, etc) // or it is private (params is the name of the function) if (atRule.parent !== root || atRule.params[0] === '_') { return; } if (!adjacentLineIsSCSSComment(atRule)) { stylelint.utils.report({ message: messages.expected(atRule), node: atRule, result, ruleName, }); } }); }); module.exports.ruleName = ruleName; module.exports.messages = messages;