isFlutterProject function

bool isFlutterProject(
  1. String directory
)

Checks whether directory looks like a Flutter project.

Returns true if a pubspec.yaml exists and contains a flutter dependency (either under dependencies or as an SDK reference).

Implementation

bool isFlutterProject(String directory) {
  final pubspecFile = File(p.join(directory, 'pubspec.yaml'));
  if (!pubspecFile.existsSync()) return false;

  final content = pubspecFile.readAsStringSync();
  final yaml = loadYaml(content);
  if (yaml is! Map) return false;

  // Check for `dependencies.flutter` (standard Flutter project).
  final deps = yaml['dependencies'];
  if (deps is Map && deps.containsKey('flutter')) return true;

  // Also accept an `environment.flutter` constraint.
  final env = yaml['environment'];
  if (env is Map && env.containsKey('flutter')) return true;

  return false;
}