#-------------------------------------------------------------------------------#
#               Qodana analysis is configured by qodana.yaml file               #
#             https://www.jetbrains.com/help/qodana/qodana-yaml.html            #
#-------------------------------------------------------------------------------#
version: "1.0"
#Specify inspection profile for code analysis
profile:
  name: qodana.starter
#Enable inspections
#include:
#  - name: <SomeEnabledInspectionId>
#Disable inspections
#exclude:
#  - name: <SomeDisabledInspectionId>
#    paths:
#      - <path/where/not/run/inspection>
php:
  version: 8.4 #(Applied in CI/CD pipeline)
#Execute shell command before Qodana execution (Applied in CI/CD pipeline)
#bootstrap: sh ./prepare-qodana.sh
#Install IDE plugins before Qodana execution (Applied in CI/CD pipeline)
#plugins:
#  - id: <plugin.id> #(plugin id can be found at https://plugins.jetbrains.com)
#Specify Qodana linter for analysis (Applied in CI/CD pipeline)
linter: jetbrains/qodana-php:2024.3
include:
  - name: PhpIfWithCommonPartsInspection
  - name: PhpIssetCanBeReplacedWithCoalesceInspection
  - name: PhpIssetCanCheckNestedAccessDirectlyInspection
  - name: PhpPluralMixedCanBeReplacedWithArrayInspection
  - name: PhpPregMatchWithoutEffectiveRegexpInspection
  - name: PhpStrFunctionsInspection
  - name: PhpSwitchCanBeReplacedWithMatchExpressionInspection
  - name: PhpArrayUsedOnlyForWriteInspection
  - name: PhpConditionAlreadyCheckedInspection
  - name: PhpConditionCheckedByNextConditionInspection
  - name: PhpDefineCanBeReplacedWithConstInspection
  - name: PhpDeprecationInspection
  - name: DuplicatedCode
  - name: PhpComposerExtensionStubsInspection
  - name: PhpFullyQualifiedNameUsageInspection
  - name: PhpIdempotentOperationInspection
  - name: PhpLoopCanBeConvertedToArrayFillInspection
  - name: PhpLoopCanBeReplacedWithStdFunctionCallsInspection
  - name: PhpReturnValueOfMethodIsNeverUsedInspection
  - name: PhpDocMissingThrowsInspection
  - name: PhpMissingParamTypeInspection
  - name: PhpMissingFieldTypeInspection
  - name: PhpMissingReturnTypeInspection
  - name: PhpNotInstalledPackagesInspection
  - name: PhpNullSafeOperatorCanBeUsedInspection
  - name: PhpSameParameterValueInspection
  - name: PhpDocSignatureInspection
  - name: PhpPrivateFieldCanBeLocalVariableInspection
  - name: PhpPropertyOnlyWrittenInspection
  - name: TrivialIfJS
  - name: PhpRedundantVariableDocTypeInspection
  - name: PhpUnnecessaryStringCastInspection
  - name: RegExpRedundantEscape
  - name: TrivialConditionalJS
  - name: UnnecessaryLocalVariableJS
  - name: PhpRegExpRedundantModifierInspection
  - name: PhpRedundantOptionalArgumentInspection
  - name: RegExpSimplifiable
  - name: PhpReturnDocTypeMismatchInspection
  - name: PhpStatementHasEmptyBodyInspection
  - name: EmptyStatementBodyJS
  - name: PhpCastIsUnnecessaryInspection
  - name: PhpUnhandledExceptionInspection
  - name: PhpUnnecessaryStopStatementInspection
  - name: PhpUnnecessaryCurlyVarSyntaxInspection
  - name: PhpUnnecessaryFullyQualifiedNameInspection
  - name: PhpUnnecessaryLocalVariableInspection
  - name: PhpIncludeInspection
  - name: PhpUnusedAliasInspection
  - name: PhpUnusedLocalVariableInspection
  - name: PhpUnusedParameterInspection
  - name: PhpUnusedPrivateFieldInspection
