From 76ea1b128215f429cb7575f3fd854f3e7429e5d8 Mon Sep 17 00:00:00 2001 From: Masafumi Koba <473530+ybiquitous@users.noreply.github.com> Date: Wed, 7 Sep 2022 00:27:29 +0900 Subject: [PATCH] Add regex support to `ignoreSelectors` option of `selector-no-vendor-prefix` --- .changeset/rotten-onions-occur.md | 5 +++++ lib/rules/selector-no-vendor-prefix/README.md | 2 +- lib/rules/selector-no-vendor-prefix/__tests__/index.js | 5 ++++- lib/rules/selector-no-vendor-prefix/index.js | 4 ++-- 4 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 .changeset/rotten-onions-occur.md diff --git a/.changeset/rotten-onions-occur.md b/.changeset/rotten-onions-occur.md new file mode 100644 index 0000000000..4459c0d91c --- /dev/null +++ b/.changeset/rotten-onions-occur.md @@ -0,0 +1,5 @@ +--- +"stylelint": minor +--- + +Added: regex support for `ignoreSelectors` option of `selector-no-vendor-prefix` diff --git a/lib/rules/selector-no-vendor-prefix/README.md b/lib/rules/selector-no-vendor-prefix/README.md index 75876d8694..e4325f1e7d 100644 --- a/lib/rules/selector-no-vendor-prefix/README.md +++ b/lib/rules/selector-no-vendor-prefix/README.md @@ -43,7 +43,7 @@ input::placeholder {} ## Optional secondary options -### `ignoreSelectors: ["/regex/", "non-regex"]` +### `ignoreSelectors: ["/regex/", /regex/, "non-regex"]` Ignore vendor prefixes for selectors. diff --git a/lib/rules/selector-no-vendor-prefix/__tests__/index.js b/lib/rules/selector-no-vendor-prefix/__tests__/index.js index a19d9afb17..4b776079bd 100644 --- a/lib/rules/selector-no-vendor-prefix/__tests__/index.js +++ b/lib/rules/selector-no-vendor-prefix/__tests__/index.js @@ -113,7 +113,7 @@ testRule({ testRule({ ruleName, - config: [true, { ignoreSelectors: ['::-webkit-input-placeholder', '/-moz-.*/'] }], + config: [true, { ignoreSelectors: ['::-webkit-input-placeholder', '/-moz-.*/', /-screen$/] }], fix: true, accept: [ @@ -123,6 +123,9 @@ testRule({ { code: 'input::-moz-placeholder { color: pink; }', }, + { + code: ':-webkit-full-screen a {}', + }, ], reject: [ diff --git a/lib/rules/selector-no-vendor-prefix/index.js b/lib/rules/selector-no-vendor-prefix/index.js index 4b410c69f6..e51ffb7abf 100644 --- a/lib/rules/selector-no-vendor-prefix/index.js +++ b/lib/rules/selector-no-vendor-prefix/index.js @@ -7,7 +7,7 @@ const parseSelector = require('../../utils/parseSelector'); const report = require('../../utils/report'); const ruleMessages = require('../../utils/ruleMessages'); const validateOptions = require('../../utils/validateOptions'); -const { isString } = require('../../utils/validateTypes'); +const { isString, isRegExp } = require('../../utils/validateTypes'); const ruleName = 'selector-no-vendor-prefix'; @@ -30,7 +30,7 @@ const rule = (primary, secondaryOptions, context) => { { actual: secondaryOptions, possible: { - ignoreSelectors: [isString], + ignoreSelectors: [isString, isRegExp], }, optional: true, },