Files
react-native-devtools-frontend/node_modules/stylelint/lib/rules/selector-max-class
Mathias Bynens 79e2cf0633 Add stylelint dependency
This also adds CC-BY-4.0 to the list of accepted licenses.

DISABLE_THIRD_PARTY_CHECK=update dependencies

Bug: chromium:1083142
Change-Id: I8612de2fba52dae32eeb71af79d5aacfde52142b
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2220097
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
2020-06-11 06:20:04 +00:00
..
2020-06-11 06:20:04 +00:00
2020-06-11 06:20:04 +00:00

selector-max-class

Limit the number of classes in a selector.

div .foo.bar[data-val] > a.baz {}
/*  ↑   ↑                 ↑
    ↑   ↑                 ↑
    1   2                 3  -- this selector contains three classes */

This rule resolves nested selectors before counting the number of classes in a selector. Each selector in a selector list is evaluated separately.

The :not() pseudo-class is also evaluated separately. The rule processes the argument as if it were an independent selector, and the result does not count toward the total for the entire selector.

Options

int: Maximum classes allowed.

For example, with 2:

The following patterns are considered violations:

.foo.bar.baz {}
.foo .bar {
  & > .baz {}
}

The following patterns are not considered violations:

div {}
.foo .bar {}
.foo.bar,
.lorem.ipsum {} /* each selector in a selector list is evaluated separately */
.foo .bar :not(.lorem.ipsum) {} /* `.lorem.ipsum` is inside `:not()`, so it is evaluated separately */