sylius/promotions-bundle
Sylius PromotionsBundle provides a flexible promotion engine for Sylius ecommerce: define cart and order promotions with rules and actions, apply discounts automatically, manage coupon codes and usage limits, and integrate promotions seamlessly with the checkout and order lifecycle.
composer.json or lockfile still resolves sylius/promotions-bundle is carrying a legacy pin — potentially pinned to a personal fork. That's a concrete backlog item: inventory, confirm the code now lives in sylius/sylius, and remove or repoint. This is a one-PR cleanup, but only if we know it's there.Consider it only in these narrow cases:
sylius/promotions-bundle, and you need to understand what moved where before upgrading to the monorepo.composer.json and need to classify it as a BC shim so it can be removed from the explicit requirements with confidence.Look elsewhere when:
pjedrzejewski/SyliusPromotionsBundle). A 0-star personal mirror is a snapshot, not a distribution channel; its repo name doesn't even match the Composer package. Resolve why it's pinned before shipping anything that touches it.One-liner: This is an archived, read-only piece of Sylius history — not a library we can adopt or depend on, and not Laravel-compatible.
For executives: We evaluated it and the recommendation is do not adopt. It has no maintenance, no community, no security patch path, and zero downstream users. The only strategic decision it unlocks is whether Sylius itself belongs in our commerce roadmap — and that's a platform-level conversation with a real licensing and upgrade-cost analysis, not a bundle-level one. Cost to close this out: a short engineering spike plus one cleanup PR if it appears in a lockfile.
For engineering: Don't add it. If you find it in a lockfile, that's legacy Sylius — the code has moved into the sylius/sylius monorepo, and any explicit require (or, worse, a VCS pin to the personal fork) should be removed or repointed so the platform is pinned explicitly. Verify with composer why sylius/promotions-bundle and a dry-run update, then regression-test promotion flows: eligibility evaluation, coupon redemption with usage limits, order adjustment recalculation on cart mutation, and admin promotion editing. If we decide to build promotions ourselves, spend a day reading its rule/action/eligibility/priority model as a design reference — that part is genuinely good — then write our own against our pricing and cart model. Reaching productivity in the Sylius promotion domain from a Laravel-only baseline is a multi-week effort, not a multi-day one.
Recommendation: Close as do not adopt. Keep it on a short list of design references for a first-party promotions engine. Log a tech-debt ticket for any existing references (especially fork pins) and route them into a single cleanup PR. Escalate the real question — "do we want a Sylius-based commerce platform, or a Laravel-native promotions module?" — into platform evaluation with proper scope, three concrete options, and an owner.
How can I help you explore Laravel packages today?