Skip to content

Commit

Permalink
show overridden vars too
Browse files Browse the repository at this point in the history
  • Loading branch information
HMRDevil committed Apr 26, 2024
1 parent a4dc5f7 commit e50aa54
Showing 1 changed file with 29 additions and 13 deletions.
42 changes: 29 additions & 13 deletions src/Symfony/Component/Dotenv/Command/DebugCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -88,26 +88,42 @@ private function getVariables(array $envFiles): array
return [];
}

$vars = explode(',', $dotenvVars);
sort($vars);
$dotenvVars = explode(',', $dotenvVars);

$AllDotenvVars = $this->getAllVarsFromEnvFiles($envFiles);

$output = [];
$fileValues = [];
foreach ($vars as $var) {
$variables = [];
foreach ($AllDotenvVars as $var) {
$realValue = $_SERVER[$var];
$varDetails = [$var, $realValue];
$details = [$var, $realValue];
foreach ($envFiles as $envFile) {
$values = $fileValues[$envFile] ?? $fileValues[$envFile] = $this->loadValues($envFile);

$varString = $values[$var] ?? '<fg=yellow>n/a</>';
$shortenedVar = $this->getHelper('formatter')->truncate($varString, 30);
$varDetails[] = $varString === $realValue ? '<fg=green>'.$shortenedVar.'</>' : $shortenedVar;
$envFileValues = $this->loadValues($envFile);
if (\array_key_exists($var, $envFileValues)) {
$shortenedVar = $this->getHelper('formatter')->truncate($envFileValues[$var], 30);
$shortenedVar = \in_array($var, $dotenvVars) && $realValue === $envFileValues[$var] ? '<fg=green>'.$shortenedVar.'</>' : '<fg=red>'.$shortenedVar.'</>';
} else {
$shortenedVar = '<fg=yellow>n/a</>';
}
$details[] = $shortenedVar;
}

$output[] = $varDetails;
$variables[] = $details;
}

return $variables;
}

private function getAllVarsFromEnvFiles(array $files): array
{
$vars = [];
foreach ($files as $file) {
$vars = array_merge($this->loadValues($file), $vars);
}

return $output;
$vars = array_keys($vars);
sort($vars);

return $vars;
}

private function getEnvFiles(): array
Expand Down

0 comments on commit e50aa54

Please sign in to comment.