Skip to content

Files

Latest commit

 

History

History
99 lines (66 loc) · 1.47 KB

selector-class-pattern.md

File metadata and controls

99 lines (66 loc) · 1.47 KB

Pattern: Invalid class selector

Issue: -

Description

Specify a pattern for class selectors. This rule ignores non-outputting Less mixin definitions and called Less mixins.

Escaped selectors (e.g. .u-size-11\/12\@sm) are parsed as escaped twice (e.g. .u-size-11\\/12\\@sm). Your RegExp should account for that.

Examples

regex|string

A string will be translated into a RegExp — new RegExp(yourString) — so be sure to escape properly.

The selector value after . will be checked. No need to include . in your pattern.

Given the string:

"foo-[a-z]+"

The following patterns are considered violations:

.foop {}
.foo-BAR {}
div > #zing + .foo-BAR {}

The following patterns are not considered violations:

.foo-bar {}
div > #zing + .foo-bar {}
#foop {}
[foo='bar'] {}
.foop() {}
.foo-bar {
  .foop;
}

Configuration

resolveNestedSelectors: true | false (default: false)

This option will resolve nested selectors with & interpolation.

For example, with true.

Given the string:

"^[A-Z]+$"

The following patterns are considered violations:

.A {
  &__B {} /* resolved to ".A__B" */
}

The following patterns are not considered violations:

.A {
  &B {} /* resolved to ".AB" */
}

Further Reading