{ "$schema": "https://getcomposer.org/schema.json", "name": "laravel/laravel", "type": "project", "description": "The skeleton application for the Laravel framework.", "keywords": ["laravel", "framework"], "license": "MIT", "require": { "php": "^8.3", "laravel/framework": "^13.7", "laravel/sanctum": "^4.3", "laravel/tinker": "^3.0", "openspout/openspout": "^5.3", "phpoffice/phpspreadsheet": "^5.0", "pragmarx/google2fa": "^9.0", "predis/predis": "^3.4" }, "require-dev": { "barryvdh/laravel-ide-helper": "*", "deptrac/deptrac": "^4.6", "driftingly/rector-laravel": "^2.3", "fakerphp/faker": "^1.23", "infection/infection": "^0.32.7", "larastan/larastan": "*", "laravel/boost": "^2.4", "laravel/pail": "^1.2.5", "laravel/pao": "^1.0.6", "laravel/pint": "^1.29", "mockery/mockery": "^1.6", "nunomaduro/collision": "^8.6", "nunomaduro/phpinsights": "*", "pestphp/pest": "^4.7", "pestphp/pest-plugin-laravel": "^4.1", "rector/rector": "^2.4", "roave/security-advisories": "dev-latest" }, "autoload": { "psr-4": { "App\\": "app/", "Database\\Factories\\": "database/factories/", "Database\\Seeders\\": "database/seeders/" } }, "autoload-dev": { "psr-4": { "Tests\\": "tests/" } }, "scripts": { "setup": [ "composer install", "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"", "@php artisan key:generate", "@php artisan migrate --force", "npm install --ignore-scripts", "npm run build" ], "dev": [ "Composer\\Config::disableProcessTimeout", "npx concurrently -c \"#93c5fd,#c4b5fd,#fb7185,#fdba74\" \"php artisan serve\" \"php artisan queue:listen --tries=1 --timeout=0\" \"php artisan pail --timeout=0\" \"npm run dev\" --names=server,queue,logs,vite --kill-others" ], "test": [ "@php artisan config:clear --ansi @no_additional_args", "@php artisan test" ], "pint": "@php vendor/bin/pint", "pint:test": "@php vendor/bin/pint --test", "test:parallel": "@php vendor/bin/pest --parallel --recreate-databases", "stan": "@php vendor/bin/phpstan analyse --memory-limit=512M", "rector": "@php vendor/bin/rector process --dry-run", "rector:fix": "@php vendor/bin/rector process", "insights": "@php artisan insights --no-interaction", "mutation": "@php vendor/bin/infection --threads=2 --min-msi=50", "audit-offline": "@composer audit --locked", "demo:seed": "@php artisan db:seed --class=DemoSeeder --force", "ide-helper": [ "@php artisan ide-helper:generate", "@php artisan ide-helper:meta" ], "post-autoload-dump": [ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", "@php artisan package:discover --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');\"" ], "post-create-project-cmd": [ "@php artisan key:generate --ansi", "@php -r \"file_exists('database/database.sqlite') || touch('database/database.sqlite');\"", "@php artisan migrate --graceful --ansi" ], "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, "infection/extension-installer": true, "dealerdirect/phpcodesniffer-composer-installer": true } }, "minimum-stability": "stable", "prefer-stable": true }