analyze method
Implementation
Future<PackageMetadata> analyze() async {
final pubspecFile = File(path.join(packagePath, 'pubspec.yaml'));
if (!pubspecFile.existsSync()) {
throw Exception('pubspec.yaml not found at ${pubspecFile.path}');
}
final pubspecContent = await pubspecFile.readAsString();
final pubspecYaml = loadYaml(pubspecContent);
final packageName = pubspecYaml['name'] as String?;
final packageVersion = pubspecYaml['version'] as String?;
final sdkVersion = _getSdkVersion(pubspecYaml);
final flutterVersion = _getFlutterVersion(pubspecYaml);
final dependencies = _getDependencies(pubspecYaml);
final androidConstraints = await _getAndroidConstraints();
final iosConstraints = await _getIOSConstraints();
return PackageMetadata(
packageName: packageName,
packageVersion: packageVersion,
sdkVersion: sdkVersion,
flutterVersion: flutterVersion,
dependencies: dependencies,
androidConstraints: androidConstraints,
iosConstraints: iosConstraints,
);
}