[DX] move packages from src/tests to single PSR-4 directory (#5824)

This commit is contained in:
Tomas Votruba 2021-03-12 02:21:29 +01:00 committed by GitHub
parent eb80d1a48b
commit 67670e70ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
729 changed files with 1231 additions and 1535 deletions

2
.gitattributes vendored
View File

@ -24,6 +24,8 @@ rector.php export-ignore
bin/rector.php !export-ignore
utils export-ignore
stubs export-ignore
tests export-ignore
packages-tests export-ignore
.travis.yml export-ignore

View File

@ -66,17 +66,15 @@
"nette/application": "^3.0.7",
"nette/di": "^3.0",
"nette/forms": "^3.0",
"ocramius/package-versions": "^1.9",
"php-parallel-lint/php-parallel-lint": "^1.2",
"phpstan/phpstan-nette": "^0.12.14",
"phpunit/phpunit": "^9.5",
"symfony/security-core": "^5.2",
"symfony/security-http": "^5.2",
"symplify/coding-standard": "^9.2.4",
"symplify/easy-ci": "^9.1.0",
"symplify/easy-ci": "^9.2.4",
"symplify/easy-coding-standard": "^9.2.4",
"symplify/easy-testing": "^9.2.4",
"symplify/monorepo-builder": "^9.2",
"symplify/phpstan-extensions": "^9.2.4",
"symplify/phpstan-rules": "^9.2.4",
"tracy/tracy": "^2.8"
@ -86,23 +84,17 @@
},
"autoload": {
"psr-4": {
"Rector\\Testing\\": "packages/testing/src",
"Rector\\Comments\\": "packages/comments/src",
"Rector\\AttributeAwarePhpDoc\\": "packages/attribute-aware-php-doc/src",
"Rector\\": "packages",
"Rector\\Core\\": "src",
"Rector\\Autodiscovery\\": "rules/autodiscovery/src",
"Rector\\BetterPhpDocParser\\": "packages/better-php-doc-parser/src",
"Rector\\Caching\\": "packages/caching/src",
"Rector\\CakePHP\\": "rules/cakephp/src",
"Rector\\ChangesReporting\\": "packages/changes-reporting/src",
"Rector\\CodeQuality\\": "rules/code-quality/src",
"Rector\\CodingStyle\\": "rules/coding-style/src",
"Rector\\Composer\\": "rules/composer/src",
"Rector\\Core\\": "src",
"Rector\\DeadCode\\": "rules/dead-code/src",
"Rector\\DependencyInjection\\": "rules/dependency-injection/src",
"Rector\\EarlyReturn\\": "rules/early-return/src",
"Rector\\DeadDocBlock\\": "rules/dead-doc-block/src",
"Rector\\DoctrineAnnotationGenerated\\": "packages/doctrine-annotation-generated/src",
"Rector\\DoctrineCodeQuality\\": "rules/doctrine-code-quality/src",
"Rector\\DoctrineGedmoToKnplabs\\": "rules/doctrine-gedmo-to-knplabs/src",
"Rector\\Doctrine\\": "rules/doctrine/src",
@ -110,11 +102,8 @@
"Rector\\DowngradePhp71\\": "rules/downgrade-php71/src",
"Rector\\DowngradePhp72\\": "rules/downgrade-php72/src",
"Rector\\DowngradePhp73\\": "rules/downgrade-php73/src",
"Rector\\ReadWrite\\": "packages/read-write/src",
"Rector\\DowngradePhp74\\": "rules/downgrade-php74/src",
"Rector\\DowngradePhp80\\": "rules/downgrade-php80/src",
"Rector\\FamilyTree\\": "packages/family-tree/src",
"Rector\\FileSystemRector\\": "packages/file-system-rector/src",
"Rector\\Arguments\\": "rules/arguments/src",
"Rector\\Laravel\\": "rules/laravel/src",
"Rector\\Legacy\\": "rules/legacy/src",
@ -128,14 +117,8 @@
"Rector\\NetteUtilsCodeQuality\\": "rules/nette-utils-code-quality/src",
"Rector\\Nette\\": "rules/nette/src",
"Rector\\Defluent\\": "rules/defluent/src",
"Rector\\NodeCollector\\": "packages/node-collector/src",
"Rector\\NodeNameResolver\\": "packages/node-name-resolver/src",
"Rector\\NodeNestingScope\\": "packages/node-nesting-scope/src",
"Rector\\NodeRemoval\\": "packages/node-removal/src",
"Rector\\NodeTypeResolver\\": "packages/node-type-resolver/src",
"Rector\\Order\\": "rules/order/src",
"Rector\\PHPOffice\\": "rules/php-office/src",
"Rector\\PHPStanStaticTypeMapper\\": "packages/phpstan-static-type-mapper/src",
"Rector\\PHPUnitSymfony\\": "rules/phpunit-symfony/src",
"Rector\\PHPUnit\\": "rules/phpunit/src",
"Rector\\PSR4\\": "rules/psr4/src",
@ -150,10 +133,8 @@
"Rector\\Php73\\": "rules/php73/src",
"Rector\\Php74\\": "rules/php74/src",
"Rector\\Php80\\": "rules/php80/src",
"Rector\\PhpAttribute\\": "packages/php-attribute/src",
"Rector\\PhpSpecToPHPUnit\\": "rules/php-spec-to-phpunit/src",
"Rector\\Compiler\\": "utils/compiler/src",
"Rector\\PostRector\\": "packages/post-rector/src",
"Rector\\Visibility\\": "rules/visibility/src",
"Rector\\Removing\\": "rules/removing/src",
"Rector\\Privatization\\": "rules/privatization/src",
@ -162,8 +143,6 @@
"Rector\\Renaming\\": "rules/renaming/src",
"Rector\\Restoration\\": "rules/restoration/src",
"Rector\\Sensio\\": "rules/sensio/src",
"Rector\\Set\\": "packages/set/src",
"Rector\\StaticTypeMapper\\": "packages/static-type-mapper/src",
"Rector\\CodeQualityStrict\\": "rules/code-quality-strict/src",
"Rector\\SymfonyCodeQuality\\": "rules/symfony-code-quality/src",
"Rector\\SymfonyPhpConfig\\": "rules/symfony-php-config/src",
@ -174,7 +153,6 @@
"Rector\\Symfony5\\": "rules/symfony5/src",
"Rector\\Transform\\": "rules/transform/src",
"Rector\\TypeDeclaration\\": "rules/type-declaration/src",
"Rector\\VendorLocker\\": "packages/vendor-locker/src",
"Rector\\Carbon\\": "rules/carbon/src",
"Rector\\Generics\\": "rules/generics/src"
}
@ -190,7 +168,6 @@
],
"files": [
"vendor/nette/forms/src/Forms/Controls/SubmitButton.php",
"packages/node-type-resolver/tests/PerNodeTypeResolver/VariableTypeResolver/Fixture/this_class.php.inc",
"rules/restoration/tests/Rector/Use_/RestoreFullyQualifiedNameRector/Source/ShortClassOnly.php",
"rules/coding-style/tests/Rector/Namespace_/ImportFullyQualifiedNamesRector/Source/AnotherClass.php",
"rules/coding-style/tests/Rector/Namespace_/ImportFullyQualifiedNamesRector/Source/Foo.php",
@ -210,9 +187,8 @@
"tests/debug_functions.php"
],
"psr-4": {
"Rector\\Tests\\": "packages-tests",
"Rector\\Autodiscovery\\Tests\\": "rules/autodiscovery/tests",
"Rector\\BetterPhpDocParser\\Tests\\": "packages/better-php-doc-parser/tests",
"Rector\\Caching\\Tests\\": "packages/caching/tests",
"Rector\\CakePHP\\Tests\\": "rules/cakephp/tests",
"Rector\\CodeQuality\\Tests\\": "rules/code-quality/tests",
"Rector\\CodingStyle\\Tests\\": "rules/coding-style/tests",
@ -223,7 +199,6 @@
"Rector\\DependencyInjection\\Tests\\": "rules/dependency-injection/tests",
"Rector\\DoctrineCodeQuality\\Tests\\": "rules/doctrine-code-quality/tests",
"Rector\\DoctrineGedmoToKnplabs\\Tests\\": "rules/doctrine-gedmo-to-knplabs/tests",
"Rector\\Comments\\Tests\\": "packages/comments/tests",
"Rector\\Doctrine\\Tests\\": "rules/doctrine/tests",
"Rector\\DowngradePhp70\\Tests\\": "rules/downgrade-php70/tests",
"Rector\\Removing\\Tests\\": "rules/removing/tests",
@ -246,15 +221,12 @@
"Rector\\NetteToSymfony\\Tests\\": "rules/nette-to-symfony/tests",
"Rector\\NetteUtilsCodeQuality\\Tests\\": "rules/nette-utils-code-quality/tests",
"Rector\\Nette\\Tests\\": "rules/nette/tests",
"Rector\\NodeTypeResolver\\Tests\\": "packages/node-type-resolver/tests",
"Rector\\Order\\Tests\\": "rules/order/tests",
"Rector\\PHPOffice\\Tests\\": "rules/php-office/tests",
"Rector\\Visibility\\Tests\\": "rules/visibility/tests",
"Rector\\PHPStanExtensions\\": "utils/phpstan-extensions/src",
"Rector\\RuleDocGenerator\\": "utils/rule-doc-generator/src",
"Rector\\PHPStanExtensions\\Tests\\": "utils/phpstan-extensions/tests",
"Rector\\PHPStanStaticTypeMapper\\Tests\\": "packages/phpstan-static-type-mapper/tests",
"Rector\\StaticTypeMapper\\Tests\\": "packages/static-type-mapper/tests",
"Rector\\PHPUnitSymfony\\Tests\\": "rules/phpunit-symfony/tests",
"Rector\\PHPUnit\\Tests\\": "rules/phpunit/tests",
"Rector\\PSR4\\Tests\\": "rules/psr4/tests",
@ -314,8 +286,7 @@
"vendor/bin/ecs check-markdown docs/rector_rules_overview.md docs/nodes_overview.md --ansi --fix"
],
"rector-ci": "bin/rector process --dry-run --ansi",
"rector": "bin/rector process --ansi",
"release": "vendor/bin/monorepo-builder release patch --ansi"
"rector": "bin/rector process --ansi"
},
"config": {
"sort-packages": true

View File

@ -7,9 +7,12 @@ use Rector\Core\ValueObject\ProjectType;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
// @todo this should be removed
$containerConfigurator->import(__DIR__ . '/../packages/*/config/config.php');
$containerConfigurator->import(__DIR__ . '/../rules/*/config/config.php');
$containerConfigurator->import(__DIR__ . '/services.php');
$containerConfigurator->import(__DIR__ . '/parameters.php');
$containerConfigurator->import(__DIR__ . '/../utils/*/config/config.php', null, true);
$parameters = $containerConfigurator->parameters();

14
config/parameters.php Normal file
View File

@ -0,0 +1,14 @@
<?php
declare(strict_types=1);
use Rector\Core\Configuration\Option;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
return static function (ContainerConfigurator $containerConfigurator): void {
$parameters = $containerConfigurator->parameters();
$parameters->set(Option::ENABLE_CACHE, false);
$parameters->set(Option::CACHE_DIR, sys_get_temp_dir() . '/rector_cached_files');
$parameters->set(Option::PHPSTAN_FOR_RECTOR_PATH, getcwd() . '/phpstan-for-rector.neon');
};

View File

@ -3,24 +3,43 @@
declare(strict_types=1);
use Composer\Semver\VersionParser;
use Doctrine\Common\Annotations\Reader;
use Doctrine\Inflector\Inflector;
use Doctrine\Inflector\Rules\English\InflectorFactory;
use PhpParser\BuilderFactory;
use PhpParser\Lexer;
use PhpParser\NodeFinder;
use PhpParser\NodeVisitor\CloningVisitor;
use PhpParser\NodeVisitor\NodeConnectingVisitor;
use PhpParser\Parser;
use PhpParser\ParserFactory;
use PHPStan\Analyser\NodeScopeResolver;
use PHPStan\Analyser\ScopeFactory;
use PHPStan\Dependency\DependencyResolver;
use PHPStan\File\FileHelper;
use PHPStan\PhpDoc\TypeNodeResolver;
use PHPStan\PhpDocParser\Parser\PhpDocParser;
use PHPStan\Reflection\ReflectionProvider;
use Psr\Cache\CacheItemPoolInterface;
use Psr\SimpleCache\CacheInterface;
use Rector\BetterPhpDocParser\PhpDocParser\BetterPhpDocParser;
use Rector\Caching\Cache\Adapter\FilesystemAdapterFactory;
use Rector\Core\Bootstrap\NoRectorsLoadedReporter;
use Rector\Core\Console\ConsoleApplication;
use Rector\Core\PhpParser\Parser\NikicPhpParserFactory;
use Rector\Core\PhpParser\Parser\PhpParserLexerFactory;
use Rector\DoctrineAnnotationGenerated\ConstantPreservingAnnotationReader;
use Rector\NodeTypeResolver\DependencyInjection\PHPStanServicesFactory;
use Rector\NodeTypeResolver\Reflection\BetterReflection\SourceLocator\IntermediateSourceLocator;
use Rector\NodeTypeResolver\Reflection\BetterReflection\SourceLocatorProvider\DynamicSourceLocatorProvider;
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
use Symfony\Component\Cache\Adapter\TagAwareAdapter;
use Symfony\Component\Cache\Adapter\TagAwareAdapterInterface;
use Symfony\Component\Cache\Psr16Cache;
use Symfony\Component\Console\Application as SymfonyApplication;
use Symfony\Component\Console\Descriptor\TextDescriptor;
use Symfony\Component\Console\Style\SymfonyStyle;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
use Symfony\Component\Filesystem\Filesystem;
use Symplify\Astral\NodeTraverser\SimpleCallableNodeTraverser;
use Symplify\PackageBuilder\Console\Command\CommandNaming;
use Symplify\PackageBuilder\Console\Style\SymfonyStyleFactory;
@ -54,13 +73,25 @@ return static function (ContainerConfigurator $containerConfigurator): void {
__DIR__ . '/../src/PhpParser/Node/CustomNode',
]);
$services->load('Rector\\', __DIR__ . '/../packages')
->exclude([
// @todo move to value object
__DIR__ . '/../packages/AttributeAwarePhpDoc/Ast',
__DIR__ . '/../packages/BetterPhpDocParser/Attributes/Ast/PhpDoc',
__DIR__ . '/../packages/BetterPhpDocParser/Attributes/Attribute',
__DIR__ . '/../packages/BetterPhpDocParser/PhpDocInfo/PhpDocInfo.php',
__DIR__ . '/../packages/*/{ValueObject,Contract,Exception}',
__DIR__ . '/../packages/NodeTypeResolver/Reflection/BetterReflection/RectorBetterReflectionSourceLocatorFactory.php',
__DIR__ . '/../packages/Testing/PHPUnit/Runnable/NodeVisitor',
__DIR__ . '/../packages/Testing/PHPUnit',
__DIR__ . '/../packages/rector-generator',
]);
$services->alias(SymfonyApplication::class, ConsoleApplication::class);
$services->set(NoRectorsLoadedReporter::class);
$services->set(SimpleCallableNodeTraverser::class);
$services->set(TextDescriptor::class);
$services->set(ParserFactory::class);
$services->set(BuilderFactory::class);
$services->set(CloningVisitor::class);
@ -68,12 +99,10 @@ return static function (ContainerConfigurator $containerConfigurator): void {
$services->set(Parser::class)
->factory([service(NikicPhpParserFactory::class), 'create']);
$services->set(Lexer::class)
->factory([service(PhpParserLexerFactory::class), 'create']);
// symplify/package-builder
$services->set(Filesystem::class);
$services->set(PrivatesAccessor::class);
$services->set(PrivatesCaller::class);
$services->set(FinderSanitizer::class);
@ -83,7 +112,6 @@ return static function (ContainerConfigurator $containerConfigurator): void {
->arg('$container', service('service_container'));
$services->set(CommandNaming::class);
$services->set(SmartFileSystem::class);
$services->set(StringFormatConverter::class);
@ -93,13 +121,46 @@ return static function (ContainerConfigurator $containerConfigurator): void {
->factory([service(SymfonyStyleFactory::class), 'create']);
$services->set(JsonFileSystem::class);
$services->set(NodeConnectingVisitor::class);
$services->set(InflectorFactory::class);
$services->set(Inflector::class)
->factory([service(InflectorFactory::class), 'build']);
$services->set(VersionParser::class);
$services->set(TypeChecker::class);
// phpdoc parser
$services->set(\PHPStan\PhpDocParser\Lexer\Lexer::class);
$services->alias(PhpDocParser::class, BetterPhpDocParser::class);
$services->alias(Reader::class, ConstantPreservingAnnotationReader::class);
// cache
$services->set(DependencyResolver::class)
->factory([service(PHPStanServicesFactory::class), 'createDependencyResolver']);
$services->set(FileHelper::class)
->factory([service(PHPStanServicesFactory::class), 'createFileHelper']);
$services->set(Psr16Cache::class);
$services->alias(CacheInterface::class, Psr16Cache::class);
$services->set(FilesystemAdapter::class)
->factory([service(FilesystemAdapterFactory::class), 'create']);
$services->set(TagAwareAdapter::class)
->arg('$itemsPool', service(FilesystemAdapter::class));
$services->alias(CacheItemPoolInterface::class, FilesystemAdapter::class);
$services->alias(TagAwareAdapterInterface::class, TagAwareAdapter::class);
// type resolving
$services->set(IntermediateSourceLocator::class);
// PHPStan services
$services->set(ReflectionProvider::class)
->factory([service(PHPStanServicesFactory::class), 'createReflectionProvider']);
$services->set(NodeScopeResolver::class)
->factory([service(PHPStanServicesFactory::class), 'createNodeScopeResolver']);
$services->set(ScopeFactory::class)
->factory([service(PHPStanServicesFactory::class), 'createScopeFactory']);
$services->set(TypeNodeResolver::class)
->factory([service(PHPStanServicesFactory::class), 'createTypeNodeResolver']);
$services->set(DynamicSourceLocatorProvider::class)
->factory([service(PHPStanServicesFactory::class), 'createDynamicSourceLocatorProvider']);
};

View File

@ -12069,7 +12069,7 @@ Rename "*Spec.php" file to "*Test.php" file
Rename references for classes that were renamed during Rector run
- class: [`Rector\PostRector\Rector\ClassRenamingPostRector`](/packages/post-rector/src/Rector/ClassRenamingPostRector.php)
- class: [`Rector\PostRector\Rector\ClassRenamingPostRector`](/PostRector/src/Rector/ClassRenamingPostRector.php)
```diff
-function (OriginalClass $someClass)
@ -12084,7 +12084,7 @@ Rename references for classes that were renamed during Rector run
Imports fully qualified names
- class: [`Rector\PostRector\Rector\NameImportingPostRector`](/packages/post-rector/src/Rector/NameImportingPostRector.php)
- class: [`Rector\PostRector\Rector\NameImportingPostRector`](/PostRector/src/Rector/NameImportingPostRector.php)
```diff
+use App\AnotherClass;
@ -12104,7 +12104,7 @@ Imports fully qualified names
Add nodes on weird positions
- class: [`Rector\PostRector\Rector\NodeAddingPostRector`](/packages/post-rector/src/Rector/NodeAddingPostRector.php)
- class: [`Rector\PostRector\Rector\NodeAddingPostRector`](/PostRector/src/Rector/NodeAddingPostRector.php)
```diff
class SomeClass
@ -12125,7 +12125,7 @@ Add nodes on weird positions
Remove nodes from weird positions
- class: [`Rector\PostRector\Rector\NodeRemovingPostRector`](/packages/post-rector/src/Rector/NodeRemovingPostRector.php)
- class: [`Rector\PostRector\Rector\NodeRemovingPostRector`](/PostRector/src/Rector/NodeRemovingPostRector.php)
```diff
class SomeClass
@ -12146,7 +12146,7 @@ Remove nodes from weird positions
Replaces nodes on weird positions
- class: [`Rector\PostRector\Rector\NodeToReplacePostRector`](/packages/post-rector/src/Rector/NodeToReplacePostRector.php)
- class: [`Rector\PostRector\Rector\NodeToReplacePostRector`](/PostRector/src/Rector/NodeToReplacePostRector.php)
```diff
class SomeClass
@ -12165,7 +12165,7 @@ Replaces nodes on weird positions
Add dependency properties
- class: [`Rector\PostRector\Rector\PropertyAddingPostRector`](/packages/post-rector/src/Rector/PropertyAddingPostRector.php)
- class: [`Rector\PostRector\Rector\PropertyAddingPostRector`](/PostRector/src/Rector/PropertyAddingPostRector.php)
```diff
class SomeClass
@ -12184,7 +12184,7 @@ Add dependency properties
Add unique use imports collected during Rector run
- class: [`Rector\PostRector\Rector\UseAddingPostRector`](/packages/post-rector/src/Rector/UseAddingPostRector.php)
- class: [`Rector\PostRector\Rector\UseAddingPostRector`](/PostRector/src/Rector/UseAddingPostRector.php)
```diff
+use App\AnotherClass;

View File

@ -58,8 +58,8 @@ return static function (ContainerConfigurator $containerConfigurator): void {
'*/Fixture/*',
'*/Expected/*',
# generated from /vendor
__DIR__ . '/packages/doctrine-annotation-generated/src/ConstantPreservingDocParser.php',
__DIR__ . '/packages/doctrine-annotation-generated/src/ConstantPreservingAnnotationReader.php',
__DIR__ . '/packages/DoctrineAnnotationGenerated/ConstantPreservingDocParser.php',
__DIR__ . '/packages/DoctrineAnnotationGenerated/ConstantPreservingAnnotationReader.php',
// template files
__DIR__ . '/packages/rector-generator/templates',
@ -77,7 +77,7 @@ return static function (ContainerConfigurator $containerConfigurator): void {
PhpdocTypesFixer::class => [__DIR__ . '/rules/php74/src/Rector/Double/RealToFloatTypeCastRector.php'],
PhpUnitStrictFixer::class => [
__DIR__ . '/packages/better-php-doc-parser/tests/PhpDocInfo/PhpDocInfo/PhpDocInfoTest.php',
__DIR__ . '/packages-tests/BetterPhpDocParser/PhpDocInfo/PhpDocInfo/PhpDocInfoTest.php',
__DIR__ . '/tests/PhpParser/Node/NodeFactoryTest.php',
'*TypeResolverTest.php',
],

View File

@ -1,19 +0,0 @@
<?php
declare(strict_types=1);
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
use Symplify\MonorepoBuilder\Release\ReleaseWorker\AddTagToChangelogReleaseWorker;
use Symplify\MonorepoBuilder\Release\ReleaseWorker\PushNextDevReleaseWorker;
use Symplify\MonorepoBuilder\Release\ReleaseWorker\PushTagReleaseWorker;
use Symplify\MonorepoBuilder\Release\ReleaseWorker\TagVersionReleaseWorker;
return static function (ContainerConfigurator $containerConfigurator): void {
$services = $containerConfigurator->services();
# release workers - in order to execute
$services->set(AddTagToChangelogReleaseWorker::class);
$services->set(TagVersionReleaseWorker::class);
$services->set(PushTagReleaseWorker::class);
$services->set(PushNextDevReleaseWorker::class);
};

Some files were not shown because too many files have changed in this diff Show More