From dcc3c616a443cdd9a32df1d04c13e8356f8fe4e5 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Wed, 9 Aug 2023 09:13:23 +0000 Subject: [PATCH] Updated Rector to commit 59cf4dd699aff10f3cd59bdfc11236651200383a https://github.com/rectorphp/rector-src/commit/59cf4dd699aff10f3cd59bdfc11236651200383a [DX] Validate rules no longer exists on $rectorConfig->skip() (#4728) --- packages/Config/RectorConfig.php | 38 +++++++++++++++++++++++++++++ src/Application/VersionResolver.php | 4 +-- vendor/autoload.php | 2 +- vendor/composer/autoload_real.php | 10 ++++---- vendor/composer/autoload_static.php | 8 +++--- 5 files changed, 50 insertions(+), 12 deletions(-) diff --git a/packages/Config/RectorConfig.php b/packages/Config/RectorConfig.php index 1dc7dfc1d06..8b735857bc9 100644 --- a/packages/Config/RectorConfig.php +++ b/packages/Config/RectorConfig.php @@ -66,11 +66,49 @@ final class RectorConfig extends ContainerConfigurator { SimpleParameterProvider::setParameter(Option::MEMORY_LIMIT, $memoryLimit); } + /** + * @param mixed $skipRule + */ + private function isRuleNoLongerExists($skipRule) : bool + { + return \is_string($skipRule) && \strpos($skipRule, '*') === \false && \realpath($skipRule) === \false && \substr_compare($skipRule, 'Rector', -\strlen('Rector')) === 0 && !\class_exists($skipRule); + } /** * @param array $criteria */ public function skip(array $criteria) : void { + $notExistsRules = []; + foreach ($criteria as $key => $value) { + /** + * Cover define rule then list of files + * + * $rectorConfig->skip([ + * RenameVariableToMatchMethodCallReturnTypeRector::class => [ + * __DIR__ . '/packages/Config/RectorConfig.php' + * ], + * ]); + */ + if ($this->isRuleNoLongerExists($key)) { + $notExistsRules[] = $key; + } + if (!\is_string($value)) { + continue; + } + /** + * Cover direct value without array list of files, eg: + * + * $rectorConfig->skip([ + * StringClassNameToClassConstantRector::class, + * ]); + */ + if ($this->isRuleNoLongerExists($value)) { + $notExistsRules[] = $value; + } + } + if ($notExistsRules !== []) { + throw new ShouldNotHappenException('Following skipped rules on $rectorConfig->skip() are no longer exists or changed to different namespace: ' . \implode(', ', $notExistsRules)); + } SimpleParameterProvider::addParameter(Option::SKIP, $criteria); } public function removeUnusedImports(bool $removeUnusedImports = \true) : void diff --git a/src/Application/VersionResolver.php b/src/Application/VersionResolver.php index 9da53d7d5cf..7ad2a699c17 100644 --- a/src/Application/VersionResolver.php +++ b/src/Application/VersionResolver.php @@ -19,12 +19,12 @@ final class VersionResolver * @api * @var string */ - public const PACKAGE_VERSION = 'b98df68ebb65cc05b7faba113e8e81a56d501c08'; + public const PACKAGE_VERSION = '59cf4dd699aff10f3cd59bdfc11236651200383a'; /** * @api * @var string */ - public const RELEASE_DATE = '2023-08-09 13:37:04'; + public const RELEASE_DATE = '2023-08-09 11:09:15'; /** * @var int */ diff --git a/vendor/autoload.php b/vendor/autoload.php index c2076945549..953b5a01843 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) { require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInit9a8e05d1aba7af0507aaf7d5dd267427::getLoader(); +return ComposerAutoloaderInit2b34e9dcc0472662e43329a42359ee72::getLoader(); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index 89fd2438182..95ac8be3fdb 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInit9a8e05d1aba7af0507aaf7d5dd267427 +class ComposerAutoloaderInit2b34e9dcc0472662e43329a42359ee72 { private static $loader; @@ -22,17 +22,17 @@ class ComposerAutoloaderInit9a8e05d1aba7af0507aaf7d5dd267427 return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInit9a8e05d1aba7af0507aaf7d5dd267427', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit2b34e9dcc0472662e43329a42359ee72', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); - spl_autoload_unregister(array('ComposerAutoloaderInit9a8e05d1aba7af0507aaf7d5dd267427', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit2b34e9dcc0472662e43329a42359ee72', 'loadClassLoader')); require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInit9a8e05d1aba7af0507aaf7d5dd267427::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit2b34e9dcc0472662e43329a42359ee72::getInitializer($loader)); $loader->setClassMapAuthoritative(true); $loader->register(true); - $filesToLoad = \Composer\Autoload\ComposerStaticInit9a8e05d1aba7af0507aaf7d5dd267427::$files; + $filesToLoad = \Composer\Autoload\ComposerStaticInit2b34e9dcc0472662e43329a42359ee72::$files; $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 3b424eaa4f1..c94dce92cf9 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInit9a8e05d1aba7af0507aaf7d5dd267427 +class ComposerStaticInit2b34e9dcc0472662e43329a42359ee72 { public static $files = array ( 'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php', @@ -3004,9 +3004,9 @@ class ComposerStaticInit9a8e05d1aba7af0507aaf7d5dd267427 public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit9a8e05d1aba7af0507aaf7d5dd267427::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit9a8e05d1aba7af0507aaf7d5dd267427::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInit9a8e05d1aba7af0507aaf7d5dd267427::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit2b34e9dcc0472662e43329a42359ee72::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit2b34e9dcc0472662e43329a42359ee72::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit2b34e9dcc0472662e43329a42359ee72::$classMap; }, null, ClassLoader::class); }