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

Atomic Design Bundle Laravel Package

qmachard/atomic-design-bundle

Symfony bundle for building UIs with Atomic Design. Organizes Twig templates into atoms, molecules, organisms, templates, and pages, with helpers to render and compose reusable components for a cleaner, component-based frontend architecture.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Scope of the release. 1.0.12 is a maintenance patch on a 1.x line. Two changes: (1) the Composer constraint on sensio/framework-extra-bundle was widened to admit ^6.0 (issues #37, #43), and (2) a new configuration key exposes the "Assets" package name (issue #44) instead of hard-coding it. Neither change is described as breaking, and the 1.0.x version increment is consistent with that.

Architecture fit. The dependency being widened — sensio/framework-extra-bundle — is a Symfony bundle, not a Laravel package. That is the single most important thing to flag: despite being framed as a Laravel/PHP package, the surface area here is Symfony HTTP kernel / bundle-registration / service-container configuration. If the consuming application is Laravel, this package is at best tangential and at worst a poor fit, because Laravel does not register Symfony bundles or use framework-extra's annotation-driven controller conventions. Value to a Laravel estate is therefore low and indirect: it is a PHP-ecosystem dependency that may be pulled in transitively, not a first-class component of a Laravel service. Recommendation: confirm the actual consumer before spending any integration effort. If the consumer is Symfony, proceed; if Laravel-only, deprioritize to "monitor."

Integration feasibility. For a Symfony consumer, feasibility is high and effort is near-zero. Widening a constraint is an opt-in that lets existing code resolve to a newer major of a dependency; adding a config key is additive with (presumably) a default that preserves current behavior. Expected work is a composer update plus a regression pass on asset rendering. For a Laravel consumer, feasibility is low: the package does not address a problem Laravel has.

Technical risk. Overall risk Low, with two caveats that a TPM should track explicitly:

  • Transitive constraint pressure. Admitting framework-extra-bundle ^6 can shift the solver's chosen Symfony version (v6 of that bundle requires newer Symfony than v5 did). The risk is not this package breaking; it is the resolver re-pinning Symfony or other shared libraries across a monorepo. This is the classic "one widened constraint moved 40 packages" failure.
  • Upstream health. sensio/framework-extra-bundle is effectively legacy — Symfony's own direction moved annotation-based routing and param conversion into core. Widening support for its v6 buys compatibility with a dependency that is on a deprecation trajectory. That is a sustainability risk, not a release risk, and it should be recorded as such rather than charged against this patch.

Key questions for the maintainer.

  1. Does the new Assets-package-name setting default to the previous hard-coded value? If yes, is that documented as a BC guarantee for the 1.x line?
  2. Was the framework-extra-bundle constraint widened to ^5.0 || ^6.0 (additive) or replaced with ^6.0 (silently dropping v5)? The answer changes this from a no-risk patch to a breaking change for anyone on Symfony 4.4.
  3. What is the minimum PHP and minimum Symfony version now effectively required when v6 resolves, and is that reflected in composer.json?
  4. Is there a test matrix that actually exercises both the v5 and v6 branches? A widened constraint without CI coverage on both sides is not real support.
  5. What is the maintainer's stated position on the eventual deprecation of framework-extra-bundle?

Integration Approach

Stack fit. Symfony 4.4/5.x/6.x via Composer: good fit. Laravel: poor fit — treat as a transitive dependency to inventory, not a component to adopt. The assessment should be scoped to Symfony going forward; the "Laravel" framing in the request appears to be a mislabel.

Migration path. No migration required. This is a drop-in patch: bump the constraint in composer.json (or just composer update <package>), run the suite, smoke-test asset tag rendering and any custom package name configuration. Consumers who were previously blocked on framework-extra-bundle v6 — the population this release exists to serve — should see an immediate unblock with no application code change.

Compatibility. The one genuine compatibility question is the constraint shape (additive vs. replacement), per key question #2. Confirm by diffing the published composer.json between 1.0.11 and 1.0.12 rather than trusting the changelog — this is a five-minute check that removes the only real ambiguity in the release. Absent evidence to the contrary, assume additive and non-breaking, but verify before committing to a version range in a shared library or monorepo root.

Sequencing.

  1. Diff composer.json 1.0.11 → 1.0.12; confirm additive constraint and default behavior of the new key. (Minutes.)
  2. Update in a single non-critical service first; capture the full composer.lock delta, not just this package — the transitive diff is the actual risk surface.
  3. Run the asset-related integration tests; manually verify rendered asset URLs and package-name resolution.
  4. If clean, roll to remaining Symfony services in one batch; hold at the monorepo root until step 2 shows no unintended upgrades.
  5. No action for Laravel services beyond confirming they do not transitively resolve this package.

Operational Impact

Maintenance. Negligible. Patch-level dependency widening and one additive config key; no new operational surface, no new infrastructure, no config migration. Ongoing maintenance cost is dominated by tracking the upstream framework-extra-bundle lifecycle, not by this package's own churn.

Support. Low support load expected, with one predictable ticket class: users on Symfony 4.4 / framework-extra-bundle v5 who hit resolution changes if the constraint was replaced rather than widened. Worth a release-note clarification and a pinned version recommendation for that cohort. The configurable Assets package name will generate a small volume of "how do I set it" questions — a one-paragraph doc addition covers it.

Scaling. Not applicable in the horizontal-scaling sense; this is build-time/configuration surface. The scaling-relevant factor is fleet size: the more services share a composer.lock lineage, the more a widened constraint can ripple. On a large monorepo, treat this as a coordinated dependency change rather than a routine patch bump.

Failure modes. (a) Resolver conflict — the widened constraint makes some previously-valid combination unsatisfiable, surfacing as a composer update failure rather than a runtime bug; loud, fast, recoverable by pinning. (b) Silent transitive upgrade — the same constraint pulls Symfony forward unexpectedly; silent, and therefore the more dangerous of the two, mitigated only by reviewing the lock diff. (c) Config default not preserved — asset URLs resolve to the wrong package after upgrade; would show up in any page-render smoke test. (d) Upstream abandonment — the long-tail failure, where the package cannot move forward because its key dependency is no longer maintained.

Ramp-up. Effectively zero for a Symfony team already running the package: the release notes are self-explanatory and require no new mental model. For a team unfamiliar with Symfony bundle conventions, budget an hour of orientation on bundle registration and Composer constraint semantics — not because this release is complex, but because debugging a resolver conflict without that background is slow. Decision: approve and adopt on Symfony services; mark Laravel applicability as not established and re-scope the assessment accordingly.

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.
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator