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