diff --git a/.php_cs.dist b/.php_cs.dist
index cc3f32d0a6..c31703a6c7 100644
--- a/.php_cs.dist
+++ b/.php_cs.dist
@@ -24,14 +24,7 @@ $rules = [
'ordered_imports' => true,
'phpdoc_order' => true,
'no_break_comment' => true,
- 'no_break_comment' => true,
- 'no_break_comment' => true,
'global_namespace_import' => true,
-
- // To be tested before insertion:
-// 'strict_comparison' => true,
-// 'strict_param' => true,
-// 'php_unit_strict' => true,
];
$finder = PhpCsFixer\Finder::create()
diff --git a/composer.json b/composer.json
index 2c78e11db5..684883e329 100755
--- a/composer.json
+++ b/composer.json
@@ -174,7 +174,7 @@
},
"scripts": {
"analyse": [
- "@php vendor/bin/ecs check src",
+ "@php vendor/bin/ecs check",
"@php vendor/bin/psalm --show-info=false"
],
"auto-scripts": {
diff --git a/ecs.php b/ecs.php
index 8368d2ade3..66389bc5cd 100644
--- a/ecs.php
+++ b/ecs.php
@@ -24,11 +24,11 @@ return static function (ContainerConfigurator $containerConfigurator): void {
$parameters->set(
Option::SETS,
[
- //SetList::COMMON,
+ SetList::COMMON,
SetList::CLEAN_CODE,
SetList::SYMFONY,
SetList::PSR_12,
- //SetList::PHP_CS_FIXER,
+ SetList::PHP_CS_FIXER,
//SetList::DOCTRINE_ANNOTATIONS,
//SetList::SYMFONY_RISKY,
]
@@ -39,7 +39,7 @@ return static function (ContainerConfigurator $containerConfigurator): void {
$services->set(\PhpCsFixer\Fixer\Phpdoc\PhpdocNoPackageFixer::class);
$services->set(\SlevomatCodingStandard\Sniffs\Commenting\UselessFunctionDocCommentSniff::class);
$services->set(PropertyTypeHintSniff::class);
- //$services->set(\SlevomatCodingStandard\Sniffs\Namespaces\FullyQualifiedClassNameAfterKeywordSniff::class);
+ $services->set(\SlevomatCodingStandard\Sniffs\Namespaces\FullyQualifiedClassNameAfterKeywordSniff::class);
$services->set(\PhpCsFixer\Fixer\ControlStructure\YodaStyleFixer::class);
$services->set(\PhpCsFixer\Fixer\Phpdoc\NoSuperfluousPhpdocTagsFixer::class);
$services->set(\PhpCsFixer\Fixer\FunctionNotation\VoidReturnFixer::class);
@@ -59,19 +59,17 @@ return static function (ContainerConfigurator $containerConfigurator): void {
$parameters->set(
Option::SKIP,
[
+ __DIR__.'/src/CoreBundle/Component/HTMLPurifier/Filter/AllowIframes.php',
+ __DIR__.'/src/CoreBundle/Menu/*',
__DIR__.'/src/CourseBundle/Component/*',
__DIR__.'/src/CoreBundle/Hook/*',
__DIR__.'/src/CoreBundle/Traits/*',
- ]
- );
-
- // use $a++ instead of ++$a
- $parameters->set(
- Option::SKIP,
- [
+ __DIR__.'/src/LtiBundle/*',
IncrementStyleFixer::class => 'post',
PropertyTypeHintSniff::class.'.'.PropertyTypeHintSniff::CODE_MISSING_TRAVERSABLE_TYPE_HINT_SPECIFICATION,
\PhpCsFixer\Fixer\DoctrineAnnotation\DoctrineAnnotationArrayAssignmentFixer::class,
+ \PhpCsFixer\Fixer\Comment\SingleLineCommentStyleFixer::class,
+ \PhpCsFixer\Fixer\Operator\NotOperatorWithSuccessorSpaceFixer::class
//UnusedVariableSniff::class . '.ignoreUnusedValuesWhenOnlyKeysAreUsedInForeach' => true,
//UnusedVariableSniff::class => 'ignoreUnusedValuesWhenOnlyKeysAreUsedInForeach',
]
@@ -94,7 +92,7 @@ return static function (ContainerConfigurator $containerConfigurator): void {
[
'import_classes' => true,
'import_constants' => true,
- 'import_functions' => true,
+ 'import_functions' => false,
],
]
);
diff --git a/phpstan.neon b/phpstan.neon
index ba72e0e495..b7afaf01c8 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -1,5 +1,5 @@
parameters:
- level: 6
+ level: 5
paths:
- src
# - public/main
@@ -63,8 +63,10 @@ parameters:
- src/CoreBundle/Controller/EditorController.php
- src/CoreBundle/Component/Editor/*
- src/CourseBundle/Component/CourseCopy/*
+ - src/CoreBundle/Traits/*
+ - src/CoreBundle/Twig/Extension/ChamiloExtension.php
+ - src/CoreBundle/Settings/*
- src/LtiBundle/*
- - src/GraphQlBundle/*
- tests/*
ignoreErrors:
- '#If condition is always true.#'
diff --git a/psalm.xml b/psalm.xml
index 4ef7a9b3b9..f43fc2b0ee 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -155,7 +155,6 @@
-
@@ -170,8 +169,6 @@
-
-
@@ -199,8 +196,11 @@
+
+
+
diff --git a/rector.php b/rector.php
index 2ed6824699..820696f8a7 100644
--- a/rector.php
+++ b/rector.php
@@ -14,24 +14,32 @@ return static function (ContainerConfigurator $containerConfigurator): void {
// Define what rule sets will be applied
$parameters->set(Option::SETS, [
//SetList::DEAD_CODE,
+ SetList::CODING_STYLE,
SetList::CODE_QUALITY,
SetList::PHP_74,
- //SetList::DOCTRINE_CODE_QUALITY
+ SetList::DOCTRINE_CODE_QUALITY,
]);
// register single rule
$services = $containerConfigurator->services();
- //$services->set(TypedPropertyRector::class);
+ $services->set(TypedPropertyRector::class);
+
$services->set(\Rector\TypeDeclaration\Rector\Property\PropertyTypeDeclarationRector::class);
- $services->set(\Rector\CakePHP\Rector\FileWithoutNamespace\ImplicitShortClassNameUseStatementRector::class);
+
+ $services->set(\Rector\TypeDeclaration\Rector\FunctionLike\ParamTypeDeclarationRector::class);
+ $services->set(\Rector\TypeDeclaration\Rector\FunctionLike\ReturnTypeDeclarationRector::class);
+
+ //$services->set(\Rector\CakePHP\Rector\FileWithoutNamespace\ImplicitShortClassNameUseStatementRector::class);
$services->set(\PhpCsFixer\Fixer\Import\GlobalNamespaceImportFixer::class);
$services->set(\PhpCsFixer\Fixer\ControlStructure\YodaStyleFixer::class);
+ $services->set(Rector\CodeQuality\Rector\LogicalAnd\LogicalToBooleanRector::class);
- $services->set(Rector\DoctrineCodeQuality\Rector\ClassMethod\MakeEntitySetterNullabilityInSyncWithPropertyRector::class);
- //$services->set(\Rector\DoctrineCodeQuality\Rector\Property\RemoveRedundantDefaultPropertyAnnotationValuesRector::class);
- $services->set(\Rector\DoctrineCodeQuality\Rector\Property\CorrectDefaultTypesOnEntityPropertyRector::class);
+ //$services->set(Rector\DoctrineCodeQuality\Rector\ClassMethod\MakeEntitySetterNullabilityInSyncWithPropertyRector::class);
+ //$services->set(\Rector\DoctrineCodeQuality\Rector\Property\CorrectDefaultTypesOnEntityPropertyRector::class);
//$services->set(\Rector\DoctrineCodeQuality\Rector\Property\ImproveDoctrineCollectionDocTypeInEntityRector::class);
- //$parameters->set(\Rector\DeadCode\Rector\ClassMethod\RemoveUnusedParameterRector::class, false);
+
+ //$services->set(\Rector\DeadCode\Rector\ClassMethod\RemoveUnusedParameterRector::class, false);
+ $services->set(\PhpCsFixer\Fixer\Import\OrderedImportsFixer::class);
$parameters->set(
Option::SYMFONY_CONTAINER_XML_PATH_PARAMETER,
@@ -46,7 +54,6 @@ return static function (ContainerConfigurator $containerConfigurator): void {
__DIR__.'/src/CourseBundle/Component/CourseCopy/*',
__DIR__.'/src/CoreBundle/Component/HTMLPurifier/*',
__DIR__.'/src/LtiBundle/*',
- __DIR__.'/src/GraphQlBundle/*',
__DIR__.'/src/CoreBundle/Hook/*',
__DIR__.'/src/CoreBundle/Migrations/*',
__DIR__.'/src/CoreBundle/Twig/SettingsHelper.php',
@@ -56,7 +63,12 @@ return static function (ContainerConfigurator $containerConfigurator): void {
__DIR__.'/src/CoreBundle/Component/Editor/*',
\Rector\DeadCode\Rector\ClassMethod\RemoveUnusedParameterRector::class,
\PhpCsFixer\Fixer\FunctionNotation\UseArrowFunctionsFixer::class,
- \Rector\Php74\Rector\Closure\ClosureToArrowFunctionRector::class
+ \Rector\Php74\Rector\Closure\ClosureToArrowFunctionRector::class,
+ \Rector\CodeQuality\Rector\ClassMethod\DateTimeToDateTimeInterfaceRector::class,
+ \Rector\CodeQuality\Rector\Array_\CallableThisArrayToAnonymousFunctionRector::class,
+ \Rector\DoctrineCodeQuality\Rector\Property\CorrectDefaultTypesOnEntityPropertyRector::class,
+ //\Rector\DoctrineCodeQuality\Rector\Class_\MoveCurrentDateTimeDefaultInEntityToConstructorRector::class,
+ \Rector\DoctrineCodeQuality\Rector\Property\RemoveRedundantDefaultPropertyAnnotationValuesRector::class,
]
);