DCM includes 13 sets of predefined configurations:
- 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.
- Bloc: contains lint rules for the Bloc package.
- Equatable: contains lint rules for the Equatable package.
- Flame: contains lint rules for the Flame package.
- Provider: contains lint rules for the Provider package.
- Patrol: contains lint rules for the Patrol package.
- FakeAsync: contains lint rules for the FakeAsync package.
- Intl: contains lint rules for the Intl package.
- Pub: contains lint rules to check for issues in the pubspec.yaml file.
- Recommended metrics: contains recommended configured metrics.
While presets are a great way to keep track of rule list updates, upgrading to a newer version of DCM can introduce new issues if the preset has been updated.
Consider this before choosing a preset.
Enabling a Preset
To enable a preset:
Install dart_code_metrics_presets as a dev dependency:
$ flutter pub add --dev dart_code_metrics_presets
$ dart pub add --dev dart_code_metrics_presets
For DCM configuration add the
If you are reusing a shared configuration between multiple packages, they should all have
dart_code_metrics_presets as dev dependency.
If the preset cannot be resolved, a
preset-not-found warning will be shown.
Reconfiguring a Rule
To reconfigure a rule included into a preset:
Disabling a Rule
To disable a rule set its configuration to
- avoid-banned-imports: false
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.