findProjectDirectory function

Directory findProjectDirectory(
  1. Directory directory, {
  2. Directory? original,
})

Finds the project directory associated with an analysis context root

This is a folder that contains a pubspec.yaml file. It is either alongside the analysis_options.yaml file, or in a parent directory.

Implementation

Directory findProjectDirectory(
  Directory directory, {
  Directory? original,
}) {
  if (directory.pubspec.existsSync()) {
    return directory;
  }

  if (directory.parent.uri == directory.uri) {
    throw FindProjectError._(original?.path ?? directory.path);
  }

  return findProjectDirectory(directory.parent, original: directory);
}