Sonar Analysis
Strict, opinionated, and production-ready lint rules for Dart and Flutter projects, based on SonarQube recommendations.
This package provides a comprehensive set of linting rules to help you identify bugs, vulnerabilities, and code smells early in the development lifecycle. It aggregates the best practices from SonarSource adapted for the Dart ecosystem.
📦 Installation
You can install this package as a development dependency.
Flutter
flutter pub add dev:sonar_analysis
Dart
dart pub add dev:sonar_analysis
🚀 Usage
To enable the rules, add the following to your analysis_options.yaml file:
include: package:sonar_analysis/sonar_analysis.yaml
This will automatically activate the linter rules.
🛠 Customization
You can customize the analysis options to fit your project's needs. For example, you can exclude specific files or override specific rules.
include: package:sonar_analysis/sonar_analysis.yaml
analyzer:
exclude:
- "**/*.g.dart"
- "**/*.freezed.dart"
errors:
invalid_annotation_target: ignore
linter:
rules:
# Disable specific rules if needed
avoid_print: false
🛡 Badge
Show the world that your code is analyzed with Sonar rules by adding this badge to your README:
[](https://pub.dev/packages/sonar_analysis)
🤝 Contributing
Contributions are welcome! If you find a bug or want to suggest a new rule, please open an issue or submit a pull request on GitHub.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.