public function getPlugins(bool $rescan = false): array
    {
        if (!$rescan && !empty(self::$plugins)) {
            return self::$plugins;
        }

        $compiledFile = $this->pathHelper->realize('{MELIOR_BASE}/Data/Persistent/Compiler/Packages/plugin.map');
        if (!$rescan && is_file($compiledFile)) {
            $result = \unserialize(\file_get_contents($compiledFile));
        } else {
            $path = $this->pathHelper->realize('{MELIOR_BASE}/Packages/Plugins/');

            if (!is_dir($path)) {
                $result = [];
            } else {
                $result = $this->readPackageFolder($path);
            }
        }

        self::$plugins = $result;

        return $result;
    }