matheusab / rector-html-output-formatter
HTML Output Formatter for the Rector PHP Library.
Installs: 32 561
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 3
Open Issues: 1
pkg:composer/matheusab/rector-html-output-formatter
Requires
- php: ^7.2|^8.0
- rector/rector: ^1.0 || ^2.0
Requires (Dev)
- phpunit/phpunit: ^10.5
README
composer require --dev matheusab/rector-html-output-formatter
Usage
Configure it in your rector.php, where the exportedFilePathPrefix argument is the path to the exported report.
Example:
return static function (RectorConfig $rectorConfig): void { $rectorConfig->singleton(HtmlOutputFormatter::class, HtmlOutputFormatter::class); $rectorConfig->tag(HtmlOutputFormatter::class, OutputFormatterInterface::class); $rectorConfig ->when(HtmlOutputFormatter::class) ->needs('$exportedFilePathPrefix') ->give(__DIR__ . '/rector-report');
Since v1.1, a custom report template can also be used: see Using a custom report template
Generating a report
After configuring it, you can generate it with Rector's process command by setting --output-format=html.
Example:
vendor/bin/rector process --dry-run --output-format=html
Using a custom report template
When configuring RectorConfig, a custom report template can be used. Example:
rector.php:
$rectorConfig ->when(HtmlOutputFormatter::class) ->needs('$customReportTemplatePath') ->give(__DIR__ . '/custom_template.php');
You may use the following variables on the template:
| Variable | Description |
|---|---|
$errorsJson |
an array with the following keys:changed_files: an array of file namesfile_diffs: an array of files with the following shape:* 'file => string* 'diff' => string * 'applied_rectors' => string[] |
$diffOccurrences |
a map where key: applied rector value: number of occurences |