# The following line activates a set of recommended lints for Flutter apps, # packages, and plugins designed to encourage good coding practices. include: package:flutter_lints/flutter.yaml linter: rules: - avoid_single_cascade_in_expression_statements: false - unawaited_futures analyzer: exclude: - openapi/** dart_code_metrics: extends: - recommended rules: # Common - avoid-accessing-collections-by-constant-index - avoid-accessing-other-classes-private-members - avoid-cascade-after-if-null - avoid-collapsible-if - avoid-collection-methods-with-unrelated-types - avoid-double-slash-imports - avoid-duplicate-cascades - avoid-duplicate-patterns - avoid-generics-shadowing - avoid-global-state # Flutter - always-remove-listener - avoid-border-all - avoid-empty-setstate - avoid-expanded-as-spacer - avoid-incomplete-copy-with - avoid-inherited-widget-in-initstate - avoid-late-context - avoid-recursive-widget-calls - avoid-returning-widgets - avoid-shrink-wrap-in-lists - avoid-single-child-column-or-row - avoid-state-constructors - avoid-stateless-widget-initialized-fields - avoid-unnecessary-overrides-in-state - avoid-unnecessary-stateful-widgets - avoid-wrapping-in-padding - dispose-fields - prefer-const-border-radius - prefer-correct-edge-insets-constructor - prefer-dedicated-media-query-methods - prefer-define-hero-tag - prefer-extracting-callbacks - prefer-sliver-prefix - prefer-text-rich - prefer-using-list-view - proper-super-calls - use-setstate-synchronously - prefer-match-file-name: false - avoid-passing-self-as-argument: exclude: - lib/domain/repositories/** - prefer-single-widget-per-file: ignore-private-widgets: true - prefer-correct-callback-field-name: false