stylelint-validator icon indicating copy to clipboard operation
stylelint-validator copied to clipboard

Allow ignoreProperties to accept RegExp

Open terrymun opened this issue 4 years ago • 0 comments

This is somewhat related to https://github.com/csstree/stylelint-validator/issues/19, but since v2 has been released, this likely concerns the new ignoreProperties configuration option.

The main use-case if for those using styled-components/emotion, where the use of stylelint-processor-styled-components will insert placeholders in the code, i.e. -styled-mixin0: $dummyValue. The $dummyValue value can be easily ignored by using a regex for ignoreValue config option. However, this isn't the same for the invalid property -styled-mixin0, because the processor appends an incremental number to the end of the property.

This means it is unnecessarily verbose to do this:

"csstree/validator": {
    "ignoreProperties": [
        "-styled-mixin0",
        "-styled-mixin1",
        "-styled-mixin2",
        "-styled-mixin3",
        "-styled-mixin4",
        "-styled-mixin5",
        "-styled-mixin6",
        "-styled-mixin7",
        "-styled-mixin8",
        "-styled-mixin9"
    ],
    "ignoreValue": "\\$dummyValue"
}

And this is not a safe way to fix the issue, since the number is arbitrary. What if we allow ignoreProperties to accept Array<string | RegExp>? By extension, we might want to extend the ignoreValue as well, so that it not only accepts string | RegExp but also Array<string | RegExp>.

I am happy to create a PR for this if necessary: but would love to hear your opinion on this.

terrymun avatar Dec 17 '21 13:12 terrymun