Janitor
, (*1)
Janitor is a tool to help you remove unused code, routes, views and assets from your codebase., (*2)
Install
Simply run the following command via Composer:, (*3)
$ composer require anahkiasen/janitor --dev
Then add Janitor's service provider to your application's local providers:, (*4)
'Janitor\JanitorServiceProvider',
Usage
Command-line
You can see the various things Janitor can do by simply running:, (*5)
$ php artisan list janitor
Programmatically
Janitor can also be used programmatically, in order to do so:, (*6)
<?php
// Define your codebase
$codebase = new Janitor\Codebase('app');
// Create an instance of any of Janitor's analyzer classes
$analyzer = new Janitor\Services\Analyzers\ViewsAnalyzer($codebase);
// Tell it which files you wish to analyze, and run the process
$analyzer->setFiles('app/views');
$files = $analyzer->analyze();
Here, $files will be a Collection of instances of AbstractAnalyzedEntity.
Its most important property is the usage property, it's an integer whose value goes from 0 (file unused) to 1 (file used). The value can vary between these two points to indicate how certain Janitor is that the file is used., (*7)
{
"root": "/Users/foobar/Sites/foo/bar/app/views",
"name": "_emails/feedback.twig",
"usage": 0
}
Available analyzers
| Name |
Description |
Status |
| ViewsAnalyzer |
Analyzes your codebase and check for unused views |
| DatabaseAnalyzer |
Checks your database for dead entries |
Planned |
| CodebaseAnalyzer |
Checks your codebase for unused classes, models, etc |
Planned |
| RoutesAnalyzer |
Checks your views and controllers for unused routes |
Planned |
Contributions and suggestions are welcome., (*8)
Testing
bash
$ phpunit, (*9)
Contributing
Please see CONTRIBUTING for details., (*10)
License
The MIT License (MIT). Please see License AbstractAnalyzedFile for more information., (*11)