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

Muppet Bundle Laravel Package

wickedone/muppet-bundle

Symfony bundle that integrates the Muppet library, registering its services and configuration with Symfony's dependency injection container. Install via Composer, enable it in bundles.php, and configure it to start using Muppet in your application.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

What actually shipped in 2.0.0

The 2.0.0 changelog is not a feature changelog. Of the visible entries, only two are authored changes (setup tools, struker badge — almost certainly a Stryker mutation-testing badge and CI/tooling scaffolding). Everything else is Dependabot: phpstan, php-cs-fixer, php_codesniffer, infection, phpunit, php-parser, and a long tail of symfony/* components moved from 5.3.x into 5.4.x. That means the semver-major number was almost certainly triggered by dependency-constraint movement, not by a designed API break — but the maintainer has published no migration guide, upgrade notes, or statement of what changed in the public surface. Treat "no documented breaking change" as unknown, not as safe.

Architecture fit — the framing needs correcting first

This is a Symfony bundle (wickedOne/muppet-bundle), not a Laravel package. That distinction is decisive:

  • A Symfony bundle integrates through a Bundle subclass, a DI extension, and compiler passes resolved by the Symfony kernel at boot. Laravel has no bundle loader; config/bundles.php has no Laravel equivalent.
  • There is no ServiceProvider, no Facade, no config/*.php publish tag, no artisan surface. Dropping it into a Laravel app yields a Composer dependency that is never registered, never booted, and never invoked.
  • The only realistic Laravel path is a hand-written bridge (service provider + container bindings + config translation) around whatever the bundle's underlying service actually does — at which point you are maintaining a fork, not consuming a package.

Integration feasibility

The hard blocker is the dependency floor. The release pins the symfony/* family at 5.4 (and framework-bundle at 5.4.2 in the visible window). Symfony 5.4 is past end-of-life for fixes and its security window has closed; current Laravel releases ship Symfony 6.x/7.x components. Consequences:

  • Installing alongside a modern Laravel app will either fail constraint resolution outright or force a symfony/* downgrade across the whole application — which is not a viable trade.
  • Even in a Symfony application, 2.0.0 leaves you on an EOL framework line with no upgrade path documented in the changelog.
  • The transitive set (nette/utils, nikic/php-parser, psr/container) is narrow, which is good, but the transitive set is also dev-tooling heavy — a strong hint this bundle is closer to a developer/build-time utility than a runtime service, which changes the risk calculus (see Operational Impact).

Technical risk

  • Semver-major with an empty narrative. Consumers cannot distinguish "we bumped constraints" from "we renamed a service." This is the single largest risk.
  • Dependabot-driven release cadence. ~80 automated PRs in one release means the diff is large, mechanically generated, and effectively unreviewed at the human level. Test coverage changes are implied (phpunit/infection bumps) but not asserted.
  • Silent deprecation exposure. The 5.3 → 5.4 jump introduces deprecations. If the bundle's own code wasn't refactored for them, you inherit deprecation noise at minimum, and breakage at the next major.
  • Truncated changelog. The notes visibly trail off (...). The published list is not complete, so absence of a breaking-change entry is not evidence of absence.

Key questions for the maintainer

  1. What is the documented breaking change that justifies 2.0.0, and is there a UPGRADE-2.0.md?
  2. What is the minimum and maximum supported Symfony version — is there a 6.x/7.x branch or roadmap?
  3. What is the bundle's public API surface (services, config keys, console commands) and did any of it move?
  4. Is the package runtime code or build/dev tooling? This determines whether the EOL framework ceiling matters in production or only in CI.
  5. Is the release actually tagged from a reviewed commit, or is the tag at the tip of an automated bump train?
  6. What PHP versions are in the support matrix, and is that matrix enforced in CI?

Recommendation: Do not adopt for a Laravel codebase. If already consuming it in a Symfony 5.4 app, pin to the last 1.x release and hold until 2.0.0 has a written upgrade guide and a stated framework-support policy.

Integration Approach

Stack fit

Target stack Fit Reason
Laravel 10/11 None No service provider; Symfony component constraints conflict
Laravel 8/9 (older Symfony components) Poor Still no bundle boot path; bridge required
Symfony 5.4 Native Intended environment, but EOL
Symfony 6.x/7.x Blocked by 2.0.0 constraints No compatible release identified
Standalone PHP / CLI Depends Only if the underlying services are instantiable without the kernel

Migration path (if you are already on 1.x)

  1. Freeze. Pin the current 1.x version explicitly in composer.json and commit the lockfile. Do not float.
  2. Diff, don't upgrade. Resolve 2.0.0 in a throwaway branch only to inspect the installed tree: composer why symfony/framework-bundle, then composer show --tree on the package. The goal is the constraint delta, not a working install.
  3. Diff the source. Compare 1.x and 2.0.0 tag trees for src/. If src/ is identical or near-identical, the major bump is constraint-only and a ^1.0 || ^2.0-style resolution may be unnecessary — stay on 1.x anyway to avoid the Symfony 5.4 floor being introduced by a future patch.
  4. Isolate the dependency. If the functionality is genuinely needed, vendor the specific class you use rather than carrying the bundle. This sidesteps the framework-version coupling entirely.

Compatibility checks before any decision

  • Resolve the effective symfony/* constraints from the 2.0.0 composer.json, not from the changelog — the changelog lists transitive bumps, which are a different thing from the package's own require block.
  • Confirm PHP floor. The 5.4-lineage dependencies suggest PHP 7.2.5+ at minimum, possibly 8.0+. Verify against your fleet.
  • Check whether framework-bundle is in require or require-dev. If it's dev-only, the production conflict risk drops sharply — this is the highest-value single fact to establish and the changelog does not tell you.

Sequencing

  1. Confirm purpose and runtime-vs-tooling classification (blocks everything else).
  2. Extract real require constraints from the 2.0.0 tag.
  3. Decide: adopt / bridge / vendor / reject.
  4. If bridging, timebox a spike — one engineer, one week, hard stop — and require a working Laravel service-provider registration plus one end-to-end invocation before any further investment.
  5. Gate merge on the existing test suite passing against your framework version, not against the bundle's.

Operational Impact

Maintenance

Single-maintainer project (@wickedOne authors both the functional commits and the release). Release cadence is dominated by Dependabot, producing large-version-count, low-information releases. That pattern is fine for a hobby utility and expensive for a production dependency: every bump requires the consumer to do the changelog archaeology that the maintainer hasn't done. Budget for a recurring per-release triage cost, or pin and accept missing fixes.

Support

  • No security patch path on Symfony 5.4. Any CVE in the pinned framework line has to be mitigated by you, in your fork, or by upgrading off the bundle.
  • Upstream response time is unknown and unstaffed; there is no LTS statement, no supported-versions table, no security policy visible in the release notes.
  • The phpstan / php-cs-fixer / infection bumps indicate genuine investment in static analysis and mutation testing — a positive quality signal, but it measures the maintainer's own codebase, not your integration.

Scaling

If this is build/dev tooling (which the dependency mix strongly suggests), runtime scaling is a non-issue — it never runs in the request path, and the concern is CI wall-clock time from added analysis tools. If it does run in the request path, the EOL framework ceiling becomes a production availability concern rather than a hygiene concern. Resolve this ambiguity before signing off; it inverts the risk profile.

Failure modes

  1. Composer resolution deadlock — 2.0.0's Symfony 5.4 floor collides with your app's 6.x/7.x components. Loud, immediate, safe.
  2. Silent no-op — in Laravel, the package installs and does nothing. The dangerous variant: someone assumes integration succeeded and builds on absent functionality.
  3. Kernel boot failure — in Symfony, a stale DI extension or compiler pass against 5.4. Noisy, caught at deploy.
  4. Deprecation drift — 5.3 → 5.4 deprecations surface as log noise now and hard failures on the next framework major. Slow-burn; easiest to ignore, most expensive later.
  5. Truncated-changelog blind spot — a real API change exists beyond the visible notes. Mitigate by diffing src/ between tags rather than trusting the release text.
  6. Unaudited tag — a major version cut at the tip of an automated bump train, with no human sign-off. Verify the tag's commit and its CI status before pinning to it.

Ramp-up

Low conceptual surface, high discovery cost: the release notes contain zero functional documentation, and the package's purpose must be inferred from dependencies and source. Assume 1–2 days for a competent PHP engineer to establish what it does and whether it is runtime or tooling; add 3–5 days if a Laravel bridge is attempted. No onboarding material should be assumed to exist.

Bottom line: 2.0.0 is a housekeeping release wearing a major version number. It does not make this package more suitable for Laravel — if anything, the Symfony 5.4 floor makes it less suitable than before. Reject for Laravel; hold at 1.x with an explicit pin for Symfony 5.4 consumers; escalate to the maintainer for a support-matrix and upgrade-guide statement before any new adoption.

Assessment status: No prior assessment existed; this constitutes the baseline. Do not re-evaluate on the next Dependabot-only release — re-evaluate only on a change to the require block, a framework-support announcement, or a written upgrade guide.

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.
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
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
cgv/localized-resource