feat: add 4 new WCAG rules and optimize SourceLocator directory traversal

This commit is contained in:
Enes Yakıştır
2026-06-06 10:15:24 +03:00
parent 75171c6f96
commit c6df5e2bdc
7 changed files with 288 additions and 1 deletions
+11 -1
View File
@@ -34,7 +34,17 @@ class SourceLocator
try {
$directory = new RecursiveDirectoryIterator($this->searchPath, \FilesystemIterator::SKIP_DOTS);
$iterator = new RecursiveIteratorIterator($directory, RecursiveIteratorIterator::SELF_FIRST);
$filter = new \RecursiveCallbackFilterIterator($directory, function ($current) {
/** @var SplFileInfo $current */
if ($current->isDir()) {
$filename = $current->getFilename();
if ($filename === 'vendor' || $filename === '.git' || $filename === 'node_modules') {
return false;
}
}
return true;
});
$iterator = new RecursiveIteratorIterator($filter, RecursiveIteratorIterator::SELF_FIRST);
} catch (\UnexpectedValueException) {
return null;
}