include: package:flutter_lints/flutter.yaml

linter:
  rules:
    prefer_const_constructors: true
    prefer_const_declarations: true
    prefer_final_fields: true
    prefer_final_locals: true
    avoid_print: true
    prefer_single_quotes: true
    sort_child_properties_last: true
    use_key_in_widget_constructors: true
    sized_box_for_whitespace: true
    prefer_is_empty: true
    prefer_is_not_empty: true
    unnecessary_lambdas: true
    always_declare_return_types: true

analyzer:
  exclude:
    # Generated build output can contain partial package snapshots that are not
    # valid standalone Dart packages and must not participate in app analysis.
    - build/**
    # test_link/ is a third-party Flutter example project (media_kit/fvp), not part of sm-emby.
    - test_link/**
  errors:
    invalid_annotation_target: ignore
    # Emby DTO fields intentionally mirror upstream JSON casing.
    non_constant_identifier_names: ignore
    # Current stable Flutter still accepts these APIs; migrate during the next UI pass.
    deprecated_member_use: ignore
    # Keep collection conditionals compatible with the existing code style.
    use_null_aware_elements: ignore
