shipmonk/phpstan-baseline-per-identifier
Split your PHPStan baseline into multiple files, one per error identifier. Supports both neon baseline and PHP baseline.
Maintainers
Package info
github.com/shipmonk-rnd/phpstan-baseline-per-identifier
Type:phpstan-extension
pkg:composer/shipmonk/phpstan-baseline-per-identifier
Requires
- php: ^7.4 || ^8.0
- nette/neon: ^3.3.3 || ^4.0
- phpstan/phpstan: ^2
Requires (Dev)
- editorconfig-checker/editorconfig-checker: 10.7.0
- ergebnis/composer-normalize: ^2.45
- phpstan/phpstan-phpunit: 2.0.6
- phpstan/phpstan-strict-rules: 2.0.4
- phpunit/phpunit: 9.6.23
- shipmonk/coding-standard: ^0.2.0
- shipmonk/composer-dependency-analyser: 1.8.3
- shipmonk/dead-code-detector: ^0.11.0
- shipmonk/name-collision-detector: 2.1.1
- shipmonk/phpstan-rules: 4.1.2
Suggests
None
Provides
None
Conflicts
None
Replaces
None
MIT b997803a60f1f604b9fe0aed5d6d1edead010190
This package is auto-updated.
Last update: 2026-06-18 12:29:42 UTC
README
Split your PHPStan baseline into multiple files, one per error identifier:
baselines/ ├─ _loader.neon ├─ empty.notAllowed.neon ├─ foreach.nonIterable.neon ├─ identical.alwaysFalse.neon └─ if.condNotBoolean.neon
Each file looks like this:
# total 1 error parameters: ignoreErrors: - message: '#^Construct empty\(\) is not allowed\. Use more strict comparison\.$#' path: ../app/index.php count: 1
Installation:
composer require --dev shipmonk/phpstan-baseline-per-identifier
Usage
Important
This usage is available since version 2.0. See legacy usage below if you are still using PHPStan 1.x
Remove old single baseline include:
-includes: - - phpstan-baseline.neon
Run native baseline generation and split it into multiple files via our script (other baseline files will be placed beside the loader):
vendor/bin/phpstan --generate-baseline=baselines/_loader.neon && vendor/bin/split-phpstan-baseline baselines/_loader.neon
Setup the baselines loader:
# phpstan.neon.dist includes: - baselines/_loader.neon
(optional) You can simplify generation with e.g. composer script:
{
"scripts": {
"generate:baseline:phpstan": [
"phpstan --generate-baseline=baselines/_loader.neon",
"split-phpstan-baseline baselines/_loader.neon"
]
}
}
Cli options
The vendor/bin/split-phpstan-baseline script accepts the following options:
--tabsto use tabs as indents in generated neon files--no-error-countto remove errors count in generated files
PHP Baseline
- If the loader file extension is php, the generated files will be php files as well
