map(function (string $manifest) use ($statuses): array { $data = json_decode((string) file_get_contents($manifest), true) ?: []; $name = $data['name'] ?? basename(dirname($manifest)); return [ 'name' => $name, 'description' => $data['description'] ?? 'Laravel application module.', 'version' => $data['version'] ?? '1.0.0', 'enabled' => (bool) ($statuses[$name] ?? false), 'providers' => $data['providers'] ?? [], ]; })->sortBy('name', SORT_NATURAL | SORT_FLAG_CASE)->values(); return view('administration::modules.index', compact('modules')); } }