{
    "name": "prestashop/prestashop",
    "description": "PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.",
    "license": "OSL-3.0",
    "type": "project",
    "authors": [
        {
            "name": "PrestaShop SA",
            "email": "contact@prestashop.com"
        },
        {
            "name": "PrestaShop Community",
            "homepage": "https://contributors.prestashop-project.org/"
        }
    ],
    "require": {
        "php": ">=8.1",
        "ext-curl": "*",
        "ext-dom": "*",
        "ext-fileinfo": "*",
        "ext-gd": "*",
        "ext-iconv": "*",
        "ext-intl": "*",
        "ext-json": "*",
        "ext-mbstring": "*",
        "ext-openssl": "*",
        "ext-simplexml": "*",
        "ext-zip": "*",
        "api-platform/core": "^3.4",
        "beberlei/doctrineextensions": "^1.0",
        "bjeavons/zxcvbn-php": "^1.4",
        "composer/ca-bundle": "^1.0",
        "composer/installers": "^2.2.0",
        "curl/curl": "^2.3.2",
        "defuse/php-encryption": "^2.3.1",
        "doctrine/cache": "^2.0",
        "doctrine/doctrine-bundle": "^2.3",
        "doctrine/orm": "^2.15",
        "ezyang/htmlpurifier": "^4.16",
        "friendsofsymfony/jsrouting-bundle": "^3.5",
        "geoip2/geoip2": "~2.4.2",
        "greenlion/php-sql-parser": "^4.7",
        "ircmaxell/password-compat": "^1.0.4",
        "ircmaxell/random-lib": "^1.2.0",
        "jakeasmith/http_build_url": "^1",
        "lcobucci/jwt": "^5.0.0",
        "league/oauth2-server": "^8.5",
        "martinlindhe/php-mb-helpers": "^0.1.6",
        "matthiasmullie/minify": "~1.3.0",
        "mobiledetect/mobiledetectlib": "^3.74.0",
        "monolog/monolog": "^2",
        "mrclay/minify": "^3.0.11",
        "nikic/php-parser": "^4.0",
        "nyholm/psr7": "^1.8",
        "pelago/emogrifier": "^7.0.0",
        "phpoffice/phpspreadsheet": "^1.19",
        "prestashop/autoload": "^1.0.2",
        "prestashop/blockreassurance": "^5",
        "prestashop/blockwishlist": "^3.0",
        "prestashop/circuit-breaker": "^4.0",
        "prestashop/classic": "~3.1.0",
        "prestashop/contactform": "^4",
        "prestashop/dashactivity": "^2",
        "prestashop/dashgoals": "^2",
        "prestashop/dashproducts": "^2",
        "prestashop/dashtrends": "^2",
        "prestashop/decimal": "^1.4",
        "prestashop/graphnvd3": "^2",
        "prestashop/gridhtml": "^2",
        "prestashop/gsitemap": "^5",
        "prestashop/hummingbird": "^2.0",
        "prestashop/pagesnotfound": "^3",
        "prestashop/productcomments": "^8.0",
        "prestashop/ps_apiresources": "0.5.0",
        "prestashop/ps_banner": "^2",
        "prestashop/ps_bestsellers": "^1.0",
        "prestashop/ps_brandlist": "^1.0",
        "prestashop/ps_cashondelivery": "^2.0",
        "prestashop/ps_categoryproducts": "^1.0",
        "prestashop/ps_categorytree": "^3",
        "prestashop/ps_checkpayment": "^2",
        "prestashop/ps_contactinfo": "^3.2",
        "prestashop/ps_crossselling": "^2.0",
        "prestashop/ps_currencyselector": "^2",
        "prestashop/ps_customeraccountlinks": "^3",
        "prestashop/ps_customersignin": "^2",
        "prestashop/ps_customtext": "^4",
        "prestashop/ps_dataprivacy": "^2.0",
        "prestashop/ps_distributionapiclient": "^2.1",
        "prestashop/ps_emailalerts": "^3",
        "prestashop/ps_emailsubscription": "^2.7",
        "prestashop/ps_facetedsearch": "^4.0.0",
        "prestashop/ps_faviconnotificationbo": "^2",
        "prestashop/ps_featuredproducts": "^2",
        "prestashop/ps_googleanalytics": "^5",
        "prestashop/ps_imageslider": "^3",
        "prestashop/ps_languageselector": "^2",
        "prestashop/ps_linklist": "^7",
        "prestashop/ps_mainmenu": "^2",
        "prestashop/ps_newproducts": "^1.0",
        "prestashop/ps_searchbar": "^2",
        "prestashop/ps_sharebuttons": "^2",
        "prestashop/ps_shoppingcart": "^3",
        "prestashop/ps_socialfollow": "^2",
        "prestashop/ps_specials": "^1.0",
        "prestashop/ps_supplierlist": "^1.0",
        "prestashop/ps_themecusto": "^1",
        "prestashop/ps_viewedproduct": "^1.2",
        "prestashop/ps_wirepayment": "^2.1",
        "prestashop/psgdpr": "^1.4",
        "prestashop/statsbestcategories": "^2",
        "prestashop/statsbestcustomers": "^2",
        "prestashop/statsbestmanufacturers": "^2",
        "prestashop/statsbestproducts": "^2",
        "prestashop/statsbestsuppliers": "^2",
        "prestashop/statsbestvouchers": "^2",
        "prestashop/statscarrier": "^2",
        "prestashop/statscatalog": "^2",
        "prestashop/statscheckup": "^2",
        "prestashop/statsdata": "^2",
        "prestashop/statsforecast": "^2",
        "prestashop/statsnewsletter": "^2",
        "prestashop/statspersonalinfos": "^2",
        "prestashop/statsproduct": "^2",
        "prestashop/statsregistrations": "^2",
        "prestashop/statssales": "^2",
        "prestashop/statssearch": "^2",
        "prestashop/statsstock": "^2",
        "prestashop/translationtools-bundle": "^6.0.1",
        "smarty/smarty": "^4.3.1",
        "soundasleep/html2text": "^2.1.0",
        "symfony/asset": "~6.4.0",
        "symfony/cache": "~6.4.0",
        "symfony/config": "~6.4.0",
        "symfony/console": "~6.4.0",
        "symfony/debug-bundle": "~6.4.0",
        "symfony/dependency-injection": "~6.4.0",
        "symfony/doctrine-bridge": "~6.4.0",
        "symfony/doctrine-messenger": "~6.4.0",
        "symfony/dom-crawler": "~6.4.0",
        "symfony/dotenv": "~6.4.0",
        "symfony/error-handler": "~6.4.0",
        "symfony/event-dispatcher": "~6.4.0",
        "symfony/expression-language": "~6.4.0",
        "symfony/filesystem": "~6.4.0",
        "symfony/finder": "~6.4.0",
        "symfony/form": "~6.4.0",
        "symfony/framework-bundle": "~6.4.0",
        "symfony/http-client": "~6.4.0",
        "symfony/http-foundation": "~6.4.0",
        "symfony/http-kernel": "~6.4.0",
        "symfony/intl": "~6.4.0",
        "symfony/lock": "~6.4.0",
        "symfony/mailer": "~6.4.0",
        "symfony/messenger": "~6.4.0",
        "symfony/mime": "~6.4.0",
        "symfony/monolog-bundle": "^3.7.0",
        "symfony/options-resolver": "~6.4.0",
        "symfony/password-hasher": "~6.4.0",
        "symfony/polyfill-php73": "^1.10",
        "symfony/process": "~6.4.0",
        "symfony/property-access": "~6.4.0",
        "symfony/property-info": "~6.4.0",
        "symfony/proxy-manager-bridge": "~6.4.0",
        "symfony/psr-http-message-bridge": "~6.4.0",
        "symfony/routing": "~6.4.0",
        "symfony/security-bundle": "~6.4.0",
        "symfony/security-core": "~6.4.0",
        "symfony/security-csrf": "~6.4.0",
        "symfony/security-http": "~6.4.0",
        "symfony/serializer": "~6.4.0",
        "symfony/string": "~6.4.0",
        "symfony/templating": "~6.4.0",
        "symfony/translation": "~6.4.0",
        "symfony/twig-bundle": "~6.4.0",
        "symfony/ux-icons": "^2.17",
        "symfony/ux-twig-component": "^2.9",
        "symfony/validator": "~6.4.0",
        "symfony/var-dumper": "~6.4.0",
        "symfony/var-exporter": "~6.4.0",
        "symfony/web-link": "~6.4.0",
        "symfony/web-profiler-bundle": "~6.4.0",
        "symfony/yaml": "~6.4.0",
        "tecnickcom/tcpdf": "^6.2.12",
        "tijsverkoyen/css-to-inline-styles": "^2.2",
        "twig/extra-bundle": "^3.6",
        "twig/string-extra": "^3.6",
        "twig/twig": "^3.0",
        "wikimedia/cssjanus": "^2.0"
    },
    "require-dev": {
        "behat/behat": "^3.15",
        "ergebnis/composer-normalize": "^2.45",
        "friendsofphp/php-cs-fixer": "^3",
        "mikey179/vfsstream": "^1.6",
        "phpstan/extension-installer": "^1.2",
        "phpstan/phpstan": "^1.9.3",
        "phpstan/phpstan-doctrine": "^1.3",
        "phpunit/phpunit": "^10",
        "prestashop/header-stamp": "^3.0",
        "rector/rector": "^0.15.17",
        "spaze/phpstan-disallowed-calls": "^2.10",
        "symfony/browser-kit": "~6.4.0",
        "symfony/css-selector": "~6.4.0",
        "symfony/phpunit-bridge": "~6.4.0",
        "symfony/stopwatch": "~6.4.0",
        "vincentlanglet/twig-cs-fixer": "^3.1"
    },
    "repositories": {
        "php-sql-parser": {
            "type": "vcs",
            "url": "https://github.com/PrestaShop/PHP-SQL-Parser"
        },
        "ps_apiresources": {
            "type": "vcs",
            "url": "https://github.com/PrestaShop/ps_apiresources"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "autoload": {
        "psr-4": {
            "PrestaShopBundle\\": "src/PrestaShopBundle/",
            "PrestaShop\\PrestaShop\\": "src/"
        },
        "classmap": [
            "app/AppKernel.php",
            "app/AdminKernel.php",
            "app/AdminAPIKernel.php",
            "app/FrontKernel.php",
            "app/AppCache.php"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "FakeModule\\": "tests/Unit/Resources/api_platform/fake_module_resources/fake_module/src",
            "Tests\\": "tests/",
            "Tests\\Unit\\Resources\\": "tests/Unit/Resources/api_platform/fake_core_resources/src"
        }
    },
    "config": {
        "allow-plugins": {
            "behat/behat": true,
            "composer/installers": true,
            "composer/package-versions-deprecated": true,
            "ergebnis/composer-normalize": true,
            "phpstan/extension-installer": true,
            "phpunit/phpunit": true,
            "symfony/phpunit-bridge": true
        },
        "platform": {
            "php": "8.1.0"
        },
        "sort-packages": true
    },
    "extra": {
        "symfony": {
            "require": "~6.4"
        },
        "symfony-app-dir": "app",
        "symfony-assets-install": "relative",
        "symfony-bin-dir": "bin",
        "symfony-tests-dir": "tests",
        "symfony-var-dir": "var",
        "symfony-web-dir": "."
    },
    "scripts": {
        "api-module-tests": [
            "@composer create-test-db",
            "@composer dump-autoload --dev --working-dir=modules/ps_apiresources",
            "@php -d date.timezone=UTC ./vendor/phpunit/phpunit/phpunit -c modules/ps_apiresources/tests/Integration/phpunit-ci.xml"
        ],
        "api-module-tests-local": [
            "@composer create-test-db",
            "@composer dump-autoload --dev --working-dir=modules/ps_apiresources",
            "@composer run-api-module-tests-local"
        ],
        "create-release": "@php tools/build/CreateRelease.php",
        "create-test-db": [
            "@php ./tests/bin/create-test-db.php",
            "@php ./tests/bin/create-test-tables-dump.php"
        ],
        "create-test-table-dumps": [
            "@php ./tests/bin/create-test-tables-dump.php"
        ],
        "git-hook-install": "@php .github/contrib/install.php",
        "git-hook-uninstall": "@php .github/contrib/uninstall.php",
        "header-stamp": "@php ./vendor/bin/header-stamp --dry-run",
        "header-stamp-fix": "@php ./vendor/bin/header-stamp",
        "integration-behaviour-tests": [
            "@composer create-test-db",
            "@php -d date.timezone=UTC ./vendor/bin/behat -c tests/Integration/Behaviour/behat.yml --format progress --no-snippets --strict"
        ],
        "integration-tests": [
            "@composer create-test-db",
            "@php -d date.timezone=UTC -d memory_limit=-1 ./vendor/phpunit/phpunit/phpunit -c tests/Integration/phpunit.xml",
            "@php -d date.timezone=UTC ./vendor/phpunit/phpunit/phpunit -c tests/Integration/phpunit-isolated.xml"
        ],
        "php-cs-fixer": "@php ./vendor/bin/php-cs-fixer fix",
        "php-cs-fixer:dry": "@php ./vendor/bin/php-cs-fixer fix --dry-run --diff",
        "phpstan": "@php -d memory_limit=-1 ./vendor/bin/phpstan analyze -c phpstan.neon.dist",
        "phpstan:generate-baseline": "@php -d memory_limit=-1 ./vendor/bin/phpstan analyze -c phpstan.neon.dist --generate-baseline",
        "restore-test-db": [
            "@php ./tests/bin/restore-test-db.php"
        ],
        "restore-test-tables": [
            "@php ./tests/bin/restore-test-tables.php"
        ],
        "run-api-module-tests-local": [
            "_PS_ROOT_DIR_=`pwd` php -d date.timezone=UTC ./vendor/phpunit/phpunit/phpunit -c modules/ps_apiresources/tests/Integration/phpunit-local.xml"
        ],
        "test-all": [
            "@composer unit-tests",
            "@composer integration-tests",
            "@composer integration-behaviour-tests"
        ],
        "twig": "@php ./vendor/bin/twig-cs-fixer lint ./src/PrestaShopBundle/Resources/views",
        "twig:fix": "@php ./vendor/bin/twig-cs-fixer fix ./src/PrestaShopBundle/Resources/views",
        "unit-tests": [
            "@php -d date.timezone=UTC ./vendor/phpunit/phpunit/phpunit -c tests/Unit/phpunit.xml"
        ]
    },
    "scripts-descriptions": {
        "create-release": "Create a release of PrestaShop, run the command with -h/--help argument for more information.",
        "create-test-db": "Create a Database for testing purposes",
        "create-test-table-dumps": "Create a dump of each table in the Database for testing purposes",
        "php-cs-fixer": "Launch php cs fixer, fixes will be applied automatically",
        "php-cs-fixer:dry": "Launch php cs fixer in dry mode: fixes will not be applied automatically",
        "phpstan": "Launch a phpstan analyzis",
        "phpstan:generate-baseline": "Launch a phpstan analyzis and generate a baseline file",
        "restore-test-db": "Restore the whole DB in a single dump",
        "restore-test-tables": "Restore all tables one by one, only when they have been modified",
        "test-all": "Launch all PHPUnit test suites",
        "twig": "Launch Twig CS Fixer to check for coding standards",
        "twig:fix": "Launch Twig CS Fixer to automatically fix coding standards issues"
    }
}
