Виявляйте й очищуйте незмінені vendor files за допомогою Laravel Vendor Cleanup.

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 03 січня, 2026
Ви коли-небудь замислювалися, які з опублікованих файлів конфігурації Laravel ви дійсно змінювали? Дізнайтеся, як прості artisan‑команди порівнюють файли з оригіналами, показують відсоток відмінностей і допомагають безпечно видаляти зайве.

Коли-небудь замислювалися, які з опублікованих конфігураційних файлів Laravel ви справді змінювали? Після років розробки в папці з опублікованими vendor-файлами накопичується сміття — деякі файли змінені, багато залишилися незайманими, а частина — від пакетів, які давно видалили. Це ускладнює навігацію по кодовій базі й заплутує при оновленнях пакетів.

Laravel Vendor Cleanup від Chris Jones додає Artisan-команди, які інтелектуально порівнюють ваші опубліковані vendor-файли з оригіналами. Вони прибирають коментарі, за потреби нормалізують пропуски, а потім використовують SHA256-хешування, щоб точно показати, які файли ви змінювали (з кольоровими відсотками diff), які ідентичні з vendor (безпечно видаляти) і які залишилися сиротами від видалених пакетів.

Прибирайте зайве, відстежуйте свої кастомізації й оновлюйте пакети з упевненістю — усе через прості artisan-команди.

Функції

Доступні команди

Команди, доступні на момент написання:

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.

Популярні

Logomark Logotype

Простий пакет RabbitMQ для Laravel

Вам цікаво дізнатися, як спростити інтеграцію RabbitMQ у вашому Laravel-додатку? У нашій статті ми розглянемо пакет Simple RabbitMQ, який дозволяє легко налаштувати багатозʼєднання, публікувати повідомлення та обробляти черги за допомогою простого синтаксису. Читайте далі, щоб дізнатися більше!

Logomark Logotype

Використання штучного інтелекту для управління перекладами в Laravel

Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!

Logomark Logotype

Перетворення даних у типобезпечні DTO за допомогою пакету Data Model

Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю