diff --git a/composer.json b/composer.json index 096c4f49ed..f76f6a730c 100644 --- a/composer.json +++ b/composer.json @@ -7,7 +7,7 @@ ], "require": { "php": ">=8.2", - "illuminate/container": "^12.18", + "illuminate/container": "^12.19", "nette/robot-loader": "^4.0", "nette/utils": "^4.0", "nikic/php-parser": "^5.5", @@ -22,7 +22,7 @@ "phpstan/phpstan": "^2.1", "phpunit/phpunit": "^11.5", "rector/jack": "^0.2.3", - "rector/rector": "^2.0.18", + "rector/rector": "^2.1", "shipmonk/composer-dependency-analyser": "^1.8", "symfony/config": "^6.4", "symfony/dependency-injection": "^6.4", diff --git a/src/Finder/FilesFinder.php b/src/Finder/FilesFinder.php index bc49c9270c..4dc77f499e 100644 --- a/src/Finder/FilesFinder.php +++ b/src/Finder/FilesFinder.php @@ -24,6 +24,9 @@ public static function find(array $sources): array $finder = Finder::create() ->files() ->in($paths) + // not our code + ->notPath('vendor') + ->notPath('var/cache') ->sortByName(); return iterator_to_array($finder->getIterator()); diff --git a/src/Finder/PhpFilesFinder.php b/src/Finder/PhpFilesFinder.php index 00f4a2e770..791a3a51df 100644 --- a/src/Finder/PhpFilesFinder.php +++ b/src/Finder/PhpFilesFinder.php @@ -39,6 +39,7 @@ private static function createFinderForPathsAndExcludedPaths(array $paths, array $excludedFileNames[] = $excludedPath; } } + Assert::allFileExists($excludedFileNames); return Finder::create() diff --git a/src/Git/ConflictResolver.php b/src/Git/ConflictResolver.php index 063d9dc3c2..5a76534cdc 100644 --- a/src/Git/ConflictResolver.php +++ b/src/Git/ConflictResolver.php @@ -13,10 +13,10 @@ final class ConflictResolver { /** - * @see https://regex101.com/r/iYPxCV/2 + * @see https://regex101.com/r/L2CThC/1 * @var string */ - private const CONFLICT_REGEX = '#^<<<<<<<#'; + private const CONFLICT_REGEX = '#^(<<<<<<<|>>>>>>>)#m'; /** * @api diff --git a/tests/Finder/PhpFilesFinderTest.php b/tests/Finder/PhpFilesFinderTest.php index 37b7ec82ed..6eb1e3ac2c 100644 --- a/tests/Finder/PhpFilesFinderTest.php +++ b/tests/Finder/PhpFilesFinderTest.php @@ -4,13 +4,14 @@ namespace Rector\SwissKnife\Tests\Finder; +use Rector\SwissKnife\Finder\PhpFilesFinder; use Rector\SwissKnife\Tests\AbstractTestCase; final class PhpFilesFinderTest extends AbstractTestCase { public function testExcludeByFnMatch(): void { - $files = \Rector\SwissKnife\Finder\PhpFilesFinder::find([__DIR__ . '/Fixture'], ['*Controller.php']); + $files = PhpFilesFinder::find([__DIR__ . '/Fixture'], ['*Controller.php']); $this->assertSame(1, count($files)); @@ -22,7 +23,7 @@ public function testExcludeByFnMatch(): void public function testExcludeByFnMatch2(): void { - $files = \Rector\SwissKnife\Finder\PhpFilesFinder::find([__DIR__ . '/Fixture'], ['*Model.php']); + $files = PhpFilesFinder::find([__DIR__ . '/Fixture'], ['*Model.php']); $this->assertSame(2, count($files)); diff --git a/tests/Git/ConflictResolver/ConflictResolverTest.php b/tests/Git/ConflictResolver/ConflictResolverTest.php index 2be6cb8416..88a0b6bacd 100644 --- a/tests/Git/ConflictResolver/ConflictResolverTest.php +++ b/tests/Git/ConflictResolver/ConflictResolverTest.php @@ -27,8 +27,10 @@ public function test(string $filePath, int $expectedConflictCount): void public static function provideData(): Iterator { + yield [__DIR__ . '/Fixture/another_file.txt', 1]; yield [__DIR__ . '/Fixture/some_file.txt', 1]; - yield [__DIR__ . '/Fixture/some_other_file.txt', 1]; + yield [__DIR__ . '/Fixture/some_other_file.txt', 2]; + yield [__DIR__ . '/Fixture/correct_file.txt', 0]; } } diff --git a/tests/Git/ConflictResolver/Fixture/another_file.txt b/tests/Git/ConflictResolver/Fixture/another_file.txt new file mode 100644 index 0000000000..7c7c443c35 --- /dev/null +++ b/tests/Git/ConflictResolver/Fixture/another_file.txt @@ -0,0 +1,3 @@ +CONFLICT +>>>>>>> +IS HERE