findCliRoot function

String findCliRoot()

Implementation

String findCliRoot() {
  final currentDir = _getCurrentDir();
  var searchDir = currentDir;

  while (searchDir != path.dirname(searchDir)) {
    final pubspecPath = path.join(searchDir, 'pubspec.yaml');
    if (File(pubspecPath).existsSync()) {
      try {
        final content = File(pubspecPath).readAsStringSync();
        if (content.contains('name: fluttercn')) {
          return searchDir;
        }
      } catch (_) {
        // Continue searching if read fails
      }
    }
    searchDir = path.dirname(searchDir);
  }

  if (currentDir.contains('lib') || currentDir.contains('bin')) {
    return path.normalize(path.join(currentDir, '..', '..'));
  }
  return path.normalize(path.join(currentDir, '..'));
}