mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-10 13:44:39 +08:00
DISABLE_THIRD_PARTY_CHECK=NPM update R=jacktfranklin@chromium.org Bug: none Change-Id: I41b7006f336b9465677cc7434abd70a732c58221 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2692907 Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org> Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
selector-max-specificity
Limit the specificity of selectors.
.foo, #bar.baz span, #hoo { color: pink; }
/** ↑ ↑ ↑
* Each of these selectors */
Visit the Specificity Calculator for visual representation of selector specificity.
This rule ignores selectors with variable interpolation (#{$var}, @{var}, $(var)).
This rule resolves nested selectors before counting the specificity of a selector. Each selector in a selector list is evaluated separately.
Options
string: Maximum specificity allowed.
Format is "id,class,type", as laid out in the W3C selector spec.
For example, with "0,2,0":
The following patterns are considered violations:
#foo {}
.foo .baz .bar {}
.foo .baz {
& .bar {}
}
.foo {
color: red;
@nest .baz .bar & {
color: blue;
}
}
The following patterns are not considered violations:
div {}
.foo div {}
.foo div {
& div a {}
}
.foo {
& .baz {}
}
.foo {
color: red;
@nest .baz & {
color: blue;
}
}
Optional secondary options
ignoreSelectors: ["/regex/", /regex/, "string"]
Given:
[
"0,2,0",
{
ignoreSelectors: [":global", ":local", "/my-/"]
}
]
The following patterns are not considered violations:
:global(.foo) .bar {}
:local(.foo.bar)
:local(.foo, :global(.bar).baz)
The following patterns are considered violations:
:global(.foo) .bar.baz {}
:local(.foo.bar.baz)
:local(.foo, :global(.bar), .foo.bar.baz)