File tree Expand file tree Collapse file tree 5 files changed +58
-0
lines changed
Expand file tree Collapse file tree 5 files changed +58
-0
lines changed Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace Tempest \Upgrade \Tempest2 ;
4+
5+ use PhpParser \Node ;
6+ use PhpParser \NodeVisitor ;
7+ use Rector \Rector \AbstractRector ;
8+
9+ final class RemoveUriImportRector extends AbstractRector
10+ {
11+ public function getNodeTypes (): array
12+ {
13+ return [
14+ Node \UseItem::class,
15+ ];
16+ }
17+
18+ public function refactor (Node $ node ): ?int
19+ {
20+ if (! ($ node instanceof Node \UseItem)) {
21+ return null ;
22+ }
23+
24+ if ($ node ->name ->toString () === 'Tempest\uri ' ) {
25+ return NodeVisitor::REMOVE_NODE ;
26+ }
27+
28+ return null ;
29+ }
30+ }
Original file line number Diff line number Diff line change 11<?php
22
33use Rector \Config \RectorConfig ;
4+ use Rector \Renaming \Rector \FuncCall \RenameFunctionRector ;
45use Rector \Renaming \Rector \Name \RenameClassRector ;
56use Rector \Renaming \Rector \PropertyFetch \RenamePropertyRector ;
67use Rector \Renaming \ValueObject \RenameProperty ;
78use Tempest \Upgrade \Tempest2 \MigrationRector ;
89use Tempest \Upgrade \Tempest2 \RemoveDatabaseMigrationImportRector ;
910use Tempest \Upgrade \Tempest2 \RemoveIdImportRector ;
11+ use Tempest \Upgrade \Tempest2 \RemoveUriImportRector ;
1012
1113return static function (RectorConfig $ config ): void {
1214 $ config ->importNames ();
1315 $ config ->importShortClasses ();
1416
1517 $ config ->rule (MigrationRector::class);
1618
19+ $ config ->ruleWithConfiguration (RenameFunctionRector::class, [
20+ 'Tempest\uri ' => 'Tempest\Router\uri ' ,
21+ ]);
22+
1723 $ config ->ruleWithConfiguration (RenameClassRector::class, [
1824 'Tempest\Database\Id ' => 'Tempest\Database\PrimaryKey ' ,
1925 'Tempest\CommandBus\AsyncCommand ' => 'Tempest\CommandBus\Async ' ,
6571
6672 $ config ->rule (RemoveIdImportRector::class);
6773 $ config ->rule (RemoveDatabaseMigrationImportRector::class);
74+ $ config ->rule (RemoveUriImportRector::class);
6875};
Original file line number Diff line number Diff line change @@ -74,6 +74,7 @@ private function getActual(string $fixturePath): string
7474 isDryRun: true ,
7575 shouldClearCache: true ,
7676 showDiffs: true ,
77+
7778 );
7879
7980 $ processer = $ container ->make (ApplicationFileProcessor::class);
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ use function Tempest \uri ;
4+
5+ final class UriNamespaceChange
6+ {
7+ public function __invoke ()
8+ {
9+ return uri (self ::class);
10+ }
11+ }
Original file line number Diff line number Diff line change @@ -38,4 +38,13 @@ public function test_database_id_rename(): void
3838 ->assertNotContains ('Id ' )
3939 ->assertNotContains ('Tempest\Database\Id ' );
4040 }
41+
42+ public function test_uri_namespace_change (): void
43+ {
44+ $ this ->rector
45+ ->runFixture (__DIR__ . '/Fixtures/UriNamespaceChange.input.php ' )
46+ ->assertContains ('use function Tempest\Router\uri; ' )
47+ ->assertNotContains ('use function Tempest\uri; ' );
48+
49+ }
4150}
You can’t perform that action at this time.
0 commit comments