Skip to content

About

OutputFormatter that exports an HTML file containing summary and diffs from Rector's process command.

Resources

Stars

4 stars

Watchers

1 watching

Forks

Repository files navigation

Install

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

About

OutputFormatter that exports an HTML file containing summary and diffs from Rector's process command.

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages