loadConfig method

Future<ConfigLoadResult> loadConfig(
  1. String projectPath
)

Loads configuration from asset_opt.yaml in the project root.

Implementation

Future<ConfigLoadResult> loadConfig(String projectPath) async {
  final configFile = File(p.join(projectPath, _configFileName));
  if (!await configFile.exists()) {
    return ConfigLoadResult.notFound();
  }

  try {
    final content = await configFile.readAsString();
    final yaml = loadYaml(content) as YamlMap?;
    if (yaml == null) {
      return ConfigLoadResult.error('Config file is empty or invalid YAML');
    }

    return ConfigLoadResult.success(AssetOptConfig.fromYaml(yaml));
  } catch (e) {
    return ConfigLoadResult.error('Failed to parse config: $e');
  }
}