| Total Complexity | 5 | 
| Total Lines | 43 | 
| Duplicated Lines | 0 % | 
| Coverage | 92.86% | 
| Changes | 0 | ||
| 1 | <?php  | 
            ||
| 12 | final class Helper  | 
            ||
| 13 | { | 
            ||
| 14 | /**  | 
            ||
| 15 | * @var string  | 
            ||
| 16 | */  | 
            ||
| 17 | private static $projectRootDirectory;  | 
            ||
| 18 | |||
| 19 | /**  | 
            ||
| 20 | * @throws Exception  | 
            ||
| 21 | *  | 
            ||
| 22 | * @return array[]  | 
            ||
| 23 | * @SuppressWarnings(PHPMD.StaticAccess)  | 
            ||
| 24 | */  | 
            ||
| 25 | 5 | public static function getComposerJsonDecoded(string $path = null): array  | 
            |
| 38 | }  | 
            ||
| 39 | |||
| 40 | /**  | 
            ||
| 41 | * Get the absolute path to the root of the current project.  | 
            ||
| 42 | *  | 
            ||
| 43 | * It does this by working from the Composer autoloader which we know will be in a certain place in `vendor`  | 
            ||
| 44 | *  | 
            ||
| 45 | * @throws Exception  | 
            ||
| 46 | */  | 
            ||
| 47 | 2 | public static function getProjectRootDirectory(): string  | 
            |
| 57 |