diff options
Diffstat (limited to 'scripts/frontend/stylelint/stylelint_utility_classes.js')
-rw-r--r-- | scripts/frontend/stylelint/stylelint_utility_classes.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/scripts/frontend/stylelint/stylelint_utility_classes.js b/scripts/frontend/stylelint/stylelint_utility_classes.js new file mode 100644 index 00000000000..ad2b2ddbb20 --- /dev/null +++ b/scripts/frontend/stylelint/stylelint_utility_classes.js @@ -0,0 +1,25 @@ +const stylelint = require('stylelint'); +const utils = require('./stylelint_utils'); +const utilityClasses = require('./utility_classes_map'); + +const ruleName = 'stylelint-gitlab/utility-classes'; + +const messages = stylelint.utils.ruleMessages(ruleName, { + expected: (selector1, selector2) => { + return `"${selector1}" has the same properties as our BS4 utility class "${selector2}" so please use that instead.`; + }, +}); + +module.exports = stylelint.createPlugin(ruleName, (enabled) => { + if (!enabled) { + return; + } + + // eslint-disable-next-line consistent-return + return (root, result) => { + utils.createPropertiesHashmap(root, result, ruleName, messages, utilityClasses, false); + }; +}); + +module.exports.ruleName = ruleName; +module.exports.messages = messages; |