Files
react-native-devtools-frontend/node_modules/stylelint/lib/rules/selector-max-attribute
Tim van der Lippe 382089011b Run npm audit
This syncs our dependencies to the latest version. There is still
a reported vulnerability in postcss, but we are luckily unaffected.
However, we can't upgrade postcss yet, as stylelint requires it
and can not use postcss 8 yet:
https://github.com/stylelint/stylelint/issues/4942#issuecomment-823513767

Also updated manage_node_deps.py to not run the full install when
running `ls`, to allow for easier inspection of our dependency graph.

R=jacktfranklin@chromium.org

Bug: none
Change-Id: I1c9e4836fca25500e2e7277ec82b13bf2b881dca
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2887731
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2021-05-11 16:18:42 +00:00
..
2021-05-11 16:18:42 +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] {}