Introduce identifier error formatter #802
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PHPStan allows us to ignore by identifier rather than message (as of 1.11). This is slightly less specific than the message is, but has the benefit of being a lot fewer bytes and a lot easier to deduplicate. This significantly reduces the size of the PHP baseline when used for Drupal Core.
Use the new formatter by passing
--error-format=identifier_baseline
to thephpstan analyze
command. Note that you can unfortunately not pipe to the baseline because this clears out the file before PHPStan is started.return [];
at the top of the baseline to easily do this.In case no identifier is available the formatter falls back to using the message in the same way PHPStan's
BaselinePhpErrorFormatter
would do.There's one important difference vs the
BaselinePhpErrorFormatter
because$message
and$file
are not escaped usingHelpers::escape
as is done in PHPStan.Helpers
is a class from the nette/di package that's marked as internal. To add that code back we'd need to addnette/di
as a dependency tophpstan-drupal
or fork the helper.