Ilia Alshanetsky
|
30fe7a4090
|
feat(php): consolidated PHP tooling (php, artisan, phpunit, phpstan, pest, paratest, ecs, pint)
Consolidates the PHP-tooling work from three upstream PRs plus a new
Pint module, leaving phpt to its own PR (#1503).
- rtk php / rtk artisan: syntax check (-l) and Laravel artisan wrapper.
- rtk phpunit: structured-state parser, aggregate counts, bounded
failure list. Uses runner::run_filtered.
- rtk phpstan: typed serde::Deserialize parser for --error-format=json,
groups errors by file, sorts by count desc. Utility commands
(--version, list, clear-result-cache) pass through unchanged.
- rtk pest / rtk paratest: shared test_output helper.
- rtk ecs / rtk pint: code-style fixers; pint uses --format=json for
structured per-file rule counts.
Composer custom-bin-dir detection: composer_bin_dirs() reads
COMPOSER_BIN_DIR and composer.json config.bin-dir, so tools/bin/phpunit
classifies identically to vendor/bin/phpunit. registry.rs normalizes
tool paths before matching.
Sources:
- rtk-ai/rtk#1246 (aaronflorey, self-closed): php, artisan, ecs, pest,
paratest, test_output, utils, composer_bin_dirs, registry normalization.
- rtk-ai/rtk#874 (Beninho, open): phpunit state-machine parser.
- rtk-ai/rtk#1110 (LucianoVandi, open): phpstan typed parser.
- New: pint_cmd.rs.
Tests: discover::registry 253 pass; cmds::php 36 pass; cargo build
--release 0 errors; cargo fmt --check clean.
|
2026-06-26 10:04:40 -04:00 |
|