UNPKG

stylelint-sassdoc

Version:

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

44 lines (39 loc) 1.47 kB
const stylelint = require('stylelint'); const regExCheck = require('../../utils/regExCheck'); const checkCommentsForExample = require('../../utils/checkCommentsForExample'); const ruleName = 'sassdoc/atExample'; const messages = stylelint.utils.ruleMessages(ruleName, { expected: 'SassDoc: Expected a minimum of one @example.', }); module.exports = stylelint.createPlugin(ruleName, (actual) => (root, result) => { const validOptions = stylelint.utils.validateOptions(result, ruleName, { actual, }); if (!validOptions) { return; } root.walkAtRules((node) => { let results = []; // node is nested in a code block (function, mixin, etc) // or it is private (params is the name of the mixin) if (node.parent !== root || node.params[0] === '_') { return; } // parse only atRules that are functions or mixins, // as the others don't need @example documentation. if (node.name === 'function' || node.name === 'mixin') { results = checkCommentsForExample(node); // return error on missing @example if (results.length < 1) { stylelint.utils.report({ message: messages.expected, node, result, ruleName, }); } } }); }); module.exports.ruleName = ruleName; module.exports.messages = messages;