Laravel Packages

Detect Packages & Approaches in use within a project with Laravel Roster

Published
Detect Packages & Approaches in use within a project with Laravel Roster image

Laravel Roster is a small package created by the Laravel core team to detect which Laravel ecosystem packages are in use within a project, and it gives you an easy-to-use API to work with that data.

To use this package, install it with Composer:

composer require laravel/roster

Once installed, using it is as simple as:

use Laravel\Roster\Roster;
 
$roster = Roster::scan($directory); // Scan a directory containing a composer.lock file
$roster->packages();

Roster will scan for any packages and their versions and add them to a Collection:

An example of the dd() output of the packages returned by Laravel Roster
If you need to be more specific as to which types of packages you'd like to scan for, there are a few other helpful methods:
// Get only packages that will be used in production
$roster->packages()->production();
 
// Packages that are only used for dev
$roster->packages()->dev();

And to check for specific Laravel packages and versions in use:

use Laravel\Roster\Enums\Packages;
 
$roster->uses(Packages::MCP);
$roster->uses(Packages::VUE); // it can check for certain NPM packages as well
 
$roster->usesVersion(Packages::MCP, '0.2.0', '>=');

While the Laravel team uses Roster primarily for their own internal development, if you’re a package developer, you may find it helpful as well. In fact, if you are using Laravel Boost, then Roster is already installed as a dependency.

View the source code for Roster on GitHub.

Yannick Lyn Fatt photo

Staff Writer at Laravel News and Full stack web developer.

Sponsored

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
Screenshot: Capture Images and PDFs with PHP and Laravel image

Screenshot: Capture Images and PDFs with PHP and Laravel

Read article
Reset Sticky Database Connections Between Laravel Queue Jobs image

Reset Sticky Database Connections Between Laravel Queue Jobs

Read article
PHP Security Releases Fix Two Critical RCE Vulnerabilities image

PHP Security Releases Fix Two Critical RCE Vulnerabilities

Read article
Prevent Stale Database Reads in Laravel 13.38 image

Prevent Stale Database Reads in Laravel 13.38

Read article
Critical PHP Security Release Coming Tomorrow (October 21) image

Critical PHP Security Release Coming Tomorrow (October 21)

Read article
Critical Token Guard Auth Bypass Fixed in Laravel 13.29 and 12.68 image

Critical Token Guard Auth Bypass Fixed in Laravel 13.29 and 12.68

Read article