summaryrefslogtreecommitdiff
path: root/scripts/frontend/stylelint/stylelint_duplicate_selectors.js
blob: 77c1f1292b7adb495a43e2819e20a0aa4e952aeb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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;