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

Resources Laravel Package

orchestra/resources

Resources component for Orchestra Platform, giving Laravel applications a consistent API to register, load, and publish package resources such as views, translations, configuration files, and migrations.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: orchestra/resources is a convention-driven resource registry/facade layer for Laravel applications built on the Orchestra Platform. Its architectural role is narrow: register named resources, resolve them through a facade, and support routing/controller/view workflows. It is not a system of record and has zero dependents. For a TPM, that means the package is usually scaffolding, not load-bearing business logic — which makes containment and exit cheaper than the deprecation label might suggest.

Integration feasibility: Feasible only inside an existing Laravel ~5.2 application already using Orchestra-era conventions. Integration requires manual service-provider registration and facade alias configuration in config/app.php; there is no package auto-discovery. The v3.2.0 release adds Orchestra\Resources\Facade as the replacement for Orchestra\Support\Facades\Resources, which is scheduled for removal. Any Laravel 5.3+ application should be treated as incompatible because the illuminate/* constraints will conflict.

Technical risk: High and compounding. The package is formally deprecated, pinned to Laravel 5.2, and sits on PHP 5.6–7.0-era runtimes that no longer receive security patches. Upstream can delete the repository or Packagist entry. The scheduled facade removal is a known future break. The most serious program-level risk is that this package defines the ceiling for framework, PHP, tooling, and shared-library upgrades across the application.

Key questions:

  • Is this package load-bearing for business logic, or only resource registration/routing scaffolding?
  • Which exact version is installed, and is composer.lock committed?
  • Where are both facade namespaces referenced — imports, aliases, controllers, views, jobs, tests?
  • Can we stand up a private Composer mirror/satis so builds survive upstream removal?
  • Who owns explicit, time-boxed risk acceptance for an EOL Laravel/PHP runtime?
  • What is the dated exit plan, and is it bundled with the next framework upgrade?

Integration Approach

Stack fit: Only fits legacy Laravel 5.2 / Orchestra Platform applications. It does not fit modern Laravel, current PHP versions, or any initiative requiring supported security patches. Treat it as a legacy-maintenance dependency, not an adoption candidate.

Migration path: Use a contain-then-exit strategy. First, inventory all call sites and both facade namespaces. Then pin the exact version, commit composer.lock, and mirror artifacts privately. Normalize references to Orchestra\Resources\Facade and update config/app.php. Wrap all package access behind a thin application-level adapter so replacement touches one class rather than every controller and view. Finally, replace the resource-layer behavior with native Laravel resource controllers, routing, and route model binding on a supported Laravel version, and remove the dependency as part of the framework upgrade.

Compatibility: Laravel 5.2 is a hard ceiling. The package conflicts with Laravel 5.3+ and modern illuminate/* components. Manual provider and alias registration are required. Provider boot order matters: resource registration must run before routes/controllers resolve resources. Avoid exposing a global Resources alias if it can collide with application classes.

Sequencing:

  1. Inventory package usage, facade namespaces, aliases, routes, controllers, views, tests, and jobs.
  2. Pin exact version, commit lock file, and establish private Composer mirror/satis.
  3. Migrate imports and aliases from Orchestra\Support\Facades\Resources to Orchestra\Resources\Facade.
  4. Introduce one adapter class that owns all registration/resolution calls.
  5. Bind a fake adapter in tests; remove direct facade usage from controllers and views.
  6. Reimplement resource behavior natively on a supported Laravel version.
  7. Remove orchestra/resources as part of the framework upgrade, not as an isolated swap.

Operational Impact

Maintenance: High relative to value. The package is deprecated, undocumented in modern terms, and tied to Orchestra-specific conventions. Knowledge capture is urgent: record how resources are registered, resolved, routed, and presented before the last engineer familiar with it leaves. Budget days for facade normalization and containment; budget the real migration as part of the framework-upgrade workstream.

Support: No vendor support, no active community, no security patches. A private Composer mirror is a prerequisite, not a nice-to-have. Explicit risk acceptance should be recorded, owned by product, and time-boxed with a dated exit.

Scaling: Traffic scaling is unlikely to be the primary concern because the package is a narrow registry/resolution layer. Organizational scaling is the real problem: the hiring pool with direct Laravel 5.2 and Orchestra Platform experience is effectively zero and shrinking. The longer it remains, the more it constrains modernization and onboarding.

Failure modes: Upstream repository or Packagist removal; facade-not-found after alias changes; provider order preventing resource resolution; global alias collisions; container resolution failures; framework upgrade blocked by illuminate/* constraints; hidden facade usage in Blade templates or jobs expanding the blast radius; loss of tribal knowledge when the last experienced engineer leaves.

Ramp-up: Slow for new engineers and expensive for the organization. New team members should learn the adapter boundary first and avoid the package internals. The TPM should keep the dependency out of feature scoping entirely — the only legitimate product actions are contain, freeze, or remove. The default recommendation is reject for new work, contain only for a short funded window, and schedule removal with the next supported Laravel upgrade.

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.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core