PHPackages                             cpsit/typo3-upgrade-analyser - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. cpsit/typo3-upgrade-analyser

ActiveProject[Utility &amp; Helpers](/categories/utility)

cpsit/typo3-upgrade-analyser
============================

Standalone TYPO3 Upgrade Analysis Tool - Analyzes TYPO3 installations for upgrade readiness

0.4.0(1mo ago)4464—0%[6 issues](https://github.com/CPS-IT/typo3-upgrade-analyser/issues)[1 PRs](https://github.com/CPS-IT/typo3-upgrade-analyser/pulls)GPL-2.0-or-laterPHPPHP ^8.3CI passing

Since Aug 2Pushed 1mo agoCompare

[ Source](https://github.com/CPS-IT/typo3-upgrade-analyser)[ Packagist](https://packagist.org/packages/cpsit/typo3-upgrade-analyser)[ RSS](/packages/cpsit-typo3-upgrade-analyser/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (50)Versions (47)Used By (0)

TYPO3 Upgrade Analyzer
======================

[](#typo3-upgrade-analyzer)

A standalone tool for analyzing TYPO3 installations for upgrade readiness to the next major version.

Table of Contents
-----------------

[](#table-of-contents)

- [Overview](#overview)
- [Features](#features)
- [Requirements](#requirements)
- [Installation](#installation)
- [Quick Start](#quick-start)
- [Available Analyzers](#available-analyzers)
- [Development](#development)
- [Architecture](#architecture)
- [Contributing](#contributing)

Documentation
-------------

[](#documentation)

- 📖 **[Installation Guide](documentation/INSTALLATION.md)** - Detailed installation instructions for all environments
- 📖 **[Usage Guide](documentation/USAGE.md)** - Comprehensive command reference and configuration
- 📖 **[Contributing Guide](CONTRIBUTING.md)** - Development workflow and contribution guidelines

Overview
--------

[](#overview)

The TYPO3 Upgrade Analyzer is a comprehensive tool that evaluates TYPO3 installations externally without requiring installation into the target system. It provides objective risk measures and effort estimates through automated analysis.

Features
--------

[](#features)

- **Standalone Operation**: Operates completely independently of target TYPO3 installation
- **Cross-Version Compatibility**: Works with TYPO3 versions 6.x through 13.x
- **Comprehensive Analysis**: Multiple analyzer types for thorough evaluation
- **Multiple Output Formats**: HTML and Markdown reports
- **Clean Architecture**: Follows clean architecture principles with strict separation of concerns
- **Modular Analyzer System**: Dynamic analyzer discovery with pluggable implementations
- **Advanced Static Analysis**: Integrates TYPO3 Rector and Fractor for code modernization analysis
- **External API Integration**: Checks TYPO3 Extension Repository, Packagist, and Git repositories (requires API token)
- **Caching Support**: Built-in caching for improved performance on repeated analyses

Requirements
------------

[](#requirements)

- **PHP 8.3** or higher
- **Composer** for dependency management
- **External Tools** (automatically managed via Composer):
    - `ssch/typo3-rector` for TYPO3-specific code analysis
    - `a9f/typo3-fractor` for TypoScript modernization
    - Network access for external API calls (TER, Packagist, GitHub)

Installation
------------

[](#installation)

### Via Composer (Recommended)

[](#via-composer-recommended)

```
# For development/local use
composer require --dev cpsit/typo3-upgrade-analyser

# For global installation
composer global require cpsit/typo3-upgrade-analyser
```

### From Source

[](#from-source)

```
git clone https://github.com/cpsit/typo3-upgrade-analyser.git
cd typo3-upgrade-analyser
composer install
```

Quick Start
-----------

[](#quick-start)

1. **Create Configuration File**:

    ```
    vendor/bin/typo3-analyzer init-config
    ```
2. **Analyze TYPO3 Installation**:

    ```
    vendor/bin/typo3-analyzer analyze
    ```
3. **View Results**: Check the `var/reports/` directory for HTML and Markdown reports.

For detailed usage instructions, see the **[Usage Guide](documentation/USAGE.md)**.

Available Analyzers
-------------------

[](#available-analyzers)

### Currently Implemented

[](#currently-implemented)

- **Version Availability Analyzer** (`version_availability`)

    - Checks extension compatibility across TER, Packagist, and Git repositories
    - Analyzes version constraints and upgrade paths
    - Provides risk scoring based on availability
- **TYPO3 Rector Analyzer** (`typo3_rector`)

    - Uses `ssch/typo3-rector` for TYPO3-specific code analysis
    - Detects deprecated API usage and required migrations
    - Provides automated refactoring suggestions
- **Fractor Analyzer** (`fractor`)

    - Uses `a9f/typo3-fractor` for TypoScript modernization
    - Analyzes TypoScript patterns and suggests improvements
    - Detects outdated TypoScript syntax
- **Lines of Code Analyzer** (`lines_of_code`)

    - Counts total lines of code, comments, and blank lines
    - Calculates code complexity metrics
    - Provides maintenance effort estimates

### Analyzer Features

[](#analyzer-features)

- **Dynamic Discovery**: All analyzers are automatically discovered and registered
- **Caching Support**: Results are cached to improve performance on repeated runs
- **Configurable**: Each analyzer can be enabled/disabled and configured independently
- **Extensible**: New analyzers can be added by implementing `AnalyzerInterface`

Output Structure
----------------

[](#output-structure)

The analyzer creates a comprehensive output structure in the configured output directory:

```
var/
├── log/
│   └── typo3-upgrade-analyzer.log      # Detailed execution logs
├── reports/
│   ├── html/                  # HTML reports with interactive features
│   │   ├── analysis-report.html        # Main overview report
│   │   └── extensions/                 # Individual extension reports
│   │       ├── extension1.html
│   │       └── extension2.html
│   └── md/                    # Markdown reports
│       ├── analysis-report.md          # Main overview in Markdown
│       └── extensions/                 # Individual extension reports
│           ├── extension1.md
│           └── extension2.md
├── results/                   # Cached analysis results
└── temp/                      # Temporary files (Rector/Fractor configs)

```

### Report Contents

[](#report-contents)

- **Main Report**: High-level overview with summary statistics and risk assessment
- **Detailed Report**: Comprehensive analysis results for each extension including:
    - Version availability across repositories
    - Code quality metrics and complexity
    - Required migrations and refactoring opportunities
    - Risk scores and upgrade recommendations

Development
-----------

[](#development)

### Requirements

[](#requirements-1)

- **PHP 8.3** or higher
- **Composer** for dependency management
- **Git** for version control

### Setup

[](#setup)

```
git clone https://github.com/cpsit/typo3-upgrade-analyser.git
cd typo3-upgrade-analyser
composer install
```

### Available Scripts

[](#available-scripts)

```
# Testing
composer test              # Run unit tests only (fast)
composer test:unit         # Run unit tests
composer test:integration  # Run integration tests
composer test:functional   # Run functional tests
composer test:coverage     # Generate coverage report

# External API tests (require network access)
composer test:ter-api      # Test TER API integration
composer test:github-api   # Test GitHub API integration
composer test:real-world   # Test with real TYPO3 installations

# Code Quality
composer lint              # Run all linting checks
composer lint:php          # Check PHP coding standards
composer lint:composer     # Check composer.json format
composer fix               # Fix all code quality issues
composer fix:php           # Fix PHP coding standards
composer sca:php           # Run PHPStan static analysis (Level 8)
```

### Testing Strategy

[](#testing-strategy)

- **Unit Tests**: Fast, isolated tests with mocking and VFS (Virtual File System)
- **Integration Tests**: Test component interactions with real dependencies
- **Functional Tests**: End-to-end testing of complete workflows
- **API Tests**: Real-world testing against external APIs (TER, Packagist, GitHub)
- **Performance Tests**: Benchmark critical operations

Architecture
------------

[](#architecture)

The tool follows a clean architecture with clear separation of concerns:

- **Application Layer**: Console commands and application services
- **Domain Layer**: Core business logic and entities
- **Infrastructure Layer**: External integrations and implementations
- **Shared Layer**: Common utilities and configuration

Contributing
------------

[](#contributing)

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests for new functionality
5. Ensure all tests pass
6. Submit a pull request

License
-------

[](#license)

This project is licensed under the GPL-2.0-or-later license. See the LICENSE file for details.

Support
-------

[](#support)

- [Issue Tracker](https://github.com/cpsit/typo3-upgrade-analyser/issues)

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance71

Regular maintenance activity

Popularity21

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 68.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~28 days

Recently: every ~55 days

Total

9

Last Release

51d ago

PHP version history (2 changes)0.1.0PHP ^8.1

0.1.2PHP ^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/a664c83f7a6760600d2a325f751b2a206f686b3dcb2f1dce5655ead343dc5a24?d=identicon)[cps](/maintainers/cps)

---

Top Contributors

[![dwenzel](https://avatars.githubusercontent.com/u/712458?v=4)](https://github.com/dwenzel "dwenzel (288 commits)")[![renovate[bot]](https://avatars.githubusercontent.com/in/2740?v=4)](https://github.com/renovate[bot] "renovate[bot] (95 commits)")[![simonschaufi](https://avatars.githubusercontent.com/u/941794?v=4)](https://github.com/simonschaufi "simonschaufi (26 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (11 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/cpsit-typo3-upgrade-analyser/health.svg)

```
[![Health](https://phpackages.com/badges/cpsit-typo3-upgrade-analyser/health.svg)](https://phpackages.com/packages/cpsit-typo3-upgrade-analyser)
```

###  Alternatives

[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[symfony/maker-bundle

Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boilerplate code.

3.4k111.1M568](/packages/symfony-maker-bundle)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
