Weave 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

Plugin Installer Laravel Package

cakephp/plugin-installer

Composer installer for CakePHP plugins that automatically places packages into the app's plugins directory. It simplifies plugin dependency management and removes manual copying, helping CakePHP projects install and organize plugins consistently.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. cakephp/plugin-installer is a Composer installer plugin, not a runtime library. It registers a custom package type (cakephp-plugin) and redirects package installation into CakePHP's plugins/ directory instead of vendor/. This places it strictly in the dependency-management tooling layer — a layer Laravel shares (Composer), but the domain semantics (CakePHP plugin conventions, path resolution, bootstrap expectations) do not map to Laravel modules, packages, or service providers. Direct architectural fit for a Laravel application is effectively zero unless the team is running or migrating a CakePHP codebase alongside Laravel.

Integration feasibility. Two viable angles:

  • Legacy coexistence: If the org is migrating CakePHP → Laravel and both stacks live in one repo or one deploy pipeline, this plugin may be required to keep legacy plugin paths intact during the transition.
  • Reference implementation: If the team wants to build its own Composer installer for a proprietary package type (modules, themes, tenant packs), this is a small, readable example of Composer\Plugin\PluginInterface + custom InstallerInterface usage. composer/installers is the more standard, better-maintained choice for that purpose.

Technical risk.

  • License is NOASSERTION — legal must confirm actual terms before any dependency inclusion; treat as a hard gate.
  • 0 dependents and 33 stars is a weak adoption signal. Opportunity score (64.57) against a low composite score suggests a genuine niche gap, not a well-supported solution.
  • Composer plugins execute arbitrary PHP at install/update time; Composer 2.2+ requires explicit allow-plugins opt-in, which is a governance and security decision.
  • Release metadata (2026-10-10) is anomalous and should be validated against the repository's real tags before planning.
  • Composer 2.x compatibility and PHP version constraints need explicit verification; the package has historically tracked CakePHP's own Composer era.

Key questions.

  1. What concrete problem is this evaluation solving — CakePHP coexistence, or a template for an in-house installer? The answer changes the recommendation entirely.
  2. Is there any CakePHP code in the estate today, now, or on a 12–18 month roadmap?
  3. Has legal cleared the NOASSERTION license?
  4. Could composer/installers with a custom type satisfy the same need with better maintenance and community coverage?
  5. Who owns the allow-plugins policy, and can it be scoped per-repository rather than globally?
  6. What is the exit plan if the upstream project is abandoned — fork, or replace with an internal installer?

Integration Approach

Stack fit. Composer is shared infrastructure between the two ecosystems, so the package can be installed in a Laravel-adjacent composer.json without breaking anything — but it will be inert unless a dependency declares "type": "cakephp-plugin". It contributes nothing to the Laravel runtime (no service provider, no config merge, no middleware). Position it as build-time tooling only, and only for legacy-scoped repositories.

Migration path.

  1. Isolate any CakePHP plugin consumption into a dedicated legacy package or sub-repo; do not let cakephp-plugin-typed dependencies leak into the main Laravel application's composer.json.
  2. Introduce the installer plugin in that legacy scope with a pinned version, and validate install paths match what CakePHP's bootstrap expects.
  3. During migration, run both stacks with a single composer install where possible; assert plugin paths via a CI smoke test.
  4. Retire the plugin and its plugins/ directory once the last CakePHP plugin is decommissioned; remove allow-plugins entries in the same change.

Compatibility. Verify: PHP constraint against the org's supported runtime matrix; Composer 2.2+ allow-plugins behavior (including non-interactive CI installs); interaction with composer config vendor-dir, installer-paths, and monorepo/path-repository setups. Test in a clean CI container, not a developer machine with a warm Composer cache.

Sequencing. (a) License/legal clearance → (b) security review of install-time code → (c) 1-day timeboxed spike in a throwaway branch against a real or synthetic CakePHP plugin → (d) go/no-go with explicit exit criteria → (e) if no, evaluate composer/installers or an internal 100-line installer as the reference pattern.

Operational Impact

Maintenance. Low code surface, stable problem domain, but very low upstream activity proxies to a bus-factor risk. Pin a specific version, avoid floating constraints, and record the rationale for the pin. Budget a periodic review (quarterly) to check Composer compatibility.

Support. Community-only, no SLA, no vendor. If it breaks during a Composer upgrade, the team owns the fix. Confirm the team can read and modify the installer's ~5 classes before adopting; if not, do not take the dependency.

Scaling. Runtime impact is nil — it only affects install/update. The scaling concern is organizational: every repository needing it must declare allow-plugins, and that config must be templated and audited. Broad proliferation of Composer plugins across many repos increases supply-chain surface and slows clean-room builds.

Failure modes.

  • Missing allow-plugins entry → plugin silently doesn't install, dependency lands in vendor/, autoload breaks at runtime with a confusing error.
  • Path resolution drift when vendor-dir or installer-paths is customized.
  • Composer major-version upgrade breaking InstallerInterface usage.
  • Abandoned upstream leaving no fix path for new Composer/PHP versions.
  • License ambiguity discovered post-adoption, forcing a scramble to remove.
  • Partial migration states where a plugin exists in both plugins/ and vendor/, producing duplicate class definitions.

Ramp-up. A Composer-literate engineer can understand the plugin in under a day; the learning cost is not the code but the ecosystem conventions (CakePHP plugin naming, bootstrap discovery). For a Laravel-only team with no CakePHP surface, ramp-up is effectively irrelevant because the package should not be adopted. For teams using it as an installer template, budget 2–3 days to build and test an internal equivalent.

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.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package