Command-line tool to check for unused dependencies in Flutter/Dart projects
dart_depcheck
dart_depcheck
is a command-line tool to check for unused dependencies in Flutter/Dart projects.
Installation 📥
Make sure you have the Dart SDK installed on your machine.
Option 1: Global installation 💻
- Install
dart_depcheck
globally:
dart pub global activate dart_depcheck
- Run the dart_depcheck command in the root of your Flutter/Dart project to check for unused dependencies:
Optionally, you can specify the path to your project using the -p option, add additional folders to search using the -f or –folders option, and exclude packages from the unused dependency check using the -e or –exclude option:
dart_depcheck # This will check the current directory for unused dependencies.
dart_depcheck -p /path/to/project # This will check the specified project path for unused dependencies.
dart_depcheck -f bin,test # This will include the specified additional folders (lib, bin, test) in the search for unused dependencies.
dart_depcheck -e yaml,path # This will exclude the specified packages (yaml, path) from the unused dependency check.
This will check the dependencies declared in the pubspec.yaml
file and display a list of unused dependencies found in the project.
Option 2: Add as a Dependency 📦
You can also add dart_depcheck
as a dependency in your Dart project and use it programmatically.
Add dart_depcheck to the dependencies section of your pubspec.yaml file:
dependencies:
dart_depcheck: ^0.0.1
Import the package and use the DependencyChecker method in your code:
import 'package:dart_depcheck/dart_depcheck.dart';
void main() async {
await DependencyChecker.check();
}
You can also specify the project path, additional folders to search and packages to exclude:
import 'package:dart_depcheck/dart_depcheck.dart';
void main() async {
await DependencyChecker.check(
projectPath: '/path/to/project',
additionalFolders: ['bin', 'test'],
);
}
Contributing 🤝
If you encounter any issues or have any ideas for improvement, feel free to open an issue or submit a pull request on GitHub.
License 📄
This project is licensed under the MIT License. See the LICENSE file for more details.
TODO 📝
- Add tests and generate coverage report on CI
- Add CI/CD for premerge checks
- Add CI/CD for publishing to pub.dev and create a GitHub release