onepix / wp-static-analysis
Psalm, PHPCS and Rector configs for use in WP
v0.7.1
2025-02-24 13:05 UTC
Requires
- php: ^8.1
- humanmade/psalm-plugin-wordpress: ^3
- onepix/wordpress-stubs: *
- onepix/wp-coding-standards: ^1
- rector/rector: ^2
- symfony/console: ^6
- symfony/polyfill-php83: *
- symfony/process: ^6
- vimeo/psalm: ^5 || ^6
Requires (Dev)
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^10 || ^11
- psalm/plugin-phpunit: *
README
TODO
- Psalm plugin for autoregistration of installed
onepix/*-stubs
- Rector CLI
Install
composer require --dev onepix/wp-static-analysis
Required
- PHP 8.1+
CLI
PHP_CodeSniffer
vendor/bin/wp-static-analysis phpcs [OPTIONS] -- [<PHPCS-ARGS>...]
vendor/bin/wp-static-analysis phpcbf [OPTIONS] -- [<PHPCS-ARGS>...]
[PHPCS-ARGS]
: Arguments from PHP_CodeSniffer
[OPTIONS]
:
--ruleset
- Path to the customruleset.xml
file relative to the project
If --ruleset
is not present, it checks the files in order of priority:
.config/.phpcs.xml
.config/phpcs.xml
.config/.phpcs.xml.dist
.config/phpcs.xml.dist
WpOnepixStandard
is automatically applied
Example
vendor/bin/wp-static-analysis phpcs --ruleset=./phpcs/example.xml -- --colors
Overriding rules
.config/phpcs.xml
<?xml version="1.0"?> <ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Onepix WP Standard Override" namespace="WpOnepixStandardOverride" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd"> <rule ref="WpOnepixStandard"> </rule> <!-- Arguments --> <arg name="extensions" value="php" /> <arg name="report" value="summary" /> <arg name="colors" /> <arg name="cache" /> <arg value="sp" /> </ruleset>
Psalm
vendor/bin/wp-static-analysis psalm [OPTIONS] -- [<PSALM-ARGS>...]
[PSALM-ARGS]
: Arguments from Psalm
[OPTIONS]
:
--config
- Path to the custompsalm.xml
file relative to the project
If --config
is not present, it checks the files in order of priority:
.config/psalm.xml
.config/psalm.xml.dist
- Default config from this package
config/psalm.xml
Example
vendor/bin/wp-static-analysis psalm --config=./phpcs/example.xml -- --help