2019-07-07 11:18:12 +05:30
|
|
|
const stylelint = require('stylelint');
|
|
|
|
const utils = require('./stylelint-utils');
|
2021-09-30 23:02:18 +05:30
|
|
|
const utilityClasses = require('./utility-classes-map');
|
2019-07-07 11:18:12 +05:30
|
|
|
|
|
|
|
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.`;
|
|
|
|
},
|
|
|
|
});
|
|
|
|
|
2021-04-17 20:07:23 +05:30
|
|
|
module.exports = stylelint.createPlugin(ruleName, (enabled) => {
|
2019-07-07 11:18:12 +05:30
|
|
|
if (!enabled) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2021-04-17 20:07:23 +05:30
|
|
|
// eslint-disable-next-line consistent-return
|
|
|
|
return (root, result) => {
|
2019-07-07 11:18:12 +05:30
|
|
|
utils.createPropertiesHashmap(root, result, ruleName, messages, utilityClasses, false);
|
|
|
|
};
|
|
|
|
});
|
|
|
|
|
|
|
|
module.exports.ruleName = ruleName;
|
|
|
|
module.exports.messages = messages;
|