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

Config Laravel Package

orchestra/config

Orchestra Config provides a Laravel-friendly configuration component for Orchestra Platform, helping packages and extensions register, merge, and manage config files through a consistent API. It integrates cleanly with Laravel’s configuration system.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Framing. This is a dependency-governance decision, not a feature decision. The package scores 0.3 with zero dependents and no ecosystem signal, and its latest major exists solely to add Laravel 8 support. That combination means no third party is validating this code on our behalf, so the TPM's job is to convert a one-line changelog into a defensible go/no-go gate and record what would have to be true for that gate to reopen.

Architecture fit. Assume the conventional Laravel package shape: a service provider, a publishable config file, and integration with Laravel's config repository and the config() helper. That shape is low-friction — it slots into existing provider registration and vendor:publish workflows without touching domain code. The TPM-relevant nuance is that configuration is a cross-cutting concern loaded at boot. A package wrapping the config repository has a narrow integration surface but a wide blast radius: defects do not stay local to the feature that adopted them. Treat "it's only config" as false comfort when scoping the regression budget.

Integration feasibility. Effort is bimodal and gated entirely on the consuming application's Laravel major:

  • Laravel 8: routine composer require plus config publish and diff. Roughly half a day including regression.
  • Laravel 9+: not installable. Composer resolution fails; no application-side work fixes it. Options reduce to pinning the last viable v5.x tag or forking the constraint.
  • Laravel 6 or 7: upgrading to v6.0.0 forces a framework upgrade first. That is a platform program, not a package bump, and must be costed as one.

A TPM can settle this gate in a day by asking a single question — what Laravel major is the target application on — and should not spend further effort until it is answered.

Technical risk, ranked.

  • Framework pinning (high). v6.0.0 is coupled to Laravel 8, a line past end-of-life including security support. Adopting it schedules a future forced migration.
  • Config-layer blast radius (medium-high). Cross-cutting dependency; a defect surfaces application-wide rather than in one feature.
  • Undisclosed breakage (medium-high). Major version, one-line changelog, no visible upgrade guide. We cannot distinguish "constraint bump only" from "constraint bump plus renamed config keys." Assume breaking until diffed.
  • Zero adoption / succession (medium). No dependents means no one is exercising this code in production and no community pressure exists to keep it patched. Single-maintainer plus one framework generation behind is a credible abandonment profile.
  • Maintenance cadence (medium). Shipping framework support as the headline of a major release suggests slow tracking, not active development.
  • Test matrix opacity (medium). No stated CI coverage across PHP and Laravel versions; confidence is bounded by what we verify ourselves.

Key questions.

  1. What changed in composer.json from v5.x to v6.0.0 — was the illuminate/* constraint raised, widened, or narrowed?
  2. Does an UPGRADING.md or fuller changelog cover config keys, namespaces, and facades?
  3. What PHP range does v6.0.0 support, and does it conflict with ours?
  4. Is there an open branch, PR, or issue for Laravel 9+, and what is the maintainer's stated position?
  5. What does the CI matrix cover, and does green actually exercise Laravel 8?
  6. What is the release cadence and commit activity since v6.0.0?

Integration Approach

Stack fit. Presumed standard Laravel composition: provider auto-discovery, published config, container resolution. The hard gate is Laravel major = 8; confirm it before any other analysis, because it collapses the option set to "yes" or "not this package."

Migration path. Two branches:

  • On Laravel 8, or willing to move there: v5.x → v6.0.0 as a routine bump. Diff composer.json and any published config between tags, publish to a scratch path, diff against the application's published copy, and reconcile keys by hand rather than overwriting.
  • On Laravel 9+: v6.0.0 is not viable. Either pin the last v5.x that resolves against the current framework, or fork and widen the constraint — accepting an ongoing obligation to maintain the constraint and a test matrix. Do not take the fork on casually; it converts a dependency into an owned asset.

Compatibility verification. Do not treat the changelog as a compatibility statement. Run composer why-not, read the resolved tree, confirm PHP support explicitly, and check for transitive conflicts with the existing graph. Laravel's native config/ directory plus environment variables remain sufficient for a small configuration surface; a layering package adds a concept to learn and a precedence order to get wrong. If high-scale, database-backed dynamic settings with an admin UI and audit trail are the actual requirement, that is a settings-service problem — persistence, caching, permissions, history — and should be decided separately.

Sequencing (with TPM-owned artifacts in brackets).

  1. Determine the target application's Laravel major. [Decision gate recorded; option set locked.]
  2. Diff v5.x → v6.0.0 composer.json, config, and service provider; confirm or rule out changes beyond the constraint. [Breaking-change determination written down, not assumed.]
  3. Run the package's tests or a disposable-environment spike against Laravel 8. [Go/no-go evidence.]
  4. If viable, upgrade behind the existing suite in a feature branch; publish config to a scratch path and diff. [Named rollback to the prior v5.x tag.]
  5. Schedule production rollout only after 1–4 clear. [Runbook entry pinning package major to Laravel major; named dependency owner.]

Fallback. Identify and pin the last v5.x release compatible with the current framework now, before committing to any plan. A known-good pin is the cheapest insurance available and costs one afternoon.

Operational Impact

Maintenance. Adopting v6.0.0 imports a dependency on an end-of-life framework line. Every subsequent application upgrade is gated on this package shipping a matching release, and the evidence of the last one is a major bump with a one-line note. Treat it as a watched dependency: quarterly commit-cadence check, periodic constraint-drift review, and an explicit entry in the dependency risk register. The decision being made here is not "adopt or not" but "who owns carrying this constraint when the package stops."

Support. Assume community-only: no SLA, no published security-disclosure process, best-effort issue triage. Sparse release notes correlate with sparse triage; the realistic support model is "we read the source." For anything business-critical that requires a nominal owner on the team. Do not let this land as an implicit expectation on whoever happened to run composer require.

Scaling. Unassessable from this release. Scaling behavior lives in whether config resolution happens per-boot, per-request, or per-item, and the changelog is silent. We know only that the package advertises caching and merge strategies and supports custom config sources. Before any tenant-per-request or per-account override design is committed, we must read the source to establish resolution timing and cache invalidation semantics. Budget a spike rather than assuming the framework's own config caching covers it.

Failure modes. Ranked by how quietly they fail:

  • Silent default drift (highest). A renamed config key with an unchanged default resolves to the default rather than erroring. The application boots, tests pass, and the behavior change surfaces only under the specific environment or tenant that relied on the override. This is the failure mode to design a guard against: diff published config on every upgrade and assert on resolved values, not just on boot.
  • Boot-time blast radius. A defect in resolution affects every request rather than one feature; rollback is a config republish, not a feature toggle.
  • Framework lockout. Application upgrade blocked at Composer resolution with no application-side remedy. Cost is realized as schedule, not as an incident.
  • Override precedence confusion. Once a precedence ladder exists (library default → package default → environment → tenant → runtime), support and solutions engineering must know who can change what without a deploy. Undocumented precedence becomes a recurring support burden and a source of "works on my account" bugs.

Ramp-up. Cost is small but not zero, and it is front-loaded into review, not typing. Roughly: half a day to install and diff on Laravel 8, plus the time to read the resolution path in source, plus the cost of writing down the precedence ladder as a product policy rather than an implementation detail. The durable ramp-up cost is organizational — a named owner, a quarterly cadence check, and a runbook line tying package major to Laravel major. Before this becomes load-bearing in anything revenue-critical, run a bounded evaluation: about one week, one module, one named owner, with a stated rollback pin. Fund future framework upgrades as a scheduled program line rather than absorbing them as engineering overrun.

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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console