{ "$schema": "https://getcomposer.org/schema.json", "name": "grazulex/laravel-api-kit", "type": "project", "description": "Laravel REST API starter kit with Sanctum, Spatie packages, Scramble docs, and Pest testing.", "keywords": ["laravel", "api", "rest", "starter-kit", "sanctum"], "license": "MIT", "require": { "php": "^8.3", "dedoc/scramble": "^0.12|^0.13", "grazulex/laravel-apiroute": "^2.0", "laravel/framework": "^13.0", "laravel/sanctum": "^4.0", "laravel/tinker": "^3.0", "spatie/laravel-data": "^4.0", "spatie/laravel-query-builder": "^7.0" }, "require-dev": { "driftingly/rector-laravel": "^2.0", "fakerphp/faker": "^1.23", "larastan/larastan": "^3.7", "laravel/pail": "^1.2.2", "laravel/pint": "^1.24", "mockery/mockery": "^1.6", "nunomaduro/collision": "^8.6", "pestphp/pest": "^4.0", "pestphp/pest-plugin-laravel": "^4.0", "rector/rector": "^2.2" }, "suggest": { "grazulex/laravel-api-idempotency": "RFC-compliant API idempotency with response caching and multiple storage drivers", "grazulex/laravel-api-throttle-smart": "Plan-aware smart rate limiting with quotas, multiple algorithms and multi-tenant support" }, "autoload": { "psr-4": { "App\\": "app/", "Database\\Factories\\": "database/factories/", "Database\\Seeders\\": "database/seeders/" } }, "autoload-dev": { "psr-4": { "Tests\\": "tests/" } }, "scripts": { "lint": [ "rector", "pint" ], "test:lint": [ "pint --test", "rector --dry-run" ], "test:types": [ "phpstan" ], "test:unit": [ "@php artisan config:clear --ansi", "@php artisan test" ], "test": [ "@test:lint", "@test:types", "@test:unit" ], "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" ] }, "extra": { "laravel": { "dont-discover": [] } }, "config": { "optimize-autoloader": true, "preferred-install": "dist", "sort-packages": true, "allow-plugins": { "pestphp/pest-plugin": true, "php-http/discovery": true }, "platform": { "php": "8.3.0" } }, "minimum-stability": "stable", "prefer-stable": true }