summaryrefslogtreecommitdiff
path: root/scripts/frontend/stylelint/stylelint_utility_classes.js
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/frontend/stylelint/stylelint_utility_classes.js')
-rw-r--r--scripts/frontend/stylelint/stylelint_utility_classes.js25
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;