DCM Presets
DCM is an advanced linter for Dart and Flutter that helps you analyze and improve your code quality. You can find all available lint rules here .
This repository contains a list of predefined DCM presets for lints:
All: contains all available lint rules for Dart and Flutter.
Recommended: contains recommended Dart and Flutter rules (with an emphasis on finding errors).
Dart: contains all lint rules applicable to any Dart app.
Flutter: contains all lint rules applicable to any Flutter app.
Pub: contains all lint rules for linting the pubspec.yaml files.
Flame: contains all lint rules for the Flame package .
Provider: contains all lint rules for the Provider package .
Bloc: contains all lint rules for the Bloc package .
Riverpod: contains all lint rules for the Riverpod package .
Equatable: contains all lint rules for the Equatable package .
Patrol: contains all lint rules for the Patrol package .
FakeAsync: contains all lint rules for the FakeAsync package .
Mocktail: contains all lint rules for the Mocktail package .
GetIt: contains all lint rules for the GetIt package .
JsonSerializable: contains all lint rules for the JsonSerializable package .
FlutterHooks: contains all lint rules for the FlutterHooks package .
FirebaseAnalytics: contains all lint rules for the FirebaseAnalytics package .
GetX: contains all lint rules for the GetX package .
Intl: contains all lint rules for the Intl package .
EasyLocalization: contains all lint rules for the EasyLocalization package .
and for metrics:
All Metrics : contains all available metrics with recommended default thresholds.
Recommended metrics: contains recommended metrics with default thresholds.
How to use a preset
Take these steps to enable a preset:
Install this package as a dev dependency:
dart pub add --dev dart_code_metrics_presets
or:
flutter pub add --dev dart_code_metrics_presets
For DCM configuration add the extents entry:
dart_code_metrics:
extends:
- package:dart_code_metrics_presets/all.yaml
Disabling or reconfiguring a rule from the preset
To disable a rule, simply set its value to false:
dart_code_metrics:
extends:
- package:dart_code_metrics_presets/all.yaml
rules:
- avoid-banned-imports: false
To reconfigure a rule, that is included into a preset:
dart_code_metrics:
extends:
- package:dart_code_metrics_presets/all.yaml
rules:
- arguments-ordering:
child-last: true
Defining a custom preset
Any other preset can be passed to the extends entry. To create a custom preset create a yaml file with the same structure as for regular DCM configuration .