matheusab / rector-html-output-formatter
HTML Output Formatter for the Rector PHP Library.
Installs: 18 345
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 4
Open Issues: 0
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 |