Коли-небудь замислювалися, які з опублікованих конфігураційних файлів Laravel ви справді змінювали? Після років розробки в папці з опублікованими vendor-файлами накопичується сміття — деякі файли змінені, багато залишилися незайманими, а частина — від пакетів, які давно видалили. Це ускладнює навігацію по кодовій базі й заплутує при оновленнях пакетів.
Laravel Vendor Cleanup від Chris Jones додає Artisan-команди, які інтелектуально порівнюють ваші опубліковані vendor-файли з оригіналами. Вони прибирають коментарі, за потреби нормалізують пропуски, а потім використовують SHA256-хешування, щоб точно показати, які файли ви змінювали (з кольоровими відсотками diff), які ідентичні з vendor (безпечно видаляти) і які залишилися сиротами від видалених пакетів.
Прибирайте зайве, відстежуйте свої кастомізації й оновлюйте пакети з упевненістю — усе через прості artisan-команди.
.php, так і .php.stub vendor-файлиКоманди, доступні на момент написання:
php artisan vendor-cleanup:config
php artisan vendor-cleanup:migration
php artisan vendor-cleanup:lang
php artisan vendor-cleanup:view
Приклад виводу команди vendor-cleanup:config:
$ php artisan vendor-cleanup:config
MODIFIED
+---------------------+------------+
| File | Difference |
+---------------------+------------+
| config/services.php | 25.7% |
| config/app.php | 22% |
| config/mail.php | 4.7% |
| config/cache.php | 3% |
| config/queue.php | 1.7% |
| config/database.php | 0.8% |
| config/session.php | 0.4% |
| config/apiroute.php | 0.1% |
+---------------------+------------+
UNCHANGED (matches vendor)
+--------------------+------------------------+
| File | File |
+--------------------+------------------------+
| config/auth.php | config/filesystems.php |
| config/logging.php | |
+--------------------+------------------------+
MISSING (not published locally)
+-------------------------------------------------------------------+--------------------------------------------+
| File | File |
+-------------------------------------------------------------------+--------------------------------------------+
| laravel/boost/config/boost.php | laravel/framework/config/broadcasting.php |
| laravel/framework/config/concurrency.php | laravel/framework/config/cors.php |
| laravel/framework/config/hashing.php | laravel/framework/config/view.php |
| laravel/mcp/config/mcp.php | laravel/tinker/config/tinker.php |
| mrpunyapal/laravel-extended-commands/config/extended-commands.php | spatie/laravel-data/config/data.php |
| spatie/php-structure-discoverer/config/structure-discoverer.php | symfony/http-kernel/config/FileLocator.php |
+-------------------------------------------------------------------+--------------------------------------------+
Done.
Спробуйте цей пакет у наявному проєкті й подивіться, що він знайде. Дізнайтеся більше та перегляньте вихідний код на GitHub.
Вам цікаво дізнатися, як спростити інтеграцію RabbitMQ у вашому Laravel-додатку? У нашій статті ми розглянемо пакет Simple RabbitMQ, який дозволяє легко налаштувати багатозʼєднання, публікувати повідомлення та обробляти черги за допомогою простого синтаксису. Читайте далі, щоб дізнатися більше!
Встановлення Xdebug може бути складним завданням, але в цій статті ми розкриємо, як швидко та просто налаштувати його за допомогою Docker на прикладі Laravel. Дочитайте до кінця, щоб дізнатися, як за кілька хвилин зробити Xdebug вашим надійним помічником у розробці
Ви готові відкрити нові горизонти у роботі з геопросторовими даними в Laravel? Дізнайтеся, як за допомогою PostGIS та пакету Laravel-Magellan можна легко зберігати, запитувати та маніпулювати інформацією про розташування, перетворюючи ваші проекти на вражаючі рішення у сфері картографії та геолокації!