Modernize TYPO3 Extension Metadata Handling#214
Merged
Conversation
Ensure consistent path resolution by updating the `in()` definition in `.php-cs-fixer.dist.php`.
Add additional directories to the exclude list for clearer code analysis boundaries.
Include `declare(strict_types=1);` in all relevant PHP files within the functional test fixtures to enforce strict typing and improve code reliability.
Omit `declare(strict_types=1);` in functional test fixture PHP files to simplify the test setup and align with the intended purpose of fixtures as non-strictly typed code.
Ensure settings arrays exclude null or empty values during conversion to arrays, enhancing data cleanliness and consistency.
Update Rector configuration to exclude fixture files and `ext_emconf.php` from `SafeDeclareStrictTypesRector`, ensuring flexible handling of strict types for test-related and configuration files.
Remove generation and usage of `ext_emconf.php` files from the Extension Creator and functional test fixtures, reflecting their deprecation and ensuring alignment with modern TYPO3 standards.
Extend the `composer.json` structure within functional test fixtures to include `Package` metadata and `version` information, ensuring better compatibility with TYPO3 standards.
Remove the deprecated `ext_emconf.php` file and migrate metadata to `composer.json`, including `Package` metadata and `version`, aligning with modern TYPO3 standards.
Exclude `ext_emconf.php` from Rector's analyzed paths to align with its deprecation and removal in favor of `composer.json`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This pull request modernizes TYPO3 extension metadata handling by removing the deprecated
ext_emconf.phpworkflow and moving the relevant metadata intocomposer.json.Changes
ext_emconf.phpfrom the project and from generated extensions.composer.jsonunderextra.typo3/cms.Package.providesPackagesandversion.providesPackagesas a JSON object.composer.jsonstructure.ext_emconf.phphandling from the Extension Creator.ext_emconf.php.nulland empty values..gitignorerules for root files and generated directories.Motivation
TYPO3 extension metadata is now handled through
composer.json, makingext_emconf.phpobsolete for this project. Removing its generation and usage reduces duplication, simplifies extension creation, and aligns the project with current TYPO3 standards.Testing
Functional test fixtures and expected outputs were updated to match the new composer-based metadata structure. Rector and PHP-CS-Fixer configuration changes were adjusted to support the updated project layout and fixture handling.