ReactBundle
ReactBundle copied to clipboard
PHPCS/Composer: update PHPCompatibility
Composer:
-
wimg/php-compatibilityhas been abandoned for over a year. Usephpcompatibility/php-compatibilityinstead. - Use the latest version of PHPCompatibility. You were missing out on a lot of new checks, including the checks to make sure your code is compatible with the ~~upcoming~~ PHP 7.4.
- As of PHPCompatibility 8.0, the directory layout of the PHPCompatibility standard has been updated to work correctly with Composer, so no need for the custom scripts moving the files anymore.
- Add the DealerDirect Composer PHPCS plugin.
This plugin will handle setting the PHPCS
installed_pathsautomatically. This also allows for referencing the ruleset by name instead of via the path in the ruleset, which is generally more stable.
PHPCS ruleset:
- Rename the ruleset to
phpcs.xml.distwhich will allow PHPCS to automatically pick up on it. No need to pass the--standard=...command-line argument anymore. - Check for cross-version compatibility for the PHP versions officially supported.
According to the
composer.jsonfile, this code should be compatible with PHP 5.5 and above. PHPCompatibility was checking against PHP 5.5 up to PHP 7.0. The newtestVersionactually checks against PHP 5.5 up to the latest version (7.4 at this moment).
Refs:
- https://github.com/PHPCompatibility/PHPCompatibility#sniffing-your-code-for-compatibility-with-specific-php-versions
- https://github.com/PHPCompatibility/PHPCompatibility/releases/
- https://github.com/Dealerdirect/phpcodesniffer-composer-installer
Suggestion:
- You may also want to update the Symfony standard dependency which is currently at version ~~
3.10.0~~3.11.0Ref: https://github.com/djoos/Symfony-coding-standard/blob/master/UPGRADE-3.0.md Note: the ruleset name has been changed in version 3 fromSymfony2toSymfony. - And consider updating (or removing) the PHP_CodeSniffer dependency, of which the latest release is version ~~
3.5.3~~3.5.6I'd suggest removing it as it is not your dependency, but a dependency of the PHPCompatibility and the Symfony coding standards, so let those dependencies manage the version rather than doing that yourself. Ref: https://github.com/squizlabs/php_codesniffer/releases