Laravel Roster — це невеликий пакет, розроблений командою Laravel, який допомагає виявити, які пакети з екосистеми Laravel використовуються у вашому проєкті, і надає зрозумілий API для роботи з цими даними.
Щоб скористатися цим пакетом, встановіть його за допомогою Composer:
composer require laravel/roster
Після встановлення використовувати його дуже легко:
use Laravel\Roster\Roster;
$roster = Roster::scan($directory); // Сканування директорії, яка містить файл composer.lock
$roster->packages();
Roster просканує наявні пакети та їх версії, додаючи їх до колекції:
Якщо вам потрібно конкретизувати, які типи пакетів ви хочете просканувати, є кілька корисних методів:
// Отримати тільки пакети, які використовуються у продакшені
$roster->packages()->production();
// Пакети, які використовуються тільки для розробки
$roster->packages()->dev();
А щоб перевірити наявність конкретних пакетів Laravel та їх версій:
use Laravel\Roster\Enums\Packages;
$roster->uses(Packages::MCP);
$roster->uses(Packages::VUE); // Так само можна перевіряти певні NPM пакети
$roster->usesVersion(Packages::MCP, '0.2.0', '>=');
Хоча команда Laravel використовує Roster переважно для внутрішньої розробки, це може бути корисно й для інших розробників пакетів. Зокрема, якщо ви використовуєте Laravel Boost, Roster вже буде встановлено як залежність.
Перегляньте джерело коду Roster на GitHub.