include: package:flutter_lints/flutter.yaml

analyzer:
  language:
    strict-casts: true
    strict-inference: true
    strict-raw-types: true
  errors:
    missing_required_param: error
    missing_return: error

linter:
  rules:
    always_declare_return_types: true
    always_use_package_imports: true
    avoid_dynamic_calls: true
    cancel_subscriptions: true
    close_sinks: true
    directives_ordering: true
    package_api_docs: true
    prefer_constructors_over_static_methods: true
    prefer_final_in_for_each: true
    prefer_final_locals: true
    prefer_int_literals: true
    test_types_in_equals: true
    throw_in_finally: true
    type_annotate_public_apis: true
    unnecessary_statements: true
    use_named_constants: true
    cast_nullable_to_non_nullable: true
    only_throw_errors: true
    sort_unnamed_constructors_first: true
    prefer_asserts_with_message: true
    missing_whitespace_between_adjacent_strings: true
    avoid_multiple_declarations_per_line: true
    noop_primitive_operations: true
    avoid_void_async: true
    avoid_redundant_argument_values: true
    avoid_types_on_closure_parameters: true
    unnecessary_null_checks: true
    prefer_single_quotes: true
    unnecessary_parenthesis: true
    use_if_null_to_convert_nulls_to_bools: true
    matching_super_parameters: true
