Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Cms Composer Installers Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

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:

  1. Are all extensions in our stack declaring extension-key in their composer.json?
  2. How many code references exist to typo3conf/ext/ paths that would break under v4+?
  3. Is our current PHP/Composer version compatible with v5.0.2's requirements (PHP 8.1+, Composer 2.1+)?
  4. Does our deployment pipeline handle symlink management for Resources/Public assets correctly?

Integration Approach

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:

  • For new projects: Start with v5.0.2, configure web-dir in root composer.json, and ensure all extensions declare extension-key.
  • For existing v3.x projects: Audit all extensions for 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:

  1. Audit extensions for extension-key compliance and public asset path usage
  2. Update all EXT:ext_key/... references to use PathUtility
  3. Configure web-dir in root composer.json (default "public" is safe)
  4. Upgrade package to v5.0.2 via Composer
  5. Validate asset loading and deployment symlinks in staging
  6. Roll out to production with full regression testing

Operational Impact

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

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport