getProjectScripts method
Returns the scripts/commands defined in the project manifest.
Implementation
Future<Map<String, String>> getProjectScripts(String path) async {
final packageJson = File('$path/package.json');
if (await packageJson.exists()) {
try {
final content = await packageJson.readAsString();
final data = jsonDecode(content) as Map<String, dynamic>;
final scripts = data['scripts'] as Map<String, dynamic>?;
if (scripts != null) {
return scripts.map((k, v) => MapEntry(k, v.toString()));
}
} catch (_) {}
}
final pubspec = File('$path/pubspec.yaml');
if (await pubspec.exists()) {
// Dart/Flutter conventional commands.
return {
'test': 'dart test',
'analyze': 'dart analyze',
'format': 'dart format .',
if (await File('$path/lib/main.dart').exists()) 'run': 'flutter run',
};
}
return {};
}