parseEnvFile method

Future<Map<String, String>> parseEnvFile(
  1. File envFile
)

Parses an environment file into a Map.

Implementation

Future<Map<String, String>> parseEnvFile(File envFile) async {
  if (!envFile.existsSync()) return {};

  final envVars = <String, String>{};
  final lines = await envFile.readAsLines();

  for (final line in lines) {
    final trimmed = line.trim();
    if (trimmed.isEmpty || trimmed.startsWith('#')) continue;

    final parts = trimmed.split('=');
    if (parts.length >= 2) {
      final key = parts[0].trim();
      final value = parts.sublist(1).join('=').trim();
      // Remove surrounding quotes
      envVars[key] = value.replaceAll(RegExp(r'^"|"$'), '');
    }
  }
  return envVars;
}