Skip to content
Snippets Groups Projects
phpstan.neon 7.23 KiB
Newer Older
    - vendor/friendsoftypo3/phpstan-typo3/extension.neon
    - Build/phpstan.level8.neon
# Include bleeding edge rules if necessary but do not commit
#    - vendor/phpstan/phpstan/conf/bleedingEdge.neon
  # Set to true during local runs to find unmatched ignored errors. bamboo needs this to be set to false.
  reportUnmatchedIgnoredErrors: false

  paths:
    - %currentWorkingDirectory%/typo3/sysext/

  excludes_analyse:
    - %currentWorkingDirectory%/typo3/sysext/*/Tests/*
    - %currentWorkingDirectory%/typo3/sysext/*/Documentation/*
    - %currentWorkingDirectory%/typo3/sysext/*/Resources/*
    - %currentWorkingDirectory%/typo3/sysext/*/Configuration/*

  ignoreErrors:
    # ignored errors for level 0
    - '#Undefined variable: \$_EXTKEY#'
    -
      message: '#Instantiated class Composer\\Util\\Filesystem not found\.#'
      path: %currentWorkingDirectory%/typo3/sysext/core/Classes/Composer/CliEntryPoint.php
    -
      message: '#Parameter \$event of method [\w\\]+::\w+\(\) has invalid typehint type Composer\\Script\\Event\.#'
      path: %currentWorkingDirectory%/typo3/sysext/*/Classes/Composer/*
    -
      message: "#^Access to undefined constant PDO\\:\\:SQLSRV_ENCODING_BINARY\\.$#"
      count: 1
      path: typo3/sysext/core/Classes/Database/Driver/PDOSqlsrv/Statement.php
      message: "#^Access to undefined constant TYPO3\\\\CMS\\\\Core\\\\Type\\\\Enumeration\\:\\:__default\\.$#"
      count: 1
      path: typo3/sysext/core/Classes/Type/Enumeration.php
    -
      message: "#^Call to an undefined method TYPO3\\\\CMS\\\\Fluid\\\\Core\\\\Widget\\\\AbstractWidgetViewHelper\\:\\:getArguments\\(\\)\\.$#"
      count: 1
      path: typo3/sysext/fluid/Classes/Core/Widget/AbstractWidgetViewHelper.php
    -
      message: "#^Call to an undefined static method TYPO3Fluid\\\\Fluid\\\\Core\\\\ViewHelper\\\\AbstractViewHelper\\:\\:onClose\\(\\)\\.$#"
      count: 1
      path: typo3/sysext/fluid/Classes/Core/Widget/AbstractWidgetViewHelper.php
    -
      message: "#^Call to an undefined method TYPO3\\\\CMS\\\\Fluid\\\\Core\\\\Widget\\\\AbstractWidgetViewHelper\\:\\:getChildren\\(\\)\\.$#"
      count: 1
      path: typo3/sysext/fluid/Classes/Core/Widget/AbstractWidgetViewHelper.php
    -
      message: "#^Unsafe usage of new static\\(\\)\\.$#"
      count: 1
      path: typo3/sysext/core/Classes/Collection/AbstractRecordCollection.php
    -
      message: "#^Unsafe usage of new static\\(\\)\\.$#"
      count: 1
      path: typo3/sysext/core/Classes/Type/Enumeration.php
    -
      message: "#^Unsafe usage of new static\\(\\)\\.$#"
      count: 1
      path: typo3/sysext/workspaces/Classes/Domain/Record/WorkspaceRecord.php
    -
      message: "#^Class TYPO3Fluid\\\\Fluid\\\\Core\\\\Parser\\\\TemplateParser does not have a constructor and must be instantiated without any parameters\\.$#"
      count: 1
      path: typo3/sysext/fluid/Classes/Core/Rendering/RenderingContext.php
    -
      message: "#^Call to an undefined static method TYPO3Fluid\\\\Fluid\\\\Core\\\\Rendering\\\\RenderingContext\\:\\:getParserConfiguration\\(\\)\\.$#"
      count: 1
      path: typo3/sysext/fluid/Classes/Core/Rendering/RenderingContext.php

    # ignored errors for level 1
    -
      message: "#^Variable \\$value in isset\\(\\) always exists and is not nullable\\.$#"
      count: 1
      path: typo3/sysext/backend/Classes/Utility/BackendUtility.php
    -
      message: "#^Variable \\$pidConf in isset\\(\\) always exists and is not nullable\\.$#"
      count: 1
      path: typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php
    -
      message: "#^Variable \\$column in isset\\(\\) always exists and is not nullable\\.$#"
      count: 1
      path: typo3/sysext/workspaces/Classes/Service/GridDataService.php
    -
      message: "#^Constructor of class TYPO3\\\\CMS\\\\Frontend\\\\Controller\\\\TypoScriptFrontendController has an unused parameter \\$_2\\.$#"
      count: 1
      path: typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php
    -
      message: "#^Constructor of class TYPO3\\\\CMS\\\\Frontend\\\\Plugin\\\\AbstractPlugin has an unused parameter \\$_\\.$#"
      count: 1
      path: typo3/sysext/frontend/Classes/Plugin/AbstractPlugin.php
    -
      message: "#^Constructor of class TYPO3\\\\CMS\\\\RteCKEditor\\\\Form\\\\Resolver\\\\RichTextNodeResolver has an unused parameter \\$nodeFactory\\.$#"
      count: 1
      path: typo3/sysext/rte_ckeditor/Classes/Form/Resolver/RichTextNodeResolver.php

    # Ignored errors for level 2
    -
      message: "#^Method TYPO3\\\\CMS\\\\Core\\\\Resource\\\\Processing\\\\ImageCropScaleMaskTask\\:\\:fileNeedsProcessing\\(\\) should return bool but return statement is missing\\.$#"
      count: 1
      path: typo3/sysext/core/Classes/Resource/Processing/ImageCropScaleMaskTask.php
    # Ignored errors for level 3
    -
      message: "#^Property TYPO3\\\\CMS\\\\Belog\\\\Domain\\\\Model\\\\LogEntry\\:\\:\\$tableName \\(string\\) does not accept default value of type int\\.$#"
      count: 1
      path: typo3/sysext/belog/Classes/Domain/Model/LogEntry.php
    -
      message: "#^Property TYPO3\\\\CMS\\\\Belog\\\\Domain\\\\Model\\\\LogEntry\\:\\:\\$newId \\(string\\) does not accept default value of type int\\.$#"
      count: 1
      path: typo3/sysext/belog/Classes/Domain/Model/LogEntry.php

    # Ignored errors for level 4
    -
      message: "#^Unreachable statement \\- code above always terminates\\.$#"
      count: 1
      path: typo3/sysext/backend/Classes/Security/CategoryPermissionsAspect.php
    -
      message: "#^Unreachable statement \\- code above always terminates\\.$#"
      count: 1
      path: typo3/sysext/core/Classes/Utility/File/ExtendedFileUtility.php
    -
      message: "#^Unreachable statement \\- code above always terminates\\.$#"
      count: 1
      path: typo3/sysext/frontend/Classes/Aspect/FileMetadataOverlayAspect.php
    -
      message: "#^Unreachable statement \\- code above always terminates\\.$#"
      count: 1
      path: typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php
    -
      message: "#^Unreachable statement \\- code above always terminates\\.$#"
      count: 1
      path: typo3/sysext/indexed_search/Classes/Lexer.php
    -
      message: "#^Unreachable statement \\- code above always terminates\\.$#"
      count: 1
      path: typo3/sysext/scheduler/Classes/Task/FileStorageIndexingAdditionalFieldProvider.php
    -
      message: "#^Ternary operator condition is always false\\.$#"
      count: 1
      path: typo3/sysext/backend/Classes/Form/Element/SelectCheckBoxElement.php
    -
      message: "#^Ternary operator condition is always true\\.$#"
      count: 2
      path: typo3/sysext/backend/Classes/Form/Element/SelectSingleElement.php
    -
      message: "#^Instanceof between TYPO3\\\\CMS\\\\Extbase\\\\Domain\\\\Model\\\\Category\\|null and TYPO3\\\\CMS\\\\Extbase\\\\Persistence\\\\Generic\\\\LazyLoadingProxy will always evaluate to false\\.$#"
      count: 1
      path: typo3/sysext/extbase/Classes/Domain/Model/Category.php
    -
      message: "#^Instanceof between TYPO3\\\\CMS\\\\Core\\\\Resource\\\\File and TYPO3\\\\CMS\\\\Core\\\\Resource\\\\FileReference will always evaluate to false\\.$#"
      count: 1
      path: typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php