{ "name": "invoiceshelf/invoiceshelf", "description": "Free & Open Source Invoice App for Individuals & Small Businesses. https://invoiceshelf.com", "keywords": [ "framework", "laravel" ], "license": "MIT", "type": "project", "require": { "php": "^8.2", "aws/aws-sdk-php": "^3.336", "barryvdh/laravel-dompdf": "^v3.0", "doctrine/dbal": "^4.2", "dragonmantank/cron-expression": "^v3.4", "gotenberg/gotenberg-php": "^2.8", "guzzlehttp/guzzle": "^7.9", "invoiceshelf/modules": "^1.0.0", "jasonmccreary/laravel-test-assertions": "^v2.4", "laravel/framework": "^12.0", "laravel/helpers": "^1.7", "laravel/sanctum": "^4.0", "laravel/tinker": "^2.10.1", "laravel/ui": "^4.6", "lavary/laravel-menu": "^1.8", "league/flysystem-aws-s3-v3": "^3.29", "predis/predis": "^2.3", "silber/bouncer": "v1.0.3", "spatie/flysystem-dropbox": "^3.0", "spatie/laravel-backup": "^9.2.9", "spatie/laravel-medialibrary": "^11.11", "symfony/mailer": "^7.3", "symfony/mailgun-mailer": "^7.3", "vinkla/hashids": "^13.0.0" }, "require-dev": { "barryvdh/laravel-ide-helper": "^3.5", "beyondcode/laravel-dump-server": "^2.0.0", "fakerphp/faker": "^1.23", "laravel/pint": "^1.13", "laravel/sail": "^1.41", "mockery/mockery": "^1.6", "nunomaduro/collision": "^8.6", "pestphp/pest": "^3.8", "pestphp/pest-plugin-faker": "^3.0", "pestphp/pest-plugin-laravel": "^3.1", "phpunit/phpunit": "^11.5.3", "spatie/laravel-ignition": "^2.9" }, "autoload": { "psr-4": { "App\\": "app/", "Database\\Factories\\": "database/factories/", "Database\\Seeders\\": "database/seeders/", "Modules\\": "Modules/" }, "files": [ "app/Space/helpers.php" ] }, "autoload-dev": { "psr-4": { "Tests\\": "tests/" } }, "scripts": { "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" ], "dev": [ "Composer\\Config::disableProcessTimeout", "npx concurrently -c \"#93c5fd,#c4b5fd,#fb7185,#fdba74\" \"php artisan serve\" \"php artisan queue:listen --tries=1\" \"php artisan pail --timeout=0\" \"npm run dev\" --names=server,queue,logs,vite" ] }, "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 }