resolve static method

Future<HookConfig> resolve(
  1. String rootPath
)

Implementation

static Future<HookConfig> resolve(String rootPath) async {
  var current = io.Directory(rootPath);

  while (true) {
    final configFile = io.File(
      p.join(current.path, 'build_runner_hook.yaml'),
    );
    if (await configFile.exists()) {
      try {
        final content = await configFile.readAsString();
        return HookConfig.fromYaml(content);
      } catch (_) {
        return const HookConfig();
      }
    }

    final parent = current.parent;
    if (parent.path == current.path) break;
    current = parent;
  }

  return const HookConfig();
}