typo3/cms-composer-installers
Composer plugin for TYPO3 CMS projects that installs the TYPO3 core and extensions into a working directory structure. Configure via composer.json extra settings like required extension-key for extensions and web-dir for the public document root.
Architecture fit: This package is essential for Composer-based TYPO3 installations, providing critical directory structure management for core and extensions. It aligns perfectly with TYPO3's modern Composer-driven workflow but introduces significant structural changes in v4+ (extensions moved to vendor). Integration is non-negotiable for new TYPO3 12LTS projects but requires careful planning for legacy migrations.
Integration feasibility: High for greenfield projects using Composer; moderate-to-high risk for existing projects due to breaking changes in v4+. Requires explicit extension-key declarations in all extensions and rework of public asset paths. Current version (v5.0.2) requires PHP 8.1+ and Composer 2.1+, which may necessitate infrastructure upgrades.
Technical risk: Critical migration risks if extensions don't comply with v4+ requirements (missing extension-key, hardcoded paths to typo3conf/ext). Low adoption (0 dependents reported) may indicate limited community validation, though this could reflect packaging conventions rather than quality. High risk of broken assets if public resource handling isn't updated via PathUtility.
Key questions:
extension-key in their composer.json?typo3conf/ext/ paths that would break under v4+?Resources/Public assets correctly?Stack fit: Core component for Composer-based TYPO3 12LTS installations. Required for all modern TYPO3 projects using Composer (not legacy non-Composer setups). Works seamlessly with TYPO3's dependency management but conflicts with older "extensions-in-htdocs" workflows.
Migration path:
web-dir in root composer.json, and ensure all extensions declare extension-key.extension-key compliance, refactor public asset paths to use PathUtility::getAbsoluteWebPath(), then incrementally upgrade while testing. Pin to ^3.1 for TYPO3 11LTS compatibility during transition.Compatibility: Requires PHP 8.1+ and Composer 2.1+. Fully compatible with TYPO3 12LTS; for TYPO3 11LTS, must use v3.1.x series. Incompatible with projects using app-dir/root-dir overrides (only web-dir is configurable in v4+).
Sequencing:
extension-key compliance and public asset path usageEXT:ext_key/... references to use PathUtilityweb-dir in root composer.json (default "public" is safe)Maintenance: Low ongoing effort as it's a passive Composer plugin. Requires periodic updates to stay compatible with new PHP/Composer versions. TYPO3 core team actively maintains it (consistent releases through 2025), but critical path issues may require internal fixes if community support is limited.
Support: Relies on TYPO3 community channels (GitHub issues, Slack). Low dependent count may indicate fewer real-world edge cases documented, but core TYPO3 documentation covers Composer setup thoroughly. Internal expertise in Composer-based TYPO3 workflows will be necessary for troubleshooting.
Scaling: No runtime performance impact. Directory structure setup
How can I help you explore Laravel packages today?