Skip to content

Commit

Permalink
Add regex support for ignorePseudoElements option of `selector-pseu…
Browse files Browse the repository at this point in the history
…do-element-no-unknown` (#6317)
  • Loading branch information
ybiquitous committed Sep 3, 2022
1 parent 68a43cb commit 4401602
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 8 deletions.
5 changes: 5 additions & 0 deletions .changeset/silver-baboons-dress.md
@@ -0,0 +1,5 @@
---
"stylelint": minor
---

Added: regex support for `ignorePseudoElements` option of `selector-pseudo-element-no-unknown`
10 changes: 5 additions & 5 deletions lib/rules/selector-pseudo-element-no-unknown/README.md
Expand Up @@ -58,27 +58,27 @@ input::-moz-placeholder {}

## Optional secondary options

### `ignorePseudoElements: ["/regex/", "string"]`
### `ignorePseudoElements: ["/regex/", /regex/, "non-regex"]`

Given:

```json
["/^my-/", "pseudo-element"]
["/^--my-/", "--pseudo-element"]
```

The following patterns are _not_ considered problems:

<!-- prettier-ignore -->
```css
a::pseudo-element {}
a::--my-pseudo {}
```

<!-- prettier-ignore -->
```css
a::my-pseudo {}
a::--my-other-pseudo {}
```

<!-- prettier-ignore -->
```css
a::my-other-pseudo {}
a::--pseudo-element {}
```
Expand Up @@ -189,7 +189,7 @@ testRule({

testRule({
ruleName,
config: [true, { ignorePseudoElements: ['pseudo', '/^my-/'] }],
config: [true, { ignorePseudoElements: ['pseudo', '/^my-/', /foo/i] }],

accept: [
{
Expand All @@ -204,6 +204,9 @@ testRule({
{
code: 'a::my-pseudo { }',
},
{
code: 'a::FOO-pseudo { }',
},
],

reject: [
Expand Down
4 changes: 2 additions & 2 deletions lib/rules/selector-pseudo-element-no-unknown/index.js
Expand Up @@ -9,7 +9,7 @@ const report = require('../../utils/report');
const ruleMessages = require('../../utils/ruleMessages');
const validateOptions = require('../../utils/validateOptions');
const vendor = require('../../utils/vendor');
const { isString } = require('../../utils/validateTypes');
const { isString, isRegExp } = require('../../utils/validateTypes');

const ruleName = 'selector-pseudo-element-no-unknown';

Expand All @@ -31,7 +31,7 @@ const rule = (primary, secondaryOptions) => {
{
actual: secondaryOptions,
possible: {
ignorePseudoElements: [isString],
ignorePseudoElements: [isString, isRegExp],
},
optional: true,
},
Expand Down

0 comments on commit 4401602

Please sign in to comment.