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

Core Bundle Laravel Package

sylius/core-bundle

Sylius CoreBundle delivers the foundational domain models and services behind the Sylius e-commerce platform, covering products, orders, customers, payments, shipments, promotions, and taxes. It provides reusable PHP/Symfony components for building flexible online stores.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — a category mismatch that has to be named up front. sylius/core-bundle is a Symfony bundle, not a Laravel package. It ships the core domain models (Order, OrderItemUnit, ProductVariant, Customer, Channel, Promotion, PaymentMethod, TaxRate, ShippingMethod) and the Symfony/Doctrine wiring that makes them work: bundle registration, DI extension classes, Doctrine XML mappings, compiler passes, state machines for order and payment workflows, fixtures, and migrations. Laravel shares some Symfony components at the HTTP layer but has no bundle registration model, different container semantics, and Eloquent has no path to Sylius' Doctrine-mapped resources. There is no adapter story worth scoping. Adopting this means adopting Symfony and a meaningful slice of Sylius' application skeleton.

The artifact is not the decision. This repo is a read-only subtree split of the Sylius/Sylius monorepo, published so Composer can resolve the component transitively. Its 22 stars and 0 dependents measure the wrong thing — nobody is supposed to depend on it directly. PRs, issues, and release decisions live upstream. The real decision a TPM should frame is "do we adopt Sylius as our commerce engine," and the real dependency to declare is sylius/sylius. Any ticket that schedules work against sylius/core-bundle is mis-scoped.

Integration feasibility into a Laravel stack — effectively zero natively, viable only as an isolated service. Native installation into a Laravel app is not a supported consumption path: the bundle expects Kernel-level registration, Doctrine persistence, and Symfony's event dispatcher and form components. The only honest options are (a) close as out-of-scope and evaluate Laravel-native commerce (Lunar, Bagisto, Aimeos, Vanilo) or a headless commerce API, or (b) run Sylius as its own Symfony deployable and integrate over HTTP/JSON or a message bus. Option (b) is real but is architecture work, not a package install.

Technical risk — high, and it stacks. Framework lock-in: reversing the decision later is a commerce-domain rewrite, not a library swap. Version coupling: the split inherits upstream tags with no independent cadence, so patch availability is a function of Sylius' release process. Dependency sprawl: even the trimmed core pulls a broad sylius/* graph plus Doctrine, Symfony, and typically API Platform and Messenger, which will dominate the dependency graph and the upgrade calendar. Patching locally is not viable — a fork of a split repo is unmergeable upstream.

