Weave Code
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

Symfony Bundle Dependencies Laravel Package

mmoreram/symfony-bundle-dependencies

Symfony bundle to manage inter-bundle dependencies and load order. Define requirements between bundles and let the resolver ensure needed bundles are enabled and initialized first, helping avoid missing services and configuration issues in complex apps.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Modular Architecture & Microservices Alignment: Enables explicit dependency management between Symfony bundles, facilitating a clean separation of concerns—critical for scaling applications or adopting a microservices-like architecture within a monolith. Supports roadmap items like "modularize legacy monolith" or "decouple feature teams."
  • Build vs. Buy: Avoids reinventing dependency resolution logic, reducing technical debt and accelerating development. Ideal for teams already using Symfony but needing stricter bundle isolation (e.g., for CI/CD pipelines or feature flags).
  • Use Cases:
    • Feature Teams: Isolate bundles by team (e.g., AuthBundle, PaymentsBundle) to enable parallel development without merge conflicts.
    • Progressive Migration: Gradually replace monolithic bundles with independent services while maintaining backward compatibility.
    • Security/Compliance: Enforce strict dependency rules (e.g., "Bundle A cannot depend on Bundle B") to meet audit requirements.
    • Performance Optimization: Lazy-load bundles or defer initialization based on runtime conditions (e.g., only load AnalyticsBundle if tracking is enabled).

When to Consider This Package

  • Adopt if:

    • Your project uses Symfony and has ≥3 bundles with overlapping or ambiguous dependencies.
    • You’re migrating from a monolith to microservices and need a phased, bundle-level approach.
    • Your team enforces strict architectural boundaries (e.g., domain-driven design) but lacks tooling to enforce them.
    • You’re using Symfony Flex but need runtime dependency resolution (not just autoloading).
    • Your CI/CD pipeline requires bundle-level testing (e.g., test AuthBundle in isolation).
  • Look elsewhere if:

    • You’re not using Symfony (this is a Symfony-specific solution).
    • Your dependencies are trivial (e.g., <3 bundles with no conflicts).
    • You need dynamic dependency injection (e.g., runtime service binding)—consider Symfony’s built-in autowiring or CompilerPass.
    • You require active maintenance (last release was 2021; evaluate fork or alternative like symfony/dependency-injection).
    • Your use case involves non-bundle dependencies (e.g., Composer packages)—use composer.json or symfony/var-dumper for debugging.

How to Pitch It (Stakeholders)

For Executives: "This package lets us treat Symfony bundles like Lego blocks—explicitly defining which pieces depend on others. For example, we could isolate the ‘Payments’ bundle so the frontend team can deploy updates without touching the auth system. This reduces merge hell, speeds up feature delivery, and makes it easier to spin out bundles into microservices later. It’s a low-risk way to future-proof our architecture while cutting technical debt today."

For Engineering: *"This solves two pain points:

  1. Dependency Hell: Ever spent hours debugging why BundleA breaks when BundleB updates? This package forces you to declare dependencies upfront, catching conflicts early.
  2. Modular Testing: Need to test BundleC in isolation? Define its dependencies, and the bundle loads only what it needs—no surprises. Tradeoff: It’s Symfony-only and last updated in 2021, but the core logic (dependency graphs) is battle-tested. If we hit limits, we can extend it or switch to Symfony’s native tools. Let’s prototype it for the Auth and Payments bundles first."*

For Developers: *"Imagine composer.json but for bundles. You’ll define rules like:

# config/bundles.php
BundleA:
  dependencies: [BundleX, BundleY]
  optional: [BundleZ]  # Loaded only if present
  • Pros: Catches circular dependencies at config time, enables lazy-loading, and makes bundle swaps safer.
  • Cons: Adds a layer of abstraction; requires updating config/bundles.php (not composer.json). Start small: Use it to isolate one bundle (e.g., Analytics) and measure impact on build times."*
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.
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope