addInitialAssetEntries method

Future<void> addInitialAssetEntries()

Implementation

Future<void> addInitialAssetEntries() async {
  final file = File(p.join(projectDir, 'pubspec.yaml'));
  if (!file.existsSync()) return;

  try {
    final content = await file.readAsString();
    final editor = YamlEditor(content);
    final yaml = loadYaml(content);

    final flutter = yaml['flutter'] as YamlMap?;
    final currentAssets = (flutter?['assets'] as YamlList?)?.toList() ?? [];

    const defaultEnv = 'clients/default/.env';

    if (!currentAssets.contains(defaultEnv)) {
      currentAssets.add(defaultEnv);
      editor.update(['flutter', 'assets'], currentAssets);
      await file.writeAsString(editor.toString());
      Logger.success('Added default .env to pubspec assets.');
    }
  } catch (e) {
    Logger.warning('Failed to add initial asset entries to pubspec.yaml: $e');
  }
}