addDependencies function

void addDependencies()

Adds all required dependencies and dev_dependencies to pubspec.yaml.

Implementation

void addDependencies() {
  final pubspecFile = File('pubspec.yaml');
  if (!pubspecFile.existsSync()) {
    print('pubspec.yaml not found!');
    return;
  }

  final dependencies = _getBaseDependencies();
  final stateHelper = chooseStateHelper();

  final lines = pubspecFile.readAsLinesSync();
  final depIndex = _findSectionIndex(lines, 'dependencies:');
  final devDepIndex = _findSectionIndex(lines, 'dev_dependencies:');

  if (depIndex == -1 || devDepIndex == -1) {
    print('dependencies or dev_dependencies section not found in pubspec.yaml!');
    return;
  }

  final newLines = List<String>.from(lines);

  _insertDependencies(newLines, depIndex, dependencies);
  _insertDependencies(newLines, depIndex, stateHelper.dependencies);
  _insertDependencies(newLines, devDepIndex, stateHelper.devDependencies);

  pubspecFile.writeAsStringSync(newLines.join('\n'));
  print('\n✅ Dependencies have been added to pubspec.yaml.');
}