Key questions for the decision review:

  • Is the target application Laravel, Symfony, or framework-agnostic services? If Laravel and native adoption is on the table, this evaluation terminates.
  • Are we buying a commerce platform or composing commerce capabilities into an existing product? Sylius is optimized for the former.
  • What is the Sylius major-version alignment strategy, and who owns upgrades across the full sylius/* set?
  • Does the team have production Symfony depth — DI container compilation, Doctrine mapping, Sylius' Resource/Grid/StateMachine configuration model?
  • Given the 1.01 score and near-zero independent signal, what would this need to show to beat Laravel-native commerce options on five-year TCO?
  • Is there a commercial Sylius support relationship in budget, or an on-staff Symfony specialist we can name?

Integration Approach

Stack fit is binary, not a gradient. For a Laravel codebase the native fit is zero, and the recommendation is: do not integrate the bundle. Either close this as out-of-scope for a Laravel roadmap, or adopt the service-isolation pattern below. If the organization is already Symfony-native, the fit is strong — but the correct move is still to depend on sylius/sylius or the individual sylius/* components, not on the split, so you inherit the supported entry point and upstream's own constraints.

The one viable Laravel-adjacent pattern is service isolation. Stand Sylius up as its own Symfony application and treat it as the commerce backend-of-record, integrating over HTTP/JSON or a message bus behind an anti-corruption layer. This preserves the Laravel application's architecture, confines the blast radius of Sylius upgrades to one deployable, and defers the framework commitment to a reversible decision. It costs an API contract, a synchronization or federation model for catalog/customer data, and a second runtime to operate — but it is the only path that does not require converting the host application.

Migration path. Not incremental from a Laravel module. If Sylius is adopted natively, plan it as a greenfield Symfony service with a one-time data migration from the existing commerce store. The cost is dominated by product/order/customer model mapping and re-integrating payment and tax providers, not by the Composer install.

Compatibility. Pin sylius/sylius and let Composer resolve the splits against it; never pin the split independently and never patch it locally. Verify three constraints together before committing — PHP version, Doctrine ORM version, and Symfony LTS alignment — because those three determine both the viable Sylius majors and the viable upgrade windows.

Sequencing.

  1. Decision gate: confirm framework direction and whether commerce is platform-buy or capability-build. This is a one-week review, not a sprint of work.
  2. Provider coverage audit: validate payment, tax, shipping, and localization provider coverage against actual requirements. These are what sink commerce timelines.
  3. Isolation prototype: only if (1) and (2) pass, stand up Sylius as an isolated service and prove the API contract against catalog alone. Do not touch checkout until catalog is clean.
  4. Upgrade rehearsal: perform a Sylius minor bump in the prototype and measure the effort. That number is the recurring cost you are signing up for.
  5. Scope full adoption: budget the data migration, the API federation work, and the second-runtime operations separately from the initial build.

Operational Impact

Maintenance. You are maintaining an integration with a platform, not a package. Upstream Sylius releases on its own cadence and the split mirrors it, so plan against Sylius majors and the correlated Symfony LTS cycle — upgrades tend to cluster into forced windows. Local patching is not viable; any fix must go upstream or be carried as a permanent Composer patch, which is real recurring overhead. Keep a written inventory of every service decoration, resource override, and state-machine customization: that inventory is your upgrade cost.

Support. Community channels plus Sylius' commercial support options. The split repository is explicitly not a support surface — routing internal issues there produces silence, and that is a predictable source of team frustration. Budget for either a Symfony-competent engineer on staff or a commercial relationship. "Adopt and hope" is the failure mode this ecosystem punishes hardest.

Scaling. The underlying platform scales adequately for typical commerce volumes, and the split artifact has no bearing on runtime performance. The real scaling constraint is organizational: every Sylius component you configure is a concept the team must hold. Each new bundle in the graph raises the audit surface for CVEs and the cognitive load per engineer.

Failure modes to plan for:

  • Category error — a team attempts native installation into Laravel, burns a sprint on bundle registration that has no analogue, and derails the roadmap.
  • Abandoned fork — someone patches the split locally; the patch is silently lost on the next composer update.
  • Version deadlock — a pinned Symfony or Doctrine constraint blocks the Sylius upgrade, leaving commerce behind on security patches.
  • Upstream coupling — a required fix lands only on an unreleased Sylius branch, forcing a dev-master dependency into production.
  • Dependency sprawl — the transitive graph grows past what the team can audit, expanding CVE exposure and upgrade effort simultaneously.
  • Provider gap discovered late — a required regional payment or tax method has no supported integration, surfacing after the architecture is committed.

Ramp-up. Steep and non-linear. Symfony DI compilation and configuration semantics must land before Sylius' Resource, Grid, and StateMachine abstractions make sense — those three gate productivity. A mid-level Laravel developer is realistically not productive here for a quarter or more, which is the single strongest argument for service isolation if the surrounding team is Laravel-centric.

TPM recommendation. Treat this as a platform decision disguised as a package evaluation. The 1.01 score and zero dependents are consistent with the artifact's nature, not a defect — do not let a dependency-scoring gate drive the outcome. Do not schedule integration work against sylius/core-bundle. Either close it as out-of-scope for a Laravel stack in favor of Laravel-native commerce options, or escalate to a full Sylius platform evaluation with its own budget, staffing plan, and named owner for upgrades. If the organization is already Symfony-native, the same escalation applies — just with a materially better starting position.

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.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
adachsoft/php-code-style