From 25a1c9f43b7c7f988bbafba57ef4e7d4ad80ff7f Mon Sep 17 00:00:00 2001 From: Masafumi Koba <473530+ybiquitous@users.noreply.github.com> Date: Tue, 6 Sep 2022 21:42:18 +0900 Subject: [PATCH] Add regex support to `ignoreTypes` option of `selector-type-case` --- .changeset/fast-papayas-dress.md | 5 +++++ lib/rules/selector-type-case/README.md | 2 +- lib/rules/selector-type-case/__tests__/index.js | 5 ++++- lib/rules/selector-type-case/index.js | 4 ++-- 4 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 .changeset/fast-papayas-dress.md diff --git a/.changeset/fast-papayas-dress.md b/.changeset/fast-papayas-dress.md new file mode 100644 index 0000000000..b5b0ab90a3 --- /dev/null +++ b/.changeset/fast-papayas-dress.md @@ -0,0 +1,5 @@ +--- +"stylelint": minor +--- + +Added: regex support for `ignoreTypes` option of `selector-type-case` diff --git a/lib/rules/selector-type-case/README.md b/lib/rules/selector-type-case/README.md index 7d8e677904..4cc71b5d5e 100644 --- a/lib/rules/selector-type-case/README.md +++ b/lib/rules/selector-type-case/README.md @@ -69,7 +69,7 @@ LI {} ## Optional secondary options -### `ignoreTypes: ["/regex/", "non-regex"]` +### `ignoreTypes: ["/regex/", /regex/, "non-regex"]` Given: diff --git a/lib/rules/selector-type-case/__tests__/index.js b/lib/rules/selector-type-case/__tests__/index.js index 22ec00bc85..3fcbbf4186 100644 --- a/lib/rules/selector-type-case/__tests__/index.js +++ b/lib/rules/selector-type-case/__tests__/index.js @@ -305,7 +305,7 @@ testRule({ testRule({ ruleName, - config: ['lower', { ignoreTypes: ['$childClass', '/(p|P)arent.*/'] }], + config: ['lower', { ignoreTypes: ['$childClass', '/(p|P)arent.*/', /foo$/i] }], accept: [ { @@ -314,6 +314,9 @@ testRule({ { code: '$childClass { color: pink; }', }, + { + code: 'myFoo { color: pink; }', + }, ], reject: [ diff --git a/lib/rules/selector-type-case/index.js b/lib/rules/selector-type-case/index.js index aab9d6289a..6daa81f6cc 100644 --- a/lib/rules/selector-type-case/index.js +++ b/lib/rules/selector-type-case/index.js @@ -8,7 +8,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 { mixedCaseSvgTypeSelectors } = require('../../reference/selectors'); const ruleName = 'selector-type-case'; @@ -35,7 +35,7 @@ const rule = (primary, secondaryOptions, context) => { { actual: secondaryOptions, possible: { - ignoreTypes: [isString], + ignoreTypes: [isString, isRegExp], }, optional: true, },