PHP code example of daikazu / asset-cleaner

1. Go to this page and download the library: Download daikazu/asset-cleaner library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

daikazu / asset-cleaner example snippets


// config/asset-cleaner.php

return [
    /*
    |--------------------------------------------------------------------------
    | Image Asset Cleaner Configuration
    |--------------------------------------------------------------------------
    */

    // Directories to scan for image assets
    'scan_paths' => [
        'public',
        'resources',
    ],

    // File extensions considered as images
    'image_extensions' => [
        'jpg', 'jpeg', 'png', 'gif', 'svg',
        'webp', 'ico', 'bmp', 'tiff', 'avif',
    ],

    // Directories to search for references
    'search_paths' => [
        'app',
        'resources',
        'routes',
        'config',
        'database',
    ],

    // File types to search for image references
    'search_extensions' => [
        'php', 'blade.php',
        'js', 'jsx', 'ts', 'tsx', 'vue', 'svelte',
        'css', 'scss', 'sass', 'less',
        'json', 'yaml', 'yml',
        'md', 'mdx',
    ],

    // Patterns to exclude from scanning
    'exclude_patterns' => [
        '**/node_modules/**',
        '**/vendor/**',
        '**/.git/**',
    ],

    // Protected files (never marked as unused)
    'protected_patterns' => [
        '**/favicon.ico',
        '**/favicon.png',
        '**/apple-touch-icon.png',
        '**/logo.*',
    ],

    // Manifest file location
    'manifest_path' => 'unused-assets.json',

    // Backup files before deletion
    'backup_before_delete' => true,
    'backup_path' => '.asset-cleaner-backup',

    /*
    |--------------------------------------------------------------------------
    | Blade Component Cleaner Configuration
    |--------------------------------------------------------------------------
    */

    'blade_cleaner' => [
        // Directories for anonymous components
        'anonymous_paths' => [
            'resources/views/components',
        ],

        // Directories for class-based components
        'class_paths' => [
            'app/View/Components',
        ],

        // Directories to search for component references
        'search_paths' => [
            'resources/views',
            'app',
            'routes',
            'config',
        ],

        // File types to search
        'search_extensions' => [
            'blade.php',
            'php',
        ],

        // Patterns to exclude
        'exclude_patterns' => [
            '**/vendor/**',
            '**/node_modules/**',
        ],

        // Protected components (never marked as unused)
        'protected_patterns' => [
            'layout',
            'layouts.*',
            'app-layout',
        ],

        // Manifest file location
        'manifest_path' => 'unused-components.json',

        // Backup directory (separate from image assets)
        'backup_path' => '.blade-cleaner-backup',
    ],
];

use Daikazu\AssetCleaner\Facades\AssetCleaner;

// Get all image assets
$assets = AssetCleaner::scan();

// Find unused assets
$unused = AssetCleaner::findUnused();

// Get statistics
$stats = AssetCleaner::getStatistics();
// Returns: ['total' => 150, 'unused' => 12, 'used' => 138, ...]

// Generate manifest
AssetCleaner::generateManifest();

// Clean from manifest
$result = AssetCleaner::cleanFromManifest();

// One-shot cleanup
$result = AssetCleaner::cleanAll();

// Dry run
$result = AssetCleaner::cleanAll(dryRun: true);

use Daikazu\AssetCleaner\Facades\BladeCleaner;

// Get all Blade components
$components = BladeCleaner::scan();

// Find unused components
$unused = BladeCleaner::findUnused();

// Get statistics
$stats = BladeCleaner::getStatistics();
// Returns: ['total' => 45, 'unused' => 5, 'used' => 40, ...]

// Generate manifest
BladeCleaner::generateManifest();

// Clean from manifest
$result = BladeCleaner::cleanFromManifest();

// One-shot cleanup
$result = BladeCleaner::cleanAll();

// Dry run
$result = BladeCleaner::cleanAll(dryRun: true);
bash
php artisan vendor:publish --tag="asset-cleaner-config"
bash
php artisan asset-cleaner:scan
bash
php artisan asset-cleaner:clean
bash
php artisan blade-cleaner:scan
bash
php artisan blade-cleaner:clean