orchestra/theme-installer
Composer installer for Orchestra Platform themes that automatically places theme packages in the correct themes directory, streamlining installation and discovery within Orchestra applications.
orchestra-theme packages into themes/ instead of vendor/. If the answer is "files in the repo," the package is irrelevant and the decision still needed making — but a different way.composer.lock diff → code review → staged deploy path as every other dependency. That is the single strongest product argument in the pattern's favor, and it is an operational upgrade over ad-hoc file drops regardless of which implementation you land on.Consider it when:
vendor/ kept free of application-owned theme code so composer update never touches theme files and autoloading stays predictable.Look elsewhere when:
composer/installers already handles custom install paths across many package types and is far better maintained. Prefer it unless the orchestra-theme package type is a hard requirement.Two non-obvious adoption gates worth naming to stakeholders up front: Composer 2.2+ blocks plugins by default, so config.allow-plugins must be whitelisted — a supply-chain governance approval, not a config tweak. And a theme package with a misspelled or missing type silently falls through to vendor/ with no error, surfacing much later as "theme not found."
Executive summary. This is a small, single-purpose Composer plugin that lets themes be installed and upgraded like any other dependency in an Orchestra Platform application. Its value is operational, not competitive: theme releases go through the same review, versioning, and rollback path as the rest of the codebase instead of ad-hoc file drops. The caveats are equally clear — no ecosystem traction (no stars, zero dependents, 0.3 composite score), a PHP 7.1 floor our supported stacks have long passed, and a hard tie to Orchestra Platform conventions. Recommendation: do not adopt as a strategic dependency and do not budget for it as a product capability. If we pursue a theming roadmap, take the pattern — themes as versioned, lockfile-tracked artifacts — and either fork this or build the installer in-house under our ownership. Revisit only if we commit to Orchestra Platform.
Engineering summary. orchestra/theme-installer registers a custom Composer installer for packages of type orchestra-theme, placing them in the configured themes path and handling install, update, and uninstall. v1.1.0 raised the minimum PHP to 7.1 and dropped the illuminate/support dependency — a dependency-hygiene change shipped as a minor bump. Two things to verify before trusting it in our stack: (1) removing illuminate/support is breaking for anyone relying on it transitively, and is only safe if the source no longer references Illuminate\ classes or global helpers; (2) a 7.1 floor implies CI has not been validated on PHP 8.1–8.3, where our applications actually run. If we adopt or inherit it: pin explicitly rather than floating on ^1.0, add it to allow-plugins in a branch first and prove a clean --no-interaction CI run, exercise an install/update/remove plus a path change in a throwaway skeleton, diff the deploy artifact to see what new directory volume enters production, and confirm nothing depended on the removed transitive package. Budget about half a day for that audit — treat the audit, not the release notes, as the go/no-go gate. The supplied materials describe a generic dependency-maintenance release; they say nothing about installer behavior, path resolution, or uninstall cleanup, which is where the actual risk lives.
How can I help you explore Laravel packages today?