Updated Rector to commit 2ffad9317d2038e4c625341b338ab3cbd77f54cc

2ffad9317d Inline Skipper (#2877)
This commit is contained in:
Tomas Votruba 2022-08-31 21:51:50 +00:00
parent 88b26b2c9b
commit 31ff77efb6
44 changed files with 300 additions and 747 deletions

View File

@ -51,12 +51,14 @@ use RectorPrefix202208\Symplify\EasyParallel\ValueObject\EasyParallelConfig;
use RectorPrefix202208\Symplify\PackageBuilder\Console\Style\SymfonyStyleFactory;
use RectorPrefix202208\Symplify\PackageBuilder\Parameter\ParameterProvider;
use RectorPrefix202208\Symplify\PackageBuilder\Php\TypeChecker;
use RectorPrefix202208\Symplify\PackageBuilder\Reflection\ClassLikeExistenceChecker;
use RectorPrefix202208\Symplify\PackageBuilder\Reflection\PrivatesAccessor;
use RectorPrefix202208\Symplify\PackageBuilder\Reflection\PrivatesCaller;
use RectorPrefix202208\Symplify\PackageBuilder\Yaml\ParametersMerger;
use RectorPrefix202208\Symplify\SmartFileSystem\FileSystemFilter;
use RectorPrefix202208\Symplify\SmartFileSystem\FileSystemGuard;
use RectorPrefix202208\Symplify\SmartFileSystem\Finder\FinderSanitizer;
use RectorPrefix202208\Symplify\SmartFileSystem\Normalizer\PathNormalizer;
return static function (RectorConfig $rectorConfig) : void {
// make use of https://github.com/symplify/easy-parallel
$rectorConfig->import(EasyParallelConfig::FILE_PATH);
@ -158,4 +160,7 @@ return static function (RectorConfig $rectorConfig) : void {
$services->set(\PHPStan\PhpDocParser\Lexer\Lexer::class);
$services->set(TypeParser::class);
$services->set(ConstExprParser::class);
// skipper
$services->set(ClassLikeExistenceChecker::class);
$services->set(PathNormalizer::class);
};

View File

@ -10,7 +10,7 @@ use Rector\Core\Logging\CurrentRectorProvider;
use Rector\Core\Provider\CurrentFileProvider;
use Rector\Core\ValueObject\Application\File;
use Rector\PostRector\Contract\Rector\PostRectorInterface;
use RectorPrefix202208\Symplify\Skipper\Skipper\Skipper;
use Rector\Skipper\Skipper\Skipper;
final class PostFileProcessor
{
/**
@ -19,7 +19,7 @@ final class PostFileProcessor
private $postRectors = [];
/**
* @readonly
* @var \Symplify\Skipper\Skipper\Skipper
* @var \Rector\Skipper\Skipper\Skipper
*/
private $skipper;
/**

View File

@ -1,7 +1,7 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208\Symplify\Skipper\Contract;
namespace Rector\Skipper\Contract;
use Symplify\SmartFileSystem\SmartFileInfo;
interface SkipVoterInterface
@ -12,6 +12,7 @@ interface SkipVoterInterface
public function match($element) : bool;
/**
* @param string|object $element
* @param string|\Symplify\SmartFileSystem\SmartFileInfo $file
*/
public function shouldSkip($element, SmartFileInfo $smartFileInfo) : bool;
public function shouldSkip($element, $file) : bool;
}

View File

@ -0,0 +1,18 @@
<?php
declare (strict_types=1);
namespace Rector\Skipper\Enum;
final class AsteriskMatch
{
/**
* @var string
* @see https://regex101.com/r/aVUDjM/2
*/
public const ONLY_STARTS_WITH_ASTERISK_REGEX = '#^\\*(.*?)[^*]$#';
/**
* @var string
* @see https://regex101.com/r/ZB2dFV/2
*/
public const ONLY_ENDS_WITH_ASTERISK_REGEX = '#^[^*](.*?)\\*$#';
}

View File

@ -0,0 +1,31 @@
<?php
declare (strict_types=1);
namespace Rector\Skipper\FileSystem;
use RectorPrefix202208\Nette\Utils\Strings;
use Rector\Skipper\Enum\AsteriskMatch;
/**
* @see \Rector\Tests\Skipper\FileSystem\FnMatchPathNormalizerTest
*/
final class FnMatchPathNormalizer
{
public function normalizeForFnmatch(string $path) : string
{
// ends with *
if (Strings::match($path, AsteriskMatch::ONLY_ENDS_WITH_ASTERISK_REGEX) !== null) {
return '*' . $path;
}
// starts with *
if (Strings::match($path, AsteriskMatch::ONLY_STARTS_WITH_ASTERISK_REGEX) !== null) {
return $path . '*';
}
if (\strpos($path, '..') !== \false) {
$path = \realpath($path);
if ($path === \false) {
return '';
}
}
return $path;
}
}

View File

@ -0,0 +1,22 @@
<?php
declare (strict_types=1);
namespace Rector\Skipper;
final class Fnmatcher
{
public function match(string $matchingPath, string $filePath) : bool
{
$normalizedMatchingPath = $this->normalizePath($matchingPath);
$normalizedFilePath = $this->normalizePath($filePath);
if (\fnmatch($normalizedMatchingPath, $normalizedFilePath)) {
return \true;
}
// in case of relative compare
return \fnmatch('*/' . $normalizedMatchingPath, $normalizedFilePath);
}
private function normalizePath(string $path) : string
{
return \str_replace('\\', '/', $path);
}
}

View File

@ -0,0 +1,62 @@
<?php
declare (strict_types=1);
namespace Rector\Skipper\Matcher;
use Rector\Skipper\FileSystem\FnMatchPathNormalizer;
use Rector\Skipper\Fnmatcher;
use Symplify\SmartFileSystem\SmartFileInfo;
final class FileInfoMatcher
{
/**
* @readonly
* @var \Rector\Skipper\FileSystem\FnMatchPathNormalizer
*/
private $fnMatchPathNormalizer;
/**
* @readonly
* @var \Rector\Skipper\Fnmatcher
*/
private $fnmatcher;
public function __construct(FnMatchPathNormalizer $fnMatchPathNormalizer, Fnmatcher $fnmatcher)
{
$this->fnMatchPathNormalizer = $fnMatchPathNormalizer;
$this->fnmatcher = $fnmatcher;
}
/**
* @param string[] $filePatterns
* @param \Symplify\SmartFileSystem\SmartFileInfo|string $file
*/
public function doesFileInfoMatchPatterns($file, array $filePatterns) : bool
{
foreach ($filePatterns as $filePattern) {
if ($this->doesFileMatchPattern($file, $filePattern)) {
return \true;
}
}
return \false;
}
/**
* Supports both relative and absolute $file path. They differ for PHP-CS-Fixer and PHP_CodeSniffer.
* @param \Symplify\SmartFileSystem\SmartFileInfo|string $file
*/
private function doesFileMatchPattern($file, string $ignoredPath) : bool
{
$filePath = $file instanceof SmartFileInfo ? $file->getRealPath() : $file;
// in ecs.php, the path can be absolute
if ($filePath === $ignoredPath) {
return \true;
}
$ignoredPath = $this->fnMatchPathNormalizer->normalizeForFnmatch($ignoredPath);
if ($ignoredPath === '') {
return \false;
}
if (\strncmp($filePath, $ignoredPath, \strlen($ignoredPath)) === 0) {
return \true;
}
if (\substr_compare($filePath, $ignoredPath, -\strlen($ignoredPath)) === 0) {
return \true;
}
return $this->fnmatcher->match($ignoredPath, $filePath);
}
}

View File

@ -1,11 +1,11 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208\Symplify\Skipper\SkipCriteriaResolver;
namespace Rector\Skipper\SkipCriteriaResolver;
use Rector\Core\Configuration\Option;
use RectorPrefix202208\Symplify\PackageBuilder\Parameter\ParameterProvider;
use RectorPrefix202208\Symplify\PackageBuilder\Reflection\ClassLikeExistenceChecker;
use RectorPrefix202208\Symplify\Skipper\ValueObject\Option;
final class SkippedClassResolver
{
/**
@ -13,10 +13,12 @@ final class SkippedClassResolver
*/
private $skippedClasses = [];
/**
* @readonly
* @var \Symplify\PackageBuilder\Parameter\ParameterProvider
*/
private $parameterProvider;
/**
* @readonly
* @var \Symplify\PackageBuilder\Reflection\ClassLikeExistenceChecker
*/
private $classLikeExistenceChecker;

View File

@ -1,13 +1,13 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208\Symplify\Skipper\SkipCriteriaResolver;
namespace Rector\Skipper\SkipCriteriaResolver;
use Rector\Core\Configuration\Option;
use RectorPrefix202208\Symplify\PackageBuilder\Parameter\ParameterProvider;
use RectorPrefix202208\Symplify\Skipper\ValueObject\Option;
use RectorPrefix202208\Symplify\SmartFileSystem\Normalizer\PathNormalizer;
/**
* @see \Symplify\Skipper\Tests\SkipCriteriaResolver\SkippedPathsResolver\SkippedPathsResolverTest
* @see \Rector\Tests\Skipper\SkipCriteriaResolver\SkippedPathsResolver\SkippedPathsResolverTest
*/
final class SkippedPathsResolver
{
@ -16,10 +16,12 @@ final class SkippedPathsResolver
*/
private $skippedPaths = [];
/**
* @readonly
* @var \Symplify\PackageBuilder\Parameter\ParameterProvider
*/
private $parameterProvider;
/**
* @readonly
* @var \Symplify\SmartFileSystem\Normalizer\PathNormalizer
*/
private $pathNormalizer;
@ -45,7 +47,7 @@ final class SkippedPathsResolver
$this->skippedPaths[] = $this->pathNormalizer->normalizePath($value);
continue;
}
if (\strpos($value, '*') !== \false) {
if (\strpos((string) $value, '*') !== \false) {
$this->skippedPaths[] = $this->pathNormalizer->normalizePath($value);
continue;
}

View File

@ -0,0 +1,53 @@
<?php
declare (strict_types=1);
namespace Rector\Skipper\SkipVoter;
use Rector\Skipper\Contract\SkipVoterInterface;
use Rector\Skipper\SkipCriteriaResolver\SkippedClassResolver;
use Rector\Skipper\Skipper\SkipSkipper;
use RectorPrefix202208\Symplify\PackageBuilder\Reflection\ClassLikeExistenceChecker;
use Symplify\SmartFileSystem\SmartFileInfo;
final class ClassSkipVoter implements SkipVoterInterface
{
/**
* @readonly
* @var \Symplify\PackageBuilder\Reflection\ClassLikeExistenceChecker
*/
private $classLikeExistenceChecker;
/**
* @readonly
* @var \Rector\Skipper\Skipper\SkipSkipper
*/
private $skipSkipper;
/**
* @readonly
* @var \Rector\Skipper\SkipCriteriaResolver\SkippedClassResolver
*/
private $skippedClassResolver;
public function __construct(ClassLikeExistenceChecker $classLikeExistenceChecker, SkipSkipper $skipSkipper, SkippedClassResolver $skippedClassResolver)
{
$this->classLikeExistenceChecker = $classLikeExistenceChecker;
$this->skipSkipper = $skipSkipper;
$this->skippedClassResolver = $skippedClassResolver;
}
/**
* @param string|object $element
*/
public function match($element) : bool
{
if (\is_object($element)) {
return \true;
}
return $this->classLikeExistenceChecker->doesClassLikeExist($element);
}
/**
* @param string|object $element
* @param \Symplify\SmartFileSystem\SmartFileInfo|string $file
*/
public function shouldSkip($element, $file) : bool
{
$skippedClasses = $this->skippedClassResolver->resolve();
return $this->skipSkipper->doesMatchSkip($element, $file, $skippedClasses);
}
}

View File

@ -1,20 +1,22 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208\Symplify\Skipper\SkipVoter;
namespace Rector\Skipper\SkipVoter;
use RectorPrefix202208\Symplify\Skipper\Contract\SkipVoterInterface;
use RectorPrefix202208\Symplify\Skipper\Matcher\FileInfoMatcher;
use RectorPrefix202208\Symplify\Skipper\SkipCriteriaResolver\SkippedPathsResolver;
use Rector\Skipper\Contract\SkipVoterInterface;
use Rector\Skipper\Matcher\FileInfoMatcher;
use Rector\Skipper\SkipCriteriaResolver\SkippedPathsResolver;
use Symplify\SmartFileSystem\SmartFileInfo;
final class PathSkipVoter implements SkipVoterInterface
{
/**
* @var \Symplify\Skipper\Matcher\FileInfoMatcher
* @readonly
* @var \Rector\Skipper\Matcher\FileInfoMatcher
*/
private $fileInfoMatcher;
/**
* @var \Symplify\Skipper\SkipCriteriaResolver\SkippedPathsResolver
* @readonly
* @var \Rector\Skipper\SkipCriteriaResolver\SkippedPathsResolver
*/
private $skippedPathsResolver;
public function __construct(FileInfoMatcher $fileInfoMatcher, SkippedPathsResolver $skippedPathsResolver)
@ -31,10 +33,11 @@ final class PathSkipVoter implements SkipVoterInterface
}
/**
* @param string|object $element
* @param \Symplify\SmartFileSystem\SmartFileInfo|string $file
*/
public function shouldSkip($element, SmartFileInfo $smartFileInfo) : bool
public function shouldSkip($element, $file) : bool
{
$skippedPaths = $this->skippedPathsResolver->resolve();
return $this->fileInfoMatcher->doesFileInfoMatchPatterns($smartFileInfo, $skippedPaths);
return $this->fileInfoMatcher->doesFileInfoMatchPatterns($file, $skippedPaths);
}
}

View File

@ -1,17 +1,15 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208\Symplify\Skipper\Skipper;
namespace Rector\Skipper\Skipper;
use RectorPrefix202208\Symplify\Skipper\Matcher\FileInfoMatcher;
use Rector\Skipper\Matcher\FileInfoMatcher;
use Symplify\SmartFileSystem\SmartFileInfo;
/**
* @see \Symplify\Skipper\Tests\Skipper\Skip\SkipSkipperTest
*/
final class SkipSkipper
{
/**
* @var \Symplify\Skipper\Matcher\FileInfoMatcher
* @readonly
* @var \Rector\Skipper\Matcher\FileInfoMatcher
*/
private $fileInfoMatcher;
public function __construct(FileInfoMatcher $fileInfoMatcher)
@ -21,8 +19,9 @@ final class SkipSkipper
/**
* @param array<string, string[]|null> $skippedClasses
* @param object|string $checker
* @param \Symplify\SmartFileSystem\SmartFileInfo|string $file
*/
public function doesMatchSkip($checker, SmartFileInfo $smartFileInfo, array $skippedClasses) : bool
public function doesMatchSkip($checker, $file, array $skippedClasses) : bool
{
foreach ($skippedClasses as $skippedClass => $skippedFiles) {
if (!\is_a($checker, $skippedClass, \true)) {
@ -32,7 +31,7 @@ final class SkipSkipper
if (!\is_array($skippedFiles)) {
return \true;
}
if ($this->fileInfoMatcher->doesFileInfoMatchPatterns($smartFileInfo, $skippedFiles)) {
if ($this->fileInfoMatcher->doesFileInfoMatchPatterns($file, $skippedFiles)) {
return \true;
}
}

View File

@ -1,13 +1,13 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208\Symplify\Skipper\Skipper;
namespace Rector\Skipper\Skipper;
use RectorPrefix202208\Symplify\Skipper\Contract\SkipVoterInterface;
use Rector\Skipper\Contract\SkipVoterInterface;
use Symplify\SmartFileSystem\SmartFileInfo;
/**
* @api
* @see \Symplify\Skipper\Tests\Skipper\Skipper\SkipperTest
* @see \Rector\Tests\Skipper\Skipper\Skipper\SkipperTest
*/
final class Skipper
{
@ -17,6 +17,7 @@ final class Skipper
private const FILE_ELEMENT = 'file_elements';
/**
* @var SkipVoterInterface[]
* @readonly
*/
private $skipVoters;
/**
@ -40,13 +41,16 @@ final class Skipper
}
/**
* @param string|object $element
* @param \Symplify\SmartFileSystem\SmartFileInfo|string $smartFileInfo
*/
public function shouldSkipElementAndFileInfo($element, SmartFileInfo $smartFileInfo) : bool
public function shouldSkipElementAndFileInfo($element, $smartFileInfo) : bool
{
foreach ($this->skipVoters as $skipVoter) {
if ($skipVoter->match($element)) {
return $skipVoter->shouldSkip($element, $smartFileInfo);
if (!$skipVoter->match($element)) {
continue;
}
// dump(get_class($skipVoter));
return $skipVoter->shouldSkip($element, $smartFileInfo);
}
return \false;
}

View File

@ -17,12 +17,12 @@ final class VersionResolver
* @api
* @var string
*/
public const PACKAGE_VERSION = 'e7c96a405bb28d1720b3b0e34bb4ce771dc22604';
public const PACKAGE_VERSION = '2ffad9317d2038e4c625341b338ab3cbd77f54cc';
/**
* @api
* @var string
*/
public const RELEASE_DATE = '2022-08-31 13:36:40';
public const RELEASE_DATE = '2022-08-31 23:47:35';
/**
* @var int
*/

View File

@ -5,7 +5,6 @@ namespace Rector\Core\Configuration;
use Rector\Caching\Contract\ValueObject\Storage\CacheStorageInterface;
use Rector\Caching\ValueObject\Storage\FileCacheStorage;
use RectorPrefix202208\Symplify\Skipper\ValueObject\Option as SkipperOption;
final class Option
{
/**
@ -90,7 +89,7 @@ final class Option
* @deprecated Use @see \Rector\Config\RectorConfig::skip() instead
* @var string
*/
public const SKIP = SkipperOption::SKIP;
public const SKIP = 'skip';
/**
* @deprecated Use RectorConfig::fileExtensions() instead
* @var string

View File

@ -5,25 +5,16 @@ namespace Rector\Core\FileSystem;
use Rector\Caching\UnchangedFilesFilter;
use Rector\Core\Util\StringUtils;
use Rector\Skipper\Enum\AsteriskMatch;
use Rector\Skipper\SkipCriteriaResolver\SkippedPathsResolver;
use RectorPrefix202208\Symfony\Component\Finder\Finder;
use RectorPrefix202208\Symfony\Component\Finder\SplFileInfo;
use RectorPrefix202208\Symplify\Skipper\SkipCriteriaResolver\SkippedPathsResolver;
use Symplify\SmartFileSystem\SmartFileInfo;
/**
* @see \Rector\Core\Tests\FileSystem\FilesFinder\FilesFinderTest
*/
final class FilesFinder
{
/**
* @var string
* @see https://regex101.com/r/e1jm7v/1
*/
private const STARTS_WITH_ASTERISK_REGEX = '#^\\*(.*?)[^*]$#';
/**
* @var string
* @see https://regex101.com/r/EgJQyZ/1
*/
private const ENDS_WITH_ASTERISK_REGEX = '#^[^*](.*?)\\*$#';
/**
* @readonly
* @var \Rector\Core\FileSystem\FilesystemTweaker
@ -31,7 +22,7 @@ final class FilesFinder
private $filesystemTweaker;
/**
* @readonly
* @var \Symplify\Skipper\SkipCriteriaResolver\SkippedPathsResolver
* @var \Rector\Skipper\SkipCriteriaResolver\SkippedPathsResolver
*/
private $skippedPathsResolver;
/**
@ -131,11 +122,11 @@ final class FilesFinder
private function normalizeForFnmatch(string $path) : string
{
// ends with *
if (StringUtils::isMatch($path, self::ENDS_WITH_ASTERISK_REGEX)) {
if (StringUtils::isMatch($path, AsteriskMatch::ONLY_ENDS_WITH_ASTERISK_REGEX)) {
return '*' . $path;
}
// starts with *
if (StringUtils::isMatch($path, self::STARTS_WITH_ASTERISK_REGEX)) {
if (StringUtils::isMatch($path, AsteriskMatch::ONLY_STARTS_WITH_ASTERISK_REGEX)) {
return $path . '*';
}
return $path;

View File

@ -16,7 +16,6 @@ use RectorPrefix202208\Symfony\Component\DependencyInjection\ContainerInterface;
use RectorPrefix202208\Symplify\AutowireArrayParameter\DependencyInjection\CompilerPass\AutowireArrayParameterCompilerPass;
use RectorPrefix202208\Symplify\PackageBuilder\DependencyInjection\CompilerPass\AutowireInterfacesCompilerPass;
use RectorPrefix202208\Symplify\PackageBuilder\ValueObject\ConsoleColorDiffConfig;
use RectorPrefix202208\Symplify\Skipper\ValueObject\SkipperConfig;
final class RectorKernel
{
/**
@ -83,6 +82,6 @@ final class RectorKernel
*/
private function createDefaultConfigFiles() : array
{
return [__DIR__ . '/../../config/config.php', SkipperConfig::FILE_PATH, ConsoleColorDiffConfig::FILE_PATH];
return [__DIR__ . '/../../config/config.php', ConsoleColorDiffConfig::FILE_PATH];
}
}

View File

@ -40,9 +40,9 @@ use Rector\NodeTypeResolver\Node\AttributeKey;
use Rector\NodeTypeResolver\NodeTypeResolver;
use Rector\PhpDocParser\NodeTraverser\SimpleCallableNodeTraverser;
use Rector\PostRector\Collector\NodesToRemoveCollector;
use Rector\Skipper\Skipper\Skipper;
use Rector\StaticTypeMapper\StaticTypeMapper;
use RectorPrefix202208\Symfony\Contracts\Service\Attribute\Required;
use RectorPrefix202208\Symplify\Skipper\Skipper\Skipper;
abstract class AbstractRector extends NodeVisitorAbstract implements PhpRectorInterface
{
/**
@ -126,7 +126,7 @@ CODE_SAMPLE;
*/
private $currentNodeProvider;
/**
* @var \Symplify\Skipper\Skipper\Skipper
* @var \Rector\Skipper\Skipper\Skipper
*/
private $skipper;
/**

2
vendor/autoload.php vendored
View File

@ -9,4 +9,4 @@ if (PHP_VERSION_ID < 50600) {
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInitb496a15bdfc18f074819e8d555e3628c::getLoader();
return ComposerAutoloaderInit0b84aa542f2b6aae334995f456d549cd::getLoader();

View File

@ -1063,22 +1063,6 @@ return array(
'RectorPrefix202208\\Symplify\\PackageBuilder\\ValueObject\\MethodName' => $vendorDir . '/symplify/package-builder/src/ValueObject/MethodName.php',
'RectorPrefix202208\\Symplify\\PackageBuilder\\ValueObject\\Option' => $vendorDir . '/symplify/package-builder/src/ValueObject/Option.php',
'RectorPrefix202208\\Symplify\\PackageBuilder\\Yaml\\ParametersMerger' => $vendorDir . '/symplify/package-builder/src/Yaml/ParametersMerger.php',
'RectorPrefix202208\\Symplify\\Skipper\\Contract\\SkipVoterInterface' => $vendorDir . '/symplify/skipper/src/Contract/SkipVoterInterface.php',
'RectorPrefix202208\\Symplify\\Skipper\\FileSystem\\FnMatchPathNormalizer' => $vendorDir . '/symplify/skipper/src/FileSystem/FnMatchPathNormalizer.php',
'RectorPrefix202208\\Symplify\\Skipper\\Matcher\\FileInfoMatcher' => $vendorDir . '/symplify/skipper/src/Matcher/FileInfoMatcher.php',
'RectorPrefix202208\\Symplify\\Skipper\\SkipCriteriaResolver\\SkippedClassAndCodesResolver' => $vendorDir . '/symplify/skipper/src/SkipCriteriaResolver/SkippedClassAndCodesResolver.php',
'RectorPrefix202208\\Symplify\\Skipper\\SkipCriteriaResolver\\SkippedClassResolver' => $vendorDir . '/symplify/skipper/src/SkipCriteriaResolver/SkippedClassResolver.php',
'RectorPrefix202208\\Symplify\\Skipper\\SkipCriteriaResolver\\SkippedMessagesResolver' => $vendorDir . '/symplify/skipper/src/SkipCriteriaResolver/SkippedMessagesResolver.php',
'RectorPrefix202208\\Symplify\\Skipper\\SkipCriteriaResolver\\SkippedPathsResolver' => $vendorDir . '/symplify/skipper/src/SkipCriteriaResolver/SkippedPathsResolver.php',
'RectorPrefix202208\\Symplify\\Skipper\\SkipVoter\\ClassAndCodeSkipVoter' => $vendorDir . '/symplify/skipper/src/SkipVoter/ClassAndCodeSkipVoter.php',
'RectorPrefix202208\\Symplify\\Skipper\\SkipVoter\\ClassSkipVoter' => $vendorDir . '/symplify/skipper/src/SkipVoter/ClassSkipVoter.php',
'RectorPrefix202208\\Symplify\\Skipper\\SkipVoter\\MessageSkipVoter' => $vendorDir . '/symplify/skipper/src/SkipVoter/MessageSkipVoter.php',
'RectorPrefix202208\\Symplify\\Skipper\\SkipVoter\\PathSkipVoter' => $vendorDir . '/symplify/skipper/src/SkipVoter/PathSkipVoter.php',
'RectorPrefix202208\\Symplify\\Skipper\\Skipper\\OnlySkipper' => $vendorDir . '/symplify/skipper/src/Skipper/OnlySkipper.php',
'RectorPrefix202208\\Symplify\\Skipper\\Skipper\\SkipSkipper' => $vendorDir . '/symplify/skipper/src/Skipper/SkipSkipper.php',
'RectorPrefix202208\\Symplify\\Skipper\\Skipper\\Skipper' => $vendorDir . '/symplify/skipper/src/Skipper/Skipper.php',
'RectorPrefix202208\\Symplify\\Skipper\\ValueObject\\Option' => $vendorDir . '/symplify/skipper/src/ValueObject/Option.php',
'RectorPrefix202208\\Symplify\\Skipper\\ValueObject\\SkipperConfig' => $vendorDir . '/symplify/skipper/src/ValueObject/SkipperConfig.php',
'RectorPrefix202208\\Symplify\\SmartFileSystem\\Exception\\DirectoryNotFoundException' => $vendorDir . '/symplify/smart-file-system/src/Exception/DirectoryNotFoundException.php',
'RectorPrefix202208\\Symplify\\SmartFileSystem\\Exception\\FileNotFoundException' => $vendorDir . '/symplify/smart-file-system/src/Exception/FileNotFoundException.php',
'RectorPrefix202208\\Symplify\\SmartFileSystem\\FileSystemFilter' => $vendorDir . '/symplify/smart-file-system/src/FileSystemFilter.php',
@ -2477,6 +2461,17 @@ return array(
'Rector\\Set\\ValueObject\\DowngradeSetList' => $vendorDir . '/rector/rector-downgrade-php/src/Set/ValueObject/DowngradeSetList.php',
'Rector\\Set\\ValueObject\\LevelSetList' => $baseDir . '/packages/Set/ValueObject/LevelSetList.php',
'Rector\\Set\\ValueObject\\SetList' => $baseDir . '/packages/Set/ValueObject/SetList.php',
'Rector\\Skipper\\Contract\\SkipVoterInterface' => $baseDir . '/packages/Skipper/Contract/SkipVoterInterface.php',
'Rector\\Skipper\\Enum\\AsteriskMatch' => $baseDir . '/packages/Skipper/Enum/AsteriskMatch.php',
'Rector\\Skipper\\FileSystem\\FnMatchPathNormalizer' => $baseDir . '/packages/Skipper/FileSystem/FnMatchPathNormalizer.php',
'Rector\\Skipper\\Fnmatcher' => $baseDir . '/packages/Skipper/Fnmatcher.php',
'Rector\\Skipper\\Matcher\\FileInfoMatcher' => $baseDir . '/packages/Skipper/Matcher/FileInfoMatcher.php',
'Rector\\Skipper\\SkipCriteriaResolver\\SkippedClassResolver' => $baseDir . '/packages/Skipper/SkipCriteriaResolver/SkippedClassResolver.php',
'Rector\\Skipper\\SkipCriteriaResolver\\SkippedPathsResolver' => $baseDir . '/packages/Skipper/SkipCriteriaResolver/SkippedPathsResolver.php',
'Rector\\Skipper\\SkipVoter\\ClassSkipVoter' => $baseDir . '/packages/Skipper/SkipVoter/ClassSkipVoter.php',
'Rector\\Skipper\\SkipVoter\\PathSkipVoter' => $baseDir . '/packages/Skipper/SkipVoter/PathSkipVoter.php',
'Rector\\Skipper\\Skipper\\SkipSkipper' => $baseDir . '/packages/Skipper/Skipper/SkipSkipper.php',
'Rector\\Skipper\\Skipper\\Skipper' => $baseDir . '/packages/Skipper/Skipper/Skipper.php',
'Rector\\StaticTypeMapper\\Contract\\PhpDocParser\\PhpDocTypeMapperInterface' => $baseDir . '/packages/StaticTypeMapper/Contract/PhpDocParser/PhpDocTypeMapperInterface.php',
'Rector\\StaticTypeMapper\\Contract\\PhpParser\\PhpParserNodeMapperInterface' => $baseDir . '/packages/StaticTypeMapper/Contract/PhpParser/PhpParserNodeMapperInterface.php',
'Rector\\StaticTypeMapper\\Mapper\\PhpParserNodeMapper' => $baseDir . '/packages/StaticTypeMapper/Mapper/PhpParserNodeMapper.php',

View File

@ -7,9 +7,9 @@ $baseDir = dirname($vendorDir);
return array(
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
'ad155f8f1cf0d418fe49e248db8c661b' => $vendorDir . '/react/promise/src/functions_include.php',
'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php',
'b6b991a57620e2fb6b2f66f03fe9ddc2' => $vendorDir . '/symfony/string/Resources/functions.php',
'ad155f8f1cf0d418fe49e248db8c661b' => $vendorDir . '/react/promise/src/functions_include.php',
'972fda704d680a3a53c68e34e193cb22' => $vendorDir . '/react/promise-timer/src/functions_include.php',
'9b38cf48e83f5d8f60375221cd213eee' => $vendorDir . '/phpstan/phpstan/bootstrap.php',
'2324d0e5cadd603331d27de142371f0b' => $vendorDir . '/symfony/contracts/Deprecation/function.php',

View File

@ -22,7 +22,6 @@ return array(
'RectorPrefix202208\\Webmozart\\Assert\\' => array($vendorDir . '/webmozart/assert/src'),
'RectorPrefix202208\\Symplify\\SymplifyKernel\\' => array($vendorDir . '/symplify/symplify-kernel/src'),
'RectorPrefix202208\\Symplify\\SmartFileSystem\\' => array($vendorDir . '/symplify/smart-file-system/src'),
'RectorPrefix202208\\Symplify\\Skipper\\' => array($vendorDir . '/symplify/skipper/src'),
'RectorPrefix202208\\Symplify\\PackageBuilder\\' => array($vendorDir . '/symplify/package-builder/src'),
'RectorPrefix202208\\Symplify\\EasyParallel\\' => array($vendorDir . '/symplify/easy-parallel/src'),
'RectorPrefix202208\\Symplify\\AutowireArrayParameter\\' => array($vendorDir . '/symplify/autowire-array-parameter/src'),

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInitb496a15bdfc18f074819e8d555e3628c
class ComposerAutoloaderInit0b84aa542f2b6aae334995f456d549cd
{
private static $loader;
@ -22,19 +22,19 @@ class ComposerAutoloaderInitb496a15bdfc18f074819e8d555e3628c
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInitb496a15bdfc18f074819e8d555e3628c', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInit0b84aa542f2b6aae334995f456d549cd', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInitb496a15bdfc18f074819e8d555e3628c', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInit0b84aa542f2b6aae334995f456d549cd', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInitb496a15bdfc18f074819e8d555e3628c::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInit0b84aa542f2b6aae334995f456d549cd::getInitializer($loader));
$loader->setClassMapAuthoritative(true);
$loader->register(true);
$includeFiles = \Composer\Autoload\ComposerStaticInitb496a15bdfc18f074819e8d555e3628c::$files;
$includeFiles = \Composer\Autoload\ComposerStaticInit0b84aa542f2b6aae334995f456d549cd::$files;
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequireb496a15bdfc18f074819e8d555e3628c($fileIdentifier, $file);
composerRequire0b84aa542f2b6aae334995f456d549cd($fileIdentifier, $file);
}
return $loader;
@ -46,7 +46,7 @@ class ComposerAutoloaderInitb496a15bdfc18f074819e8d555e3628c
* @param string $file
* @return void
*/
function composerRequireb496a15bdfc18f074819e8d555e3628c($fileIdentifier, $file)
function composerRequire0b84aa542f2b6aae334995f456d549cd($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;

View File

@ -4,13 +4,13 @@
namespace Composer\Autoload;
class ComposerStaticInitb496a15bdfc18f074819e8d555e3628c
class ComposerStaticInit0b84aa542f2b6aae334995f456d549cd
{
public static $files = array (
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php',
'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php',
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
'972fda704d680a3a53c68e34e193cb22' => __DIR__ . '/..' . '/react/promise-timer/src/functions_include.php',
'9b38cf48e83f5d8f60375221cd213eee' => __DIR__ . '/..' . '/phpstan/phpstan/bootstrap.php',
'2324d0e5cadd603331d27de142371f0b' => __DIR__ . '/..' . '/symfony/contracts/Deprecation/function.php',
@ -39,7 +39,6 @@ class ComposerStaticInitb496a15bdfc18f074819e8d555e3628c
'RectorPrefix202208\\Webmozart\\Assert\\' => 36,
'RectorPrefix202208\\Symplify\\SymplifyKernel\\' => 43,
'RectorPrefix202208\\Symplify\\SmartFileSystem\\' => 44,
'RectorPrefix202208\\Symplify\\Skipper\\' => 36,
'RectorPrefix202208\\Symplify\\PackageBuilder\\' => 43,
'RectorPrefix202208\\Symplify\\EasyParallel\\' => 41,
'RectorPrefix202208\\Symplify\\AutowireArrayParameter\\' => 51,
@ -146,10 +145,6 @@ class ComposerStaticInitb496a15bdfc18f074819e8d555e3628c
array (
0 => __DIR__ . '/..' . '/symplify/smart-file-system/src',
),
'RectorPrefix202208\\Symplify\\Skipper\\' =>
array (
0 => __DIR__ . '/..' . '/symplify/skipper/src',
),
'RectorPrefix202208\\Symplify\\PackageBuilder\\' =>
array (
0 => __DIR__ . '/..' . '/symplify/package-builder/src',
@ -1338,22 +1333,6 @@ class ComposerStaticInitb496a15bdfc18f074819e8d555e3628c
'RectorPrefix202208\\Symplify\\PackageBuilder\\ValueObject\\MethodName' => __DIR__ . '/..' . '/symplify/package-builder/src/ValueObject/MethodName.php',
'RectorPrefix202208\\Symplify\\PackageBuilder\\ValueObject\\Option' => __DIR__ . '/..' . '/symplify/package-builder/src/ValueObject/Option.php',
'RectorPrefix202208\\Symplify\\PackageBuilder\\Yaml\\ParametersMerger' => __DIR__ . '/..' . '/symplify/package-builder/src/Yaml/ParametersMerger.php',
'RectorPrefix202208\\Symplify\\Skipper\\Contract\\SkipVoterInterface' => __DIR__ . '/..' . '/symplify/skipper/src/Contract/SkipVoterInterface.php',
'RectorPrefix202208\\Symplify\\Skipper\\FileSystem\\FnMatchPathNormalizer' => __DIR__ . '/..' . '/symplify/skipper/src/FileSystem/FnMatchPathNormalizer.php',
'RectorPrefix202208\\Symplify\\Skipper\\Matcher\\FileInfoMatcher' => __DIR__ . '/..' . '/symplify/skipper/src/Matcher/FileInfoMatcher.php',
'RectorPrefix202208\\Symplify\\Skipper\\SkipCriteriaResolver\\SkippedClassAndCodesResolver' => __DIR__ . '/..' . '/symplify/skipper/src/SkipCriteriaResolver/SkippedClassAndCodesResolver.php',
'RectorPrefix202208\\Symplify\\Skipper\\SkipCriteriaResolver\\SkippedClassResolver' => __DIR__ . '/..' . '/symplify/skipper/src/SkipCriteriaResolver/SkippedClassResolver.php',
'RectorPrefix202208\\Symplify\\Skipper\\SkipCriteriaResolver\\SkippedMessagesResolver' => __DIR__ . '/..' . '/symplify/skipper/src/SkipCriteriaResolver/SkippedMessagesResolver.php',
'RectorPrefix202208\\Symplify\\Skipper\\SkipCriteriaResolver\\SkippedPathsResolver' => __DIR__ . '/..' . '/symplify/skipper/src/SkipCriteriaResolver/SkippedPathsResolver.php',
'RectorPrefix202208\\Symplify\\Skipper\\SkipVoter\\ClassAndCodeSkipVoter' => __DIR__ . '/..' . '/symplify/skipper/src/SkipVoter/ClassAndCodeSkipVoter.php',
'RectorPrefix202208\\Symplify\\Skipper\\SkipVoter\\ClassSkipVoter' => __DIR__ . '/..' . '/symplify/skipper/src/SkipVoter/ClassSkipVoter.php',
'RectorPrefix202208\\Symplify\\Skipper\\SkipVoter\\MessageSkipVoter' => __DIR__ . '/..' . '/symplify/skipper/src/SkipVoter/MessageSkipVoter.php',
'RectorPrefix202208\\Symplify\\Skipper\\SkipVoter\\PathSkipVoter' => __DIR__ . '/..' . '/symplify/skipper/src/SkipVoter/PathSkipVoter.php',
'RectorPrefix202208\\Symplify\\Skipper\\Skipper\\OnlySkipper' => __DIR__ . '/..' . '/symplify/skipper/src/Skipper/OnlySkipper.php',
'RectorPrefix202208\\Symplify\\Skipper\\Skipper\\SkipSkipper' => __DIR__ . '/..' . '/symplify/skipper/src/Skipper/SkipSkipper.php',
'RectorPrefix202208\\Symplify\\Skipper\\Skipper\\Skipper' => __DIR__ . '/..' . '/symplify/skipper/src/Skipper/Skipper.php',
'RectorPrefix202208\\Symplify\\Skipper\\ValueObject\\Option' => __DIR__ . '/..' . '/symplify/skipper/src/ValueObject/Option.php',
'RectorPrefix202208\\Symplify\\Skipper\\ValueObject\\SkipperConfig' => __DIR__ . '/..' . '/symplify/skipper/src/ValueObject/SkipperConfig.php',
'RectorPrefix202208\\Symplify\\SmartFileSystem\\Exception\\DirectoryNotFoundException' => __DIR__ . '/..' . '/symplify/smart-file-system/src/Exception/DirectoryNotFoundException.php',
'RectorPrefix202208\\Symplify\\SmartFileSystem\\Exception\\FileNotFoundException' => __DIR__ . '/..' . '/symplify/smart-file-system/src/Exception/FileNotFoundException.php',
'RectorPrefix202208\\Symplify\\SmartFileSystem\\FileSystemFilter' => __DIR__ . '/..' . '/symplify/smart-file-system/src/FileSystemFilter.php',
@ -2752,6 +2731,17 @@ class ComposerStaticInitb496a15bdfc18f074819e8d555e3628c
'Rector\\Set\\ValueObject\\DowngradeSetList' => __DIR__ . '/..' . '/rector/rector-downgrade-php/src/Set/ValueObject/DowngradeSetList.php',
'Rector\\Set\\ValueObject\\LevelSetList' => __DIR__ . '/../..' . '/packages/Set/ValueObject/LevelSetList.php',
'Rector\\Set\\ValueObject\\SetList' => __DIR__ . '/../..' . '/packages/Set/ValueObject/SetList.php',
'Rector\\Skipper\\Contract\\SkipVoterInterface' => __DIR__ . '/../..' . '/packages/Skipper/Contract/SkipVoterInterface.php',
'Rector\\Skipper\\Enum\\AsteriskMatch' => __DIR__ . '/../..' . '/packages/Skipper/Enum/AsteriskMatch.php',
'Rector\\Skipper\\FileSystem\\FnMatchPathNormalizer' => __DIR__ . '/../..' . '/packages/Skipper/FileSystem/FnMatchPathNormalizer.php',
'Rector\\Skipper\\Fnmatcher' => __DIR__ . '/../..' . '/packages/Skipper/Fnmatcher.php',
'Rector\\Skipper\\Matcher\\FileInfoMatcher' => __DIR__ . '/../..' . '/packages/Skipper/Matcher/FileInfoMatcher.php',
'Rector\\Skipper\\SkipCriteriaResolver\\SkippedClassResolver' => __DIR__ . '/../..' . '/packages/Skipper/SkipCriteriaResolver/SkippedClassResolver.php',
'Rector\\Skipper\\SkipCriteriaResolver\\SkippedPathsResolver' => __DIR__ . '/../..' . '/packages/Skipper/SkipCriteriaResolver/SkippedPathsResolver.php',
'Rector\\Skipper\\SkipVoter\\ClassSkipVoter' => __DIR__ . '/../..' . '/packages/Skipper/SkipVoter/ClassSkipVoter.php',
'Rector\\Skipper\\SkipVoter\\PathSkipVoter' => __DIR__ . '/../..' . '/packages/Skipper/SkipVoter/PathSkipVoter.php',
'Rector\\Skipper\\Skipper\\SkipSkipper' => __DIR__ . '/../..' . '/packages/Skipper/Skipper/SkipSkipper.php',
'Rector\\Skipper\\Skipper\\Skipper' => __DIR__ . '/../..' . '/packages/Skipper/Skipper/Skipper.php',
'Rector\\StaticTypeMapper\\Contract\\PhpDocParser\\PhpDocTypeMapperInterface' => __DIR__ . '/../..' . '/packages/StaticTypeMapper/Contract/PhpDocParser/PhpDocTypeMapperInterface.php',
'Rector\\StaticTypeMapper\\Contract\\PhpParser\\PhpParserNodeMapperInterface' => __DIR__ . '/../..' . '/packages/StaticTypeMapper/Contract/PhpParser/PhpParserNodeMapperInterface.php',
'Rector\\StaticTypeMapper\\Mapper\\PhpParserNodeMapper' => __DIR__ . '/../..' . '/packages/StaticTypeMapper/Mapper/PhpParserNodeMapper.php',
@ -3148,9 +3138,9 @@ class ComposerStaticInitb496a15bdfc18f074819e8d555e3628c
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInitb496a15bdfc18f074819e8d555e3628c::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitb496a15bdfc18f074819e8d555e3628c::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitb496a15bdfc18f074819e8d555e3628c::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInit0b84aa542f2b6aae334995f456d549cd::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit0b84aa542f2b6aae334995f456d549cd::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit0b84aa542f2b6aae334995f456d549cd::$classMap;
}, null, ClassLoader::class);
}

View File

@ -3113,12 +3113,12 @@
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/autowire-array-parameter.git",
"reference": "c5865d56cb3976862815c6aa49c7ba7ff16c7509"
"reference": "f4896e243ae465a278e254b0213fc50ef4f33b5a"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/autowire-array-parameter\/zipball\/c5865d56cb3976862815c6aa49c7ba7ff16c7509",
"reference": "c5865d56cb3976862815c6aa49c7ba7ff16c7509",
"url": "https:\/\/api.github.com\/repos\/symplify\/autowire-array-parameter\/zipball\/f4896e243ae465a278e254b0213fc50ef4f33b5a",
"reference": "f4896e243ae465a278e254b0213fc50ef4f33b5a",
"shasum": ""
},
"require": {
@ -3141,7 +3141,6 @@
"symplify\/phpstan-rules": "<11.1.6",
"symplify\/rule-doc-generator": "<11.1.6",
"symplify\/rule-doc-generator-contracts": "<11.1.6",
"symplify\/skipper": "<11.1.6",
"symplify\/smart-file-system": "<11.1.6",
"symplify\/symfony-static-dumper": "<11.1.6",
"symplify\/symplify-kernel": "<11.1.6",
@ -3150,7 +3149,7 @@
"require-dev": {
"phpunit\/phpunit": "^9.5.23"
},
"time": "2022-08-31T08:19:28+00:00",
"time": "2022-08-31T14:54:01+00:00",
"default-branch": true,
"type": "library",
"extra": {
@ -3262,12 +3261,12 @@
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/package-builder.git",
"reference": "87916f237343c7adca511e4b8dbb5fd928f0b8e5"
"reference": "63ad966820ad00573769b472ad6e0948c7fd8c78"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/package-builder\/zipball\/87916f237343c7adca511e4b8dbb5fd928f0b8e5",
"reference": "87916f237343c7adca511e4b8dbb5fd928f0b8e5",
"url": "https:\/\/api.github.com\/repos\/symplify\/package-builder\/zipball\/63ad966820ad00573769b472ad6e0948c7fd8c78",
"reference": "63ad966820ad00573769b472ad6e0948c7fd8c78",
"shasum": ""
},
"require": {
@ -3295,7 +3294,6 @@
"symplify\/phpstan-rules": "<11.1.6",
"symplify\/rule-doc-generator": "<11.1.6",
"symplify\/rule-doc-generator-contracts": "<11.1.6",
"symplify\/skipper": "<11.1.6",
"symplify\/smart-file-system": "<11.1.6",
"symplify\/symfony-static-dumper": "<11.1.6",
"symplify\/vendor-patches": "<11.1.6"
@ -3303,7 +3301,7 @@
"require-dev": {
"phpunit\/phpunit": "^9.5.23"
},
"time": "2022-08-31T08:19:28+00:00",
"time": "2022-08-31T14:54:02+00:00",
"default-branch": true,
"type": "library",
"extra": {
@ -3410,86 +3408,6 @@
],
"install-path": "..\/symplify\/rule-doc-generator-contracts"
},
{
"name": "symplify\/skipper",
"version": "11.1.6",
"version_normalized": "11.1.6.0",
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/skipper.git",
"reference": "ca7e882ac3b0ec7c2967d12578bc2f8953251182"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/skipper\/zipball\/ca7e882ac3b0ec7c2967d12578bc2f8953251182",
"reference": "ca7e882ac3b0ec7c2967d12578bc2f8953251182",
"shasum": ""
},
"require": {
"nette\/utils": "^3.2",
"php": ">=8.0",
"symfony\/config": "^6.0",
"symfony\/dependency-injection": "^6.0",
"symfony\/filesystem": "^6.0",
"symfony\/finder": "^6.0",
"symplify\/package-builder": "^11.1.6",
"symplify\/smart-file-system": "^11.1.6",
"symplify\/symplify-kernel": "^11.1.6"
},
"conflict": {
"symplify\/autowire-array-parameter": "<11.1.6",
"symplify\/coding-standard": "<11.1.6",
"symplify\/composer-json-manipulator": "<11.1.6",
"symplify\/config-transformer": "<11.1.6",
"symplify\/easy-ci": "<11.1.6",
"symplify\/easy-coding-standard": "<11.1.6",
"symplify\/easy-parallel": "<11.1.6",
"symplify\/easy-testing": "<11.1.6",
"symplify\/monorepo-builder": "<11.1.6",
"symplify\/php-config-printer": "<11.1.6",
"symplify\/phpstan-extensions": "<11.1.6",
"symplify\/phpstan-rules": "<11.1.6",
"symplify\/rule-doc-generator": "<11.1.6",
"symplify\/rule-doc-generator-contracts": "<11.1.6",
"symplify\/symfony-static-dumper": "<11.1.6",
"symplify\/vendor-patches": "<11.1.6"
},
"require-dev": {
"phpunit\/phpunit": "^9.5.23"
},
"time": "2022-08-31T08:18:20+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "11.2-dev"
}
},
"installation-source": "dist",
"autoload": {
"psr-4": {
"RectorPrefix202208\\Symplify\\Skipper\\": "src"
}
},
"notification-url": "https:\/\/packagist.org\/downloads\/",
"license": [
"MIT"
],
"description": "Skip files by rule class, directory, file or fnmatch",
"support": {
"source": "https:\/\/github.com\/symplify\/skipper\/tree\/11.1.6"
},
"funding": [
{
"url": "https:\/\/www.paypal.me\/rectorphp",
"type": "custom"
},
{
"url": "https:\/\/github.com\/tomasvotruba",
"type": "github"
}
],
"install-path": "..\/symplify\/skipper"
},
{
"name": "symplify\/smart-file-system",
"version": "dev-main",
@ -3497,12 +3415,12 @@
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/smart-file-system.git",
"reference": "e6920e532c203243b0f40ce62c150a0f18c38248"
"reference": "1ca346104fae0e9a25a87af34afa8f27613bf924"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/smart-file-system\/zipball\/e6920e532c203243b0f40ce62c150a0f18c38248",
"reference": "e6920e532c203243b0f40ce62c150a0f18c38248",
"url": "https:\/\/api.github.com\/repos\/symplify\/smart-file-system\/zipball\/1ca346104fae0e9a25a87af34afa8f27613bf924",
"reference": "1ca346104fae0e9a25a87af34afa8f27613bf924",
"shasum": ""
},
"require": {
@ -3527,7 +3445,6 @@
"symplify\/phpstan-rules": "<11.1.6",
"symplify\/rule-doc-generator": "<11.1.6",
"symplify\/rule-doc-generator-contracts": "<11.1.6",
"symplify\/skipper": "<11.1.6",
"symplify\/symfony-static-dumper": "<11.1.6",
"symplify\/symplify-kernel": "<11.1.6",
"symplify\/vendor-patches": "<11.1.6"
@ -3536,7 +3453,7 @@
"nette\/finder": "^2.5.3",
"phpunit\/phpunit": "^9.5.23"
},
"time": "2022-08-31T08:16:44+00:00",
"time": "2022-08-31T14:54:16+00:00",
"default-branch": true,
"type": "library",
"extra": {
@ -3556,7 +3473,7 @@
],
"description": "Sanitized FileInfo with safe getRealPath() and other handy methods",
"support": {
"source": "https:\/\/github.com\/symplify\/smart-file-system\/tree\/11.1.6"
"source": "https:\/\/github.com\/symplify\/smart-file-system\/tree\/main"
},
"funding": [
{
@ -3577,12 +3494,12 @@
"source": {
"type": "git",
"url": "https:\/\/github.com\/symplify\/symplify-kernel.git",
"reference": "f2946844f34c785f6c4920edc50bcfdd07862562"
"reference": "26b1e948bc1369859548b617640980d22ec62b20"
},
"dist": {
"type": "zip",
"url": "https:\/\/api.github.com\/repos\/symplify\/symplify-kernel\/zipball\/f2946844f34c785f6c4920edc50bcfdd07862562",
"reference": "f2946844f34c785f6c4920edc50bcfdd07862562",
"url": "https:\/\/api.github.com\/repos\/symplify\/symplify-kernel\/zipball\/26b1e948bc1369859548b617640980d22ec62b20",
"reference": "26b1e948bc1369859548b617640980d22ec62b20",
"shasum": ""
},
"require": {
@ -3607,14 +3524,13 @@
"symplify\/phpstan-rules": "<11.1.6",
"symplify\/rule-doc-generator": "<11.1.6",
"symplify\/rule-doc-generator-contracts": "<11.1.6",
"symplify\/skipper": "<11.1.6",
"symplify\/symfony-static-dumper": "<11.1.6",
"symplify\/vendor-patches": "<11.1.6"
},
"require-dev": {
"phpunit\/phpunit": "^9.5.23"
},
"time": "2022-08-31T09:28:54+00:00",
"time": "2022-08-31T14:54:06+00:00",
"default-branch": true,
"type": "library",
"extra": {

File diff suppressed because one or more lines are too long

View File

@ -36,7 +36,6 @@
"symplify\/phpstan-extensions": "<11.1.6",
"symplify\/rule-doc-generator": "<11.1.6",
"symplify\/vendor-patches": "<11.1.6",
"symplify\/skipper": "<11.1.6",
"symplify\/smart-file-system": "<11.1.6",
"symplify\/symfony-static-dumper": "<11.1.6",
"symplify\/symplify-kernel": "<11.1.6",

View File

@ -40,7 +40,6 @@
"symplify\/phpstan-extensions": "<11.1.6",
"symplify\/rule-doc-generator": "<11.1.6",
"symplify\/vendor-patches": "<11.1.6",
"symplify\/skipper": "<11.1.6",
"symplify\/smart-file-system": "<11.1.6",
"symplify\/symfony-static-dumper": "<11.1.6",
"symplify\/monorepo-builder": "<11.1.6",

View File

@ -1,25 +0,0 @@
The MIT License
---------------
Copyright (c) 2020 Tomas Votruba (https://tomasvotruba.com)
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

View File

@ -1,54 +0,0 @@
{
"name": "symplify\/skipper",
"description": "Skip files by rule class, directory, file or fnmatch",
"license": "MIT",
"require": {
"php": ">=8.0",
"nette\/utils": "^3.2",
"symfony\/config": "^6.0",
"symfony\/dependency-injection": "^6.0",
"symfony\/finder": "^6.0",
"symfony\/filesystem": "^6.0",
"symplify\/package-builder": "^11.1.6",
"symplify\/symplify-kernel": "^11.1.6",
"symplify\/smart-file-system": "^11.1.6"
},
"require-dev": {
"phpunit\/phpunit": "^9.5.23"
},
"autoload": {
"psr-4": {
"RectorPrefix202208\\Symplify\\Skipper\\": "src"
}
},
"autoload-dev": {
"psr-4": {
"RectorPrefix202208\\Symplify\\Skipper\\Tests\\": "tests"
}
},
"extra": {
"branch-alias": {
"dev-main": "11.2-dev"
}
},
"conflict": {
"symplify\/composer-json-manipulator": "<11.1.6",
"symplify\/easy-coding-standard": "<11.1.6",
"symplify\/phpstan-rules": "<11.1.6",
"symplify\/easy-testing": "<11.1.6",
"symplify\/rule-doc-generator-contracts": "<11.1.6",
"symplify\/php-config-printer": "<11.1.6",
"symplify\/autowire-array-parameter": "<11.1.6",
"symplify\/phpstan-extensions": "<11.1.6",
"symplify\/rule-doc-generator": "<11.1.6",
"symplify\/vendor-patches": "<11.1.6",
"symplify\/symfony-static-dumper": "<11.1.6",
"symplify\/monorepo-builder": "<11.1.6",
"symplify\/config-transformer": "<11.1.6",
"symplify\/easy-ci": "<11.1.6",
"symplify\/coding-standard": "<11.1.6",
"symplify\/easy-parallel": "<11.1.6"
},
"minimum-stability": "dev",
"prefer-stable": true
}

View File

@ -1,19 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208;
use RectorPrefix202208\Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use RectorPrefix202208\Symplify\PackageBuilder\Reflection\ClassLikeExistenceChecker;
use RectorPrefix202208\Symplify\Skipper\ValueObject\Option;
use RectorPrefix202208\Symplify\SmartFileSystem\Normalizer\PathNormalizer;
return static function (ContainerConfigurator $containerConfigurator) : void {
$parameters = $containerConfigurator->parameters();
$parameters->set(Option::SKIP, []);
$parameters->set(Option::ONLY, []);
$services = $containerConfigurator->services();
$services->defaults()->public()->autowire();
$services->load('RectorPrefix202208\Symplify\\Skipper\\', __DIR__ . '/../src')->exclude([__DIR__ . '/../src/ValueObject']);
$services->set(ClassLikeExistenceChecker::class);
$services->set(PathNormalizer::class);
};

View File

@ -1,40 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208\Symplify\Skipper\FileSystem;
use RectorPrefix202208\Nette\Utils\Strings;
/**
* @see \Symplify\Skipper\Tests\FileSystem\FnMatchPathNormalizerTest
*/
final class FnMatchPathNormalizer
{
/**
* @var string
* @see https://regex101.com/r/ZB2dFV/2
*/
private const ONLY_ENDS_WITH_ASTERISK_REGEX = '#^[^*](.*?)\\*$#';
/**
* @var string
* @see https://regex101.com/r/aVUDjM/2
*/
private const ONLY_STARTS_WITH_ASTERISK_REGEX = '#^\\*(.*?)[^*]$#';
public function normalizeForFnmatch(string $path) : string
{
// ends with *
if (Strings::match($path, self::ONLY_ENDS_WITH_ASTERISK_REGEX)) {
return '*' . $path;
}
// starts with *
if (Strings::match($path, self::ONLY_STARTS_WITH_ASTERISK_REGEX)) {
return $path . '*';
}
if (\strpos($path, '..') !== \false) {
$path = \realpath($path);
if ($path === \false) {
return '';
}
}
return $path;
}
}

View File

@ -1,51 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208\Symplify\Skipper\Matcher;
use RectorPrefix202208\Symplify\Skipper\FileSystem\FnMatchPathNormalizer;
use Symplify\SmartFileSystem\SmartFileInfo;
final class FileInfoMatcher
{
/**
* @var \Symplify\Skipper\FileSystem\FnMatchPathNormalizer
*/
private $fnMatchPathNormalizer;
public function __construct(FnMatchPathNormalizer $fnMatchPathNormalizer)
{
$this->fnMatchPathNormalizer = $fnMatchPathNormalizer;
}
/**
* @param string[] $filePatterns
*/
public function doesFileInfoMatchPatterns(SmartFileInfo $smartFileInfo, array $filePatterns) : bool
{
foreach ($filePatterns as $filePattern) {
if ($this->doesFileInfoMatchPattern($smartFileInfo, $filePattern)) {
return \true;
}
}
return \false;
}
/**
* Supports both relative and absolute $file path. They differ for PHP-CS-Fixer and PHP_CodeSniffer.
*/
private function doesFileInfoMatchPattern(SmartFileInfo $smartFileInfo, string $ignoredPath) : bool
{
// in ecs.php, the path can be absolute
if ($smartFileInfo->getRealPath() === $ignoredPath) {
return \true;
}
$ignoredPath = $this->fnMatchPathNormalizer->normalizeForFnmatch($ignoredPath);
if ($ignoredPath === '') {
return \false;
}
if ($smartFileInfo->startsWith($ignoredPath)) {
return \true;
}
if ($smartFileInfo->endsWith($ignoredPath)) {
return \true;
}
return $smartFileInfo->doesFnmatch($ignoredPath);
}
}

View File

@ -1,44 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208\Symplify\Skipper\SkipCriteriaResolver;
use RectorPrefix202208\Symplify\PackageBuilder\Parameter\ParameterProvider;
use RectorPrefix202208\Symplify\Skipper\ValueObject\Option;
final class SkippedClassAndCodesResolver
{
/**
* @var array<string, string[]|null>
*/
private $skippedClassAndCodes = [];
/**
* @var \Symplify\PackageBuilder\Parameter\ParameterProvider
*/
private $parameterProvider;
public function __construct(ParameterProvider $parameterProvider)
{
$this->parameterProvider = $parameterProvider;
}
/**
* @return array<string, string[]|null>
*/
public function resolve() : array
{
if ($this->skippedClassAndCodes !== []) {
return $this->skippedClassAndCodes;
}
$skip = $this->parameterProvider->provideArrayParameter(Option::SKIP);
foreach ($skip as $key => $value) {
// e.g. [SomeClass::class] → shift values to [SomeClass::class => null]
if (\is_int($key)) {
$key = $value;
$value = null;
}
if (\substr_count($key, '.') !== 1) {
continue;
}
$this->skippedClassAndCodes[$key] = $value;
}
return $this->skippedClassAndCodes;
}
}

View File

@ -1,47 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208\Symplify\Skipper\SkipCriteriaResolver;
use RectorPrefix202208\Symplify\PackageBuilder\Parameter\ParameterProvider;
use RectorPrefix202208\Symplify\Skipper\ValueObject\Option;
final class SkippedMessagesResolver
{
/**
* @var array<string, string[]|null>
*/
private $skippedMessages = [];
/**
* @var \Symplify\PackageBuilder\Parameter\ParameterProvider
*/
private $parameterProvider;
public function __construct(ParameterProvider $parameterProvider)
{
$this->parameterProvider = $parameterProvider;
}
/**
* @return array<string, string[]|null>
*/
public function resolve() : array
{
if ($this->skippedMessages !== []) {
return $this->skippedMessages;
}
$skip = $this->parameterProvider->provideArrayParameter(Option::SKIP);
foreach ($skip as $key => $value) {
// e.g. [SomeClass::class] → shift values to [SomeClass::class => null]
if (\is_int($key)) {
$key = $value;
$value = null;
}
if (!\is_string($key)) {
continue;
}
if (\substr_count($key, ' ') === 0) {
continue;
}
$this->skippedMessages[$key] = $value;
}
return $this->skippedMessages;
}
}

View File

@ -1,57 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208\Symplify\Skipper\SkipVoter;
use RectorPrefix202208\Symplify\Skipper\Contract\SkipVoterInterface;
use RectorPrefix202208\Symplify\Skipper\Matcher\FileInfoMatcher;
use RectorPrefix202208\Symplify\Skipper\SkipCriteriaResolver\SkippedClassAndCodesResolver;
use Symplify\SmartFileSystem\SmartFileInfo;
/**
* Matching class and code, e.g. App\Category\ArraySniff.SomeCode
*/
final class ClassAndCodeSkipVoter implements SkipVoterInterface
{
/**
* @var \Symplify\Skipper\SkipCriteriaResolver\SkippedClassAndCodesResolver
*/
private $skippedClassAndCodesResolver;
/**
* @var \Symplify\Skipper\Matcher\FileInfoMatcher
*/
private $fileInfoMatcher;
public function __construct(SkippedClassAndCodesResolver $skippedClassAndCodesResolver, FileInfoMatcher $fileInfoMatcher)
{
$this->skippedClassAndCodesResolver = $skippedClassAndCodesResolver;
$this->fileInfoMatcher = $fileInfoMatcher;
}
/**
* @param string|object $element
*/
public function match($element) : bool
{
if (!\is_string($element)) {
return \false;
}
return \substr_count($element, '.') === 1;
}
/**
* @param string|object $element
*/
public function shouldSkip($element, SmartFileInfo $smartFileInfo) : bool
{
if (\is_object($element)) {
return \false;
}
$skippedClassAndCodes = $this->skippedClassAndCodesResolver->resolve();
if (!\array_key_exists($element, $skippedClassAndCodes)) {
return \false;
}
// skip regardless the path
$skippedPaths = $skippedClassAndCodes[$element];
if ($skippedPaths === null) {
return \true;
}
return $this->fileInfoMatcher->doesFileInfoMatchPatterns($smartFileInfo, $skippedPaths);
}
}

View File

@ -1,67 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208\Symplify\Skipper\SkipVoter;
use RectorPrefix202208\Symplify\PackageBuilder\Parameter\ParameterProvider;
use RectorPrefix202208\Symplify\PackageBuilder\Reflection\ClassLikeExistenceChecker;
use RectorPrefix202208\Symplify\Skipper\Contract\SkipVoterInterface;
use RectorPrefix202208\Symplify\Skipper\SkipCriteriaResolver\SkippedClassResolver;
use RectorPrefix202208\Symplify\Skipper\Skipper\OnlySkipper;
use RectorPrefix202208\Symplify\Skipper\Skipper\SkipSkipper;
use RectorPrefix202208\Symplify\Skipper\ValueObject\Option;
use Symplify\SmartFileSystem\SmartFileInfo;
final class ClassSkipVoter implements SkipVoterInterface
{
/**
* @var \Symplify\PackageBuilder\Reflection\ClassLikeExistenceChecker
*/
private $classLikeExistenceChecker;
/**
* @var \Symplify\PackageBuilder\Parameter\ParameterProvider
*/
private $parameterProvider;
/**
* @var \Symplify\Skipper\Skipper\SkipSkipper
*/
private $skipSkipper;
/**
* @var \Symplify\Skipper\Skipper\OnlySkipper
*/
private $onlySkipper;
/**
* @var \Symplify\Skipper\SkipCriteriaResolver\SkippedClassResolver
*/
private $skippedClassResolver;
public function __construct(ClassLikeExistenceChecker $classLikeExistenceChecker, ParameterProvider $parameterProvider, SkipSkipper $skipSkipper, OnlySkipper $onlySkipper, SkippedClassResolver $skippedClassResolver)
{
$this->classLikeExistenceChecker = $classLikeExistenceChecker;
$this->parameterProvider = $parameterProvider;
$this->skipSkipper = $skipSkipper;
$this->onlySkipper = $onlySkipper;
$this->skippedClassResolver = $skippedClassResolver;
}
/**
* @param string|object $element
*/
public function match($element) : bool
{
if (\is_object($element)) {
return \true;
}
return $this->classLikeExistenceChecker->doesClassLikeExist($element);
}
/**
* @param string|object $element
*/
public function shouldSkip($element, SmartFileInfo $smartFileInfo) : bool
{
$only = $this->parameterProvider->provideArrayParameter(Option::ONLY);
$doesMatchOnly = $this->onlySkipper->doesMatchOnly($element, $smartFileInfo, $only);
if (\is_bool($doesMatchOnly)) {
return $doesMatchOnly;
}
$skippedClasses = $this->skippedClassResolver->resolve();
return $this->skipSkipper->doesMatchSkip($element, $smartFileInfo, $skippedClasses);
}
}

View File

@ -1,54 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208\Symplify\Skipper\SkipVoter;
use RectorPrefix202208\Symplify\Skipper\Contract\SkipVoterInterface;
use RectorPrefix202208\Symplify\Skipper\Matcher\FileInfoMatcher;
use RectorPrefix202208\Symplify\Skipper\SkipCriteriaResolver\SkippedMessagesResolver;
use Symplify\SmartFileSystem\SmartFileInfo;
final class MessageSkipVoter implements SkipVoterInterface
{
/**
* @var \Symplify\Skipper\SkipCriteriaResolver\SkippedMessagesResolver
*/
private $skippedMessagesResolver;
/**
* @var \Symplify\Skipper\Matcher\FileInfoMatcher
*/
private $fileInfoMatcher;
public function __construct(SkippedMessagesResolver $skippedMessagesResolver, FileInfoMatcher $fileInfoMatcher)
{
$this->skippedMessagesResolver = $skippedMessagesResolver;
$this->fileInfoMatcher = $fileInfoMatcher;
}
/**
* @param string|object $element
*/
public function match($element) : bool
{
if (\is_object($element)) {
return \false;
}
return \substr_count($element, ' ') > 0;
}
/**
* @param string|object $element
*/
public function shouldSkip($element, SmartFileInfo $smartFileInfo) : bool
{
if (\is_object($element)) {
return \false;
}
$skippedMessages = $this->skippedMessagesResolver->resolve();
if (!\array_key_exists($element, $skippedMessages)) {
return \false;
}
// skip regardless the path
$skippedPaths = $skippedMessages[$element];
if ($skippedPaths === null) {
return \true;
}
return $this->fileInfoMatcher->doesFileInfoMatchPatterns($smartFileInfo, $skippedPaths);
}
}

View File

@ -1,43 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208\Symplify\Skipper\Skipper;
use RectorPrefix202208\Symplify\Skipper\Matcher\FileInfoMatcher;
use Symplify\SmartFileSystem\SmartFileInfo;
/**
* @see \Symplify\Skipper\Tests\Skipper\Only\OnlySkipperTest
*/
final class OnlySkipper
{
/**
* @var \Symplify\Skipper\Matcher\FileInfoMatcher
*/
private $fileInfoMatcher;
public function __construct(FileInfoMatcher $fileInfoMatcher)
{
$this->fileInfoMatcher = $fileInfoMatcher;
}
/**
* @param mixed[] $only
* @param object|string $checker
*/
public function doesMatchOnly($checker, SmartFileInfo $smartFileInfo, array $only) : ?bool
{
foreach ($only as $onlyClass => $onlyFiles) {
if (\is_int($onlyClass)) {
// solely class
$onlyClass = $onlyFiles;
$onlyFiles = null;
}
if (!\is_a($checker, $onlyClass, \true)) {
continue;
}
if ($onlyFiles === null) {
return \true;
}
return !$this->fileInfoMatcher->doesFileInfoMatchPatterns($smartFileInfo, $onlyFiles);
}
return null;
}
}

View File

@ -1,18 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208\Symplify\Skipper\ValueObject;
final class Option
{
/**
* @api
* @var string
*/
public const SKIP = 'skip';
/**
* @api
* @var string
*/
public const ONLY = 'only';
}

View File

@ -1,15 +0,0 @@
<?php
declare (strict_types=1);
namespace RectorPrefix202208\Symplify\Skipper\ValueObject;
/**
* @api
*/
final class SkipperConfig
{
/**
* @var string
*/
public const FILE_PATH = __DIR__ . '/../../config/config.php';
}

View File

@ -39,7 +39,6 @@
"symplify\/phpstan-extensions": "<11.1.6",
"symplify\/rule-doc-generator": "<11.1.6",
"symplify\/vendor-patches": "<11.1.6",
"symplify\/skipper": "<11.1.6",
"symplify\/symfony-static-dumper": "<11.1.6",
"symplify\/symplify-kernel": "<11.1.6",
"symplify\/monorepo-builder": "<11.1.6",

View File

@ -100,7 +100,7 @@ final class SmartFileInfo extends SplFileInfo
return \true;
}
// in case of relative compare
return \fnmatch('*/' . $this->normalizePath($string), $this->getNormalizedRealPath());
return \fnmatch('*/' . $normalizedPath, $this->getNormalizedRealPath());
}
public function getRealPath() : string
{

View File

@ -38,7 +38,6 @@
"symplify\/phpstan-extensions": "<11.1.6",
"symplify\/rule-doc-generator": "<11.1.6",
"symplify\/vendor-patches": "<11.1.6",
"symplify\/skipper": "<11.1.6",
"symplify\/symfony-static-dumper": "<11.1.6",
"symplify\/monorepo-builder": "<11.1.6",
"symplify\/config-transformer": "<11.1.6",