the-events-calendar / coding-standards
Code sniffing rules for StellarWP
Installs: 1 940
Dependents: 2
Suggesters: 0
Security: 0
Stars: 8
Watchers: 39
Forks: 1
Type:phpcodesniffer-standard
Requires
- php: >=7.4
- automattic/vipwpcs: ^3.0
- slevomat/coding-standard: ^8.14.0
- squizlabs/php_codesniffer: ^3.8.0
- wp-coding-standards/wpcs: ^3.0.0
Requires (Dev)
Suggests
- dealerdirect/phpcodesniffer-composer-installer: ^0.7 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.
README
StellarWP coding standards uses a combination of:
- Generic (part of PHP_CodeSniffer)
- PEAR (part of PHP_CodeSniffer)
- PSR2 (part of PHP_CodeSniffer)
- Squiz (part of PHP_CodeSniffer)
- Zend (part of PHP_CodeSniffer)
- Custom sniffs (a few based on WordPress)
Important
Make sure that the command phpcs
is on version 3.4.2
+. In order to install it on that specifc version globally you can use:
composer global require "squizlabs/php_codesniffer=3.4.2"
Complete Installation Script
For a full installation of all required components, you can use the following script. This will install all necessary packages globally and configure PHPCS to use them:
#!/bin/bash # Install PHP_CodeSniffer composer global require "squizlabs/php_codesniffer=^3.8.0" # Install required coding standards and dependencies composer global require "wp-coding-standards/wpcs:^3.0.0" composer global require "automattic/vipwpcs:^3.0" composer global require "phpcsstandards/phpcsextra:*" composer global require "phpcsstandards/phpcsutils:*" composer global require "stellarwp/coding-standards:*" composer global require "sirbrillig/phpcs-variable-analysis:*" composer global require "slevomat/coding-standard:^8.14.0" # Update PHPCS installed paths to include all standards phpcs --config-set installed_paths "$(phpcs --config-show | grep installed_paths | awk '{ print $2 }'),${HOME}/.config/composer/vendor/phpcsstandards/phpcsextra,${HOME}/.config/composer/vendor/phpcsstandards/phpcsutils,${HOME}/.config/composer/vendor/wp-coding-standards/wpcs,${HOME}/.composer/vendor/automattic/vipwpcs,${HOME}/.composer/vendor/stellarwp/coding-standards,${HOME}/.composer/vendor/sirbrillig/phpcs-variable-analysis,${HOME}/.composer/vendor/slevomat/coding-standard" # Verify installation echo "Installed PHPCS version:" phpcs --version echo "" echo "Installed coding standards:" phpcs -i
Note
The script assumes your global Composer binaries are in your PATH. Adjust the paths in the script if your Composer global installation directory is different.
Setup on PHPStorm
You can follow this guide the only step you can replace is the one on Installing via Composer by the one above to install the 3.4.2 version instead.
Example Usage via phpcs.xml
File
<?xml version="1.0"?> <ruleset name="StellarWP Coding Standards"> <rule ref="WordPress-VIP-Go"/> <rule ref="WordPress-Docs"> <exclude-pattern>*/tests/*</exclude-pattern> </rule> <rule ref="WordPress"> <exclude name="WordPress.Files.FileName"/> <exclude name="Generic.Arrays.DisallowShortArraySyntax"/> </rule> <rule ref="StellarWP"/> <!--exclude the rule for violation of direct DB calls as some have no alternative--> <rule ref="WordPress.DB.DirectDatabaseQuery"> <exclude-pattern>src/Test.php</exclude-pattern> </rule> <exclude-pattern>*/tests/_support/_generated/*</exclude-pattern> <exclude-pattern>*/vendor/*</exclude-pattern> </ruleset>