Коли-небудь замислювалися, які з опублікованих конфігураційних файлів 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, який дозволяє легко налаштувати багатозʼєднання, публікувати повідомлення та обробляти черги за допомогою простого синтаксису. Читайте далі, щоб дізнатися більше!
Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!
Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю