loadLenient static method
Loads configuration without strict validation. Useful for migration or partial reads.
Implementation
static FlavorConfig? loadLenient() {
final file = File(_configPath);
if (!file.existsSync()) {
final legacyFile = File(p.join(root, '.flavor_cli.json'));
if (!legacyFile.existsSync()) return null;
try {
final content = legacyFile.readAsStringSync();
final jsonMap = jsonDecode(content) as Map<String, dynamic>;
if (jsonMap['platforms'] == null) {
jsonMap['platforms'] = detectPlatforms();
}
return FlavorConfig.fromJson(jsonMap);
} catch (_) {
return null;
}
}
try {
final content = file.readAsStringSync();
final yamlMap = loadYaml(content);
final jsonMap = YamlUtils.yamlToMap(yamlMap);
if (jsonMap['platforms'] == null) {
jsonMap['platforms'] = detectPlatforms();
}
return FlavorConfig.fromJson(jsonMap);
} catch (_) {
return null;
}
}