Add comprehensive PHP quality assurance tooling: **New tools:** - roave/security-advisories - Blocks packages with known CVEs - infection/infection - Mutation testing for test quality - rector/rector - Automated refactoring and PHP upgrades - psalm/plugin-laravel - Better Laravel support in Psalm **New config files:** - qa.yaml - QA pipeline definition for `core php qa` command - infection.json5 - Mutation testing configuration - rector.php - Automated refactoring rules **QA Pipeline stages:** 1. Quick: security audit, code style, PHPStan 2. Standard: Psalm, tests 3. Full: Rector dry-run, mutation testing **Current status:** - Security: No vulnerabilities - Pint: Pass - PHPStan: Level 1, 0 errors - Psalm: Level 8, 0 errors, 93% type inference - Tests: 197 passing - Rector: 225 files with potential improvements Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
38 lines
868 B
PHP
38 lines
868 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use Rector\Config\RectorConfig;
|
|
use Rector\Set\ValueObject\LevelSetList;
|
|
use Rector\Set\ValueObject\SetList;
|
|
|
|
return RectorConfig::configure()
|
|
->withPaths([
|
|
__DIR__.'/src',
|
|
])
|
|
->withSkip([
|
|
__DIR__.'/src/Core/Activity',
|
|
__DIR__.'/src/Core/Tests',
|
|
__DIR__.'/src/Mod/Trees',
|
|
])
|
|
->withSets([
|
|
// PHP version upgrades
|
|
LevelSetList::UP_TO_PHP_82,
|
|
|
|
// Code quality
|
|
SetList::CODE_QUALITY,
|
|
SetList::CODING_STYLE,
|
|
SetList::DEAD_CODE,
|
|
SetList::EARLY_RETURN,
|
|
SetList::TYPE_DECLARATION,
|
|
])
|
|
->withImportNames(
|
|
importShortClasses: false,
|
|
removeUnusedImports: true
|
|
)
|
|
->withPreparedSets(
|
|
deadCode: true,
|
|
codeQuality: true,
|
|
typeDeclarations: true,
|
|
earlyReturn: true,
|
|
);
|