{
    "$schema": "https://getcomposer.org/schema.json",
    "name": "loyal/platform",
    "type": "project",
    "description": "Loyalty platform: embeddable API-first loyalty engine and standalone SaaS.",
    "license": "proprietary",
    "require": {
        "php": "^8.5",
        "brick/math": "^1.0",
        "filament/filament": "5.9.0",
        "internachi/modular": "^3.0",
        "laravel/framework": "^13.0",
        "laravel/tinker": "^3.0",
        "modules/access": "*",
        "modules/audit": "*",
        "modules/bonuses": "*",
        "modules/cabinet": "*",
        "modules/catalog": "*",
        "modules/consents": "*",
        "modules/identity": "*",
        "modules/kernel": "*",
        "modules/ledger": "*",
        "modules/management": "*",
        "modules/members": "*",
        "modules/outbox": "*",
        "modules/processing": "*",
        "modules/programs": "*",
        "modules/rules": "*",
        "modules/tenancy": "*",
        "modules/tiers": "*",
        "modules/verification": "*",
        "modules/webhooks": "*"
    },
    "require-dev": {
        "deptrac/deptrac": "^4.7",
        "fakerphp/faker": "^1.23",
        "justinrainbow/json-schema": "6.13",
        "larastan/larastan": "^3.12",
        "laravel/pint": "^1.27",
        "mockery/mockery": "^1.6",
        "nunomaduro/collision": "^8.6",
        "pestphp/pest": "^5.2",
        "pestphp/pest-plugin-laravel": "^5.0",
        "symfony/yaml": "8.1"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Database\\Factories\\": "database/factories/",
            "Database\\Seeders\\": "database/seeders/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/",
            "Loyal\\Sdk\\": "sdk/php/src/",
            "Loyal\\Sdk\\Tests\\": "sdk/php/tests/",
            "Loyal\\SdkGenerator\\": "sdk/generator/src/",
            "Loyal\\SdkGenerator\\Tests\\": "sdk/generator/tests/"
        }
    },
    "scripts": {
        "lint": [
            "pint --test",
            "pint --test --config=sdk/php/pint.json sdk/php"
        ],
        "fix": [
            "pint",
            "pint --config=sdk/php/pint.json sdk/php"
        ],
        "analyse": [
            "phpstan analyse --memory-limit=1G --no-progress",
            "phpstan analyse -c sdk/php/phpstan.neon --memory-limit=1G --no-progress"
        ],
        "deptrac": "deptrac analyse --no-progress",
        "test": [
            "Composer\\Config::disableProcessTimeout",
            "@php artisan config:clear --ansi",
            "pest"
        ],
        "sdk:test-ts": "npm --prefix sdk/typescript test",
        "check": [
            "@lint",
            "@analyse",
            "@deptrac",
            "@test",
            "@sdk:test-ts"
        ],
        "migrate": "@php artisan migrate --database=pgsql_owner",
        "sdk:generate": "@php sdk/generator/bin/generate",
        "dev": [
            "Composer\\Config::disableProcessTimeout",
            "npx concurrently -c \"#93c5fd,#c4b5fd,#fdba74\" \"php artisan serve\" \"php artisan queue:listen --tries=1 --timeout=0\" \"npm run dev\" --names=server,queue,vite --kill-others"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi",
            "@php artisan filament:assets --ansi"
        ],
        "post-update-cmd": [
            "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "pre-package-uninstall": [
            "Illuminate\\Foundation\\ComposerScripts::prePackageUninstall"
        ]
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true,
        "allow-plugins": {
            "pestphp/pest-plugin": true,
            "php-http/discovery": true
        }
    },
    "minimum-stability": "stable",
    "prefer-stable": true,
    "repositories": [
        {
            "type": "path",
            "url": "app-modules/*",
            "options": {
                "symlink": true
            }
        }
    ]
}
