phpstan.neon.dist
Rama master · réplica de lectura del repositorio original.
# S256-residual — the production corpus is src/ AND scripts/ at level 9, no baseline,
# empty excludePaths and empty ignoreErrors (S343 invariant, extended to scripts/).
# ⚠ CI runs `phpstan analyse` with NO path and NO --level: a CLI path overrides
# `paths:` entirely — the S128 trap recorded in phpstan-tests.neon's header. The
# scope (this file's paths list, the level, and the CI command) is asserted by
# tests/Unit/Support/StaticAnalysisScopeTest.php.
parameters:
level: 9
paths:
- src
- scripts
excludePaths: []
bootstrapFiles:
- vendor/autoload.php
# scripts/bench/coroutine_bench.php uses Swoole\Coroutine\WaitGroup behind an
# extension_loaded('swoole') guard. CI's phpstan job installs no swoole and
# WaitGroup is a USERLAND class swoole compiles into its binary, so bundled
# phpstorm-stubs structurally cannot ship it — the same measured trap
# phpstan-tests.neon documents (scanFiles introduces the symbol; stubFiles
# does not). Single source of truth, drift-tested in-suite by
# StaticAnalysisScopeTest::testTheWaitGroupDeclarationStillMatchesTheRealExtension.
scanFiles:
- phpstan-stubs/Swoole/Coroutine/WaitGroup.stub
treatPhpDocTypesAsCertain: false
ignoreErrors: []