Skip to content

Common Store Review Errors

Common Store Review Errors

These errors apply to all extensions submitted to the Shopware Store (plugins and apps).

Composer and bootstrap issues

Missing or invalid composer.json

Typical causes:

  • composer.json missing.
  • Technical name mismatch between Store and composer.json.
  • Wrong extra.shopware-plugin-class.
  • The extension archive has an incorrect ZIP structure.

Check:

  • Store technical name matches the composer.json name.
  • extra.shopware-plugin-class points to the correct bootstrap class.
  • Namespace matches exactly (case-sensitive).
  • Archive contains correct root folder structure.

Example reference:

Correct: Swag\\MyPlugin\\SwagMyPluginIncorrect: Swag\\MyPlugin\\SwagMyPluginSW6

Extension Meta Information – Explanation of the properties

Missing bootstrap class

Common causes include:

  • Wrong ZIP structure.
  • A typo.
  • Case-sensitive filename mismatch.
  • Namespace mismatch.

composer.lock Problems

Rules:

  • composer.lock must NOT be included in the archive.
  • Lock file must match composer.json before packaging.
  • Run composer update if lock is outdated.

Dependency and version errors

Missing Shopware packages

An example error might look like Class Shopware\Storefront\* not found. To fix:

  • Declare required packages correctly and explicitly in composer.json: e.g., "require": {"shopware/frontend": "*"}.
  • Avoid "" version constraints. Using "" may resolve to Early Access (EA) versions, causing review failures.
  • Use proper version ranges (e.g., ~6.1.0).
  • If needed, set "minimum-stability": "RC".

This example shows the correct format:

xml
<pre>"require": {

 "shopware/core": "~6.1.0",

 "shopware/storefront": "~6.1.0"

},

"minimum-stability": "RC"</pre>

Class Not Found (EA Version Issue)

In the Shopware 6 Early Access (EA) version,Class Shopware\Core\System\Snippet\Files\SnippetFileInterface is not found and cannot be autoloaded, causing the code review to fail.

Cause: Composer resolved an Early Access version due to wildcard constraints.

Solution: Pin versions and define minimum stability (see above).

Code & Static Analysis Errors

Forbidden Statements

Blocked:

  • die
  • exit
  • var_dump

Invalid method usage

You might see Call to static method *jsonEncode() on an unknown class*. Shopware always uses json_encode() exclusively; there is no fallback.

Remove dead code

Remove out-commented code from your source code. Ensure there are no unused classes or files.

Cross-Domain Messaging

Ensure that cross-document messages are sent to the intended domain. Unrestricted messaging will be rejected.

Link: OWASP Web Security Testing Guide

Cookies must be set securely. All non-essential cookies must be registered in the Cookie Consent Manager.

Packaging errors and unauthorized files and folders

Extensions submitted to the Shopware Store must not contain development files, temporary artifacts, or unused resources.

  • ./tests
  • .DS_Store
  • .editorconfig
  • .eslintrc.js
  • .git
  • .github
  • .gitignore
  • .gitkeep
  • .gitlab-ci.yml
  • .gitpod.Dockerfile
  • .gitpod.yml
  • .phar
  • .php-cs-fixer.cache
  • .php-cs-fixer.dist.php
  • .php_cs.cache
  • .php_cs.dist
  • .prettierrc
  • .stylelintrc
  • .stylelintrc.js
  • .sw-zip-blacklist
  • .tar
  • .tar.gz
  • .travis.yml
  • .zip
  • .zipignore
  • ISSUE_TEMPLATE.md
  • Makefile
  • Thumbs.db
  • __MACOSX
  • auth.json
  • bitbucket-pipelines.yml
  • build.sh
  • composer.lock
  • eslint.config.js
  • grumphp.yml
  • package-lock.json
  • package.json
  • phpdoc.dist.xml
  • phpstan-baseline.neon
  • phpstan.neon
  • phpstan.neon.dist
  • phpunit.sh
  • phpunit.xml.dist
  • phpunitx.xml
  • psalm.xml
  • rector.php
  • shell.nix
  • stylelint.config.js
  • webpack.config.js
Was this page helpful?
UnsatisfiedSatisfied
Be the first to vote!
0.0 / 5  (0 votes)