3

I would like to exclude everything except some directories from PHP Code Sniffer inspection in my project. Something similar like git repo exclusions with .gitignore

I had the idea that regex with negative lookahead could be used with <exclude-pattern>. I tried:

<exclude-pattern>^(?!wp-content\/plugins\/customplugin\/*$|wp-content\/themes\/customtheme\/*$).+</exclude-pattern>

Consequently, I expected PHPCS to only scan the wp-content/plugins/customplugin/ and wp-content/themes/customtheme/. Unfortunately it doesn't work:

Registering sniffs in the Project standard... DONE (138 sniffs registered)
Creating file list... DONE (0 files in queue)

How to achieve this in the right way?

kanlukasz
  • 1,103
  • 19
  • 34

1 Answers1

1

To achieve the intended goal, we must modify the regular expression:

<exclude-pattern>^(?!.*\/wp-content\/plugins\/customplugin|.*\/wp-content\/themes\/customtheme).*</exclude-pattern>

Note that it may be possible to resolve this issue in a different way in the future thanks to this ticket in the CodeSniffer repository

kanlukasz
  • 1,103
  • 19
  • 34