{
    "type": "project",
    "license": "proprietary",
    "require": {
        "php": "^7.2",
        "ext-ctype": "*",
        "ext-dom": "*",
        "ext-fileinfo": "*",
        "ext-iconv": "*",
        "ext-json": "*",
        "ext-openssl": "*",
        "ext-pdo": "*",
        "ext-pdo_pgsql": "*",
        "ext-simplexml": "*",
        "ext-soap": "*",
        "aws/aws-sdk-php": "^3.100",
        "azuyalabs/yasumi": "^2.2",
        "beberlei/assert": "^3.2",
        "cocur/slugify": "^4.0",
        "drewm/mailchimp-api": "^2.5",
        "firebase/php-jwt": "^5.2",
        "fzaninotto/faker": "^1.8",
        "geoip2/geoip2": "^2.10",
        "giggsey/libphonenumber-for-php": "^8.10",
        "graylog2/gelf-php": "^1.6",
        "guzzlehttp/psr7": "^1.6",
        "ircmaxell/random-lib": "^1.2",
        "knplabs/knp-snappy-bundle": "^1.7",
        "league/flysystem": "^1.0",
        "league/flysystem-aws-s3-v3": "^1.0",
        "league/tactician-bundle": "^1.1",
        "lexik/jwt-authentication-bundle": "^2.6",
        "moneyphp/money": "^3.2",
        "payum/iso4217": "^1.0",
        "php-http/curl-client": "^2.0",
        "php-http/httplug": "^2.0",
        "php-http/multipart-stream-builder": "^1.1",
        "pn/swiftcodes": "dev-master",
        "prooph/event-sourcing": "^5.6",
        "prooph/event-store-symfony-bundle": "^0.8.0",
        "prooph/pdo-event-store": "^1.11",
        "pusher/pusher-php-server": "^6.1",
        "ramsey/uuid": "^3.8",
        "simshaun/recurr": "^4.0",
        "symfony/asset": "4.4.*",
        "symfony/console": "4.4.*",
        "symfony/dotenv": "4.4.*",
        "symfony/expression-language": "4.4.*",
        "symfony/flex": "^1.1",
        "symfony/form": "4.4.*",
        "symfony/framework-bundle": "4.4.*",
        "symfony/http-client": "4.4.*",
        "symfony/lock": "4.4.*",
        "symfony/mailchimp-mailer": "4.4.*",
        "symfony/mailer": "4.4.*",
        "symfony/messenger": "4.4.*",
        "symfony/monolog-bundle": "^3.3",
        "symfony/orm-pack": "^1.0",
        "symfony/security-bundle": "4.4.*",
        "symfony/sendgrid-mailer": "4.4.*",
        "symfony/translation": "4.4.*",
        "symfony/twig-bundle": "4.4.*",
        "symfony/validator": "4.4.*",
        "symfony/yaml": "4.4.*",
        "twilio/sdk": "^6.6",
        "zendframework/zend-diactoros": "^2.1"
    },
    "require-dev": {
        "behat/behat": "^3.5",
        "behat/symfony2-extension": "^2.1",
        "doctrine/doctrine-fixtures-bundle": "^3.3",
        "friendsofphp/php-cs-fixer": "^2.14",
        "phpstan/phpstan": "^0.11.3",
        "phpunit/phpunit": "^8.0",
        "symfony/browser-kit": "4.4.*",
        "symfony/profiler-pack": "^1.0",
        "symfony/var-dumper": "4.4.*"
    },
    "config": {
        "preferred-install": {
            "*": "dist"
        },
        "platform": {
            "php": "7.2.24"
        },
        "sort-packages": true
    },
    "autoload": {
        "psr-4": {
            "App\\": "src/App",
            "MyMoneyJar\\": "src/MyMoneyJar",
            "Revim\\AISP\\": "src/Revim/AISP",
            "Revim\\Bootguard\\": "src/Revim/Bootguard",
            "Revim\\Polls\\": "src/Revim/Polls",
            "Revim\\PrepaidFinancialServices\\": "src/Revim/PrepaidFinancialServices",
            "Revim\\Veriff\\": "src/Revim/Veriff"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "": "tests"
        }
    },
    "replace": {
        "paragonie/random_compat": "2.*",
        "symfony/polyfill-ctype": "*",
        "symfony/polyfill-iconv": "*",
        "symfony/polyfill-php71": "*",
        "symfony/polyfill-php70": "*",
        "symfony/polyfill-php56": "*"
    },
    "scripts": {
        "dependencies:dev:install": [
            "@composer:dev:install"
        ],
        "dependencies:prod:install": [
            "@composer:prod:install"
        ],
        "composer:dev:install": [
            "composer install --no-interaction --optimize-autoloader"
        ],
        "composer:prod:install": [
            "APP_ENV=prod composer install --no-interaction --optimize-autoloader --no-dev"
        ],
        "build": [
            "@dependencies:prod:install",
            "composer archive --no-interaction --dir=build --file=my-money-jar-archive"
        ],
        "auto-scripts": {
            "cache:clear": "symfony-cmd",
            "assets:install %PUBLIC_DIR%": "symfony-cmd"
        },
        "post-install-cmd": [
            "@auto-scripts"
        ],
        "post-update-cmd": [
            "@auto-scripts"
        ],

        "database:dev:create": [
            "bin/console doctrine:database:create -n --env=dev --ansi",
            "bin/console doctrine:migrations:migrate -n --env=dev --ansi",
            "bin/console event-store:event-stream:create --env=dev --ansi"
        ],
        "database:dev:drop": [
            "bin/console doctrine:database:drop --if-exists --force -n --env=dev --ansi"
        ],
        "database:dev:reset": [
            "@database:dev:drop",
            "@database:dev:create",
            "bin/console mmj:orm:generate-proxies --env=dev --ansi"
        ],
        "database:test:create": [
            "bin/console doctrine:database:create -n --env=test --ansi",
            "bin/console doctrine:migrations:migrate -n --env=test --ansi",
            "bin/console event-store:event-stream:create --env=test --ansi"
        ],
        "database:test:drop": [
            "bin/console doctrine:database:drop --if-exists --force -n --env=test --ansi"
        ],
        "database:test:reset": [
            "@database:test:drop",
            "@database:test:create",
            "bin/console mmj:orm:generate-proxies --env=test --ansi"
        ],

        "cache:test:clear": [
            "bin/console cache:clear --env=test --ansi"
        ],

        "cs-fixer:fix": [
            "php-cs-fixer fix"
        ],

        "tests:php:cs": [

            "php-cs-fixer fix -v --dry-run --using-cache=no --ansi"
        ],
        "tests:php:unit": [
            "phpunit --testsuite unit --verbose --colors=always"
        ],
        "tests:php:behat": [
            "behat --tags=domain --format=progress --colors"
        ],
        "tests:php:behat:verbose": [
            "behat --tags=domain --format=progress --colors -v"
        ],
        "tests:php:integration": [
            "phpunit --testsuite integration --verbose --colors=always"
        ],
        "tests:php:functional": [
            "phpunit --testsuite functional --verbose --stop-on-failure --colors=always"
        ],
        "tests:php": [
            "@tests:php:unit",
            "@database:test:reset",
            "@cache:test:clear",
            "@tests:php:integration",
            "@tests:php:functional"
        ],
        "tests": [
            "bin/console cache:clear --env=test --ansi",
            "@tests:php:cs",
            "@tests:php"
        ],
        "tests:fast": [
            "bin/console cache:clear --env=test --ansi",
            "@tests:php"
        ]
    },
    "conflict": {
        "symfony/symfony": "*"
    },
    "extra": {
        "symfony": {
            "allow-contrib": false,
            "require": "4.4.*"
        }
    },
    "archive": {
        "exclude": [
            ".*",
            "!.env",
            "!.env.local.php",
            "!.htaccess",
            "!vendor",
            "build/*",
            "public/assets/dist/*",
            "public/assets/test-dist/*",
            "tests/*",
            "var/*",
            "phpunit.xml",
            "phpunit.xml.dist",
            "README.md"
        ]
    }
}
