diff options
Diffstat (limited to 'scripts/frontend/stylelint/stylelint_duplicate_selectors.js')
-rw-r--r-- | scripts/frontend/stylelint/stylelint_duplicate_selectors.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/scripts/frontend/stylelint/stylelint_duplicate_selectors.js b/scripts/frontend/stylelint/stylelint_duplicate_selectors.js new file mode 100644 index 00000000000..77c1f1292b7 --- /dev/null +++ b/scripts/frontend/stylelint/stylelint_duplicate_selectors.js @@ -0,0 +1,25 @@ +const stylelint = require('stylelint'); +const utils = require('./stylelint_utils'); + +const ruleName = 'stylelint-gitlab/duplicate-selectors'; + +const messages = stylelint.utils.ruleMessages(ruleName, { + expected: (selector1, selector2) => { + return `"${selector1}" and "${selector2}" have the same properties.`; + }, +}); + +module.exports = stylelint.createPlugin(ruleName, (enabled) => { + if (!enabled) { + return; + } + + // eslint-disable-next-line consistent-return + return (root, result) => { + const selectorGroups = {}; + utils.createPropertiesHashmap(root, result, ruleName, messages, selectorGroups, true); + }; +}); + +module.exports.ruleName = ruleName; +module.exports.messages = messages; |