findPackageConfig function

PackageConfig? findPackageConfig(
  1. Folder folder
)

Discovers the package configuration for a Dart script.

This is a synchronous version of findPackageConfig.

See https://github.com/dart-lang/tools/issues/1536 for any progress on synchronous APIs in the package_config package.

Implementation

package_config.PackageConfig? findPackageConfig(Folder folder) {
  if (!folder.exists) return null;

  do {
    var packageConfig = findPackageConfigInDirectory(folder);
    if (packageConfig != null) return packageConfig;
    // Check in parent folders.
    var parentFolder = folder.parent;
    if (parentFolder.path == folder.path) break;
    folder = parentFolder;
  } while (true);
  return null;
}