addDependency static method

void addDependency(
  1. String name,
  2. String version
)

Implementation

static void addDependency(String name, String version) {
  final file = File(_pubspecPath);

  if (!file.existsSync()) return;

  if (hasDependency(name)) return;

  final lines = file.readAsLinesSync();

  final result = <String>[];

  bool inserted = false;
  bool dependenciesFound = false;

  for (final line in lines) {
    result.add(line);

    if (!line.startsWith(' ') && line.trim() == 'dependencies:') {
      dependenciesFound = true;

      result.add('  $name: $version');

      inserted = true;
    }
  }

  if (!dependenciesFound && !inserted) {
    result.add('');
    result.add('dependencies:');
    result.add('  $name: $version');
  }

  file.writeAsStringSync('${result.join('\n')}\n');
}