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

App Bundle Laravel Package

shopware/app-bundle

A Symfony bundle for building Shopware apps, providing the core infrastructure for app manifests, lifecycle events, webhooks, and platform integration. It streamlines app registration, configuration, and communication so developers can add custom features to Shopware 6.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — Unchanged by 6.1.0. The bundle is still only relevant if we are building a Shopware 6 app with an external backend: a thin Symfony layer over the app SDK providing registration/confirmation endpoints, shop-secret handling, webhook signature verification, lifecycle event dispatch, and an Admin API client. If our strategy is plugin-based (in-process PHP inside the shop) rather than app-based (separate hosted service), this package has no role. Fit is gated on the app-vs-plugin decision, not on release cadence.

Integration feasibility — High if we are on Symfony. Standard Composer install and bundle registration; the contract with Shopware is the public app manifest/registration specification, not anything proprietary. Manual implementation remains feasible: the handshake is two endpoints plus HMAC comparisons, so the bundle is an accelerator, not a hard dependency. 6.1.0 is a minor, non-breaking release that should be a drop-in from 6.0.2 with no config or route changes described — but see the body-decoding note below before treating it as a no-op bump. Confirm PHP/Symfony constraints against our baseline before committing.

Technical risk — Low-to-moderate, and slightly better understood than at the prior assessment. The 6.1.0 release is evidence of real cadence: a single performance PR ("use server requests to decode body once") shipped four weeks after 6.0.2, which partially answers the earlier question about whether the release history was healthy or a metadata artifact. Two caveats: (1) the change is on the request-body path, which sits directly upstream of HMAC verification — a "perf" change there is exactly where byte-exactness, double-reads, and re-encoding can silently alter signature outcomes, so it warrants a targeted regression test rather than a blind bump; (2) the PR is a single external contributor, consistent with small-team maintenance, and the 16-star / zero-dependent profile still means limited independent testing. Remaining risks are unchanged: coupling to Shopware platform versions, the bundle's silence on per-shop secret persistence/encryption/rotation, and MIT licensing making fork-and-own a viable fallback.

Key questions — Which Shopware major/minor versions are supported, and what is the support window? Does 6.1.0's single-decode change alter how the raw body is exposed to signature verification, and does it preserve byte-exactness behind proxies or with chunked/streamed requests? Does it wrap shopware/app-php-sdk, and can we consume that SDK directly to avoid Symfony coupling? Who owns credential storage, encryption, and rotation? What is the vendor's historical response time to signature/API breaking changes? Is there a documented migration path if Shopware reworks the app server model?

Integration Approach

Stack fit — Assumes PHP 8.x plus Symfony. Our services must be on that stack, or we front a non-PHP backend with a thin PHP service purely for the handshake and signature check. If our backend is Node or Python, this package is a non-starter and we implement the specification directly.

Migration path — Greenfield app backends: adopt directly at 6.1.0. Existing plugin-based extensions: not a migration vehicle — moving plugin to app is a re-architecture (manifest, webhooks, hosting, credential store), and the bundle covers only the backend half. Existing custom app backends: adopt incrementally, endpoint by endpoint, behind the same routes so the swap is invisible to Shopware.

Compatibility — Pin 6.1.0 against our target platform version and treat that pair as the CI unit under test. Because 6.1.0 touches body decoding, our signature-verification test vectors (exact raw payload bytes, signed with a known secret) must pass before and after the bump; that is the cheap insurance that turns a minor upgrade into a low-risk one. Retain the ability to fall back to 6.0.2 if byte-exact behavior regresses.

Sequencing — (1) Settle app-vs-plugin strategy. (2) Spike: register a throwaway app against a dev shop, exercise install/update/delete plus one signed webhook. (3) Decide bundle versus raw SDK on spike evidence. (4) Build credential persistence and signature verification as our own tested boundary. (5) Before adopting 6.1.0, replay the signature test suite to confirm the single-decode path is byte-faithful. (6) Harden registration/confirmation against replay and timeout before marketplace submission.

Operational Impact

Maintenance — Low code volume, but a recurring obligation: track Shopware platform releases and bundle releases in lockstep. 6.1.0 confirms the project does ship minor releases, so budget an actual dependency-review line with a periodic bump cadence rather than a one-off integration cost — and gate each bump on the signature test suite when the change touches request parsing.

Support — MIT, no commercial SLA; support is vendor-repo and community best-effort, with contributions coming from outside the core team. Acceptable for a convenience layer we could reimplement, which reinforces keeping our own thin abstraction over the parts we depend on.

Scaling — Unchanged. The bundle is stateless request handling; scaling is a function of our backend — webhook throughput, per-shop credential lookups, Admin API limits. The single-decode change nominally reduces per-request overhead, but it will not be the binding constraint.

Failure modes —

  • Signature verification mismatches (wrong secret, proxy re-encoding, or a regression in the newly consolidated body decoding) cause silent 401s on every webhook; requires explicit alerting and byte-exact body handling.
  • Registration/confirmation handshake timeouts or duplicate registrations leave shops stuck in setup; idempotency is mandatory.
  • Lost or rotated shop secret with no re-registration path forces a shop reinstall.
  • Bundle/platform version skew after a Shopware upgrade.
  • Credential-store outage produces total webhook failure rather than graceful degradation.
  • Minor-version regression risk concentrated in request parsing — mitigated by pinning and signature regression tests, not eliminated.

Ramp-up — Engineers need Shopware domain concepts (manifest, registration handshake, lifecycle webhooks, Admin API) beyond Symfony familiarity. Roughly one to two weeks for a competent Symfony developer to be productive; the shop app lifecycle is the real learning curve, not the bundle. The 6.1.0 diff is small enough that reviewing it directly is a useful onboarding exercise.

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.
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
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console