diff --git a/composer.json b/composer.json
index 555ec7a..0d5e77f 100644
--- a/composer.json
+++ b/composer.json
@@ -27,12 +27,12 @@
"fakerphp/faker": "^1.9",
"mikey179/vfsstream": "^1.6",
"nexusphp/cs-config": "^3.6",
- "nexusphp/tachycardia": "^1.3",
+ "nexusphp/tachycardia": "^1.3 || ^2.0",
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan": "^1.0",
"phpstan/phpstan-deprecation-rules": "^1.0",
"phpstan/phpstan-phpunit": "^1.0",
- "phpunit/phpunit": "^9.3",
+ "phpunit/phpunit": "^9.3 || ^10.5.16",
"rector/rector": "^0.19 || ^1.0.0",
"roave/security-advisories": "dev-latest",
"vimeo/psalm": "^5.0"
diff --git a/rector.php b/rector.php
index b4ec593..fc38cff 100644
--- a/rector.php
+++ b/rector.php
@@ -11,8 +11,10 @@
use Rector\CodeQuality\Rector\FuncCall\ChangeArrayPushToArrayAssignRector;
use Rector\CodeQuality\Rector\FuncCall\SimplifyRegexPatternRector;
use Rector\CodeQuality\Rector\FuncCall\SimplifyStrposLowerRector;
+use Rector\CodeQuality\Rector\FuncCall\SingleInArrayToCompareRector;
use Rector\CodeQuality\Rector\FunctionLike\SimplifyUselessVariableRector;
use Rector\CodeQuality\Rector\If_\CombineIfRector;
+use Rector\CodeQuality\Rector\If_\ExplicitBoolCompareRector;
use Rector\CodeQuality\Rector\If_\ShortenElseIfRector;
use Rector\CodeQuality\Rector\If_\SimplifyIfElseToTernaryRector;
use Rector\CodeQuality\Rector\If_\SimplifyIfReturnBoolRector;
@@ -21,6 +23,7 @@
use Rector\CodingStyle\Rector\ClassMethod\FuncGetArgsToVariadicParamRector;
use Rector\CodingStyle\Rector\ClassMethod\MakeInheritedMethodVisibilitySameAsParentRector;
use Rector\CodingStyle\Rector\FuncCall\CountArrayToEmptyArrayComparisonRector;
+use Rector\CodingStyle\Rector\FuncCall\VersionCompareFuncCallToConstantRector;
use Rector\Config\RectorConfig;
use Rector\DeadCode\Rector\ClassMethod\RemoveUnusedPromotedPropertyRector;
use Rector\EarlyReturn\Rector\Foreach_\ChangeNestedForeachIfsToEarlyContinueRector;
@@ -37,6 +40,7 @@
use Rector\Set\ValueObject\LevelSetList;
use Rector\Set\ValueObject\SetList;
use Rector\Strict\Rector\Empty_\DisallowedEmptyRuleFixerRector;
+use Rector\Strict\Rector\If_\BooleanInIfConditionRuleFixerRector;
use Rector\TypeDeclaration\Rector\Empty_\EmptyOnNullableObjectToInstanceOfRector;
use Rector\TypeDeclaration\Rector\Property\TypedPropertyFromAssignsRector;
use Rector\ValueObject\PhpVersion;
@@ -137,4 +141,8 @@
$rectorConfig->rule(StringClassNameToClassConstantRector::class);
$rectorConfig->rule(PrivatizeFinalClassPropertyRector::class);
$rectorConfig->rule(CompleteDynamicPropertiesRector::class);
+ $rectorConfig->rule(BooleanInIfConditionRuleFixerRector::class);
+ $rectorConfig->rule(SingleInArrayToCompareRector::class);
+ $rectorConfig->rule(VersionCompareFuncCallToConstantRector::class);
+ $rectorConfig->rule(ExplicitBoolCompareRector::class);
};
diff --git a/src/Template/phpunit.xml.dist b/src/Template/phpunit.xml.dist
index 665bdc4..21a5f6e 100644
--- a/src/Template/phpunit.xml.dist
+++ b/src/Template/phpunit.xml.dist
@@ -1,102 +1,74 @@
-
-
-
- ./app/
-
-
- ./app/Config
- ./app/Views
-
-
-
-
-
-
-
-
-
-
-
-
- ./tests
-
-
-
-
-
-
-
-
- 0.50
-
-
- 30
-
-
- 2
-
-
- true
-
-
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"
+ bootstrap="vendor/codeigniter4/framework/system/Test/bootstrap.php"
+ backupGlobals="false"
+ beStrictAboutOutputDuringTests="true"
+ colors="true"
+ executionOrder="random"
+ failOnRisky="true"
+ failOnWarning="true"
+ stopOnError="false"
+ stopOnFailure="false"
+ stopOnIncomplete="false"
+ stopOnSkipped="false"
+ cacheDirectory=".phpunit.cache"
+ beStrictAboutCoverageMetadata="true">
+
+
+
+
+
+
+
+
+
+
+
+ ./tests
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ./app/
+
+
+ ./app/Config
+ ./app/Views
+
+
diff --git a/src/Template/phpunit9.xml.dist b/src/Template/phpunit9.xml.dist
new file mode 100644
index 0000000..665bdc4
--- /dev/null
+++ b/src/Template/phpunit9.xml.dist
@@ -0,0 +1,102 @@
+
+
+
+
+
+ ./app/
+
+
+ ./app/Config
+ ./app/Views
+
+
+
+
+
+
+
+
+
+
+
+
+ ./tests
+
+
+
+
+
+
+
+
+ 0.50
+
+
+ 30
+
+
+ 2
+
+
+ true
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Template/rector.php b/src/Template/rector.php
index d67af9d..9487ad3 100644
--- a/src/Template/rector.php
+++ b/src/Template/rector.php
@@ -11,8 +11,10 @@
use Rector\CodeQuality\Rector\FuncCall\ChangeArrayPushToArrayAssignRector;
use Rector\CodeQuality\Rector\FuncCall\SimplifyRegexPatternRector;
use Rector\CodeQuality\Rector\FuncCall\SimplifyStrposLowerRector;
+use Rector\CodeQuality\Rector\FuncCall\SingleInArrayToCompareRector;
use Rector\CodeQuality\Rector\FunctionLike\SimplifyUselessVariableRector;
use Rector\CodeQuality\Rector\If_\CombineIfRector;
+use Rector\CodeQuality\Rector\If_\ExplicitBoolCompareRector;
use Rector\CodeQuality\Rector\If_\ShortenElseIfRector;
use Rector\CodeQuality\Rector\If_\SimplifyIfElseToTernaryRector;
use Rector\CodeQuality\Rector\If_\SimplifyIfReturnBoolRector;
@@ -21,6 +23,7 @@
use Rector\CodingStyle\Rector\ClassMethod\FuncGetArgsToVariadicParamRector;
use Rector\CodingStyle\Rector\ClassMethod\MakeInheritedMethodVisibilitySameAsParentRector;
use Rector\CodingStyle\Rector\FuncCall\CountArrayToEmptyArrayComparisonRector;
+use Rector\CodingStyle\Rector\FuncCall\VersionCompareFuncCallToConstantRector;
use Rector\Config\RectorConfig;
use Rector\DeadCode\Rector\ClassMethod\RemoveUnusedPromotedPropertyRector;
use Rector\EarlyReturn\Rector\Foreach_\ChangeNestedForeachIfsToEarlyContinueRector;
@@ -37,6 +40,7 @@
use Rector\Set\ValueObject\LevelSetList;
use Rector\Set\ValueObject\SetList;
use Rector\Strict\Rector\Empty_\DisallowedEmptyRuleFixerRector;
+use Rector\Strict\Rector\If_\BooleanInIfConditionRuleFixerRector;
use Rector\TypeDeclaration\Rector\Empty_\EmptyOnNullableObjectToInstanceOfRector;
use Rector\TypeDeclaration\Rector\Property\TypedPropertyFromAssignsRector;
use Rector\ValueObject\PhpVersion;
@@ -138,4 +142,8 @@
$rectorConfig->rule(StringClassNameToClassConstantRector::class);
$rectorConfig->rule(PrivatizeFinalClassPropertyRector::class);
$rectorConfig->rule(CompleteDynamicPropertiesRector::class);
+ $rectorConfig->rule(BooleanInIfConditionRuleFixerRector::class);
+ $rectorConfig->rule(SingleInArrayToCompareRector::class);
+ $rectorConfig->rule(VersionCompareFuncCallToConstantRector::class);
+ $rectorConfig->rule(ExplicitBoolCompareRector::class);
};