Internal: Add psalm plugins

pull/3466/head
Julio Montoya 4 years ago
parent ca4f00b417
commit 1e31d669c4
  1. 4
      composer.json
  2. 220
      psalm.xml

@ -165,6 +165,7 @@
"behat/mink-selenium2-driver": "@stable",
"php-translation/symfony-bundle": "^0.12",
"phpstan/phpstan": "^0.12",
"psalm/plugin-symfony": "^1.4",
"symfony/browser-kit": "^4.0|^5.0",
"symfony/css-selector": "^5.0",
"symfony/debug-pack": "*",
@ -173,7 +174,8 @@
"symfony/profiler-pack": "*",
"symfony/test-pack": "*",
"symplify/easy-coding-standard": "^8.0",
"vimeo/psalm": "^3.14"
"vimeo/psalm": "^3.14",
"weirdan/doctrine-psalm-plugin": "^0.11.3"
},
"scripts": {
"analyse": [

@ -7,152 +7,150 @@
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
>
<projectFiles>
<directory name="src" />
<!--<directory name="public/main/group" />-->
<!--<directory name="public/main/link" />-->
<directory name="src"/>
<!-- <directory name="public/main/admin" />-->
<directory name="public/main/group"/>
<directory name="public/main/link" />
<!-- <directory name="public/main/session" /> -->
<!-- <directory name="public/main/exercise"/> -->
<ignoreFiles>
<directory name="vendor/*" />
<directory name="src/CoreBundle/Menu" />
<directory name="src/CoreBundle/Migrations" />
<directory name="src/CoreBundle/Component/Editor" />
<directory name="src/CourseBundle/Component/CourseCopy" />
<directory name="src/GraphQlBundle" />
<directory name="src/LtiBundle" />
<file name="public/main/admin/db.php" />
<!-- <directory name="src/MediaBundle" />-->
<!-- <directory name="src/NotificationBundle" />-->
<!-- <directory name="src/PageBundle" />-->
<!-- <directory name="src/SettingsBundle" />-->
<!-- <directory name="src/SkillBundle" />-->
<!-- <directory name="src/ThemeBundle" />-->
<!-- <directory name="src/TicketBundle" />-->
<!-- <directory name="src/TimelineBundle" />-->
<!-- <directory name="src/UserBundle" />-->
<directory name="vendor/*"/>
<directory name="src/CoreBundle/Menu"/>
<directory name="src/CoreBundle/Component/Editor"/>
<directory name="src/CourseBundle/Component/CourseCopy"/>
<directory name="src/GraphQlBundle"/>
<directory name="src/LtiBundle"/>
<file name="public/main/admin/db.php"/>
<file name="src/CoreBundle/Controller/EditorController.php"/>
<file name="src/CoreBundle/Controller/ResourceController.php"/>
</ignoreFiles>
</projectFiles>
<issueHandlers>
<InvalidClass errorLevel="info" />
<InvalidClass errorLevel="info"/>
<LessSpecificReturnType errorLevel="info" />
<LessSpecificReturnType errorLevel="info"/>
<LessSpecificReturnType errorLevel="info" />
<LessSpecificReturnType errorLevel="info"/>
<!-- level 3 issues - slightly lazy code writing, but provably low false-negatives -->
<DeprecatedClass errorLevel="info" />
<DeprecatedInterface errorLevel="info" />
<DeprecatedClass errorLevel="info"/>
<DeprecatedInterface errorLevel="info"/>
<MissingClosureReturnType errorLevel="info" />
<MissingReturnType errorLevel="info" />
<MissingPropertyType errorLevel="info" />
<InvalidDocblock errorLevel="info" />
<MisplacedRequiredParam errorLevel="info" />
<MissingClosureReturnType errorLevel="info"/>
<MissingReturnType errorLevel="info"/>
<MissingPropertyType errorLevel="info"/>
<InvalidDocblock errorLevel="info"/>
<MisplacedRequiredParam errorLevel="info"/>
<PropertyNotSetInConstructor errorLevel="info" />
<MissingConstructor errorLevel="info" />
<MissingClosureParamType errorLevel="info" />
<MissingParamType errorLevel="info" />
<PropertyNotSetInConstructor errorLevel="info"/>
<MissingConstructor errorLevel="info"/>
<MissingClosureParamType errorLevel="info"/>
<MissingParamType errorLevel="info"/>
<RedundantCondition errorLevel="info" />
<RedundantCondition errorLevel="info"/>
<DocblockTypeContradiction errorLevel="info" />
<RedundantConditionGivenDocblockType errorLevel="info" />
<DocblockTypeContradiction errorLevel="info"/>
<RedundantConditionGivenDocblockType errorLevel="info"/>
<UnresolvableInclude errorLevel="info" />
<UnresolvableInclude errorLevel="info"/>
<RawObjectIteration errorLevel="info" />
<RawObjectIteration errorLevel="info"/>
<InvalidStringClass errorLevel="info" />
<InvalidStringClass errorLevel="info"/>
<!-- level 4 issues - points to possible deficiencies in logic, higher false-positives -->
<MoreSpecificReturnType errorLevel="info" />
<LessSpecificReturnStatement errorLevel="info" />
<TypeCoercion errorLevel="info" />
<PossiblyFalseArgument errorLevel="info" />
<PossiblyFalseIterator errorLevel="info" />
<PossiblyFalseOperand errorLevel="info" />
<PossiblyFalsePropertyAssignmentValue errorLevel="info" />
<PossiblyFalseReference errorLevel="info" />
<PossiblyInvalidArgument errorLevel="info" />
<PossiblyInvalidArrayAccess errorLevel="info" />
<PossiblyInvalidArrayAssignment errorLevel="info" />
<PossiblyInvalidArrayOffset errorLevel="info" />
<PossiblyInvalidCast errorLevel="info" />
<PossiblyInvalidFunctionCall errorLevel="info" />
<PossiblyInvalidIterator errorLevel="info" />
<PossiblyInvalidMethodCall errorLevel="info" />
<PossiblyInvalidOperand errorLevel="info" />
<PossiblyInvalidPropertyAssignment errorLevel="info" />
<PossiblyInvalidPropertyAssignmentValue errorLevel="info" />
<PossiblyInvalidPropertyFetch errorLevel="info" />
<PossiblyNullArgument errorLevel="info" />
<PossiblyNullArrayAccess errorLevel="info" />
<PossiblyNullArrayAssignment errorLevel="info" />
<PossiblyNullArrayOffset errorLevel="info" />
<PossiblyNullFunctionCall errorLevel="info" />
<PossiblyNullIterator errorLevel="info" />
<PossiblyNullOperand errorLevel="info" />
<PossiblyNullPropertyAssignment errorLevel="info" />
<PossiblyNullPropertyAssignmentValue errorLevel="info" />
<PossiblyNullPropertyFetch errorLevel="info" />
<PossiblyNullReference errorLevel="info" />
<PossiblyUndefinedGlobalVariable errorLevel="info" />
<PossiblyUndefinedVariable errorLevel="info" />
<PossiblyUndefinedArrayOffset errorLevel="info" />
<PossiblyUndefinedMethod errorLevel="info" />
<PossibleRawObjectIteration errorLevel="info" />
<MoreSpecificReturnType errorLevel="info"/>
<LessSpecificReturnStatement errorLevel="info"/>
<TypeCoercion errorLevel="info"/>
<PossiblyFalseArgument errorLevel="info"/>
<PossiblyFalseIterator errorLevel="info"/>
<PossiblyFalseOperand errorLevel="info"/>
<PossiblyFalsePropertyAssignmentValue errorLevel="info"/>
<PossiblyFalseReference errorLevel="info"/>
<PossiblyInvalidArgument errorLevel="info"/>
<PossiblyInvalidArrayAccess errorLevel="info"/>
<PossiblyInvalidArrayAssignment errorLevel="info"/>
<PossiblyInvalidArrayOffset errorLevel="info"/>
<PossiblyInvalidCast errorLevel="info"/>
<PossiblyInvalidFunctionCall errorLevel="info"/>
<PossiblyInvalidIterator errorLevel="info"/>
<PossiblyInvalidMethodCall errorLevel="info"/>
<PossiblyInvalidOperand errorLevel="info"/>
<PossiblyInvalidPropertyAssignment errorLevel="info"/>
<PossiblyInvalidPropertyAssignmentValue errorLevel="info"/>
<PossiblyInvalidPropertyFetch errorLevel="info"/>
<PossiblyNullArgument errorLevel="info"/>
<PossiblyNullArrayAccess errorLevel="info"/>
<PossiblyNullArrayAssignment errorLevel="info"/>
<PossiblyNullArrayOffset errorLevel="info"/>
<PossiblyNullFunctionCall errorLevel="info"/>
<PossiblyNullIterator errorLevel="info"/>
<PossiblyNullOperand errorLevel="info"/>
<PossiblyNullPropertyAssignment errorLevel="info"/>
<PossiblyNullPropertyAssignmentValue errorLevel="info"/>
<PossiblyNullPropertyFetch errorLevel="info"/>
<PossiblyNullReference errorLevel="info"/>
<PossiblyUndefinedGlobalVariable errorLevel="info"/>
<PossiblyUndefinedVariable errorLevel="info"/>
<PossiblyUndefinedArrayOffset errorLevel="info"/>
<PossiblyUndefinedMethod errorLevel="info"/>
<PossibleRawObjectIteration errorLevel="info"/>
<!-- level 5 issues - should be avoided at most costs... -->
<ForbiddenCode errorLevel="info" />
<ImplicitToStringCast errorLevel="info" />
<InvalidScalarArgument errorLevel="info" />
<InvalidToString errorLevel="info" />
<InvalidOperand errorLevel="info" />
<NoInterfaceProperties errorLevel="info" />
<TooManyArguments errorLevel="info" />
<TypeDoesNotContainType errorLevel="info" />
<TypeDoesNotContainNull errorLevel="info" />
<MissingDocblockType errorLevel="info" />
<ImplementedReturnTypeMismatch errorLevel="info" />
<ImplementedParamTypeMismatch errorLevel="info" />
<ForbiddenCode errorLevel="info"/>
<ImplicitToStringCast errorLevel="info"/>
<InvalidScalarArgument errorLevel="info"/>
<InvalidToString errorLevel="info"/>
<InvalidOperand errorLevel="info"/>
<NoInterfaceProperties errorLevel="info"/>
<TooManyArguments errorLevel="info"/>
<TypeDoesNotContainType errorLevel="info"/>
<TypeDoesNotContainNull errorLevel="info"/>
<MissingDocblockType errorLevel="info"/>
<ImplementedReturnTypeMismatch errorLevel="info"/>
<ImplementedParamTypeMismatch errorLevel="info"/>
<!-- level 6 issues - really bad things -->
<InvalidNullableReturnType errorLevel="info" />
<NullableReturnStatement errorLevel="info" />
<InvalidFalsableReturnType errorLevel="info" />
<FalsableReturnStatement errorLevel="info" />
<InvalidNullableReturnType errorLevel="info"/>
<NullableReturnStatement errorLevel="info"/>
<InvalidFalsableReturnType errorLevel="info"/>
<FalsableReturnStatement errorLevel="info"/>
<MoreSpecificImplementedParamType errorLevel="info" />
<LessSpecificImplementedReturnType errorLevel="info" />
<MoreSpecificImplementedParamType errorLevel="info"/>
<LessSpecificImplementedReturnType errorLevel="info"/>
<InvalidReturnStatement errorLevel="info" />
<InvalidReturnType errorLevel="info" />
<UndefinedThisPropertyAssignment errorLevel="info" />
<UndefinedInterfaceMethod errorLevel="info" />
<InvalidReturnStatement errorLevel="info"/>
<InvalidReturnType errorLevel="info"/>
<UndefinedThisPropertyAssignment errorLevel="info"/>
<UndefinedInterfaceMethod errorLevel="info"/>
<!-- level 7 issues - even worse -->
<UndefinedThisPropertyAssignment errorLevel="info" />
<UndefinedPropertyAssignment errorLevel="info" />
<UndefinedThisPropertyFetch errorLevel="info" />
<UndefinedPropertyFetch errorLevel="info" />
<UndefinedThisPropertyAssignment errorLevel="info"/>
<UndefinedPropertyAssignment errorLevel="info"/>
<UndefinedThisPropertyFetch errorLevel="info"/>
<UndefinedPropertyFetch errorLevel="info"/>
<InvalidReturnStatement errorLevel="info" />
<InvalidReturnType errorLevel="info" />
<InvalidArgument errorLevel="info" />
<InvalidPropertyAssignmentValue errorLevel="info" />
<InvalidArrayOffset errorLevel="info" />
<InvalidArrayAssignment errorLevel="info" />
<InvalidArrayAccess errorLevel="info" />
<InvalidClone errorLevel="info" />
<InvalidReturnStatement errorLevel="info"/>
<InvalidReturnType errorLevel="info"/>
<InvalidArgument errorLevel="info"/>
<InvalidPropertyAssignmentValue errorLevel="info"/>
<InvalidArrayOffset errorLevel="info"/>
<InvalidArrayAssignment errorLevel="info"/>
<InvalidArrayAccess errorLevel="info"/>
<InvalidClone errorLevel="info"/>
</issueHandlers>
<plugins>
<pluginClass class="Weirdan\DoctrinePsalmPlugin\Plugin"/>
<pluginClass class="Psalm\SymfonyPsalmPlugin\Plugin"/>
</plugins>
</psalm>

Loading…
Cancel
Save