getGlobalConfig method
Get the global config, reading from disk if cache is stale.
Implementation
GlobalConfig getGlobalConfig() {
if (_cache != null) return _cache!;
try {
final file = File(configFilePath);
if (!file.existsSync()) {
_cache = GlobalConfig();
return _cache!;
}
final content = file.readAsStringSync();
final stripped = _stripBOM(content);
final parsed = _safeParseJSON(stripped);
if (parsed == null) {
_cache = GlobalConfig();
return _cache!;
}
_cache = _migrateConfigFields(GlobalConfig.fromJson(parsed), parsed);
final stat = file.statSync();
_cacheMtime = stat.modified;
return _cache!;
} catch (_) {
_cache = GlobalConfig();
return _cache!;
}
}