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

# 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