Enable Discovery debug logging for production troubleshooting
- Add DISCOVERY_LOG_LEVEL=debug - Add DISCOVERY_SHOW_PROGRESS=true - Temporary changes for debugging InitializerProcessor fixes on production
This commit is contained in:
111
tests/debug/test-component-scanner.php
Normal file
111
tests/debug/test-component-scanner.php
Normal file
@@ -0,0 +1,111 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
require_once __DIR__ . '/../../vendor/autoload.php';
|
||||
|
||||
use App\Framework\Design\ComponentScanner;
|
||||
use App\Framework\Filesystem\FilePath;
|
||||
|
||||
$scanner = new ComponentScanner();
|
||||
|
||||
// Test with a simple CSS file
|
||||
$testCss = <<<CSS
|
||||
.card {
|
||||
background: white;
|
||||
padding: 1rem;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.card:hover {
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.btn {
|
||||
background: blue;
|
||||
color: white;
|
||||
padding: 0.5rem 1rem;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background: #3b82f6;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
background: #f3f4f6;
|
||||
}
|
||||
|
||||
.alert-success {
|
||||
background: green;
|
||||
color: white;
|
||||
}
|
||||
CSS;
|
||||
|
||||
// Write test CSS to a temporary file
|
||||
$tempFile = __DIR__ . '/../tmp/test-components.css';
|
||||
@mkdir(dirname($tempFile), 0777, true);
|
||||
file_put_contents($tempFile, $testCss);
|
||||
|
||||
try {
|
||||
// Scan the test file
|
||||
$registry = $scanner->scanComponents([$tempFile]);
|
||||
|
||||
echo "Total components found: " . $registry->getTotalComponents() . "\n\n";
|
||||
|
||||
$components = $registry->getAllComponents();
|
||||
foreach ($components as $component) {
|
||||
echo "Component: " . $component->name . "\n";
|
||||
echo " - Display Name: " . $component->getDisplayName() . "\n";
|
||||
echo " - Category: " . $component->category->value . "\n";
|
||||
echo " - Pattern: " . $component->pattern->value . "\n";
|
||||
echo " - State: " . $component->state->value . "\n";
|
||||
echo " - Selector: " . $component->selector . "\n";
|
||||
echo "\n";
|
||||
}
|
||||
|
||||
// Now test with real CSS files
|
||||
echo "\n--- Scanning Real CSS Files ---\n\n";
|
||||
|
||||
$cssFiles = [
|
||||
__DIR__ . '/../../resources/css/components/card.css',
|
||||
__DIR__ . '/../../resources/css/components/buttons.css',
|
||||
__DIR__ . '/../../resources/css/components/sidebar.css',
|
||||
];
|
||||
|
||||
$existingFiles = array_filter($cssFiles, 'file_exists');
|
||||
|
||||
if (!empty($existingFiles)) {
|
||||
$realRegistry = $scanner->scanComponents($existingFiles);
|
||||
|
||||
echo "Total components found in real files: " . $realRegistry->getTotalComponents() . "\n\n";
|
||||
|
||||
$realComponents = $realRegistry->getAllComponents();
|
||||
foreach (array_slice($realComponents, 0, 10) as $component) {
|
||||
echo "Component: " . $component->name . "\n";
|
||||
echo " - Display Name: " . $component->getDisplayName() . "\n";
|
||||
echo " - Category: " . $component->category->value . "\n";
|
||||
echo " - Pattern: " . $component->pattern->value . "\n";
|
||||
echo " - File: " . basename($component->filePath) . "\n";
|
||||
echo "\n";
|
||||
}
|
||||
|
||||
// Show category counts
|
||||
echo "\nCategory Distribution:\n";
|
||||
$categoryCounts = $realRegistry->getCategoryCounts();
|
||||
foreach ($categoryCounts as $category => $count) {
|
||||
if ($count > 0) {
|
||||
echo " - $category: $count components\n";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
echo "No real CSS files found to scan.\n";
|
||||
}
|
||||
|
||||
} catch (\Exception $e) {
|
||||
echo "Error: " . $e->getMessage() . "\n";
|
||||
echo "Trace: " . $e->getTraceAsString() . "\n";
|
||||
} finally {
|
||||
// Clean up temp file
|
||||
@unlink($tempFile);
|
||||
}
|
||||
Reference in New Issue
Block a user