plusforta/gitlab-rector

Formatter artifacts rector for gitlab

Maintainers

Package info

gitlab.com/plusforta/public/gitlab-rector

Issues

pkg:composer/plusforta/gitlab-rector

Statistics

Installs: 12

Dependents: 0

Suggesters: 0

Stars: 0

0.7.0 2026-03-17 08:27 UTC

This package is not auto-updated.

Last update: 2026-03-18 06:48:48 UTC


README

A custom output formatter for Rector that generates GitLab Code Quality compatible reports.

Note: This is a maintained fork of vanta/gitlab-rector.

Install

  1. Run composer require --dev plusforta/gitlab-rector
  2. Edit your rector.php config and register GitlabOutputFormatter

Configuration (Rector >= 1.0.1)

<?php

declare(strict_types=1);

use Rector\Config\RectorConfig;
use Rector\EarlyReturn\Rector\If_\ChangeNestedIfsToEarlyReturnRector;
use Rector\EarlyReturn\Rector\If_\RemoveAlwaysElseRector;
use PlusForta\Integration\Rector\GitlabOutputFormatter;
use Rector\Caching\ValueObject\Storage\FileCacheStorage;
use Rector\ChangesReporting\Contract\Output\OutputFormatterInterface;

return RectorConfig::configure()
    ->withCache(
        cacheDirectory: 'var',
        cacheClass: FileCacheStorage::class
    )
    ->withTypeCoverageLevel(10)
    ->withDeadCodeLevel(10)
    ->withPreparedSets(codeQuality: true, codingStyle: true)
    ->withAttributesSets(symfony: true, doctrine: true)
    ->withPaths([
        __DIR__ . '/src',
    ])
    ->withRules([
        ChangeNestedIfsToEarlyReturnRector::class,
        RemoveAlwaysElseRector::class,
    ])
    ->registerService(GitlabOutputFormatter::class, 'gitlab', OutputFormatterInterface::class)
;

Usage in CI

lint-rector:
  stage: lint
  script:
    - vendor/bin/rector --dry-run --output-format=gitlab > rector-report.json
  artifacts:
    reports:
      codequality: rector-report.json
    when: always

License

MIT