-
Notifications
You must be signed in to change notification settings - Fork 42
Remove JS/CSS Sniffs #442
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Side note: @gudmdharalds has confirmed that the vip-go-ci bot can integrate eslint, and we can therefore look at having it use something like https://github.com/mozilla/eslint-plugin-no-unsanitized and similar eslint plugins to identify some of what the sniffs here are looking out for. squizlabs/PHP_CodeSniffer#2448 (comment) says that PHPCS 4 won't be released until at least 2020, so we have plenty of time before this needs actioning (unless we feel that the eslint solution gives a better outcome / fewer false positives and want to use it sooner rather than later). |
In PHPCS itself, PHPCSStandards/PHP_CodeSniffer#276 was used to add Also PHPCSStandards/PHP_CodeSniffer#188 covers how the sniffs will be hard deprecated ("a deprecation notice will be shown at runtime, but will not affect the exit code of PHPCS.") in the last PHPCS 3.x minor release. This is using the new native handling of deprecated sniffs for PHPCS 3.9 (which we'll need VIPCS to have as a minimum to make use of it). We can do the same for VIPCS. It means we'll need to have a major VIPCS release that fully removes these sniffs, before we can support PHPCS 4 (which will have the CSS and JS tokenizers removed that our deprecated sniffs would otherwise try and use). |
@GaryJones Glad you like what I've done to make deprecating sniffs more user-friendly 😀 Just to give you some idea, I'm hoping to release version 4.0 ~ end of May (though conferences & speaking may interfere with my planning). Before 4.0 will be released, some utilities will be added to PHPCSUtils to make cross-version support for PHPCS 3.x/4.x (for scanning PHP files and running tests) easier and to make it more straight-forward to make sniffs compatible with the Tokenizer changes which are included in PHPCS 4.0. I want those things to be available before releasing 4.0, which should hopefully also encourage more external standards to adopt PHPCSUtils. I'm currently working on these new features in Utils and intend to include these utilities in PHPCSUtils 1.1.0 (along with some other new helper functionality). |
@rebeccahum I see you included the Likewise, how about the Twig, UnderscoreJS, VueJS, Mustache sniffs? Should the whole sniff be soft deprecated, or is there still something to be gained by checking with just the PHP tokenizer? Edit: added develop...feature/soft-deprecate-sniffs-for-phpcs-4.0 but will hold off on the PR until these questions have answers. |
CSS/JS tokenizers will be removed for PHPCS 4: squizlabs/PHP_CodeSniffer#2448 This commit _soft_ deprecates these sniffs with a `@deprecated` annotation. They will also get a mention in the changelog. Hard deprecation using the PHPCS 3.9.0 native handling of deprecated sniffs will follow. See #442.
Re: the admin bar, yeah, I think that would be fine since that is something we will strongly discourage. Re: the other templating engines, I'm not sure how useful they are, so I'm fine with a soft deprecation. |
With JS and CSS tokenizers slated to be removed in 4.0 of PHPCS, we may have to remove our JS/CSS sniffs for compatibility: squizlabs/PHP_CodeSniffer#2448
JS sniffs:
CSS Sniffs:
The text was updated successfully, but these errors were encountered: