Files
react-native-devtools-frontend/node_modules/stylelint/lib/rules/selector-max-attribute
Tim van der Lippe efb716af67 Update linter packages
- Updates stylelint to 13.8.0
- Updates ESLint to 7.14.0
- Updates @typescript-eslint to 4.9.0

DISABLE_THIRD_PARTY_CHECK=NPM update
R=jacktfranklin@chromium.org

Change-Id: I207e204607ede782710e042c17d6510c7f696905
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2566806
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
2020-12-01 16:04:40 +00:00
..
2020-12-01 16:04:40 +00:00
2020-06-11 06:20:04 +00:00

selector-max-attribute

Limit the number of attribute selectors in a selector.

    [rel="external"] {}
/** ↑
 * This type of selector */

This rule resolves nested selectors before counting the number of attribute selectors. 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 attribute selectors allowed.

For example, with 2:

The following patterns are considered violations:

[type="number"][name="quality"][data-attribute="value"] {}
[type="number"][name="quality"][disabled] {}
[type="number"][name="quality"] {
  & [data-attribute="value"] {}
}
[type="number"][name="quality"] {
  & [disabled] {}
}
[type="number"][name="quality"] {
  & > [data-attribute="value"] {}
}
/* `[type="text"][data-attribute="value"][disabled]` is inside `:not()`, so it is evaluated separately */
input:not([type="text"][data-attribute="value"][disabled]) {}

The following patterns are not considered violations:

[type="text"] {}
[type="text"][name="message"] {}
[type="text"][disabled]
/* each selector in a selector list is evaluated separately */
[type="text"][name="message"],
[type="number"][name="quality"] {}
/* `[disabled]` is inside `:not()`, so it is evaluated separately */
[type="text"][name="message"]:not([disabled]) {}

Optional secondary options

ignoreAttributes: ["/regex/", /regex/, "string"]

Given:

["/^my-/", "dir"]

For example, with 0.

The following patterns are not considered violations:

[dir] [my-attr] {}
[dir] [my-other-attr] {}