You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.3 KiB
68 lines
2.3 KiB
# Configuration file for PHPStan static code checking, see https://phpstan.org . |
|
# The PHPStan check is executed as a job in the CI pipeline. |
|
includes: |
|
- .phpstan-baseline.php |
|
|
|
parameters: |
|
|
|
tmpDir: phpstan-tmp |
|
|
|
level: 1 |
|
|
|
checkInternalClassCaseSensitivity: true |
|
|
|
fileExtensions: |
|
- sh |
|
|
|
paths: |
|
- . |
|
- ../composer |
|
|
|
bootstrapFiles: |
|
# Load aliases. |
|
- lib/Drupal/Core/Serialization/Yaml.php |
|
|
|
excludePaths: |
|
# Skip sites directory. |
|
- ../sites |
|
# Skip test fixtures. |
|
- ../*/node_modules/* |
|
- */tests/fixtures/*.php |
|
- */tests/fixtures/*.php.gz |
|
# Skip the phpstan tmpDir |
|
- phpstan-tmp/* |
|
# Skip Drupal's own PHPStan rules test fixtures. |
|
- tests/PHPStan/fixtures/* |
|
# Skip Drupal's own PHPStan vendor directory |
|
- tests/PHPStan/vendor/* |
|
# Skip Drupal 6 & 7 code. |
|
- scripts/dump-database-d?.sh |
|
- scripts/generate-d?-content.sh |
|
# Skip update countries script for fake t() declaration. |
|
- scripts/update-countries.sh |
|
# Skip data files. |
|
- lib/Drupal/Component/Transliteration/data/*.php |
|
# The following classes deliberately extend non-existent classes for testing. |
|
- modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/fruit/ExtendingNonInstalledClass.php |
|
- modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/custom_annotation/UsingNonInstalledTraitClass.php |
|
- modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/custom_annotation/ExtendingNonInstalledClass.php |
|
# Needs to be skipped until PHPStan recognises the existence of Pdo\Sqlite |
|
- modules/sqlite/src/Driver/Database/sqlite/SqliteConnection.php |
|
|
|
ignoreErrors: |
|
# new static() is a best practice in Drupal, so we cannot fix that. |
|
- "#^Unsafe usage of new static#" |
|
|
|
# Ignore common errors for now. |
|
- "#Drupal calls should be avoided in classes, use dependency injection instead#" |
|
- "#^Class .* extends @internal class#" |
|
- identifier: missingType.iterableValue |
|
|
|
rules: |
|
- Drupal\PHPStan\Rules\ComponentTestDoesNotExtendCoreTest |
|
- Drupal\PHPStan\Rules\TestClassClassMetadata |
|
- Drupal\PHPStan\Rules\TestClassMethodMetadata |
|
- PHPStan\Rules\Functions\MissingFunctionReturnTypehintRule |
|
- PHPStan\Rules\Methods\MissingMethodReturnTypehintRule |
|
# The rule below can be removed when we increase level to 2. |
|
- PHPStan\Rules\Classes\AccessPrivateConstantThroughStaticRule
|
|
|