findRootDirectory static method

Directory? findRootDirectory(
  1. Directory start
)

Recursively searches up from start directory to find the project root (containing pubspec.yaml).

Implementation

static Directory? findRootDirectory(Directory start) {
  var current = start;
  while (true) {
    final pubspec = File('${current.path}/pubspec.yaml');
    if (pubspec.existsSync()) {
      return current;
    }
    final parent = current.parent;
    if (parent.path == current.path) {
      return null;
    }
    current = parent;
  }
}