From bfb152310160c3c5c2798235776095f3962f685a Mon Sep 17 00:00:00 2001 From: Masafumi Koba <473530+ybiquitous@users.noreply.github.com> Date: Sat, 3 Sep 2022 00:21:14 +0900 Subject: [PATCH 1/2] Add regex support for `ignorePseudoElements` option of `selector-pseudo-element-no-unknown` --- lib/rules/selector-pseudo-element-no-unknown/README.md | 10 +++++----- .../__tests__/index.js | 5 ++++- lib/rules/selector-pseudo-element-no-unknown/index.js | 4 ++-- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/lib/rules/selector-pseudo-element-no-unknown/README.md b/lib/rules/selector-pseudo-element-no-unknown/README.md index d13932b921..fcebc0db17 100644 --- a/lib/rules/selector-pseudo-element-no-unknown/README.md +++ b/lib/rules/selector-pseudo-element-no-unknown/README.md @@ -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: ```css -a::pseudo-element {} +a::--my-pseudo {} ``` ```css -a::my-pseudo {} +a::--my-other-pseudo {} ``` ```css -a::my-other-pseudo {} +a::--pseudo-element {} ``` diff --git a/lib/rules/selector-pseudo-element-no-unknown/__tests__/index.js b/lib/rules/selector-pseudo-element-no-unknown/__tests__/index.js index 60db5af8d3..d9e2f23f6d 100644 --- a/lib/rules/selector-pseudo-element-no-unknown/__tests__/index.js +++ b/lib/rules/selector-pseudo-element-no-unknown/__tests__/index.js @@ -189,7 +189,7 @@ testRule({ testRule({ ruleName, - config: [true, { ignorePseudoElements: ['pseudo', '/^my-/'] }], + config: [true, { ignorePseudoElements: ['pseudo', '/^my-/', /foo/i] }], accept: [ { @@ -204,6 +204,9 @@ testRule({ { code: 'a::my-pseudo { }', }, + { + code: 'a::FOO-pseudo { }', + }, ], reject: [ diff --git a/lib/rules/selector-pseudo-element-no-unknown/index.js b/lib/rules/selector-pseudo-element-no-unknown/index.js index a8855af77b..25e98ddd5e 100644 --- a/lib/rules/selector-pseudo-element-no-unknown/index.js +++ b/lib/rules/selector-pseudo-element-no-unknown/index.js @@ -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'; @@ -31,7 +31,7 @@ const rule = (primary, secondaryOptions) => { { actual: secondaryOptions, possible: { - ignorePseudoElements: [isString], + ignorePseudoElements: [isString, isRegExp], }, optional: true, }, From 26de3c7d32fe57d31b4acbfc55eda20ec30c4f04 Mon Sep 17 00:00:00 2001 From: Masafumi Koba <473530+ybiquitous@users.noreply.github.com> Date: Sat, 3 Sep 2022 00:24:14 +0900 Subject: [PATCH 2/2] Add changelog entry --- .changeset/silver-baboons-dress.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/silver-baboons-dress.md diff --git a/.changeset/silver-baboons-dress.md b/.changeset/silver-baboons-dress.md new file mode 100644 index 0000000000..dfd5423f35 --- /dev/null +++ b/.changeset/silver-baboons-dress.md @@ -0,0 +1,5 @@ +--- +"stylelint": minor +--- + +Added: regex support for `ignorePseudoElements` option of `selector-pseudo-element-no-unknown`