Files
Obsidian-Vault/Career/Others/Untitled.md
2025-10-25 20:11:21 +02:00

1.3 KiB

php artisan make:command AuditDependenciesCommand
<?php  
  
namespace App\Console\Commands;  
  
use Exception;  
use Illuminate\Console\Command;  
use Illuminate\Support\Facades\Process;  
use Spatie\FlareClient\Enums\MessageLevels;  
use Spatie\LaravelIgnition\Facades\Flare;  
  
class AuditDependenciesCommand extends Command  
{  
    protected $signature = 'app:audit-dependencies';  
  
    public function handle(): void  
    {  
        $composer = Process::run('composer audit');  
  
        if (!blank($composer->output())) {  
            $this->warn('Composer audit found vulnerabilities');  
            Flare::glow('Composer audit found vulnerabilities', MessageLevels::WARNING, ['output' => $composer->output()]);
            Flare::report(new Exception('Composer audit found vulnerabilities'));  
        }  
  
        $npm = Process::run('npm audit');  
  
        if (trim($npm->output()) !== "found 0 vulnerabilities") {  
            $this->warn('NPM audit found vulnerabilities');  
            Flare::glow('NPM audit found vulnerabilities', MessageLevels::WARNING, ['output' => $npm->output()]);  
            Flare::report(new Exception('NPM audit found vulnerabilities'));  
        }  
    }  
}
$schedule->command(\App\Console\Commands\AuditDependenciesCommand::class)->daily();