matheusab/rector-html-output-formatter

HTML Output Formatter for the Rector PHP Library.

1.4.1 2025-04-15 17:28 UTC

This package is auto-updated.

Last update: 2025-05-15 17:44:36 UTC


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 names
file_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

Examples

Generated report screenshots

image

image