findNearestPubspec function

File? findNearestPubspec(
  1. Directory start
)

Finds the nearest pubspec.yaml walking upwards from start.

Implementation

File? findNearestPubspec(Directory start) {
  var current = start.absolute;
  while (true) {
    final candidate = File(
      '${current.path}${Platform.pathSeparator}pubspec.yaml',
    );
    if (candidate.existsSync()) {
      return candidate;
    }

    final parent = current.parent;
    if (parent.path == current.path) {
      return null;
    }
    current = parent;
  }
}