Composer
Composer is the PHP dependency manager used by the CPR backend.
Available Scripts
The composer.json defines several custom scripts:
| Command | Description |
|---|---|
composer setup | Full project setup (install, env, migrate, npm, build) |
composer dev | Start all dev servers in parallel |
composer dev:ssr | Start dev servers with SSR enabled |
composer test | Run tests in parallel (10 processes) |
composer stan | Run PHPStan static analysis |
composer pint | Run Laravel Pint code formatter |
composer setup
Runs the complete first-time setup:
bash
composer install # Install PHP dependencies
copy .env.example .env # Create environment file
php artisan key:generate # Generate application key
php artisan migrate --force # Run database migrations
npm install # Install Node.js dependencies
npm run build # Build frontend assetscomposer dev
Starts all development servers concurrently using npx concurrently:
bash
php artisan serve # Laravel server (port 8000)
php artisan queue:listen # Queue worker
php artisan pail # Log watcher
npm run dev # Vite dev server (port 5173)composer test
Clears config cache and runs Pest tests in parallel:
bash
php artisan config:clear --ansi
php artisan test --parallel --processes=10Key Dependencies
Production
| Package | Version | Purpose |
|---|---|---|
laravel/framework | ^12.0 | Core framework |
laravel/sanctum | ^4.0 | API token authentication |
laravel/fortify | ^1.30 | Authentication backend |
spatie/laravel-permission | ^6.23 | Role-based access control |
spatie/laravel-activitylog | ^4.12 | Audit logging |
intervention/image | ^3.0 | Image processing |
sentry/sentry-laravel | ^4.20 | Error tracking |
dedoc/scramble | ^0.13.7 | API documentation generator |
inertiajs/inertia-laravel | ^2.0 | Inertia.js adapter |
Development
| Package | Version | Purpose |
|---|---|---|
pestphp/pest | ^4.1 | Testing framework |
pestphp/pest-plugin-laravel | ^4.0 | Laravel test helpers |
larastan/larastan | ^3.0 | PHPStan for Laravel |
laravel/pint | ^1.18 | Code formatting |
laravel/sail | ^1.52 | Docker environment |
laravel/pail | ^1.2.2 | Log monitoring |
mockery/mockery | ^1.6 | Mocking library |
Common Tasks
Installing a New Package
bash
# Production dependency
composer require vendor/package
# Development dependency
composer require vendor/package --devUpdating Dependencies
bash
# Update all packages
composer update
# Update a specific package
composer update vendor/package
# Check for outdated packages
composer outdatedAutoload Optimization
bash
# Development
composer dump-autoload
# Production (optimized)
composer install --optimize-autoloader --no-dev