omaralalwi / laravel-trash-cleaner
Clean Laravel debug/log files (Debugbar, Clockwork), compiled views and frontend build artifacts, with optional rebuild and scheduling.
Package info
github.com/omaralalwi/laravel-trash-cleaner
pkg:composer/omaralalwi/laravel-trash-cleaner
Requires
- php: ^7.4|^8.1|^8.2|^8.3|^8.4
This package is auto-updated.
Last update: 2026-06-22 00:21:43 UTC
README
Laravel Trash Cleaner is a lightweight and powerful utility package that helps you keep your Laravel application clean and performant by:
- ๐งน Deleting debug files (Debugbar, Clockwork) from
storage/. - โก Clearing compiled view caches and frontend build directories.
- ๐ ๏ธ Optionally rebuilding frontend assets using tools like
npm,yarn, orpnpm. - โฐ Optionally scheduling automatic cleanup via Laravel's scheduler.
๐ Table of Contents
- Requirements
- Installation
- Usage
- Configuration
- Scheduling Automatic Cleanup
- Contributing
- Security
- License
- Helpful Open Source Packages
โ Requirements
- PHP
7.4or8.1+(^7.4 | ^8.1 | ^8.2 | ^8.3 | ^8.4) - Laravel
8.xor higher - A Unix-like environment (Linux/macOS) for
trash:clean-assets, which usesrmand your Node package manager. See the note below.
๐ Installation
Install the package via Composer:
composer require omaralalwi/laravel-trash-cleaner
๐ง Publish Configuration
Optionally, publish the configuration file to customize paths and build settings (see Configuration):
php artisan vendor:publish --tag=laravel-trash-cleaner
๐งน Usage
๐ธ Clean Debug Files
Deletes the .json debug files from the storage/debugbar and storage/clockwork folders with a progress bar, and reports how much disk space was freed:
php artisan trash:clean
๐ธ Clean Asset Folders
Removes frontend-related build caches and compiled view files based on your config (see cleanup_paths):
php artisan trash:clean-assets
Note:
trash:clean-assetsrunsrm -rfand your Node package manager under the hood, so it is intended for Unix-like environments (Linux/macOS). It is not supported on native Windows shells.
๐ธ Clean + Rebuild Frontend (Optional)
Use the --build flag to also run your frontend build steps (npm install && npm run build or equivalent):
php artisan trash:clean-assets --build
This is ideal for resetting the build process after switching branches, clearing corrupted caches, or deploying updates.
โ๏ธ Configuration
Publish the config file (if you haven't already):
php artisan vendor:publish --tag=laravel-trash-cleaner
This creates config/laravel-trash-cleaner.php:
return [ // Enable Laravel scheduler integration for `trash:clean` (see Scheduling below). 'schedule' => false, // How often the scheduled cleanup runs. Must be a valid Laravel Schedule // frequency method, e.g. 'daily', 'hourly', 'everyFifteenMinutes', 'weekly'. 'frequency' => 'daily', // Paths removed by `trash:clean-assets` (relative to the project root, glob supported). 'cleanup_paths' => [ 'storage/framework/views/*', 'public/build', 'node_modules/.vite', ], // Node package manager used by the `--build` flag: "npm", "pnpm", or "yarn". 'package_manager' => 'npm', // Commands run (per entry) when `--build` is passed, prefixed by the package manager above. // e.g. with npm: `npm install` then `npm run build`. 'build_commands' => [ 'install', 'run build', ], ];
| Key | Type | Default | Description |
|---|---|---|---|
schedule |
bool |
false |
Auto-schedule trash:clean via Laravel's scheduler. |
frequency |
string |
'daily' |
Any Laravel Schedule frequency method name. |
cleanup_paths |
array |
see above | Paths deleted by trash:clean-assets. |
package_manager |
string |
'npm' |
Node package manager for the --build step. |
build_commands |
array |
['install', 'run build'] |
Commands appended to the package manager when building. |
Tip: If you use
pnpminstead of the defaultnpm, set'package_manager' => 'pnpm'.
โฐ Scheduling Automatic Cleanup
To automate cleanup using Laravel's scheduler:
- Enable it in your config:
'schedule' => true, 'frequency' => 'daily', // any Laravel Schedule frequency method, e.g. 'hourly', 'weekly'
- Ensure Laravel's scheduler is running via cron:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
Note: Only
trash:clean(debug files) is auto-scheduled. To scheduletrash:clean-assetsas well, register it manually in your application'sroutes/console.php(orapp/Console/Kernel.php):Schedule::command('trash:clean-assets')->weekly();
๐ค Contributing
Contributions are welcome! Please see CONTRIBUTING for details.
๐ก๏ธ Security
If you discover any security vulnerabilities, please contact: omaralwi2010@gmail.com
๐ License
Licensed under the MIT License.
๐ Helpful Open Source Packages
-
Lexi Translate simplify managing translations for multilingual Eloquent models with power of morph relationships and caching . -
Gpdf Open Source HTML to PDF converter for PHP & Laravel Applications, supports Arabic content out-of-the-box and other languages.. -
laravel Taxify Laravel Taxify provides a set of helper functions and classes to simplify tax (VAT) calculations within Laravel applications. -
laravel Deployer Streamlined Deployment for Laravel and Node.js apps, with Zero-Downtime and various environments and branches. -
laravel Time Craft simple trait and helper functions that allow you, Effortlessly manage date and time queries in Laravel apps. -
Laravel Startkit Laravel Admin Dashboard, Admin Template with Frontend Template, for scalable Laravel projects.

