diff --git a/bin/a11y b/bin/a11y index 32d9227..8789a56 100644 --- a/bin/a11y +++ b/bin/a11y @@ -18,7 +18,7 @@ use YakNet\AccessibilityConsole\Console\Command\InitCommand; use YakNet\AccessibilityConsole\Console\Command\RulesCommand; $container = ContainerFactory::create(); -$application = new Application('YakNet Accessibility Console', '3.2.1'); +$application = new Application('YakNet Accessibility Console', '3.2.2'); // Add commands resolved via DI Container $application->addCommand($container->get(ScanCommand::class)); diff --git a/composer.json b/composer.json index 6617774..2d0ece2 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,7 @@ "yaknet" ], "homepage": "https://forum.yak.net.tr", - "version": "3.2.1", + "version": "3.2.2", "type": "library", "license": "MIT", "authors": [ @@ -41,9 +41,11 @@ "symfony/css-selector": "^6.4 || ^7.0 || ^8.0", "symfony/dom-crawler": "^6.4 || ^7.0 || ^8.0", "spatie/color": "^1.5 || ^2.0", - "intervention/image": "^2.7 || ^3.0", - "dompdf/dompdf": "^2.0 || ^3.0", - "phpoffice/phpspreadsheet": "^1.28 || ^2.0 || ^3.0" + "intervention/image": "^2.7 || ^3.0" + }, + "suggest": { + "dompdf/dompdf": "Required for generating PDF Accessibility Certificates (^2.0 || ^3.0).", + "phpoffice/phpspreadsheet": "Required for exporting Excel Accessibility Audit Reports (^1.28 || ^2.0 || ^3.0)." }, "require-dev": { "phpunit/phpunit": "^10.5", diff --git a/src/Reporting/ExcelReportExporter.php b/src/Reporting/ExcelReportExporter.php index 9a58aec..3c98338 100644 --- a/src/Reporting/ExcelReportExporter.php +++ b/src/Reporting/ExcelReportExporter.php @@ -18,6 +18,10 @@ class ExcelReportExporter */ public static function exportExcel(array $scanResult, string $targetUrl): string { + if (!class_exists(Spreadsheet::class)) { + throw new \RuntimeException('To export Excel audit reports, please install phpspreadsheet via: composer require phpoffice/phpspreadsheet'); + } + /** @var int $score */ $score = is_numeric($scanResult['score'] ?? null) ? intval($scanResult['score']) : 0; diff --git a/src/Reporting/PdfReportGenerator.php b/src/Reporting/PdfReportGenerator.php index 5218805..f6292a5 100644 --- a/src/Reporting/PdfReportGenerator.php +++ b/src/Reporting/PdfReportGenerator.php @@ -16,6 +16,10 @@ class PdfReportGenerator */ public static function generatePdf(array $scanResult, string $targetUrl): string { + if (!class_exists(Dompdf::class)) { + throw new \RuntimeException('To generate PDF certificates, please install dompdf via: composer require dompdf/dompdf'); + } + /** @var int $score */ $score = is_numeric($scanResult['score'] ?? null) ? intval($scanResult['score']) : 0;