A tile for Laravel Dashboard that shows statistics from packagist.

1.8.0 2023-11-24 10:49 UTC

This package is auto-updated.

Last update: 2024-06-02 19:28:17 UTC


Latest Stable Version Pipeline status Coverage report Tested on PHP 7.4 to 8.3 Tested on Laravel 9 to 10 Latest Unstable Version

PHP Version Require Laravel Version Require Livewire Version Require PHPMD PHPCS


Packagist data tile screenshot

This tile can be used on the Laravel Dashboard to show packagist statistics about the package you like to see. You can hide abandoned package and the totals for the packages. It also support pagination.


You can install the package via composer:

composer require tjvb/laravel-dashboard-packagist-tile

In the dashboard config file, you must add this configuration in the tiles key. And customize it for your own needs.

// in config/dashboard.php

return [

    'tiles' => [
        'packagist' => [
            'refresh_interval_in_seconds' => 300,
            'sort' => 'total', // options: name, daily, monthly, total, empty means no sorting.
            'reverse' => true, // reverse the order
            'with_abandoned' => true, // set to false to ignore them
            'display' => [
                'totals' => true,
                'faves' => true, // packagist faces
                'github_stars' => true, // github stars
            'vendors' => [ // vendors from which you want to see all the packages
            'packages' => [ // specific packages that you want to see.

To load the data from packagist there are two commands to schedule. The FetchPackageDataCommand gets the statistics for the package. This is cached for twelve hours so it isn't usefull to get it more then twice a day. See the Packagist API documentation

The second command is to get the packages for the vendors that you have configured. If you create a lot of packages like the great people from Spatie it can be usefull to automate it. Else it is preferable to run php artisan dashboard:fetch-vendor-packages-from-packagist after you publish a new package on packagist.

// in app/console/Kernel.php

protected function schedule(Schedule $schedule)
    // ...
    // Additional if the vendors you watch release a lot of packages.
    // Else be nice and do it manually with php artisan dashboard:fetch-vendor-packages-from-packagist.
    // $schedule->command(\TJVB\PackagistTile\FetchVendorPackagesCommand::class)->daily();


In your dashboard view you use the livewire:packagist-tile component.

    <livewire:packagist-tile position="e7:e16" />


The packages are paginated, by default a page has a maximum of 10 packages. This can be changed with adding a perPage property to the tile.

    <livewire:packagist-tile position="e7:e16" perPage="2" />

Customizing the view

If you want to customize the view used to render this tile, run this command:

php artisan vendor:publish --provider="TJVB\PackagistTile\PackagistTileServiceProvider" --tag="dashboard-packagist-views"


composer test


Please see CHANGELOG for more information on what has changed recently.


Please see CONTRIBUTING for details.


If you discover any security related issues, please email instead of using the issue tracker.


Thanks to


The MIT License (MIT). Please see License File for more information.