services(); $services->defaults() ->public() ->autowire() ->autoconfigure(); $services->load('Rector\Core\\', __DIR__ . '/../src') ->exclude([ __DIR__ . '/../src/Rector', __DIR__ . '/../src/Exception', __DIR__ . '/../src/DependencyInjection/CompilerPass', __DIR__ . '/../src/DependencyInjection/Loader', __DIR__ . '/../src/PhpParser/Builder', __DIR__ . '/../src/HttpKernel', __DIR__ . '/../src/ValueObject', __DIR__ . '/../src/Bootstrap', __DIR__ . '/../src/PhpParser/Node/CustomNode', // loaded for PHPStan factory __DIR__ . '/../src/PHPStan/Type', ]); $services->alias(SymfonyApplication::class, ConsoleApplication::class); $services->set(NoRectorsLoadedReporter::class); $services->set(TextDescriptor::class); $services->set(ParserFactory::class); $services->set(BuilderFactory::class); $services->set(CloningVisitor::class); $services->set(NodeFinder::class); $services->set(Parser::class) ->factory([ref(NikicPhpParserFactory::class), 'create']); $services->set(Lexer::class) ->factory([ref(PhpParserLexerFactory::class), 'create']); // symplify/package-builder $services->set(Filesystem::class); $services->set(PrivatesAccessor::class); $services->set(PrivatesCaller::class); $services->set(FinderSanitizer::class); $services->set(FileSystemFilter::class); $services->set(ParameterProvider::class); $services->set(ParameterProvider::class) ->arg('$container', ref('service_container')); $services->set(RectorClassesProvider::class) ->arg('$container', ref('service_container')); $services->set(CommandNaming::class); $services->set(SmartFileSystem::class); $services->set(StringFormatConverter::class); $services->set(SymfonyStyleFactory::class); $services->set(SymfonyStyle::class) ->factory([ref(SymfonyStyleFactory::class), 'create']); $services->set(InflectorFactory::class); $services->set(Inflector::class) ->factory([ref(InflectorFactory::class), 'build']); };