You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
974 B
Dart
38 lines
974 B
Dart
import 'dart:io';
|
|
|
|
void main() async {
|
|
final libDir = Directory('lib');
|
|
if (!libDir.existsSync()) {
|
|
print('No lib/ directory found.');
|
|
return;
|
|
}
|
|
|
|
final dartFiles = libDir.listSync(recursive: true).whereType<File>().where((file) => file.path.endsWith('.dart')).toList();
|
|
|
|
final allContent = StringBuffer();
|
|
for (final file in dartFiles) {
|
|
allContent.write(await file.readAsString());
|
|
}
|
|
|
|
final unusedFiles = <String>[];
|
|
|
|
for (final file in dartFiles) {
|
|
final filename = file.uri.pathSegments.last;
|
|
final basename = filename.replaceAll('.dart', '');
|
|
|
|
if (!allContent.toString().contains(basename) && !allContent.toString().contains(filename)) {
|
|
unusedFiles.add(file.path);
|
|
}
|
|
}
|
|
|
|
if (unusedFiles.isEmpty) {
|
|
print('🎯 No unused files found!');
|
|
} else {
|
|
print('⚡️ Unused Dart files:${unusedFiles.length}');
|
|
|
|
for (int i=0; i<unusedFiles.length; i++) {
|
|
print('${i+1}- ${unusedFiles[i]}');
|
|
}
|
|
}
|
|
}
|