Skip to content

Commit a644ade

Browse files
authored
Merge pull request #2 from fsylum/debug-rules-not-applying
Fix for certain rules not applying correctly
2 parents d5ef22b + 79a9347 commit a644ade

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+861
-27
lines changed

config/config.php

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
use Fsylum\RectorWordPress\Rules\FuncCall\ParameterAdderRector;
6+
use Fsylum\RectorWordPress\Rules\FuncCall\ParameterPrependerRector;
7+
use Fsylum\RectorWordPress\ValueObject\FunctionParameterAdder;
8+
use Fsylum\RectorWordPress\ValueObject\FunctionParameterPrepender;
9+
use Rector\Config\RectorConfig;
10+
use Rector\Removing\Rector\FuncCall\RemoveFuncCallArgRector;
11+
use Rector\Removing\ValueObject\RemoveFuncCallArg;
12+
13+
return static function (RectorConfig $rectorConfig): void {
14+
/*
15+
* A bit hackish solution to make sure these specific Rector rules are inserted into the
16+
* sets from the get-go.
17+
*
18+
* Without this, certain rules cannot be applied correctly since Rector is processing files rule by rule.
19+
* For example in WordPressSetList::WP_1_2 we use `RenameFunctionRector` and in WordPressSetList::WP_3_4 we use
20+
* both `ParameterAdderRector` and `RenameFunctionRector` together.
21+
*
22+
* Since `RenameFunctionRector` is parsed earlier, it will rename the all the configured functions and
23+
* `ParameterAdderRector` will receive nodes with functions already renamed, so it can never be run successfully.
24+
*/
25+
$rectorConfig->ruleWithConfiguration(RemoveFuncCallArgRector::class, [
26+
new RemoveFuncCallArg('_imaginary_function_that_should_not_exists', 0),
27+
]);
28+
29+
$rectorConfig->ruleWithConfiguration(ParameterAdderRector::class, [
30+
new FunctionParameterAdder('_imaginary_function_that_should_not_exists', 0, 'foo'),
31+
]);
32+
33+
$rectorConfig->ruleWithConfiguration(ParameterPrependerRector::class, [
34+
new FunctionParameterPrepender('_imaginary_function_that_should_not_exists', 'foo'),
35+
]);
36+
};

config/sets/wp-0.71.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
use Rector\Removing\ValueObject\RemoveFuncCallArg;
66

77
return static function (RectorConfig $rectorConfig): void {
8+
$rectorConfig->import(__DIR__ . '/../config.php');
9+
810
$rectorConfig->ruleWithConfiguration(RemoveFuncCallArgRector::class, [
911
new RemoveFuncCallArg('convert_chars', 1),
1012
]);

config/sets/wp-1.0.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@
22

33
use Rector\Config\RectorConfig;
44

5-
return static function (RectorConfig $rectorConfig): void {};
5+
return static function (RectorConfig $rectorConfig): void {
6+
$rectorConfig->import(__DIR__ . '/../config.php');
7+
};

config/sets/wp-1.2.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
55

66
return static function (RectorConfig $rectorConfig): void {
7+
$rectorConfig->import(__DIR__ . '/../config.php');
8+
79
$rectorConfig->ruleWithConfiguration(RenameFunctionRector::class, [
810
'permalink_link' => 'the_permalink',
911
]);

config/sets/wp-1.5.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
use Rector\Config\RectorConfig;
66

77
return static function (RectorConfig $rectorConfig): void {
8+
$rectorConfig->import(__DIR__ . '/../config.php');
9+
810
$rectorConfig->ruleWithConfiguration(FunctionArgumentDefaultValueReplacerRector::class, [
911
new ReplaceFuncCallArgumentDefaultValue('add_action', 0, 'retreive_password', 'retrieve_password'),
1012
new ReplaceFuncCallArgumentDefaultValue('add_filter', 0, 'rewrite_rules', 'mod_rewrite_rules'),

config/sets/wp-2.0.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
55

66
return static function (RectorConfig $rectorConfig): void {
7+
$rectorConfig->import(__DIR__ . '/../config.php');
8+
79
$rectorConfig->ruleWithConfiguration(RenameFunctionRector::class, [
810
'create_user' => 'wp_create_user',
911
]);

config/sets/wp-2.1.php

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,33 @@
11
<?php
22

3-
use Fsylum\RectorWordPress\Rules\FuncCall\ParameterAdderRector;
4-
use Fsylum\RectorWordPress\Rules\FuncCall\ReturnFirstArgumentRector;
5-
use Fsylum\RectorWordPress\ValueObject\FunctionParameterAdder;
63
use Rector\Config\RectorConfig;
74
use Rector\Removing\Rector\FuncCall\RemoveFuncCallArgRector;
85
use Rector\Removing\Rector\FuncCall\RemoveFuncCallRector;
96
use Rector\Removing\ValueObject\RemoveFuncCallArg;
107
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
118

129
return static function (RectorConfig $rectorConfig): void {
10+
$rectorConfig->import(__DIR__ . '/../config.php');
11+
1312
$rectorConfig->ruleWithConfiguration(RemoveFuncCallArgRector::class, [
1413
new RemoveFuncCallArg('get_the_author', 0),
1514
new RemoveFuncCallArg('get_autotoggle', 0),
1615
new RemoveFuncCallArg('wp_get_post_cats', 0),
1716
new RemoveFuncCallArg('wp_set_post_cats', 0),
1817
]);
1918

20-
$rectorConfig->ruleWithConfiguration(ParameterAdderRector::class, [
21-
new FunctionParameterAdder('get_autotoggle', 0, 0),
22-
]);
23-
2419
$rectorConfig->ruleWithConfiguration(RemoveFuncCallRector::class, [
2520
'links_popup_script',
2621
]);
2722

2823
$rectorConfig->ruleWithConfiguration(RenameFunctionRector::class, [
24+
'get_autotoggle' => '__return_zero',
2925
'get_link' => 'get_bookmark',
3026
'get_settings' => 'get_option',
3127
'wp_get_post_cats' => 'wp_get_post_categories',
3228
'wp_set_post_cats' => 'wp_set_post_categories',
3329
]);
3430

35-
$rectorConfig->ruleWithConfiguration(ReturnFirstArgumentRector::class, [
36-
'get_autotoggle',
37-
]);
38-
3931
/*
4032
* TODO: these are not handled currently
4133
*

config/sets/wp-2.2.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
use Rector\Config\RectorConfig;
44

55
return static function (RectorConfig $rectorConfig): void {
6+
$rectorConfig->import(__DIR__ . '/../config.php');
7+
68
/*
79
* TODO: these are not handled currently
810
*

config/sets/wp-2.3.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
77

88
return static function (RectorConfig $rectorConfig): void {
9+
$rectorConfig->import(__DIR__ . '/../config.php');
10+
911
$rectorConfig->ruleWithConfiguration(RemoveFuncCallArgRector::class, [
1012
new RemoveFuncCallArg('permalink_single_rss', 0),
1113
]);

config/sets/wp-2.5.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
use Rector\Renaming\Rector\FuncCall\RenameFunctionRector;
88

99
return static function (RectorConfig $rectorConfig): void {
10+
$rectorConfig->import(__DIR__ . '/../config.php');
11+
1012
$rectorConfig->ruleWithConfiguration(RemoveFuncCallArgRector::class, [
1113
new RemoveFuncCallArg('trackback_rdf', 0),
1214
new RemoveFuncCallArg('wp_login', 2),

0 commit comments

Comments
 (0)