contao-community-alliance/composer-plugin
Composer plugin for Contao 3 extensions: installs packages from vendor into system/modules via copy/symlink so Contao can detect them. Helps keep legacy Contao 3 module structure working in Composer setups (also usable when supporting Contao 4 legacy mode).
Adopt if:
runonce scripts, userfiles).Look elsewhere if:
*"This plugin eliminates a major technical debt bottleneck for our Laravel + Contao 3 hybrid projects. Currently, integrating Contao 3 modules requires manual file copying, broken symlinks, and ad-hoc scripts—leading to inconsistent deployments and maintenance headaches. By adopting this Composer plugin, we:
composer.json config change). The alternative—building custom scripts—would double our dev effort and create tech debt. ROI: Faster releases, fewer production incidents, and smoother transitions to modern stacks."**"This plugin handles the tedious Contao 3 module installation boilerplate—symlinks, system/modules/ copying, and runonce scripts—so we can focus on Laravel/Contao integration logic. Here’s how to use it:
For Contao 3 Modules:
type: "contao-module" in composer.json.extra.contao.sources to map files to system/modules/ (e.g., "" => "system/modules/my-module").contao-community-alliance/composer-plugin as a dependency.composer dump-autoload after the plugin runs.TL_ROOT/init.php).For Dual Contao 3/4 Support:
contao/core-bundle: "~3.5 || ~4.1" and the plugin’s v2.4 or v3.0.For Laravel Integration:
TL_ROOT in Laravel’s APP_PATH.Contao\CoreEvents).TL_CONFIG, you’ll need a Laravel service to proxy this.Avoid This For:
Action: Add this to our composer.json for Contao 3 modules and document the Laravel integration gaps (e.g., autoloading, event binding) in our architecture docs."*
How can I help you explore Laravel packages today?