analyzer:
  errors:
    # allow having TODOs in the code
    todo: ignore

linter:
  rules:
    # these rules are documented on and in the same order as
    # the Dart Lint rules page to make maintenance easier
    # http://dart-lang.github.io/linter/lints/

    # === error rules ===
    - avoid_empty_else
    # - comment_references # blocked on https://github.com/dart-lang/dartdoc/issues/1153
    - cancel_subscriptions
    # - close_sinks # https://github.com/flutter/flutter/issues/5789
    - control_flow_in_finally
    - empty_statements
    - hash_and_equals
    # - invariant_booleans # https://github.com/flutter/flutter/issues/5790
    # - iterable_contains_unrelated_type
    # - list_remove_unrelated_type
    # - literal_only_boolean_expressions # https://github.com/flutter/flutter/issues/5791
    - test_types_in_equals
    - throw_in_finally
    - unrelated_type_equality_checks
    - valid_regexps

    # === style rules ===
    - always_declare_return_types
    - annotate_overrides
    - avoid_classes_with_only_static_members
    - avoid_init_to_null
    - avoid_return_types_on_setters
    - await_only_futures
    - camel_case_types
    # - constant_identifier_names # https://github.com/dart-lang/linter/issues/204
    - empty_constructor_bodies
    - implementation_imports
    - library_names
    - library_prefixes
    - non_constant_identifier_names
    - one_member_abstracts
    # - only_throw_errors # https://github.com/flutter/flutter/issues/5792
    # - overridden_fields
    - package_api_docs
    - package_prefixed_library_names
    - prefer_is_not_empty
    - prefer_const_constructors
    - prefer_const_constructors_in_immutables
    # - public_member_api_docs
    - slash_for_doc_comments
    - sort_constructors_first
    - sort_unnamed_constructors_first
    # - type_annotate_public_apis # subset of always_specify_types
    - type_init_formals
    - unawaited_futures # https://github.com/flutter/flutter/issues/5793
    - unnecessary_getters_setters

    # === pub rules ===
    - package_names
