{
    "$schema": "https://getcomposer.org/schema.json",
    "name": "softsuite/smart-clinic-backend",
    "type": "project",
    "description": "Smart Clinic API-first Laravel backend",
    "keywords": [
        "laravel",
        "clinic",
        "appointments",
        "queue",
        "sanctum"
    ],
    "license": "proprietary",
    "require": {
        "php": "^8.3",
        "laravel/framework": "^13.0",
        "laravel/sanctum": "^4.0",
        "firebase/php-jwt": "^6.10"
    },
    "require-dev": {
        "fakerphp/faker": "^1.24",
        "laravel/pint": "^1.24",
        "mockery/mockery": "^1.6",
        "nunomaduro/collision": "^8.7",
        "phpunit/phpunit": "^12.0",
        "larastan/larastan": "^3.0 || ^4.0"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Database\\Factories\\": "database/factories/",
            "Database\\Seeders\\": "database/seeders/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ],
        "test": [
            "@php artisan test"
        ],
        "lint": [
            "@php vendor/bin/pint --test"
        ],
        "analyse": "@php vendor/bin/phpstan analyse --memory-limit=1G",
        "test:mysql-concurrency": "@php vendor/bin/phpunit -c phpunit.mysql.xml",
        "verify": [
            "@lint",
            "@analyse",
            "@test"
        ]
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true,
        "allow-plugins": {
            "php-http/discovery": true
        },
        "policy": {
            "advisories": {
                "block": false
            }
        }
    },
    "minimum-stability": "stable",
    "prefer-stable": true
}
