Files
FreshRSS/phpstan.neon
Alexandre Alapetite 314077a457 PHPStan prepare exceptions (#6037)
Take advantage of
https://phpstan.org/blog/bring-your-exceptions-under-control

Minimum changes to pass `tooWideThrowType` and `implicitThrows`.

Revert some mistakes from:
https://github.com/FreshRSS/FreshRSS/pull/5504
Preparation needed before new PRs of the same type:
https://github.com/FreshRSS/FreshRSS/pull/5962

Fix several wrong PHPDocs and catches:

> Method ... has ...Exception in PHPDoc @throws tag but it's not thrown.

> Dead catch - ...Exception is never thrown in the try block.
2024-01-15 10:36:30 +01:00

68 lines
1.8 KiB
Plaintext

parameters:
# TODO: Increase rule-level https://phpstan.org/user-guide/rule-levels
level: 8
phpVersion: 80399 # TODO: Remove line when moving composer.json to PHP 8+
fileExtensions:
- php
- phtml
paths:
- .
excludePaths:
analyse:
- lib/marienfressinaud/*
- lib/phpgt/*
- lib/phpmailer/*
- lib/SimplePie/*
- vendor/*
analyseAndScan:
- .git/*
- extensions/node_modules
- extensions/symbolic
- extensions/vendor
- node_modules/*
bootstrapFiles:
- cli/_cli.php
- lib/favicons.php
dynamicConstantNames:
- CACHE_PATH
- COPY_LOG_TO_SYSLOG
- COPY_SYSLOG_TO_STDERR
- DATA_PATH
- MAX_LOG_SIZE
- PUBLIC_RELATIVE
- SIMPLEPIE_SYSLOG_ENABLED
- STDERR
- STDOUT
- TMP_PATH
- USERS_PATH
reportMaybesInPropertyPhpDocTypes: false
treatPhpDocTypesAsCertain: false
strictRules:
allRules: false
booleansInConditions: false # TODO pass
closureUsesThis: true
disallowedConstructs: false
disallowedLooseComparison: false
matchingInheritedMethodNames: true
noVariableVariables: true
numericOperandsInArithmeticOperators: true
overwriteVariablesWithLoop: true
requireParentConstructorCall: true
strictCalls: true
switchConditionsMatchingType: true
uselessCast: true
exceptions:
check:
missingCheckedExceptionInThrows: false # TODO pass
tooWideThrowType: true
implicitThrows: false
checkedExceptionClasses:
- 'Minz_Exception'
ignoreErrors:
# - '#Only booleans are allowed in (a negated boolean|a ternary operator condition|an elseif condition|an if condition|&&|\|\|), (bool|false|int(<[0-9, max]+>)?|true|null|\|)+ given.*#'
includes:
- vendor/phpstan/phpstan-phpunit/extension.neon
- vendor/phpstan/phpstan-phpunit/rules.neon
- vendor/phpstan/phpstan-strict-rules/rules.neon
# - vendor/phpstan/phpstan/conf/bleedingEdge.neon